From: Sebastian Dröge Date: Wed, 22 Feb 2012 11:07:13 +0000 (+0100) Subject: playsink: Only really use software volume if requested X-Git-Tag: 1.19.3~511^2~6555^2~116 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=68220a1893ff9e29ed2d76c65181ec31144e6aea;p=platform%2Fupstream%2Fgstreamer.git playsink: Only really use software volume if requested --- diff --git a/gst/playback/gstplaysink.c b/gst/playback/gstplaysink.c index d8f2c3b..0ad326f 100644 --- a/gst/playback/gstplaysink.c +++ b/gst/playback/gstplaysink.c @@ -1849,10 +1849,10 @@ gen_audio_chain (GstPlaySink * playsink, gboolean raw) } if (!(playsink->flags & GST_PLAY_FLAG_NATIVE_AUDIO) || (!have_volume - && playsink->flags & GST_PLAY_FLAG_SOFT_VOLUME)) { + && (playsink->flags & GST_PLAY_FLAG_SOFT_VOLUME))) { gboolean use_converters = !(playsink->flags & GST_PLAY_FLAG_NATIVE_AUDIO); gboolean use_volume = - !have_volume && playsink->flags & GST_PLAY_FLAG_SOFT_VOLUME; + !have_volume && (playsink->flags & GST_PLAY_FLAG_SOFT_VOLUME); GST_DEBUG_OBJECT (playsink, "creating audioconvert with use-converters %d, use-volume %d", use_converters, use_volume); @@ -1869,7 +1869,7 @@ gen_audio_chain (GstPlaySink * playsink, gboolean raw) } prev = chain->conv; - if (!have_volume && playsink->flags & GST_PLAY_FLAG_SOFT_VOLUME) { + if (!have_volume && (playsink->flags & GST_PLAY_FLAG_SOFT_VOLUME)) { GstPlaySinkAudioConvert *conv = GST_PLAY_SINK_AUDIO_CONVERT_CAST (chain->conv); @@ -2022,13 +2022,14 @@ setup_audio_chain (GstPlaySink * playsink, gboolean raw) GST_PLAY_SINK_AUDIO_CONVERT_CAST (chain->conv); /* no volume, we need to add a volume element when we can */ - g_object_set (chain->conv, "use-volume", TRUE, NULL); + g_object_set (chain->conv, "use-volume", + ! !(playsink->flags & GST_PLAY_FLAG_SOFT_VOLUME), NULL); GST_DEBUG_OBJECT (playsink, "the sink has no volume property"); /* Disconnect signals */ disconnect_chain (chain, playsink); - if (conv->volume) { + if (conv->volume && (playsink->flags & GST_PLAY_FLAG_SOFT_VOLUME)) { chain->volume = conv->volume; chain->mute = chain->volume;