diff options
author | Yannick Gicquel <yannick.gicquel@iot.bzh> | 2016-11-10 14:55:11 +0100 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2016-11-14 08:39:06 +0000 |
commit | 0c615e0a7d176c53981b3526528c7a61169b5cf1 (patch) | |
tree | 6553376633ca1057d122103e2921e5410855de23 /meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-videofilter-Use-new-GST_VIDEO_FRAME_MAP_FLAG_NO_REF.patch | |
parent | 3fc6095e75879cb66ca21d1c51140822f0f36ea5 (diff) |
meta-agl-bsp: backport: gstreamer1.0 v1.4.5 recipes
This is a backport from Jethro as meta-rcar-gen3 append on following:
- gstreamer1.0-libav_1.4.5
- gstreamer1.0-omx_1.2.0
- gstreamer1.0-plugins-bad_1.4.5
- gstreamer1.0-plugins-good_1.4.5
v2 (jsmoeller): Move into meta-rcar-gen3 subfolder as it only affects that layer.
Change-Id: Iefc9a2c10e76c172f1cb1f8d3babf3544828310e
Signed-off-by: Yannick Gicquel <yannick.gicquel@iot.bzh>
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-videofilter-Use-new-GST_VIDEO_FRAME_MAP_FLAG_NO_REF.patch')
-rw-r--r-- | meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-videofilter-Use-new-GST_VIDEO_FRAME_MAP_FLAG_NO_REF.patch | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-videofilter-Use-new-GST_VIDEO_FRAME_MAP_FLAG_NO_REF.patch b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-videofilter-Use-new-GST_VIDEO_FRAME_MAP_FLAG_NO_REF.patch new file mode 100644 index 000000000..132bf06f7 --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-videofilter-Use-new-GST_VIDEO_FRAME_MAP_FLAG_NO_REF.patch @@ -0,0 +1,69 @@ +From 3a7cdcdfc9c5b0d20394fe51b3b8cda23931ca6d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com> +Date: Fri, 12 Sep 2014 14:41:01 +0300 +Subject: [PATCH 3/3] videofilter: Use new GST_VIDEO_FRAME_MAP_FLAG_NO_REF + +Upstream-Status: Backport [1.5.1] +https://bugzilla.gnome.org/show_bug.cgi?id=736118 +--- + gst-libs/gst/video/gstvideofilter.c | 23 ++++------------------- + 1 file changed, 4 insertions(+), 19 deletions(-) + +diff --git a/gst-libs/gst/video/gstvideofilter.c b/gst-libs/gst/video/gstvideofilter.c +index e1fa2c1..874b2e8 100644 +--- a/gst-libs/gst/video/gstvideofilter.c ++++ b/gst-libs/gst/video/gstvideofilter.c +@@ -260,23 +260,15 @@ gst_video_filter_transform (GstBaseTransform * trans, GstBuffer * inbuf, + if (fclass->transform_frame) { + GstVideoFrame in_frame, out_frame; + +- if (!gst_video_frame_map (&in_frame, &filter->in_info, inbuf, GST_MAP_READ)) ++ if (!gst_video_frame_map (&in_frame, &filter->in_info, inbuf, ++ GST_MAP_READ | GST_VIDEO_FRAME_MAP_FLAG_NO_REF)) + goto invalid_buffer; + + if (!gst_video_frame_map (&out_frame, &filter->out_info, outbuf, +- GST_MAP_WRITE)) ++ GST_MAP_WRITE | GST_VIDEO_FRAME_MAP_FLAG_NO_REF)) + goto invalid_buffer; + +- /* GstVideoFrame has another reference, so the buffer looks unwriteable, +- * meaning that we can't attach any metas or anything to it. Other +- * map() functions like gst_buffer_map() don't get another reference +- * of the buffer and expect the buffer reference to be kept until +- * the buffer is unmapped again. */ +- gst_buffer_unref (inbuf); +- gst_buffer_unref (outbuf); + res = fclass->transform_frame (filter, &in_frame, &out_frame); +- gst_buffer_ref (inbuf); +- gst_buffer_ref (outbuf); + + gst_video_frame_unmap (&out_frame); + gst_video_frame_unmap (&in_frame); +@@ -317,7 +309,7 @@ gst_video_filter_transform_ip (GstBaseTransform * trans, GstBuffer * buf) + GstVideoFrame frame; + GstMapFlags flags; + +- flags = GST_MAP_READ; ++ flags = GST_MAP_READ | GST_VIDEO_FRAME_MAP_FLAG_NO_REF; + + if (!gst_base_transform_is_passthrough (trans)) + flags |= GST_MAP_WRITE; +@@ -325,14 +317,7 @@ gst_video_filter_transform_ip (GstBaseTransform * trans, GstBuffer * buf) + if (!gst_video_frame_map (&frame, &filter->in_info, buf, flags)) + goto invalid_buffer; + +- /* GstVideoFrame has another reference, so the buffer looks unwriteable, +- * meaning that we can't attach any metas or anything to it. Other +- * map() functions like gst_buffer_map() don't get another reference +- * of the buffer and expect the buffer reference to be kept until +- * the buffer is unmapped again. */ +- gst_buffer_unref (buf); + res = fclass->transform_frame_ip (filter, &frame); +- gst_buffer_ref (buf); + + gst_video_frame_unmap (&frame); + } else { +-- +1.7.9.5 + |