From: Sebastian Dröge Date: Tue, 22 Mar 2011 10:04:20 +0000 (+0100) Subject: multiqueue: Don't leak objects when flushing after dequeueing and before pushing... X-Git-Tag: RELEASE-0.10.33~292 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=489b94444e96b8ea43aa929eac615471fcb9778e;p=platform%2Fupstream%2Fgstreamer.git multiqueue: Don't leak objects when flushing after dequeueing and before pushing the object --- diff --git a/plugins/elements/gstmultiqueue.c b/plugins/elements/gstmultiqueue.c index 3f1eef5..f285083 100644 --- a/plugins/elements/gstmultiqueue.c +++ b/plugins/elements/gstmultiqueue.c @@ -1075,7 +1075,7 @@ gst_multi_queue_loop (GstPad * pad) GstMultiQueueItem *item; GstDataQueueItem *sitem; GstMultiQueue *mq; - GstMiniObject *object; + GstMiniObject *object = NULL; guint32 newid; GstFlowReturn result; @@ -1170,6 +1170,7 @@ gst_multi_queue_loop (GstPad * pad) /* Try to push out the new object */ result = gst_single_queue_push_one (mq, sq, object); sq->srcresult = result; + object = NULL; if (result != GST_FLOW_OK && result != GST_FLOW_NOT_LINKED && result != GST_FLOW_UNEXPECTED) @@ -1183,6 +1184,9 @@ gst_multi_queue_loop (GstPad * pad) out_flushing: { + if (object) + gst_mini_object_unref (object); + /* Need to make sure wake up any sleeping pads when we exit */ GST_MULTI_QUEUE_MUTEX_LOCK (mq); compute_high_id (mq);