libcamera: request: Use external CameraControlValidator

Each Request is currently creating its own CameraControlValidator
using the Camera instance at construction.

Now that the Camera exposes its own CameraControlValidator on its
private interface, use that one on all Requests.

Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Kieran Bingham 2021-08-10 16:59:55 +01:00
parent 42f5a75001
commit 88a90ba2a7
2 changed files with 3 additions and 8 deletions

View file

@ -71,7 +71,6 @@ private:
bool completeBuffer(FrameBuffer *buffer); bool completeBuffer(FrameBuffer *buffer);
Camera *camera_; Camera *camera_;
CameraControlValidator *validator_;
ControlList *controls_; ControlList *controls_;
ControlList *metadata_; ControlList *metadata_;
BufferMap bufferMap_; BufferMap bufferMap_;

View file

@ -17,6 +17,7 @@
#include <libcamera/framebuffer.h> #include <libcamera/framebuffer.h>
#include <libcamera/stream.h> #include <libcamera/stream.h>
#include "libcamera/internal/camera.h"
#include "libcamera/internal/camera_controls.h" #include "libcamera/internal/camera_controls.h"
#include "libcamera/internal/framebuffer.h" #include "libcamera/internal/framebuffer.h"
#include "libcamera/internal/tracepoints.h" #include "libcamera/internal/tracepoints.h"
@ -77,12 +78,8 @@ Request::Request(Camera *camera, uint64_t cookie)
: camera_(camera), sequence_(0), cookie_(cookie), : camera_(camera), sequence_(0), cookie_(cookie),
status_(RequestPending), cancelled_(false) status_(RequestPending), cancelled_(false)
{ {
/** controls_ = new ControlList(controls::controls,
* \todo Should the Camera expose a validator instance, to avoid camera->_d()->validator());
* creating a new instance for each request?
*/
validator_ = new CameraControlValidator(camera);
controls_ = new ControlList(controls::controls, validator_);
/** /**
* \todo: Add a validator for metadata controls. * \todo: Add a validator for metadata controls.
@ -100,7 +97,6 @@ Request::~Request()
delete metadata_; delete metadata_;
delete controls_; delete controls_;
delete validator_;
} }
/** /**