[Bug 747190] decodebin with qtdemux exposes pads without caps

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Apr 8 20:17:39 PDT 2015


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

Sebastian Dröge (slomo) <slomo at coaxion.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |thaytan at noraisin.net

--- Comment #2 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
And the exact problem is that GstVideoDecoder receives the GAP event, and then
forwards it after draining (draining nothing, there is nothing yet). And as it
did not decode anything yet, it also does not know any caps yet.

The same bug was fixed for GstAudioDecoder some time ago, but arguably not
correct. Just inventing random caps is not going to solve anything, and
applications waiting for caps are still going to be confused (as the caps are
random, more useful caps with the resolution or number of channels are coming
at a later time). Not sure what to do about this, GAP events before any data
are not great :)

Jan, any ideas? You fixed/broke the same thing in audiodecoder ;)



commit c24a1254c9f1f73e23a1471ce9dd08f513618c8b
Author: Jan Schmidt <jan at centricular.com>
Date:   Thu Dec 26 23:21:45 2013 +1100

    audiodecoder: Choose a default initial caps before sending GAP

    If there are no caps from the audio decoder when handling a GAP
    event - as when one is received right at the start on a DVD without
    initial audio - then choose any default caps for downstream and
    then send the GAP, so the audio sink has a configured format in
    which to start the ringbuffer.

    Also, make the audio sink reject a GAP without caps with a clearer
    error message.

    Fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=603921

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