summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuncan Palmer <dpalmer@digisoft.tv>2014-01-29 20:38:57 +0100
committerSebastian Dröge <sebastian@centricular.com>2014-02-04 17:25:52 +0100
commit9e65718cf63ab6960749477c521908ae88d36163 (patch)
treece0e155def9b47ebc30f7ca18e1a17fa433a2428
parent98863e5fc681e0c43f06e7fc9d41da941845d23b (diff)
downloadgstreamer-plugins-bad-9e65718cf63ab6960749477c521908ae88d36163.tar.gz
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
-rw-r--r--gst-libs/gst/uridownloader/gsturidownloader.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gst-libs/gst/uridownloader/gsturidownloader.c b/gst-libs/gst/uridownloader/gsturidownloader.c
index d4c9fa775..3c6dbc9e2 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;
}