summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2022-02-11 18:23:07 +0100
committerBastien Nocera <hadess@hadess.net>2022-02-11 18:33:04 +0100
commit35baa6f759c18815a565e7f0509e756c472fd2f2 (patch)
tree0fe020fa6756110d336ba9bd1621e25275b47396
parent1b7bce7c25d017e69dab108d6bb9ecb34816d62a (diff)
downloadtotem-35baa6f759c18815a565e7f0509e756c472fd2f2.tar.gz
backend: Add bacon_video_toggle_subtitles()
-rw-r--r--src/backend/bacon-video-widget.c23
-rw-r--r--src/backend/bacon-video-widget.h1
2 files changed, 24 insertions, 0 deletions
diff --git a/src/backend/bacon-video-widget.c b/src/backend/bacon-video-widget.c
index 4fc4d41f0..3d9e6ad29 100644
--- a/src/backend/bacon-video-widget.c
+++ b/src/backend/bacon-video-widget.c
@@ -2671,6 +2671,29 @@ bacon_video_widget_set_subtitle (BaconVideoWidget * bvw, int subtitle)
}
}
+/**
+ * bacon_video_toggle_subtitles:
+ * @bvw: a #BaconVideoWidget
+ *
+ * Toggles the visibility of subtitles.
+ **/
+void
+bacon_video_toggle_subtitles (BaconVideoWidget *bvw)
+{
+ guint flags;
+
+ g_return_if_fail (BACON_IS_VIDEO_WIDGET (bvw));
+ g_return_if_fail (bvw->play != NULL);
+
+ g_object_get (bvw->play, "flags", &flags, NULL);
+ if (flags & GST_PLAY_FLAG_TEXT)
+ flags &= ~GST_PLAY_FLAG_TEXT;
+ else
+ flags |= GST_PLAY_FLAG_TEXT;
+ g_object_set (bvw->play, "flags", flags, NULL);
+ g_signal_emit (bvw, bvw_signals[SIGNAL_SUBTITLES_CHANGED], 0);
+}
+
static BvwLangInfo *
find_next_info_for_id (GList *list,
int current)
diff --git a/src/backend/bacon-video-widget.h b/src/backend/bacon-video-widget.h
index 0e6c77b22..3964c6118 100644
--- a/src/backend/bacon-video-widget.h
+++ b/src/backend/bacon-video-widget.h
@@ -385,6 +385,7 @@ int bacon_video_widget_get_subtitle (BaconVideoWidget *bvw);
void bacon_video_widget_set_subtitle (BaconVideoWidget *bvw,
int subtitle);
void bacon_video_widget_set_next_subtitle (BaconVideoWidget *bvw);
+void bacon_video_toggle_subtitles (BaconVideoWidget *bvw);
gboolean bacon_video_widget_has_next_track (BaconVideoWidget *bvw);
gboolean bacon_video_widget_has_previous_track (BaconVideoWidget *bvw);