[libcamera-devel] [PATCH 2/2] libcamera: v4l2_device: List controls when setting file descriptor
Umang Jain
umang.jain at ideasonboard.com
Tue Oct 4 08:54:11 CEST 2022
Hi Laurent,
Thank you for the patch.
On 10/4/22 12:37 AM, Laurent Pinchart via libcamera-devel wrote:
> The base V4L2Device class is bound to a video device node by either
> open(), which opens the device node and creates a new file descriptor,
> or setFd(), which takes an already open file descriptor. The former
> populates the V4L2Device instance controls, while the latter doesn't.
> This prevents using controls on V4L2 M2M devices. Fix it by populating
> controls in setFd(), which is called by open().
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Reviewed-by: Umang Jain <umang.jain at ideasonboard.com>
> ---
> src/libcamera/v4l2_device.cpp | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/libcamera/v4l2_device.cpp b/src/libcamera/v4l2_device.cpp
> index d7ebf63811b4..c4d40d7d0842 100644
> --- a/src/libcamera/v4l2_device.cpp
> +++ b/src/libcamera/v4l2_device.cpp
> @@ -97,8 +97,6 @@ int V4L2Device::open(unsigned int flags)
>
> setFd(std::move(fd));
>
> - listControls();
> -
> return 0;
> }
>
> @@ -129,6 +127,8 @@ int V4L2Device::setFd(UniqueFD fd)
> fdEventNotifier_->activated.connect(this, &V4L2Device::eventAvailable);
> fdEventNotifier_->setEnabled(false);
>
> + listControls();
> +
> return 0;
> }
>
More information about the libcamera-devel
mailing list