Re: Media Requests on Video Capture Device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Le lundi 16 septembre 2024 à 20:42 -0700, Karthik Poduval a écrit :
> Hi All,
> 
> I was trying to implement media requests on a video capture device on
> kernel version 6.1. On my video capture device driver I configured the
> q settings as
> q->min_buffers_needed = 4;
> q->supports_requests = true;
> 
> To make the application work however I had to comment out the
> following lines from videobuf2-core.c
>  /*
> * This combination is not allowed since a non-zero value of
> * q->min_queued_buffers can cause vb2_core_qbuf() to fail if
> * it has to call start_streaming(), and the Request API expects
> * that queueing a request (and thus queueing a buffer contained
> * in that request) will always succeed. There is no method of
> * propagating an error back to userspace.
> */
> //if (WARN_ON(q->supports_requests && q->min_queued_buffers))
> // return -EINVAL;
> 
> Regular capture would not work without min_buffers_needed being set
> and requests wouldn't work without supports_requests being set.
> 
> Does this mean that media requests are not supported on video capture devices ?
> Kindly advise on how to proceed.

Correct, some RFC for read-only request was adding some of the implementation.

https://lore.kernel.org/linux-media/20210610113615.785359-1-hverkuil-cisco@xxxxxxxxx/

Now, this is about attaching control values that are apply when a buffer is
produced (more like what parameter was applied to that buffer). There is no RFC
for actually applying a control for a specific capture. This is a bit
challenging, since we don't have spec that requires drivers to fill capture
buffers in the order they have been queued, even though this is what we do in
practice.

Nicolas

p.s. the dynamic arrays part has been split out and merged already






[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux