From 6f8347de9fe2ff06af426e3a17c2d27c4ac753ab Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Sun, 1 Apr 2012 17:57:59 +0200 Subject: [PATCH] videofilter: don't map writable in passthrough In passthrough mode we shouldn't map the buffer in write mode because the buffer might not be writable. --- gst-libs/gst/video/gstvideofilter.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gst-libs/gst/video/gstvideofilter.c b/gst-libs/gst/video/gstvideofilter.c index 782fbb032f..e36e45de97 100644 --- a/gst-libs/gst/video/gstvideofilter.c +++ b/gst-libs/gst/video/gstvideofilter.c @@ -277,8 +277,14 @@ gst_video_filter_transform_ip (GstBaseTransform * trans, GstBuffer * buf) fclass = GST_VIDEO_FILTER_GET_CLASS (filter); if (fclass->transform_frame_ip) { GstVideoFrame frame; + GstMapFlags flags; - if (!gst_video_frame_map (&frame, &filter->in_info, buf, GST_MAP_READWRITE)) + flags = GST_MAP_READ; + + if (!gst_base_transform_is_passthrough (trans)) + flags |= GST_MAP_WRITE; + + if (!gst_video_frame_map (&frame, &filter->in_info, buf, flags)) goto invalid_buffer; res = fclass->transform_frame_ip (filter, &frame);