diff options
author | Naushir Patuck <naush@raspberrypi.com> | 2020-12-04 15:31:19 +0000 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-12-08 14:28:51 +0200 |
commit | a62b35b8c07ee83c4f0e9ee741f3226d47fe3f87 (patch) | |
tree | 1b41de47e8ea2842f4259952adfc48b9da633059 /include | |
parent | ee477efde8e49e26cc02437fd50a45cd439ee65e (diff) |
libcamera: pipeline: Pass libcamera controls into pipeline_handler::start()
Applications now have the ability to pass in controls that need to be
applied on startup, rather than doing it through Request where there might
be some frames of delay in getting the controls applied.
This commit adds the ability to pass in a set of libcamera controls into
the pipeline handlers through the pipeline_handler::start() method. These
controls are provided by the application through the camera::start()
public API.
Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
Reviewed-by: David Plowman <david.plowman@raspberrypi.com>
Tested-by: David Plowman <david.plowman@raspberrypi.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/libcamera/camera.h | 2 | ||||
-rw-r--r-- | include/libcamera/internal/pipeline_handler.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/include/libcamera/camera.h b/include/libcamera/camera.h index 5c5f1a05..f94f8599 100644 --- a/include/libcamera/camera.h +++ b/include/libcamera/camera.h @@ -103,7 +103,7 @@ public: std::unique_ptr<Request> createRequest(uint64_t cookie = 0); int queueRequest(Request *request); - int start(); + int start(ControlList *controls = nullptr); int stop(); private: diff --git a/include/libcamera/internal/pipeline_handler.h b/include/libcamera/internal/pipeline_handler.h index c12c8904..bd3c4a81 100644 --- a/include/libcamera/internal/pipeline_handler.h +++ b/include/libcamera/internal/pipeline_handler.h @@ -78,7 +78,7 @@ public: virtual int exportFrameBuffers(Camera *camera, Stream *stream, std::vector<std::unique_ptr<FrameBuffer>> *buffers) = 0; - virtual int start(Camera *camera) = 0; + virtual int start(Camera *camera, ControlList *controls) = 0; virtual void stop(Camera *camera) = 0; int queueRequest(Camera *camera, Request *request); |