mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 12:11:13 +00:00
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
This commit is contained in:
parent
1b8aa7578c
commit
87cb9fa49e
1 changed files with 3 additions and 0 deletions
|
@ -567,6 +567,9 @@ gst_adaptive_demux_change_state (GstElement * element,
|
||||||
case GST_STATE_CHANGE_READY_TO_PAUSED:
|
case GST_STATE_CHANGE_READY_TO_PAUSED:
|
||||||
GST_MANIFEST_LOCK (demux);
|
GST_MANIFEST_LOCK (demux);
|
||||||
gst_adaptive_demux_reset (demux);
|
gst_adaptive_demux_reset (demux);
|
||||||
|
/* Clear "cancelled" flag in uridownloader since subclass might want to
|
||||||
|
* use uridownloader to fetch another manifest */
|
||||||
|
gst_uri_downloader_reset (demux->downloader);
|
||||||
if (demux->priv->have_manifest)
|
if (demux->priv->have_manifest)
|
||||||
gst_adaptive_demux_start_manifest_update_task (demux);
|
gst_adaptive_demux_start_manifest_update_task (demux);
|
||||||
demux->running = TRUE;
|
demux->running = TRUE;
|
||||||
|
|
Loading…
Reference in a new issue