mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-12 10:25:33 +00:00
v4l2object: allow to automatic selection of dmabuf
If the v4l2 queue support dmabuf select this buffer pool mode and update the query with allocator. This patch only concern exporting dmabuf and not importing dmabuf fd from downstream element. https://bugzilla.gnome.org/show_bug.cgi?id=699382
This commit is contained in:
parent
ec6b8b84af
commit
e6c2ad5571
2 changed files with 8 additions and 2 deletions
|
@ -517,6 +517,8 @@ gst_v4l2_buffer_pool_set_config (GstBufferPool * bpool, GstStructure * config)
|
|||
gst_buffer_pool_config_set_params (config, caps, size, min_buffers,
|
||||
max_buffers);
|
||||
|
||||
gst_buffer_pool_config_set_allocator (config, pool->allocator, ¶ms);
|
||||
|
||||
/* keep a GstVideoInfo with defaults for the when we need to copy */
|
||||
gst_video_info_from_caps (&pool->caps_info, caps);
|
||||
|
||||
|
|
|
@ -2362,8 +2362,12 @@ gst_v4l2_object_setup_pool (GstV4l2Object * v4l2object, GstCaps * caps)
|
|||
goto method_not_supported;
|
||||
|
||||
if (v4l2object->vcap.capabilities & V4L2_CAP_STREAMING) {
|
||||
if (v4l2object->req_mode == GST_V4L2_IO_AUTO)
|
||||
mode = GST_V4L2_IO_MMAP;
|
||||
if (v4l2object->req_mode == GST_V4L2_IO_AUTO) {
|
||||
if (GST_V4L2_OBJECT_CAN_REQUEST (v4l2object, DMABUF))
|
||||
mode = GST_V4L2_IO_DMABUF;
|
||||
else
|
||||
mode = GST_V4L2_IO_MMAP;
|
||||
}
|
||||
} else if (v4l2object->req_mode == GST_V4L2_IO_MMAP)
|
||||
goto method_not_supported;
|
||||
|
||||
|
|
Loading…
Reference in a new issue