[Bug 779069] New: multiqueue: max-size-time is set to unnecessarily high value for single streams
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Wed Feb 22 14:00:52 UTC 2017
https://bugzilla.gnome.org/show_bug.cgi?id=779069
Bug ID: 779069
Summary: multiqueue: max-size-time is set to unnecessarily high
value for single streams
Classification: Platform
Product: GStreamer
Version: git master
OS: Linux
Status: NEW
Severity: normal
Priority: Normal
Component: gstreamer (core)
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: dv at pseudoterminal.org
QA Contact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Run this test pipeline:
GST_DEBUG=2,*decodebin3*:9 gst-launch-1.0 concat name=x ! decodebin3 ! fakesink
sync=true silent=false urisourcebin uri=file://$(pwd)/test-1000ms-48000hz.wav
! identity ! x. urisourcebin uri=file://$(pwd)/test-1000ms-48000hz.wav !
identity ! x. -v
>From the logs and the verbose fakesink output you can then see that from the
time decodebin3 to the time fakesink see the stream-start event, about 300ms
pass.
(You can use audiotestsrc to generate test-1000ms-48000hz.wav like this:
audiotestsrc num-buffers=1 samplesperbuffer=48000 ! "audio/x-raw, rate=48000,
format=S16LE, channels=1" ! wavenc ! filesink location=test-1000ms-48000hz.wav)
multiqueue's max-size-time size is set to a pretty high value (250ms) for a
single stream. One improvement that was suggested by thaytan was this:
--- a/plugins/elements/gstmultiqueue.c
+++ b/plugins/elements/gstmultiqueue.c
@@ -1279,7 +1279,8 @@ calculate_interleave (GstMultiQueue * mq)
interleave = high - low;
/* Padding of interleave and minimum value */
/* FIXME : Make the minimum time interleave a property */
- interleave = (150 * interleave / 100) + 250 * GST_MSECOND;
+ if (mq->nbqueues > 1)
+ interleave = (150 * interleave / 100) + 250 * GST_MSECOND;
/* Update the stored interleave if:
* * No data has arrived yet (high == low)
However, as he said: "I don't want to break a case where we don't have any
interleave and it causes a deadlock waiting to request a 2nd pad that would
then have allowed interleave."
So I opened this bugreport for discussing this.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list