summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2022-02-11 19:03:43 +0100
committerBastien Nocera <hadess@hadess.net>2022-02-13 11:13:21 +0100
commit9fba65fe42e4ff3d1b42e3f71aae0e2cb8c96775 (patch)
treeac87e968172131aed149f8ad92f982ce1713d103
parentafedbebbdcdae7a1809939d3f042d24722d61914 (diff)
downloadtotem-9fba65fe42e4ff3d1b42e3f71aae0e2cb8c96775.tar.gz
backend: Restore audio track when adding a text subtitle
Closes: #226
-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