gstreamer/subprojects/gst-plugins-good/ext/adaptivedemux2
Jan Schmidt f4f1819416 adaptivedemux2: Fix for period switching in live streams
When playing live, it's possible that one stream reaches
the end of the available playback window and goes to sleep
waiting for a manifest update, and the manifest update
introduces a new period. In that case, the sleeping
stream needs to wake up and go 'properly' EOS before we
can advance the input to the new period.

Accordingly, make sure that a stream's last_ret value
is not marked as EOS if it's just sleeping waiting for a live
manifest update.

Also fix the output loop to go back and re-check if it's
time to switch to the next period after dequeuing and
discarding an EOS event.

https://livesim.dashif.org/livesim/periods_20/testpic_2s/Manifest.mpd

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2895>
2022-08-16 12:39:58 +00:00
..
dash adaptivedemux2: Prevent duplicate symbols on static builds 2022-06-15 01:13:16 +00:00
hls hlsdemux2: Fix reference leak of variant stream 2022-08-12 13:52:59 +00:00
mss mssdemux2: Use gsturi structure to form fragment urls 2022-08-16 17:57:19 +09:00
downloadhelper.c New HLS, DASH and MSS adaptive demuxer elements 2022-04-18 14:11:23 +00:00
downloadhelper.h New HLS, DASH and MSS adaptive demuxer elements 2022-04-18 14:11:23 +00:00
downloadrequest.c New HLS, DASH and MSS adaptive demuxer elements 2022-04-18 14:11:23 +00:00
downloadrequest.h New HLS, DASH and MSS adaptive demuxer elements 2022-04-18 14:11:23 +00:00
gstadaptivedemux-period.c adaptivedemux2: Check stream selected instead of state 2022-08-04 13:43:25 +01:00
gstadaptivedemux-private.h adaptivedemux2: Move internal FLOW_SWITCH return value. 2022-08-04 14:49:33 +01:00
gstadaptivedemux-stream.c adaptivedemux2: Fix for period switching in live streams 2022-08-16 12:39:58 +00:00
gstadaptivedemux-track.c adaptivedemux2: track: Fix buffering time calc before output 2022-06-28 18:34:31 +00:00
gstadaptivedemux.c adaptivedemux2: Fix for period switching in live streams 2022-08-16 12:39:58 +00:00
gstadaptivedemux.h adaptivedemux2: Modify custom sync loss flow return 2022-08-04 14:49:33 +01:00
gstadaptivedemuxelement.c adaptivedemux2: fix plugin/element init 2022-05-30 13:13:48 +00:00
gstadaptivedemuxelements.h adaptivedemux2: fix plugin/element init 2022-05-30 13:13:48 +00:00
gstadaptivedemuxutils.c adaptivedemux2: Fix uninitialised memory usage in debug 2022-08-12 13:52:59 +00:00
gstadaptivedemuxutils.h New HLS, DASH and MSS adaptive demuxer elements 2022-04-18 14:11:23 +00:00
gstisoff.c New HLS, DASH and MSS adaptive demuxer elements 2022-04-18 14:11:23 +00:00
gstisoff.h New HLS, DASH and MSS adaptive demuxer elements 2022-04-18 14:11:23 +00:00
meson.build adaptivedemux2: fix plugin/element init 2022-05-30 13:13:48 +00:00
plugin.c adaptivedemux2: fix plugin/element init 2022-05-30 13:13:48 +00:00