[libcamera-devel] [PATCH v3 04/22] v4l2: v4l2_camera_proxy: Free old buffers on reqbufs > 0
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Wed Jun 24 00:25:40 CEST 2020
Hi Paul,
Thank you for the patch.
On Wed, Jun 24, 2020 at 04:08:18AM +0900, Paul Elder wrote:
> Free buffers if any were previously allocated, at VIDIOC_REQBUFS with
s/buffers/buffers,/ ?
> count > 0.
>
> Signed-off-by: Paul Elder <paul.elder at ideasonboard.com>
>
> ---
> New in v3
> - split from... a conglomerate of v4l2-compliance fixes patch
> ---
> src/v4l2/v4l2_camera_proxy.cpp | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/src/v4l2/v4l2_camera_proxy.cpp b/src/v4l2/v4l2_camera_proxy.cpp
> index eb59d49..7262453 100644
> --- a/src/v4l2/v4l2_camera_proxy.cpp
> +++ b/src/v4l2/v4l2_camera_proxy.cpp
> @@ -361,6 +361,15 @@ int V4L2CameraProxy::vidioc_reqbufs(V4L2CameraFile *file, struct v4l2_requestbuf
> return freeBuffers();
> }
>
> + if (bufferCount_ > 0) {
> + int ret = freeBuffers();
> + if (ret < 0) {
> + LOG(V4L2Compat, Error)
> + << "Failed to free libcamera buffers for re-reqbufs";
release(file);
?
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> + return ret;
> + }
> + }
> +
> Size size(curV4L2Format_.fmt.pix.width, curV4L2Format_.fmt.pix.height);
> ret = vcam_->configure(&streamConfig_, size,
> v4l2ToDrm(curV4L2Format_.fmt.pix.pixelformat),
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list