adaptivemutex: Fix double mutex unlock

https://bugzilla.gnome.org/show_bug.cgi?id=779480
This commit is contained in:
Thomas Bluemel 2017-02-27 14:54:43 -07:00 committed by Sebastian Dröge
parent 6da14bdb88
commit 8d10d29c24

View file

@ -2983,6 +2983,11 @@ gst_adaptive_demux_stream_download_uri (GstAdaptiveDemux * demux,
*http_status = stream->last_status_code; *http_status = stream->last_status_code;
} }
} }
/* changing src element state might try to join the streaming thread, so
* we must not hold the manifest lock.
*/
GST_MANIFEST_UNLOCK (demux);
} else { } else {
GST_MANIFEST_UNLOCK (demux); GST_MANIFEST_UNLOCK (demux);
if (stream->last_ret == GST_FLOW_OK) if (stream->last_ret == GST_FLOW_OK)
@ -2990,11 +2995,6 @@ gst_adaptive_demux_stream_download_uri (GstAdaptiveDemux * demux,
ret = GST_FLOW_CUSTOM_ERROR; ret = GST_FLOW_CUSTOM_ERROR;
} }
/* changing src element state might try to join the streaming thread, so
* we must not hold the manifest lock.
*/
GST_MANIFEST_UNLOCK (demux);
stream->src_at_ready = FALSE; stream->src_at_ready = FALSE;
gst_element_set_locked_state (stream->src, TRUE); gst_element_set_locked_state (stream->src, TRUE);