mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-07 16:08:51 +00:00
adaptivedemux: release threads waiting for manifest update on shutdown
For live streams, also unblock threads that might be waiting for a manifest update when stopping the pipeline. Also add some more debug messages
This commit is contained in:
parent
a7712c2983
commit
66f40b798d
1 changed files with 8 additions and 0 deletions
|
@ -1050,6 +1050,10 @@ gst_adaptive_demux_stop_tasks (GstAdaptiveDemux * demux)
|
||||||
gst_task_stop (demux->priv->updates_task);
|
gst_task_stop (demux->priv->updates_task);
|
||||||
g_cond_signal (&demux->priv->updates_timed_cond);
|
g_cond_signal (&demux->priv->updates_timed_cond);
|
||||||
|
|
||||||
|
GST_MANIFEST_LOCK (demux);
|
||||||
|
g_cond_broadcast (&demux->manifest_cond);
|
||||||
|
GST_MANIFEST_UNLOCK (demux);
|
||||||
|
|
||||||
gst_uri_downloader_cancel (demux->priv->downloader);
|
gst_uri_downloader_cancel (demux->priv->downloader);
|
||||||
for (iter = demux->streams; iter; iter = g_list_next (iter)) {
|
for (iter = demux->streams; iter; iter = g_list_next (iter)) {
|
||||||
GstAdaptiveDemuxStream *stream = iter->data;
|
GstAdaptiveDemuxStream *stream = iter->data;
|
||||||
|
@ -1361,11 +1365,15 @@ gst_adaptive_demux_stream_wait_manifest_update (GstAdaptiveDemux * demux,
|
||||||
|
|
||||||
/* Got a new fragment or not live anymore? */
|
/* Got a new fragment or not live anymore? */
|
||||||
if (gst_adaptive_demux_stream_has_next_fragment (demux, stream)) {
|
if (gst_adaptive_demux_stream_has_next_fragment (demux, stream)) {
|
||||||
|
GST_DEBUG_OBJECT (demux, "new fragment available, "
|
||||||
|
"not waiting for manifest update");
|
||||||
ret = TRUE;
|
ret = TRUE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!gst_adaptive_demux_is_live (demux)) {
|
if (!gst_adaptive_demux_is_live (demux)) {
|
||||||
|
GST_DEBUG_OBJECT (demux, "Not live anymore, "
|
||||||
|
"not waiting for manifest update");
|
||||||
ret = FALSE;
|
ret = FALSE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue