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

Laurent Pinchart laurent.pinchart at ideasonboard.com
Wed Oct 5 00:29:03 CEST 2022


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";
+		}
+
 		if (numV4l2Planes != planes.size()) {
 			/*
 			 * If we have a multi-planar buffer with a V4L2
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list