gstreamer/gst/playback
Alessandro Decina fe4e9bb02c decodebin: an element can negotiate before we block it
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
2016-05-04 10:13:44 +03:00
..
.gitignore playsink: remove old marshal remains 2012-07-13 12:35:44 +02:00
gstdecodebin2.c decodebin: an element can negotiate before we block it 2016-05-04 10:13:44 +03:00
gstplay-enum.c playbin: add nick for soft colorbalance play flag to fix gst-inspect 2014-04-27 00:26:14 +01:00
gstplay-enum.h playback: Document GST_PLAY_FLAG_SOFT_COLORBALANCE 2015-05-30 01:11:47 +10:00
gstplayback.c streamsynchronizer: Make the element public 2012-11-21 10:29:44 +01:00
gstplayback.h Fix FSF address 2012-11-03 23:05:09 +00:00
gstplaybackutils.c playback: Skip 'ANY' capsfeature while finding the count of common capsfeatures 2015-06-09 10:13:08 +02:00
gstplaybackutils.h playback: Add gstplaybackutils.{h,c} to deploy the common subroutines 2015-06-09 10:13:08 +02:00
gstplaybin2.c playbin: Only append non-raw and sysmem pad template caps to the autoplug-query result 2016-01-16 11:05:13 +01:00
gstplaysink.c base: use new gst_element_class_add_static_pad_template() 2016-03-24 14:25:41 +02:00
gstplaysink.h playback: Add video-/audio-filter properties 2014-03-16 18:38:29 +01:00
gstplaysinkaudioconvert.c Fix FSF address 2012-11-03 23:05:09 +00:00
gstplaysinkaudioconvert.h Fix FSF address 2012-11-03 23:05:09 +00:00
gstplaysinkconvertbin.c base: use new gst_element_class_add_static_pad_template() 2016-03-24 14:25:41 +02:00
gstplaysinkconvertbin.h playsinkconvertbin: Remove obsolete segment tracking 2013-07-23 13:36:09 +02:00
gstplaysinkvideoconvert.c Fix FSF address 2012-11-03 23:05:09 +00:00
gstplaysinkvideoconvert.h Fix FSF address 2012-11-03 23:05:09 +00:00
gstrawcaps.h playback: Expose XSUB formats by default 2015-12-02 16:37:50 +01:00
gststreamsynchronizer.c base: use new gst_element_class_add_static_pad_template() 2016-03-24 14:25:41 +02:00
gststreamsynchronizer.h streamsynchronizer: Send GAP event to finish preroll when change state from PLAYING to PAUSED 2015-02-16 14:09:43 +02:00
gstsubtitleoverlay.c subtitleoverlay: Don't complain when stream-start is the first event. 2016-04-06 21:03:19 +10:00
gstsubtitleoverlay.h subtitleoverlay: Remove some more unneeded segment tracking 2013-07-23 13:41:55 +02:00
gsturidecodebin.c base: use new gst_element_class_add_static_pad_template() 2016-03-24 14:25:41 +02:00
Makefile.am playback: Add gstplaybackutils.{h,c} to deploy the common subroutines 2015-06-09 10:13:08 +02:00