libcamera: camera: Add Camera properties

Add a method to the Camera class to retrieve the Camera properties
registered by the pipeline handler.

While at it, reword the Camera::controls() operation documentation to
specify that the camera control information are constant during the
camera lifetime not their value, while the camera properties value are
the actually static information.

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
Jacopo Mondi 2019-11-20 16:36:34 +01:00
parent 025149b050
commit f8951ee720
2 changed files with 16 additions and 1 deletions

View file

@ -86,6 +86,7 @@ public:
int release();
const ControlInfoMap &controls();
const ControlList &properties();
const std::set<Stream *> &streams() const;
std::unique_ptr<CameraConfiguration> generateConfiguration(const StreamRoles &roles);

View file

@ -652,7 +652,8 @@ int Camera::release()
/**
* \brief Retrieve the list of controls supported by the camera
*
* Camera controls remain constant through the lifetime of the camera.
* The list of controls supported by the camera and their associated
* constraints remain constant through the lifetime of the Camera object.
*
* \context This function is \threadsafe.
*
@ -663,6 +664,19 @@ const ControlInfoMap &Camera::controls()
return p_->pipe_->controls(this);
}
/**
* \brief Retrieve the list of properties of the camera
*
* Camera properties are static information that describe the capabilities of
* the camera. They remain constant through the lifetime of the Camera object.
*
* \return A ControlList of properties supported by the camera
*/
const ControlList &Camera::properties()
{
return p_->pipe_->properties(this);
}
/**
* \brief Retrieve all the camera's stream information
*