[libcamera-devel] [PATCH 0/3] Request: Use the Camera's CameraControlValidator

Kieran Bingham kieran.bingham at ideasonboard.com
Tue Aug 10 18:11:31 CEST 2021


Now that we have the d-pointer designs growing, we can put a
CameraControlValidator in the Camera's private class, and expose
it internally such that the Request class can reference the single
instance, rather than constructing one for each request.

Patch 1/3 first fixes up the ControlList to take a const pointer
to ControlValidator as a pre-requisite to patch 3/3.

Patch 2/3 constructs a CameraControlValidator instance on the Camera,
and exposes an internal helper on it's private interface to access it.
 - Please note / check the use of the _o() pointer here.

Patch 3/3 then takes the Camera's CameraControlValidator to use on all
Requests when they are constructed.

Kieran Bingham (3):
  libcamera: controls: Use a const ControlValidator
  libcamera: camera: Create a CameraControlValidator
  libcamera: request: Use external CameraControlValidator

 include/libcamera/controls.h        |  6 +++---
 include/libcamera/internal/camera.h |  6 ++++++
 include/libcamera/request.h         |  1 -
 src/libcamera/camera.cpp            |  2 +-
 src/libcamera/controls.cpp          |  6 ++++--
 src/libcamera/request.cpp           | 11 ++++-------
 6 files changed, 18 insertions(+), 14 deletions(-)

-- 
2.30.2



More information about the libcamera-devel mailing list