summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2009-10-30 08:24:30 (GMT)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2009-10-30 08:24:30 (GMT)
commite72c3029c0e4674e3ce6d9770dc9de665e7a3793 (patch)
treed943df1221bff9b6c85ad0ecef2e7b4e55f7a125
parent598c9376342b4f67012d1d418c090f432fc26d27 (diff)
playsink: Reset {mute,volume}-changed flags after setting the volume
These flags are there to make sure that the volume is set, if there is no volume element yet.
-rw-r--r--gst/playback/gstplaysink.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gst/playback/gstplaysink.c b/gst/playback/gstplaysink.c
index a481203..8c89203 100644
--- a/gst/playback/gstplaysink.c
+++ b/gst/playback/gstplaysink.c
@@ -1538,6 +1538,7 @@ gen_audio_chain (GstPlaySink * playsink, gboolean raw, gboolean queue)
/* use the sink to control the volume and mute */
if (playsink->volume_changed) {
g_object_set (G_OBJECT (chain->volume), "volume", playsink->volume, NULL);
+ playsink->volume_changed = FALSE;
}
if (playsink->mute_changed) {
if (chain->mute) {
@@ -1546,6 +1547,7 @@ gen_audio_chain (GstPlaySink * playsink, gboolean raw, gboolean queue)
if (playsink->mute)
g_object_set (chain->volume, "volume", (gdouble) 0.0, NULL);
}
+ playsink->mute_changed = FALSE;
}
} else {
/* no volume, we need to add a volume element when we can */
@@ -1718,6 +1720,7 @@ setup_audio_chain (GstPlaySink * playsink, gboolean raw, gboolean queue)
playsink->volume);
/* use the sink to control the volume */
g_object_set (G_OBJECT (chain->volume), "volume", playsink->volume, NULL);
+ playsink->volume_changed = FALSE;
}
g_signal_connect (chain->volume, "notify::volume",