mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-09-03 02:33:53 +00:00
adaptivedemux: Release the manifest mutex before waiting for a download
Otherwise we will hurt parallel downloads in the best case, and often cause deadlocks.
This commit is contained in:
parent
1ba8f82b94
commit
fc67e1db8b
1 changed files with 3 additions and 2 deletions
|
@ -2040,11 +2040,12 @@ gst_adaptive_demux_stream_download_loop (GstAdaptiveDemuxStream * stream)
|
||||||
if (live) {
|
if (live) {
|
||||||
gint64 wait_time =
|
gint64 wait_time =
|
||||||
gst_adaptive_demux_stream_get_fragment_waiting_time (demux, stream);
|
gst_adaptive_demux_stream_get_fragment_waiting_time (demux, stream);
|
||||||
|
GST_MANIFEST_UNLOCK (demux);
|
||||||
if (wait_time > 0)
|
if (wait_time > 0)
|
||||||
gst_adaptive_demux_stream_download_wait (stream, wait_time);
|
gst_adaptive_demux_stream_download_wait (stream, wait_time);
|
||||||
}
|
} else {
|
||||||
|
|
||||||
GST_MANIFEST_UNLOCK (demux);
|
GST_MANIFEST_UNLOCK (demux);
|
||||||
|
}
|
||||||
|
|
||||||
GST_OBJECT_LOCK (demux);
|
GST_OBJECT_LOCK (demux);
|
||||||
if (demux->cancelled) {
|
if (demux->cancelled) {
|
||||||
|
|
Loading…
Reference in a new issue