media: release lock when removing fakesink

This commit is contained in:
Wim Taymans 2013-04-23 10:27:35 +02:00
parent 0ddd98bfa6
commit 573b10bc83

View file

@ -1444,11 +1444,12 @@ remove_fakesink (GstRTSPMediaPrivate * priv)
GstElement *fakesink; GstElement *fakesink;
g_mutex_lock (&priv->lock); g_mutex_lock (&priv->lock);
if ((fakesink = priv->fakesink)) { if ((fakesink = priv->fakesink))
gst_object_ref (fakesink); gst_object_ref (fakesink);
priv->fakesink = NULL; priv->fakesink = NULL;
g_mutex_unlock (&priv->lock); g_mutex_unlock (&priv->lock);
if (fakesink) {
gst_bin_remove (GST_BIN (priv->pipeline), fakesink); gst_bin_remove (GST_BIN (priv->pipeline), fakesink);
gst_element_set_state (fakesink, GST_STATE_NULL); gst_element_set_state (fakesink, GST_STATE_NULL);
gst_object_unref (fakesink); gst_object_unref (fakesink);