[libcamera-devel] [PATCH v2 4/4] libcamera: v4l2_videodevice: Warn if bytesused == 0 when queuing output buffer

Umang Jain umang.jain at ideasonboard.com
Wed Oct 5 08:48:58 CEST 2022


Hi Laurent,

On 10/5/22 3:59 AM, Laurent Pinchart via libcamera-devel wrote:
> V4L2 has deprecated queuing output buffers with bytesused set to 0. Warn
> if the caller attempts to do so.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
>   src/libcamera/v4l2_videodevice.cpp | 5 +++++
>   1 file changed, 5 insertions(+)
>
> diff --git a/src/libcamera/v4l2_videodevice.cpp b/src/libcamera/v4l2_videodevice.cpp
> index 4d846f6be7fa..e30858c9fa02 100644
> --- a/src/libcamera/v4l2_videodevice.cpp
> +++ b/src/libcamera/v4l2_videodevice.cpp
> @@ -1623,6 +1623,11 @@ int V4L2VideoDevice::queueBuffer(FrameBuffer *buffer)
>   	if (V4L2_TYPE_IS_OUTPUT(buf.type)) {
>   		const FrameMetadata &metadata = buffer->metadata();
>   
> +		for (const auto &plane : metadata.planes()) {
> +			if (!plane.bytesused)
> +				LOG(V4L2, Warning) << "byteused == 0 is deprecated";
> +		}
> +

Should the warning be printed depending on the kernel's version?

As far as code is concerned,, it looks good to me.

Reviewed-by: Umang Jain <umang.jain at ideasonboard.com>


>   		if (numV4l2Planes != planes.size()) {
>   			/*
>   			 * If we have a multi-planar buffer with a V4L2



More information about the libcamera-devel mailing list