gst/matroska/ebml-write.c: Don't leak buffers when we don't push them downstream.
authorBjarne Rosengren <bjarne@axis.com>
Thu, 7 Feb 2008 16:38:55 +0000 (16:38 +0000)
committerSebastian Dröge <slomo@circular-chaos.org>
Thu, 7 Feb 2008 16:38:55 +0000 (16:38 +0000)
Original commit message from CVS:
Patch by: Bjarne Rosengren <bjarne at axis dot com>
* gst/matroska/ebml-write.c: (gst_ebml_write_element_push):
Don't leak buffers when we don't push them downstream.
Fixes bug #514965.

ChangeLog
gst/matroska/ebml-write.c

index 2a9055a..93d7426 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-02-07  Sebastian Dröge  <slomo@circular-chaos.org>
+
+       Patch by: Bjarne Rosengren <bjarne at axis dot com>
+
+       * gst/matroska/ebml-write.c: (gst_ebml_write_element_push):
+       Don't leak buffers when we don't push them downstream.
+       Fixes bug #514965.
+
 2008-02-07  Tim-Philipp Müller  <tim at centricular dot net>
 
        * configure.ac:
index 1a039e4..ca08613 100644 (file)
@@ -371,6 +371,9 @@ gst_ebml_write_element_push (GstEbmlWrite * ebml, GstBuffer * buf)
     buf = gst_buffer_make_metadata_writable (buf);
     gst_buffer_set_caps (buf, GST_PAD_CAPS (ebml->srcpad));
     ebml->last_write_result = gst_pad_push (ebml->srcpad, buf);
+  } else {
+    if (buf != ebml->cache)
+      gst_buffer_unref (buf);
   }
 }