From: Wim Taymans Date: Thu, 2 Jun 2011 13:37:41 +0000 (+0200) Subject: element: small cleanups X-Git-Tag: RELEASE-0.11.0~191 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0de2f64e124d848083b248cd2e7870193e10b044;p=platform%2Fupstream%2Fgstreamer.git element: small cleanups --- diff --git a/gst/gstelement.c b/gst/gstelement.c index 1a01a4d..4b2abfe 100644 --- a/gst/gstelement.c +++ b/gst/gstelement.c @@ -284,7 +284,6 @@ gst_element_init (GstElement * element) GST_STATE_PENDING (element) = GST_STATE_VOID_PENDING; GST_STATE_RETURN (element) = GST_STATE_CHANGE_SUCCESS; - /* FIXME 0.11: Store this directly in the instance struct */ g_static_rec_mutex_init (&element->state_lock); element->state_cond = g_cond_new (); } @@ -862,12 +861,15 @@ gst_element_remove_pad (GstElement * element, GstPad * pad) /* ERRORS */ not_our_pad: { - /* FIXME, locking order? */ + /* locking order is element > pad */ + GST_OBJECT_UNLOCK (pad); + GST_OBJECT_LOCK (element); + GST_OBJECT_LOCK (pad); g_critical ("Padname %s:%s does not belong to element %s when removing", GST_DEBUG_PAD_NAME (pad), GST_ELEMENT_NAME (element)); - GST_OBJECT_UNLOCK (element); GST_OBJECT_UNLOCK (pad); + GST_OBJECT_UNLOCK (element); return FALSE; } }