gstreamer/gst/playback
Edward Hervey c1e902a084 playbin3: Implement gapless playback
Similar in vein to the playbin2 architecture except that uridecodebin3
are prerolled much earlier and all streams of the same type are
fed through a 'concat' element.

This keeps the philosphy of having all elements connected as soon
as possible.

The 'about-to-finish' signal is emitted whenever one of the uridecodebin
is about to finish, allowing the users to set the next uri/suburi.

The notion of a group being active has changed. It now means that the
uridecodebin3 has been activated, but doesn't mean it is the one
currently being outputted by the sinks (i.e. curr_group and next_group).
This is done via detecting GST_MESSAGE_STREAM_START emission by playsink
and figuring out which group is really playing.

When the current group changes, a new thread is started to deactivate
the previous one and optionnaly fire 'about-to-finish'.
2018-02-10 12:24:10 +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: Implement gapless playback 2018-02-10 12:24:10 +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