From: Sebastian Dröge Date: Thu, 20 Feb 2014 14:07:26 +0000 (+0100) Subject: decodebin: Only enable multiqueue buffering once we're pre-rolled X-Git-Tag: 1.19.3~511^2~4691 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c4caeb73cef79470334c70ba7cc85d07de860e44;p=platform%2Fupstream%2Fgstreamer.git decodebin: Only enable multiqueue buffering once we're pre-rolled Otherwise we will emit buffering messages not just from the last multiqueue but also from previous multiqueues... confusing the application with different percentages during pre-rolling. --- diff --git a/gst/playback/gstdecodebin2.c b/gst/playback/gstdecodebin2.c index ff0e5d3..f32e026 100644 --- a/gst/playback/gstdecodebin2.c +++ b/gst/playback/gstdecodebin2.c @@ -3240,14 +3240,6 @@ gst_decode_group_new (GstDecodeBin * dbin, GstDecodeChain * parent) if (G_UNLIKELY (!group->multiqueue)) goto missing_multiqueue; - /* default is for use-buffering is FALSE */ - if (dbin->use_buffering) { - g_object_set (mq, - "use-buffering", TRUE, - "low-percent", dbin->low_percent, - "high-percent", dbin->high_percent, NULL); - } - /* configure queue sizes for preroll */ seekable = FALSE; if (parent && parent->demuxer) { @@ -3669,7 +3661,9 @@ gst_decode_group_reset_buffering (GstDecodeGroup * group) /* all chains are buffering already, no need to do it here */ g_object_set (group->multiqueue, "use-buffering", FALSE, NULL); } else { - g_object_set (group->multiqueue, "use-buffering", TRUE, NULL); + g_object_set (group->multiqueue, "use-buffering", TRUE, + "low-percent", group->dbin->low_percent, + "high-percent", group->dbin->high_percent, NULL); } decodebin_set_queue_size (group->dbin, group->multiqueue, FALSE, FALSE);