Re: [PATCH 0/2] vb2: add (un)prepare_streaming vb2_queue ops

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

 



On 6/22/22 1:00 PM, Hans Verkuil wrote:

> Hi Laurent,
> 
> On 22/06/2022 11:44, Laurent Pinchart wrote:
>> Hi Hans,
>>
>> On Wed, Jun 22, 2022 at 11:31:43AM +0200, Hans Verkuil wrote:
>>> Add support for two new (un)prepare_streaming queue ops that are called
>>> when the user calls VIDIOC_STREAMON and STREAMOFF (or closes the fh).
>>>
>>> This gives drivers a callback to validate the video pipeline and claim
>>> or release streaming resources at the time that userspace indicates
>>> that it wants to start streaming (VIDIOC_STREAMON) rather than when
>>> the actual DMA engine kicks in (the start_streaming callback). This
>>> is relevant for drivers that needs a minimum of X buffers before the
>>> DMA can start. The actual pipeline validation needs to happen sooner
>>> to avoid unnecessary errors at VIDIOC_QBUF time.
>>>
>>> As a bonus this allows us to move the horrible call to
>>> v4l_vb2q_enable_media_source() in vb2_core_streamon() to the au0828
>>> driver (currently the only driver that uses this feature).
>>
>> Can we drop the horrible .enable_source() from media_device too ? :-)
> 
> The second patch helps a bit with that, at least it's out of vb2.
> 
>>
>>> That call never belonged in vb2, but it had the same purpose as the
>>> new prepare_streaming op: validate the pipeline.
>>>
>>> This is a follow-up from my previous RFCv2:
>>>
>>> https://patchwork.linuxtv.org/project/linux-media/patch/ba4bca14-488f-94ea-48d9-e7343103c5aa@xxxxxxxxx/
>>>
>>> I would like to get consensus for this series.
>>
>> I don't like it much. vb2 is already doing too much in my opinion,
>> growing it isn't the right way to fix it.
> 
> We disagree on that :-)
> 
>>
>> I'm still working on a new version of the V4L2 streams series that may
>> conflict with this, I'd propose discussing the two together.
> 
> What is the ETA for that? I don't mind waiting a few months, but if it
> takes a lot longer, then I'd rather merge this first so Eugen can use it
> in his atmel MC support. It's a kernel API, so it can always be changed
> or removed later.

Hi,

The atmel MC support is done on top of v4l2 without this patch, and I 
have a subsequent patch that changes the atmel MC to use the new RFC API.

One option is to have the atmel MC like I initially sent it, and add my 
patch that switches to the prepare_streaming to this series .

> 
> Regards,
> 
>          Hans
> 
>>
>>> Hans Verkuil (2):
>>>    vb2: add (un)prepare_streaming queue ops
>>>    vb2/au0828: move the v4l_vb2q_enable_media_source to the au0828 driver
>>>
>>>   .../media/common/videobuf2/videobuf2-core.c   | 26 ++++++++++++++-----
>>>   drivers/media/usb/au0828/au0828-vbi.c         |  2 ++
>>>   drivers/media/usb/au0828/au0828-video.c       |  1 +
>>>   include/media/videobuf2-core.h                | 14 ++++++++++
>>>   4 files changed, 37 insertions(+), 6 deletions(-)
>>
> 





[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