From 06fec6709d7810c7dd377efc0820cde28e96a864 Mon Sep 17 00:00:00 2001 From: Duncan Palmer Date: Wed, 29 Jan 2014 20:38:57 +0100 Subject: [PATCH] uridownloader: Always release the object lock in gst_uri_downloader_fetch_uri_with_range() even if downloader->priv->urisrc is not set. This avoids deadlock under some some conditions on cancel. https://bugzilla.gnome.org/show_bug.cgi?id=723127 --- gst-libs/gst/uridownloader/gsturidownloader.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gst-libs/gst/uridownloader/gsturidownloader.c b/gst-libs/gst/uridownloader/gsturidownloader.c index d4c9fa775e..3c6dbc9e24 100644 --- a/gst-libs/gst/uridownloader/gsturidownloader.c +++ b/gst-libs/gst/uridownloader/gsturidownloader.c @@ -457,7 +457,10 @@ quit: gst_element_get_state (urisrc, NULL, NULL, GST_CLOCK_TIME_NONE); gst_element_set_bus (urisrc, NULL); gst_object_unref (urisrc); + } else { + GST_OBJECT_UNLOCK (downloader); } + g_mutex_unlock (&downloader->priv->download_lock); return download; }