diff options
author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2009-10-29 14:19:09 +0100 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2009-10-29 14:19:09 +0100 |
commit | de1db5ccbdc10a835a2dfdd5984892f3b0c9bcf4 (patch) | |
tree | 7ef78bbe11589b0f0120478c908f194b7bf287d6 | |
parent | 4fbfbef84b944abdbb30cd0b1f4825a4263ebffe (diff) |
playbin2: Proxy notify::volume and notify::mute from the playsink to playbin2
-rw-r--r-- | gst/playback/gstplaybin2.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gst/playback/gstplaybin2.c b/gst/playback/gstplaybin2.c index 1387a8020..643c7639d 100644 --- a/gst/playback/gstplaybin2.c +++ b/gst/playback/gstplaybin2.c @@ -1091,6 +1091,18 @@ free_group (GstPlayBin * playbin, GstSourceGroup * group) } static void +notify_volume_cb (GObject * selector, GParamSpec * pspec, GstPlayBin * playbin) +{ + g_object_notify (G_OBJECT (playbin), "volume"); +} + +static void +notify_mute_cb (GObject * selector, GParamSpec * pspec, GstPlayBin * playbin) +{ + g_object_notify (G_OBJECT (playbin), "mute"); +} + +static void gst_play_bin_init (GstPlayBin * playbin) { GstFactoryListType type; @@ -1116,6 +1128,11 @@ gst_play_bin_init (GstPlayBin * playbin) playbin->playsink = g_object_new (GST_TYPE_PLAY_SINK, NULL); gst_bin_add (GST_BIN_CAST (playbin), GST_ELEMENT_CAST (playbin->playsink)); gst_play_sink_set_flags (playbin->playsink, DEFAULT_FLAGS); + /* Connect to notify::volume and notify::mute signals for proxying */ + g_signal_connect (playbin->playsink, "notify::volume", + G_CALLBACK (notify_volume_cb), playbin); + g_signal_connect (playbin->playsink, "notify::mute", + G_CALLBACK (notify_mute_cb), playbin); playbin->encoding = g_strdup (DEFAULT_SUBTITLE_ENCODING); |