libcamera  v0.0.0
Supporting cameras in Linux since 2019
Public Member Functions | Public Attributes | List of all members
libcamera::CameraData Class Reference

Base class for platform-specific data associated with a camera. More...

Public Member Functions

 CameraData (PipelineHandler *pipe)
 Construct a CameraData instance for the given pipeline handler. More...
 

Public Attributes

Cameracamera_
 The camera related to this CameraData instance. More...
 
PipelineHandlerpipe_
 The pipeline handler related to this CameraData instance. More...
 
std::list< Request * > queuedRequests_
 The list of queued and not yet completed request. More...
 
ControlInfoMap controlInfo_
 The set of controls supported by the camera. More...
 
ControlList properties_
 The list of properties supported by the camera. More...
 
std::unique_ptr< IPAProxyipa_
 The IPA module used by the camera. More...
 

Detailed Description

Base class for platform-specific data associated with a camera.

The CameraData base abstract class represents platform specific-data a pipeline handler might want to associate with a Camera to access them at a later time.

Pipeline handlers are expected to extend this base class with platform specific implementation, associate instances of the derived classes using the registerCamera() method, and access them at a later time with cameraData().

Constructor & Destructor Documentation

◆ CameraData()

libcamera::CameraData::CameraData ( PipelineHandler pipe)
inlineexplicit

Construct a CameraData instance for the given pipeline handler.

Parameters
[in]pipeThe pipeline handler

The reference to the pipeline handler is stored internally, the caller shall guarantee that the pointer remains valid as long as the CameraData instance exists.

Member Data Documentation

◆ camera_

libcamera::CameraData::camera_

The camera related to this CameraData instance.

The camera_ pointer provides access to the Camera object that this instance is related to. It is set when the Camera is registered with PipelineHandler::registerCamera() and remains valid until the CameraData instance is destroyed.

◆ controlInfo_

libcamera::CameraData::controlInfo_

The set of controls supported by the camera.

The control information shall be initialised by the pipeline handler when creating the camera, and shall not be modified afterwards.

◆ ipa_

libcamera::CameraData::ipa_

The IPA module used by the camera.

Reference to the Image Processing Algorithms (IPA) operating on the camera's stream(s). If no IPA exists for the camera, this field is set to nullptr.

◆ pipe_

libcamera::CameraData::pipe_

The pipeline handler related to this CameraData instance.

The pipe_ pointer provides access to the PipelineHandler object that this instance is related to. It is set when the CameraData instance is created and remains valid until the instance is destroyed.

◆ properties_

libcamera::CameraData::properties_

The list of properties supported by the camera.

The list of camera properties shall be initialised by the pipeline handler when creating the camera, and shall not be modified afterwards.

◆ queuedRequests_

libcamera::CameraData::queuedRequests_

The list of queued and not yet completed request.

The list of queued request is used to track requests queued in order to ensure completion of all requests when the pipeline handler is stopped.

See also
PipelineHandler::queueRequest(), PipelineHandler::stop(), PipelineHandler::completeRequest()

The documentation for this class was generated from the following files: