From 5d0b8a7489224ec51bef707bab3c9a10f55fe655 Mon Sep 17 00:00:00 2001 From: Josep Torra Date: Wed, 17 Jun 2009 16:17:27 +0200 Subject: [PATCH] gstelement: unref the clock when the element changes to null state --- gst/gstelement.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gst/gstelement.c b/gst/gstelement.c index 4fc095b924..c27c68647e 100644 --- a/gst/gstelement.c +++ b/gst/gstelement.c @@ -2578,6 +2578,14 @@ gst_element_change_state (GstElement * element, GstStateChange transition) /* we can commit the state now which will proceeed to * the next state */ ret = gst_element_continue_state (element, ret); + /* In null state release the reference to the clock */ + if (GST_STATE (element) == GST_STATE_NULL) { + GstClock **clock_p; + GST_OBJECT_LOCK (element); + clock_p = &element->clock; + gst_object_replace ((GstObject **) clock_p, NULL); + GST_OBJECT_UNLOCK (element); + } break; case GST_STATE_CHANGE_NO_PREROLL: GST_CAT_DEBUG_OBJECT (GST_CAT_STATES, element,