[Bug 784128] queue: enqueued buffers not pushed on flush-start or eos

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Jun 26 09:55:03 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=784128

--- Comment #2 from Miguel París Díaz <mparisdiaz at gmail.com> ---
Hello Sebastian!!

I misunderstood the meaning of FLUSH_START/_STOP, so thanks for the
clarification ;).

Regarding EOS, queue enqueues it and handles it after all buffers are pushed if
the pipeline is not released before.
Although my problem is more complex, simplifying it at the end what I want to
do is to ensure that all enqueued buffers have been pushed downstream before
releasing the pipeline and this is what I think that was done by pushing
FLUSH_START/_STOP + EOS events in a synchronous way.

A way to reproduce it is running the same pipeline:
gst-launch -v fakesrc num-buffers=10 dump=true sizemax=1 sizetype=2 ! queue !
identity sleep-time=1000000 ! fakesink dump=true
and after all buffers are enqueued perform Ctrl+C. You will see that some
buffers are lost.

Is this the correct behavior and should I wait for sink elements to go to EOS
before releasing the pipeline as gst-launch does?
If yes, I have some idea to do it. Anyway, is there any doc about how to
perform this in the proper way or at least any known corner case that could
cause deadlocking or another problem?

-- 
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