summaryrefslogtreecommitdiffstats
path: root/ext/flac/gstflactag.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/flac/gstflactag.c')
-rw-r--r--ext/flac/gstflactag.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/ext/flac/gstflactag.c b/ext/flac/gstflactag.c
index f2d178d0..5d1c56c2 100644
--- a/ext/flac/gstflactag.c
+++ b/ext/flac/gstflactag.c
@@ -264,7 +264,11 @@ gst_flac_tag_chain (GstPad *pad, GstData *data)
tag = GST_FLAC_TAG (gst_pad_get_parent (pad));
if (tag->buffer) {
- tag->buffer = gst_buffer_merge (tag->buffer, buffer);
+ GstBuffer *merge;
+ merge = gst_buffer_merge (tag->buffer, buffer);
+ gst_buffer_unref (buffer);
+ gst_buffer_unref (tag->buffer);
+ tag->buffer = merge;
} else {
tag->buffer = buffer;
}
@@ -365,7 +369,11 @@ gst_flac_tag_chain (GstPad *pad, GstData *data)
if (tag->vorbiscomment == NULL) {
tag->vorbiscomment = sub;
} else {
- tag->vorbiscomment = gst_buffer_merge (tag->vorbiscomment, sub);
+ GstBuffer *merge;
+ merge = gst_buffer_merge (tag->vorbiscomment, sub);
+ gst_buffer_unref (tag->vorbiscomment);
+ gst_buffer_unref (sub);
+ tag->vorbiscomment = merge;
}
}