[Bug 785951] urisourcebin/decodebin3: Don't use custom EOS events

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Aug 9 07:09:55 UTC 2017


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

--- Comment #1 from Edward Hervey <bilboed at bilboed.com> ---
The reason we don't use a regular EOS event but instead a custom one was
introduced partly by the following commit:

commit c10e7c5011e5149712bf3c7c9d9bb8ee765c4ac6
Author: Seungha Yang <sh.yang at lge.com>
Date:   Sun Jan 8 21:36:04 2017 +0900

    urisourcebin: Never push actual EOS event to slot

    Due to the special nature of adaptivedemux, reconfigure happens
    frequently with seek/track-change.
    In very exceptional cases, the following sequence is possible:
      * EOS event is pushed to queue element and still buffers are queued
      * During draining remaining buffers, reconfiguration downstream
    happens due to track switch.
      * The queue gets a not-linked flow return from downstream
      * Because the sinkpad is EOS, the queue registers an
        error on the bus, causing the pipeline to fail.

    Avoid the sinkpad getting marked EOS in the first place, by using a
    custom event in place of EOS.

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

I did some testing to try to replace it with actual EOS, but then the problem
becomes dealing with EOS propagation being delayed (it gets very messy).

The bottom line question is:
* Why do we need custom EOS events in the first place and ss there any reason
we would want to delay EOS propagation ?

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