eglglessink: If pushing an item on the queue fails, free it
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Wed, 31 Oct 2012 12:54:28 +0000 (13:54 +0100)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Thu, 21 Mar 2013 08:56:16 +0000 (09:56 +0100)
Otherwise we're going to leak the item.

ext/eglgles/gsteglglessink.c

index 2713d3f958b224c72547ed3a72bdb541bbf5df03..828ce48380f52dca5f2fdef6d9dcdc128571186e 100644 (file)
@@ -1699,6 +1699,7 @@ gst_eglglessink_queue_buffer (GstEglGlesSink * eglglessink, GstBuffer * buf)
   if (buf)
     g_mutex_lock (&eglglessink->render_lock);
   if (!gst_data_queue_push (eglglessink->queue, item)) {
+    item->destroy (item);
     g_mutex_unlock (&eglglessink->render_lock);
     GST_DEBUG_OBJECT (eglglessink, "Flushing");
     return GST_FLOW_FLUSHING;