mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-08 13:18:52 +00:00
When we initialize an element in decodebin, we 1) set it to PAUSED and push sticky events on its sinkpad to trigger negotiation 2) block its src pad(s) to detect CAPS events. We can't block before 1) as that would lead to a deadlock. It's possible (and common) tho that an element configures its srcpad during 1) and before 2). Therefore before this change we would typically block and expose an element's pad only once the element output its first buffer, triggering sticky events to be resent. One consequence of this behaviour is that it sometimes broke renegotiation. With this change now we consider a pad ready to be exposed when it's ->blocked or has fixed caps (which were set before we could block it). https://bugzilla.gnome.org/show_bug.cgi?id=765456 |
||
---|---|---|
.. | ||
.gitignore | ||
gstdecodebin2.c | ||
gstplay-enum.c | ||
gstplay-enum.h | ||
gstplayback.c | ||
gstplayback.h | ||
gstplaybackutils.c | ||
gstplaybackutils.h | ||
gstplaybin2.c | ||
gstplaysink.c | ||
gstplaysink.h | ||
gstplaysinkaudioconvert.c | ||
gstplaysinkaudioconvert.h | ||
gstplaysinkconvertbin.c | ||
gstplaysinkconvertbin.h | ||
gstplaysinkvideoconvert.c | ||
gstplaysinkvideoconvert.h | ||
gstrawcaps.h | ||
gststreamsynchronizer.c | ||
gststreamsynchronizer.h | ||
gstsubtitleoverlay.c | ||
gstsubtitleoverlay.h | ||
gsturidecodebin.c | ||
Makefile.am |