GNOME Bugzilla – Bug 778140
hlsdemux: Update all live variant/rendition streams
Last modified: 2018-11-03 14:04:16 UTC
Updating manifest triggers live playback timeline update (i.e., setting "first_file_start" and "last_file_end" of a m3u8). However, deactivated variant/rendition streams never be updated, and it causes timeline mismatch between them. To keep track of timeline of each streams, demux needs to update all of them.
Created attachment 344860 [details] [review] hls: m3u8: Store a list of rendition streams in master playlist In case of live playback, all rendition and variant streams should be updated per update loop, for the purpose of synchronization. This list makes it simple that updating each rendition stream.
Created attachment 344861 [details] [review] hlsdemux: Split _update_rendition_manifest() to make it reusable
Created attachment 344862 [details] [review] hlsdemux: Update all live variant/rendition streams
Created attachment 344967 [details] [review] hlsdemux: Sync live playback related variables Although HLS spec 6.3.2 is saying that client MUST NOT assume "Media Sequence Number" of all Variant/Rendition streams are same for the specific presentation position, hlsdemux uses it for sync. Until we move to other way to sync, variables for live playback timeline should be re-used also. If not, in case of live, playback range of just downloaded manifest (it's for new variant stream) will start from zero again regardless, how long previous variant stream was presented.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/515.