GNOME Bugzilla – Bug 783401
adaptivedemux: Clear "cancelled" on uridownloader before processing manifest
Last modified: 2017-06-12 14:27:21 UTC
Previous commit let demux call gst_uri_downloader_cancel() on _demux_reset(). Since it's called when not only PAUSED_TO_READY, but also READY_TO_PAUSED, this causes regression on hls streaming.
Created attachment 353139 [details] [review] adaptivedemux: Clear "cancelled" on uridownloader before processing manifest This is to fix regression of bug#783028 currently any hls streams which includes variants and renditions streams are not playable.
Review of attachment 353139 [details] [review]: it seems more appropriate to reset it in the READY_TO_PAUSED transition. Bonus points for a comment in the code to state that subclasses use that outside of the manifest updating task.
Created attachment 353155 [details] [review] adaptivedemux: Clear "cancelled" on uridownloader before processing manifest Previous commit let demux call gst_uri_downloader_cancel() on _demux_reset(). Note that, _demux_reset() called during PAUSED_TO_READY and READY_TO_PAUSED. And, it will set "cancelled" on uridownloader which blocks the use of uridownloader. The issue is that, subclass can use the uridownloader not only live streaming for manifest update, but also for fetching another manifests such as variant and rendition m3u8 of hls streaming. So to unblock it, demux should clear "cancelled" before processing initial manifest.
commit 87cb9fa49ede6923c929e61a0c263f584f94871e Author: Seungha Yang <sh.yang@lge.com> Date: Sun Jun 4 20:23:36 2017 +0900 adaptivedemux: Clear "cancelled" on uridownloader before processing manifest Previous commit let demux call gst_uri_downloader_cancel() on _demux_reset(). Note that, _demux_reset() called during PAUSED_TO_READY and READY_TO_PAUSED. And, it will set "cancelled" on uridownloader which blocks the use of uridownloader. The issue is that, subclass can use the uridownloader not only live streaming for manifest update, but also for fetching another manifests such as variant and rendition m3u8 of hls streaming. So to unblock it, demux should clear "cancelled" before processing initial manifest. https://bugzilla.gnome.org/show_bug.cgi?id=783401
Should this go into 1.12?
(In reply to Sebastian Dröge (slomo) from comment #5) > Should this go into 1.12? Not yet, but need when following commit is cherry-picked into 1.12 5a693fd 2017-05-29 22:28 Thiago Santos adaptivedemux: do not erase data while updates-loop is running
Both this commit and the related one are in 1.12 now