After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 778140 - hlsdemux: Update all live variant/rendition streams
hlsdemux: Update all live variant/rendition streams
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-02-03 14:09 UTC by Seungha Yang
Modified: 2018-11-03 14:04 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
hls: m3u8: Store a list of rendition streams in master playlist (2.02 KB, patch)
2017-02-03 14:11 UTC, Seungha Yang
none Details | Review
hlsdemux: Split _update_rendition_manifest() to make it reusable (3.71 KB, patch)
2017-02-03 14:11 UTC, Seungha Yang
none Details | Review
hlsdemux: Update all live variant/rendition streams (3.23 KB, patch)
2017-02-03 14:12 UTC, Seungha Yang
none Details | Review
hlsdemux: Sync live playback related variables (2.36 KB, patch)
2017-02-05 08:16 UTC, Seungha Yang
none Details | Review

Description Seungha Yang 2017-02-03 14:09:34 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.
Comment 1 Seungha Yang 2017-02-03 14:11:33 UTC
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.
Comment 2 Seungha Yang 2017-02-03 14:11:46 UTC
Created attachment 344861 [details] [review]
hlsdemux: Split _update_rendition_manifest() to make it reusable
Comment 3 Seungha Yang 2017-02-03 14:12:01 UTC
Created attachment 344862 [details] [review]
hlsdemux: Update all live variant/rendition streams
Comment 4 Seungha Yang 2017-02-05 08:16:32 UTC
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.
Comment 5 GStreamer system administrator 2018-11-03 14:04:16 UTC
-- 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.