summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/bacon-video-widget.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/backend/bacon-video-widget.c b/src/backend/bacon-video-widget.c
index 9814d1e7f..554a74c78 100644
--- a/src/backend/bacon-video-widget.c
+++ b/src/backend/bacon-video-widget.c
@@ -3940,6 +3940,7 @@ bacon_video_widget_set_text_subtitle (BaconVideoWidget * bvw,
const gchar * subtitle_uri)
{
GstState cur_state;
+ int lang;
g_return_if_fail (BACON_IS_VIDEO_WIDGET (bvw));
g_return_if_fail (GST_IS_ELEMENT (bvw->play));
@@ -3951,6 +3952,9 @@ bacon_video_widget_set_text_subtitle (BaconVideoWidget * bvw,
bvw->subtitle_uri == NULL)
return;
+ /* Save current audio track */
+ lang = bacon_video_widget_get_language (bvw);
+
/* Wait for the previous state change to finish */
gst_element_get_state (bvw->play, NULL, NULL, GST_CLOCK_TIME_NONE);
@@ -3973,9 +3977,11 @@ bacon_video_widget_set_text_subtitle (BaconVideoWidget * bvw,
gst_element_get_state (bvw->play, NULL, NULL, GST_CLOCK_TIME_NONE);
}
- if (bvw->current_time > 0)
+ if (bvw->current_time > 0) {
bacon_video_widget_seek_time_no_lock (bvw, bvw->current_time,
GST_SEEK_FLAG_ACCURATE, NULL);
+ bacon_video_widget_set_language (bvw, lang);
+ }
}
static void