summaryrefslogtreecommitdiffstats
path: root/gst/mpeg1videoparse/gstmp1videoparse.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/mpeg1videoparse/gstmp1videoparse.c')
-rw-r--r--gst/mpeg1videoparse/gstmp1videoparse.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gst/mpeg1videoparse/gstmp1videoparse.c b/gst/mpeg1videoparse/gstmp1videoparse.c
index 74efd0d9..94263dea 100644
--- a/gst/mpeg1videoparse/gstmp1videoparse.c
+++ b/gst/mpeg1videoparse/gstmp1videoparse.c
@@ -257,9 +257,15 @@ gst_mp1videoparse_real_chain (Mp1VideoParse *mp1videoparse, GstBuffer *buf, GstP
if (mp1videoparse->partialbuf) {
+ GstBuffer *merge;
+
offset = GST_BUFFER_SIZE(mp1videoparse->partialbuf);
- mp1videoparse->partialbuf = gst_buffer_append(mp1videoparse->partialbuf, buf);
+ merge = gst_buffer_merge(mp1videoparse->partialbuf, buf);
+
+ gst_buffer_unref(mp1videoparse->partialbuf);
gst_buffer_unref(buf);
+
+ mp1videoparse->partialbuf = merge;
}
else {
mp1videoparse->partialbuf = buf;