libcamera: pipeline_handler: Pass a non-const Camera to methods
The start(), stop() and queueRequest() methods receive a const pointer to the related Camera object. The stop() request will need to modify the state of the camera, in order to report completion of pending requests. Un-constify the Camera pointer to that method, and update the start() and queueRequest() methods similarly for coherency. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
@@ -52,10 +52,10 @@ public:
|
||||
virtual int allocateBuffers(Camera *camera, Stream *stream) = 0;
|
||||
virtual int freeBuffers(Camera *camera, Stream *stream) = 0;
|
||||
|
||||
virtual int start(const Camera *camera) = 0;
|
||||
virtual void stop(const Camera *camera) = 0;
|
||||
virtual int start(Camera *camera) = 0;
|
||||
virtual void stop(Camera *camera) = 0;
|
||||
|
||||
virtual int queueRequest(const Camera *camera, Request *request) = 0;
|
||||
virtual int queueRequest(Camera *camera, Request *request) = 0;
|
||||
|
||||
protected:
|
||||
void registerCamera(std::shared_ptr<Camera> camera);
|
||||
|
||||
@@ -39,10 +39,10 @@ public:
|
||||
int allocateBuffers(Camera *camera, Stream *stream) override;
|
||||
int freeBuffers(Camera *camera, Stream *stream) override;
|
||||
|
||||
int start(const Camera *camera) override;
|
||||
void stop(const Camera *camera) override;
|
||||
int start(Camera *camera) override;
|
||||
void stop(Camera *camera) override;
|
||||
|
||||
int queueRequest(const Camera *camera, Request *request) override;
|
||||
int queueRequest(Camera *camera, Request *request) override;
|
||||
|
||||
bool match(DeviceEnumerator *enumerator);
|
||||
|
||||
@@ -213,7 +213,7 @@ int PipelineHandlerIPU3::freeBuffers(Camera *camera, Stream *stream)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int PipelineHandlerIPU3::start(const Camera *camera)
|
||||
int PipelineHandlerIPU3::start(Camera *camera)
|
||||
{
|
||||
IPU3CameraData *data = cameraData(camera);
|
||||
int ret;
|
||||
@@ -227,7 +227,7 @@ int PipelineHandlerIPU3::start(const Camera *camera)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void PipelineHandlerIPU3::stop(const Camera *camera)
|
||||
void PipelineHandlerIPU3::stop(Camera *camera)
|
||||
{
|
||||
IPU3CameraData *data = cameraData(camera);
|
||||
|
||||
@@ -235,7 +235,7 @@ void PipelineHandlerIPU3::stop(const Camera *camera)
|
||||
LOG(IPU3, Info) << "Failed to stop camera " << camera->name();
|
||||
}
|
||||
|
||||
int PipelineHandlerIPU3::queueRequest(const Camera *camera, Request *request)
|
||||
int PipelineHandlerIPU3::queueRequest(Camera *camera, Request *request)
|
||||
{
|
||||
IPU3CameraData *data = cameraData(camera);
|
||||
Stream *stream = &data->stream_;
|
||||
|
||||
@@ -35,10 +35,10 @@ public:
|
||||
int allocateBuffers(Camera *camera, Stream *stream) override;
|
||||
int freeBuffers(Camera *camera, Stream *stream) override;
|
||||
|
||||
int start(const Camera *camera) override;
|
||||
void stop(const Camera *camera) override;
|
||||
int start(Camera *camera) override;
|
||||
void stop(Camera *camera) override;
|
||||
|
||||
int queueRequest(const Camera *camera, Request *request) override;
|
||||
int queueRequest(Camera *camera, Request *request) override;
|
||||
|
||||
bool match(DeviceEnumerator *enumerator);
|
||||
|
||||
@@ -143,19 +143,19 @@ int PipelineHandlerUVC::freeBuffers(Camera *camera, Stream *stream)
|
||||
return data->video_->releaseBuffers();
|
||||
}
|
||||
|
||||
int PipelineHandlerUVC::start(const Camera *camera)
|
||||
int PipelineHandlerUVC::start(Camera *camera)
|
||||
{
|
||||
UVCCameraData *data = cameraData(camera);
|
||||
return data->video_->streamOn();
|
||||
}
|
||||
|
||||
void PipelineHandlerUVC::stop(const Camera *camera)
|
||||
void PipelineHandlerUVC::stop(Camera *camera)
|
||||
{
|
||||
UVCCameraData *data = cameraData(camera);
|
||||
data->video_->streamOff();
|
||||
}
|
||||
|
||||
int PipelineHandlerUVC::queueRequest(const Camera *camera, Request *request)
|
||||
int PipelineHandlerUVC::queueRequest(Camera *camera, Request *request)
|
||||
{
|
||||
UVCCameraData *data = cameraData(camera);
|
||||
Buffer *buffer = request->findBuffer(&data->stream_);
|
||||
|
||||
@@ -35,10 +35,10 @@ public:
|
||||
int allocateBuffers(Camera *camera, Stream *stream) override;
|
||||
int freeBuffers(Camera *camera, Stream *stream) override;
|
||||
|
||||
int start(const Camera *camera) override;
|
||||
void stop(const Camera *camera) override;
|
||||
int start(Camera *camera) override;
|
||||
void stop(Camera *camera) override;
|
||||
|
||||
int queueRequest(const Camera *camera, Request *request) override;
|
||||
int queueRequest(Camera *camera, Request *request) override;
|
||||
|
||||
bool match(DeviceEnumerator *enumerator);
|
||||
|
||||
@@ -142,19 +142,19 @@ int PipelineHandlerVimc::freeBuffers(Camera *camera, Stream *stream)
|
||||
return data->video_->releaseBuffers();
|
||||
}
|
||||
|
||||
int PipelineHandlerVimc::start(const Camera *camera)
|
||||
int PipelineHandlerVimc::start(Camera *camera)
|
||||
{
|
||||
VimcCameraData *data = cameraData(camera);
|
||||
return data->video_->streamOn();
|
||||
}
|
||||
|
||||
void PipelineHandlerVimc::stop(const Camera *camera)
|
||||
void PipelineHandlerVimc::stop(Camera *camera)
|
||||
{
|
||||
VimcCameraData *data = cameraData(camera);
|
||||
data->video_->streamOff();
|
||||
}
|
||||
|
||||
int PipelineHandlerVimc::queueRequest(const Camera *camera, Request *request)
|
||||
int PipelineHandlerVimc::queueRequest(Camera *camera, Request *request)
|
||||
{
|
||||
VimcCameraData *data = cameraData(camera);
|
||||
Buffer *buffer = request->findBuffer(&data->stream_);
|
||||
|
||||
Reference in New Issue
Block a user