gstreamer/gst/playback
Edward Hervey b9e73d0575 playbin3: Use uridecodebin3 and link/reconfigure immediately
Apologies for the big commit, but it wasn't really possible to split it
in anything smaller.

* Switch to uridecodebin3 instead of managing urisourcebin and decodebin3
ourselves. No major architectural change with this.

* Reconfigure sinks/outputs when needed. This is possible thanks to the
various streams-related API. Instead of blocking new pads and waiting
for a (fake) no-more-pads to decide what to connect, we instead reconfigure
playsink and the combiners to whatever types are currently selected. All of
this is done in reconfigure_output().
  New pads are immediately connected to (combiners and) sinks, allowing
immediate negotiation and usage.

* Since elements are always connected, the "cached-duration" feature is gone
and queries can reach the target elements.

* The auto-plugging related code is currently disabled entirely until
we get the new proper API.

* Store collections at the GstSourceGroup level and not globally

* And more comments a bit everywhere

NOTE: gapless is still not functional, but this opens the way to be able
to handle it in a streams-aware fashion (where several uridecodebin3 can
be active at the same time).
2018-02-10 12:24:09 +01:00
..
.gitignore playsink: remove old marshal remains 2012-07-13 12:35:44 +02:00
gstdecodebin2.c decodebin: Fix typo in docs 2017-12-01 10:03:40 +02:00
gstdecodebin3-parse.c decodebin3: Use GST_GROUP_ID_INVALID 2018-02-10 12:17:39 +01:00
gstdecodebin3.c decodebin3: Use GST_GROUP_ID_INVALID 2018-02-10 12:17:39 +01:00
gstparsebin.c parsebin: Remove async behaviour 2018-02-10 12:14:17 +01: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 playback: New uridecodebin3 element 2018-02-10 12:24:09 +01:00
gstplayback.h playback: New uridecodebin3 element 2018-02-10 12:24:09 +01:00
gstplaybackutils.c playback-utils: Fix caps leak on failure 2018-01-17 12:18:41 +00:00
gstplaybackutils.h playback: Mark internal functions as G_GNUC_INTERNAL 2016-09-01 13:07:07 +03:00
gstplaybin2.c playbin: Don't ref_sink() the sinks twice 2017-11-07 10:32:34 +02:00
gstplaybin3.c playbin3: Use uridecodebin3 and link/reconfigure immediately 2018-02-10 12:24:09 +01:00
gstplaysink.c playsink: do not link to audio or video filter using padname 2017-01-04 15:09:00 +01: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: Add ANY caps features to default text raw caps 2016-12-12 11:10:50 +02:00
gststreamsynchronizer.c streamsynchronizer: every stream need keep their own send_gap_event flag 2017-03-23 12:55:57 +02:00
gststreamsynchronizer.h streamsynchronizer: every stream need keep their own send_gap_event flag 2017-03-23 12:55:57 +02:00
gstsubtitleoverlay.c docs: Convert gtkdoc comments to markdown 2017-03-10 18:19:17 -03:00
gstsubtitleoverlay.h subtitleoverlay: Remove some more unneeded segment tracking 2013-07-23 13:41:55 +02:00
gsturidecodebin.c Use proper GtkDoc notation for NULL/FALSE/TRUE 2017-10-03 14:31:18 -07:00
gsturidecodebin3.c playback: New uridecodebin3 element 2018-02-10 12:24:09 +01:00
gsturisourcebin.c urisourcebin: Add 'about-to-finish' signal 2018-02-10 12:24:09 +01:00
Makefile.am playback: New uridecodebin3 element 2018-02-10 12:24:09 +01:00
meson.build playback: New uridecodebin3 element 2018-02-10 12:24:09 +01:00