summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--gst/matroska/ebml-write.c3
2 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 2a9055ac..93d74267 100644
--- 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:
diff --git a/gst/matroska/ebml-write.c b/gst/matroska/ebml-write.c
index 1a039e48..ca08613b 100644
--- a/gst/matroska/ebml-write.c
+++ b/gst/matroska/ebml-write.c
@@ -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);
}
}