libcamera: camera: Provide a list of ControlInfo
Extend the Camera class to expose the controls it supports. Each pipeline should generate a list of controls supported by each camera it creates. These are represented by a ControlInfoMap, and an associated ControlList of default values. Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
This commit is contained in:
committed by
Laurent Pinchart
parent
20d5640ca4
commit
b9bf9514eb
@@ -14,6 +14,7 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include <libcamera/controls.h>
|
||||
#include <libcamera/stream.h>
|
||||
|
||||
namespace libcamera {
|
||||
@@ -41,6 +42,7 @@ public:
|
||||
Camera *camera_;
|
||||
PipelineHandler *pipe_;
|
||||
std::list<Request *> queuedRequests_;
|
||||
ControlInfoMap controlInfo_;
|
||||
|
||||
private:
|
||||
CameraData(const CameraData &) = delete;
|
||||
@@ -60,6 +62,8 @@ public:
|
||||
bool lock();
|
||||
void unlock();
|
||||
|
||||
const ControlInfoMap &controls(Camera *camera);
|
||||
|
||||
virtual CameraConfiguration *generateConfiguration(Camera *camera,
|
||||
const StreamRoles &roles) = 0;
|
||||
virtual int configure(Camera *camera, CameraConfiguration *config) = 0;
|
||||
|
||||
Reference in New Issue
Block a user