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). 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. 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(-) -- 2.35.1