bufferpool: free owned discarded pool config
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Wed, 14 Mar 2012 16:16:36 +0000 (17:16 +0100)
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Wed, 14 Mar 2012 16:20:01 +0000 (17:20 +0100)
gst/gstbufferpool.c

index a000af8..3f3026b 100644 (file)
@@ -503,6 +503,8 @@ gst_buffer_pool_set_config (GstBufferPool * pool, GstStructure * config)
 
     /* now we are configured */
     pool->priv->configured = TRUE;
+  } else {
+    gst_structure_free (config);
   }
   GST_BUFFER_POOL_UNLOCK (pool);
 
@@ -511,12 +513,14 @@ gst_buffer_pool_set_config (GstBufferPool * pool, GstStructure * config)
   /* ERRORS */
 was_active:
   {
+    gst_structure_free (config);
     GST_WARNING_OBJECT (pool, "can't change config, we are active");
     GST_BUFFER_POOL_UNLOCK (pool);
     return FALSE;
   }
 have_outstanding:
   {
+    gst_structure_free (config);
     GST_WARNING_OBJECT (pool, "can't change config, have outstanding buffers");
     GST_BUFFER_POOL_UNLOCK (pool);
     return FALSE;