From: Whoopie Date: Wed, 11 Apr 2018 20:28:00 +0000 (+0000) Subject: v4l2object: Disable DMABuf for emulated formats X-Git-Tag: 1.16.2~593 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2d774554e9bb6c04438f2e8587a43e2a41e6d1fb;p=platform%2Fupstream%2Fgst-plugins-good.git v4l2object: Disable DMABuf for emulated formats libv4l2 does not prevent exporting DMABuf even when emulated formats are in use. As a side effect, userspace ends up with buffers of the original formats which will cause issues. https://bugzilla.gnome.org/show_bug.cgi?id=795097 --- diff --git a/sys/v4l2/gstv4l2object.c b/sys/v4l2/gstv4l2object.c index 678f035..f0f8d0b 100644 --- a/sys/v4l2/gstv4l2object.c +++ b/sys/v4l2/gstv4l2object.c @@ -2878,6 +2878,12 @@ gst_v4l2_object_is_dmabuf_supported (GstV4l2Object * v4l2object) .flags = O_CLOEXEC | O_RDWR, }; + if (v4l2object->fmtdesc->flags & V4L2_FMT_FLAG_EMULATED) { + GST_WARNING_OBJECT (v4l2object->dbg_obj, + "libv4l2 converter detected, disabling DMABuf"); + ret = FALSE; + } + /* Expected to fail, but ENOTTY tells us that it is not implemented. */ v4l2object->ioctl (v4l2object->video_fd, VIDIOC_EXPBUF, &expbuf); if (errno == ENOTTY)