From de0a2575fc277cbe18979f18c58a799376f21e49 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 29 Apr 2009 18:09:07 +0200 Subject: rtspsrc: release state lock before stopping task We need to release the state lock before trying to wait for the task to end because the task might also take the lock. Fixes #577671 --- gst/rtsp/gstrtspsrc.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gst/rtsp') diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c index f575c65b..823b86d3 100644 --- a/gst/rtsp/gstrtspsrc.c +++ b/gst/rtsp/gstrtspsrc.c @@ -4674,6 +4674,9 @@ gst_rtspsrc_close (GstRTSPSrc * src) /* stop task if any */ if (src->task) { + /* release lock before trying to get the streamlock */ + GST_RTSP_STATE_UNLOCK (src); + gst_task_stop (src->task); /* make sure it is not running */ @@ -4686,6 +4689,8 @@ gst_rtspsrc_close (GstRTSPSrc * src) /* and free the task */ gst_object_unref (GST_OBJECT (src->task)); src->task = NULL; + + GST_RTSP_STATE_LOCK (src); } if (!src->connection) -- cgit