diff options
author | Duncan Palmer <dpalmer@digisoft.tv> | 2014-01-29 20:38:57 +0100 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2014-02-04 17:25:52 +0100 |
commit | 9e65718cf63ab6960749477c521908ae88d36163 (patch) | |
tree | ce0e155def9b47ebc30f7ca18e1a17fa433a2428 | |
parent | 98863e5fc681e0c43f06e7fc9d41da941845d23b (diff) | |
download | gstreamer-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.c | 3 |
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; } |