summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--gst/mpegaudioparse/gstmpegaudioparse.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 68530222..9f530b87 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-02-05 David Schleef <ds@schleef.org>
+
+ * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain):
+ Unref leaked buffer. (Noticed by Ronald)
+
2004-02-05 David I. Lehn <dlehn@users.sourceforge.net>
* pkgconfig/gstreamer-libs-uninstalled.pc.in:
diff --git a/gst/mpegaudioparse/gstmpegaudioparse.c b/gst/mpegaudioparse/gstmpegaudioparse.c
index f00e5bcb..aeed48f1 100644
--- a/gst/mpegaudioparse/gstmpegaudioparse.c
+++ b/gst/mpegaudioparse/gstmpegaudioparse.c
@@ -316,10 +316,13 @@ gst_mp3parse_chain (GstPad *pad, GstData *_data)
/* if we have something left from the previous frame */
if (mp3parse->partialbuf) {
+ GstBuffer *newbuf;
- mp3parse->partialbuf = gst_buffer_merge(mp3parse->partialbuf, buf);
+ newbuf = gst_buffer_merge(mp3parse->partialbuf, buf);
/* and the one we received.. */
gst_buffer_unref(buf);
+ gst_buffer_unref(mp3parse->partialbuf);
+ mp3parse->partialbuf = newbuf;
}
else {
mp3parse->partialbuf = buf;