summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorJan Schmidt <thaytan@noraisin.net>2012-09-10 22:30:18 -0700
committerJan Schmidt <thaytan@noraisin.net>2012-09-11 23:16:45 -0700
commitddd13808b324f89dd4ab8a978331cccff2f161f8 (patch)
treefb3d9a0110570cba71bd3c9d717b92aa7b96273a /ext
parent32a15afb81f2e69a69397098ac19a6ac90005c31 (diff)
mpeg2dec: Hold ref to buffer while mapped
So that the buffer still exists when we go to unmap it later, even if it got pushed in the meantime.
Diffstat (limited to 'ext')
-rw-r--r--ext/mpeg2dec/gstmpeg2dec.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/ext/mpeg2dec/gstmpeg2dec.c b/ext/mpeg2dec/gstmpeg2dec.c
index 90ddf22e..42b7e62a 100644
--- a/ext/mpeg2dec/gstmpeg2dec.c
+++ b/ext/mpeg2dec/gstmpeg2dec.c
@@ -956,6 +956,7 @@ gst_mpeg2dec_handle_frame (GstVideoDecoder * decoder,
frame->system_frame_number,
GST_TIME_ARGS (frame->pts), GST_TIME_ARGS (frame->duration));
+ gst_buffer_ref (buf);
if (!gst_buffer_map (buf, &minfo, GST_MAP_READ)) {
GST_ERROR_OBJECT (mpeg2dec, "Failed to map input buffer");
return GST_FLOW_ERROR;
@@ -1055,6 +1056,7 @@ gst_mpeg2dec_handle_frame (GstVideoDecoder * decoder,
done:
gst_buffer_unmap (buf, &minfo);
+ gst_buffer_unref (buf);
return ret;
}