libcamera  v0.0.0+2882-25462474
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

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...
 
uint32_t requestSequence_
 The queuing sequence of the request. 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() function, 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

◆ 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.

◆ 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()

◆ requestSequence_

libcamera::CameraData::requestSequence_

The queuing sequence of the request.

When requests are queued, they are given a per-camera sequence number to facilitate debugging of internal request usage.

The requestSequence_ tracks the number of requests queued to a camera over its lifetime.


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