anyone knows which kernel version supports dma_buf for v4l2src?

Zhao, Halley halley.zhao at intel.com
Mon Dec 9 00:18:05 PST 2013


Thanks for your explanation.

It seems UVC dmabuf importation works:
I modified a low level test app: https://gitorious.org/halley-test/v4l2-dmabuf-test 
It shows the first scene, queue/dequeue runs in a loop; however, the scene doesn't keep updating.

You said "I am working on a project that should enable USERPTR to work for certain (selected) drivers"
Since the above test shows v4l2/uvc + drm works, seems your USERPTR can be easily extended to generic platform.
When will your USERPTR code come into gstreamer?

-----Original Message-----
From: gstreamer-devel-bounces at lists.freedesktop.org [mailto:gstreamer-devel-bounces at lists.freedesktop.org] On Behalf Of Nicolas Dufresne
Sent: Thursday, December 05, 2013 11:58 PM
To: Discussion of the development of and with GStreamer
Subject: Re: anyone knows which kernel version supports dma_buf for v4l2src?

To answer that question, you have to read the appropriate kernel driver.
What I think is the state of UVC, because it's using the vmalloc allocator, is that it is most likely able to important (queue) dmabuf but not export dmabuf. But I have not verified that, asking a real V4L2 expert would probably be better (freenote #v4l). On most platform, buffers allocated from vmalloc cannot be used for DMA operation. IOMMU should relax this limitation eventually, on capable hardware.

The state of GStreamer is that we only support exporting DMABUF at the moment. Importing DMABUF is very similar to supporting USERPTR, without the limitation of having to guess what allocator the driver is using.
Note that I am working on a project that should, in the first place, enable USERPTR to work for certain (selected) drivers. This should lead the way into implementing DMABUF importation, which should not require drivers white listing.

cheers,
Nicolas


More information about the gstreamer-devel mailing list