gstreamer/gst/playback
Edward Hervey 1f792ab89d decodebin3: Handle dual-output of STREAM_START/EOS
In order to flush out multiqueue, we send again a STREAM_START and
then a EOS event.

The problem was that was that we might end up pushing out on the
output of multiqueue (and therefore decodebin3) a series of:
* EOS / STREAM_START / EOS

Apart from the uglyness of such output, If decodebin3 is used with
elements such as concat on their output, they might potentially
block on that second STREAM_START.

In order to make sure we don't end up in that situation we send
a custom STREAM_START event when refreshing multiqueue (which we
drop on the output) and we don't special case EOS events on streams
on which we already got EOS.

At worst we now end up sending at most two EOS on the output of
multiqueue (and decodebin3).
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: Handle dual-output of STREAM_START/EOS 2018-02-10 12:24:10 +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