glimagesink: Don't leak pool
authorNicolas Dufresne <nicolas.dufresne@collabora.com>
Fri, 26 Jun 2015 18:12:22 +0000 (14:12 -0400)
committerNicolas Dufresne <nicolas.dufresne@collabora.com>
Fri, 26 Jun 2015 18:59:15 +0000 (14:59 -0400)
gst_query_add_allocation_pool is transfer none. Also unref
if there was a configuration error.

ext/gl/gstglimagesink.c

index b8fd96c..41e173f 100644 (file)
@@ -1530,11 +1530,14 @@ gst_glimage_sink_propose_allocation (GstBaseSink * bsink, GstQuery * query)
     config = gst_buffer_pool_get_config (pool);
     gst_buffer_pool_config_set_params (config, caps, size, 0, 0);
 
-    if (!gst_buffer_pool_set_config (pool, config))
+    if (!gst_buffer_pool_set_config (pool, config)) {
+      g_object_unref (pool);
       goto config_failed;
+    }
 
     /* we need at least 2 buffer because we hold on to the last one */
     gst_query_add_allocation_pool (query, pool, size, 2, 0);
+    g_object_unref (pool);
   }
 
   if (glimage_sink->context->gl_vtable->FenceSync)