libcamera: request: Add a ControlList

Provide a ControlList on request objects to facilitate setting controls.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Kieran Bingham
2019-06-20 14:01:38 +01:00
committed by Laurent Pinchart
parent 0adc13ff76
commit b69ea51c7c
2 changed files with 20 additions and 1 deletions
+17 -1
View File
@@ -48,10 +48,26 @@ LOG_DEFINE_CATEGORY(Request)
* \param[in] camera The camera that creates the request
*/
Request::Request(Camera *camera)
: camera_(camera), status_(RequestPending)
: camera_(camera), controls_(camera), status_(RequestPending)
{
}
/**
* \fn Request::controls()
* \brief Retrieve the request's ControlList
*
* Requests store a list of controls to be applied to all frames captured for
* the request. They are created with an empty list of controls that can be
* accessed through this method and updated with ControlList::operator[]() or
* ControlList::update().
*
* Only controls supported by the camera to which this request will be
* submitted shall be included in the controls list. Attempting to add an
* unsupported control causes undefined behaviour.
*
* \return A reference to the ControlList in this request
*/
/**
* \fn Request::buffers()
* \brief Retrieve the request's streams to buffers map