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:
parent
fedad60b76
commit
40439a933f
4 changed files with 21 additions and 21 deletions
|
@ -52,10 +52,10 @@ public:
|
||||||
virtual int allocateBuffers(Camera *camera, Stream *stream) = 0;
|
virtual int allocateBuffers(Camera *camera, Stream *stream) = 0;
|
||||||
virtual int freeBuffers(Camera *camera, Stream *stream) = 0;
|
virtual int freeBuffers(Camera *camera, Stream *stream) = 0;
|
||||||
|
|
||||||
virtual int start(const Camera *camera) = 0;
|
virtual int start(Camera *camera) = 0;
|
||||||
virtual void stop(const 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:
|
protected:
|
||||||
void registerCamera(std::shared_ptr<Camera> camera);
|
void registerCamera(std::shared_ptr<Camera> camera);
|
||||||
|
|
|
@ -39,10 +39,10 @@ public:
|
||||||
int allocateBuffers(Camera *camera, Stream *stream) override;
|
int allocateBuffers(Camera *camera, Stream *stream) override;
|
||||||
int freeBuffers(Camera *camera, Stream *stream) override;
|
int freeBuffers(Camera *camera, Stream *stream) override;
|
||||||
|
|
||||||
int start(const Camera *camera) override;
|
int start(Camera *camera) override;
|
||||||
void stop(const 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);
|
bool match(DeviceEnumerator *enumerator);
|
||||||
|
|
||||||
|
@ -213,7 +213,7 @@ int PipelineHandlerIPU3::freeBuffers(Camera *camera, Stream *stream)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int PipelineHandlerIPU3::start(const Camera *camera)
|
int PipelineHandlerIPU3::start(Camera *camera)
|
||||||
{
|
{
|
||||||
IPU3CameraData *data = cameraData(camera);
|
IPU3CameraData *data = cameraData(camera);
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -227,7 +227,7 @@ int PipelineHandlerIPU3::start(const Camera *camera)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void PipelineHandlerIPU3::stop(const Camera *camera)
|
void PipelineHandlerIPU3::stop(Camera *camera)
|
||||||
{
|
{
|
||||||
IPU3CameraData *data = cameraData(camera);
|
IPU3CameraData *data = cameraData(camera);
|
||||||
|
|
||||||
|
@ -235,7 +235,7 @@ void PipelineHandlerIPU3::stop(const Camera *camera)
|
||||||
LOG(IPU3, Info) << "Failed to stop camera " << camera->name();
|
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);
|
IPU3CameraData *data = cameraData(camera);
|
||||||
Stream *stream = &data->stream_;
|
Stream *stream = &data->stream_;
|
||||||
|
|
|
@ -35,10 +35,10 @@ public:
|
||||||
int allocateBuffers(Camera *camera, Stream *stream) override;
|
int allocateBuffers(Camera *camera, Stream *stream) override;
|
||||||
int freeBuffers(Camera *camera, Stream *stream) override;
|
int freeBuffers(Camera *camera, Stream *stream) override;
|
||||||
|
|
||||||
int start(const Camera *camera) override;
|
int start(Camera *camera) override;
|
||||||
void stop(const 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);
|
bool match(DeviceEnumerator *enumerator);
|
||||||
|
|
||||||
|
@ -143,19 +143,19 @@ int PipelineHandlerUVC::freeBuffers(Camera *camera, Stream *stream)
|
||||||
return data->video_->releaseBuffers();
|
return data->video_->releaseBuffers();
|
||||||
}
|
}
|
||||||
|
|
||||||
int PipelineHandlerUVC::start(const Camera *camera)
|
int PipelineHandlerUVC::start(Camera *camera)
|
||||||
{
|
{
|
||||||
UVCCameraData *data = cameraData(camera);
|
UVCCameraData *data = cameraData(camera);
|
||||||
return data->video_->streamOn();
|
return data->video_->streamOn();
|
||||||
}
|
}
|
||||||
|
|
||||||
void PipelineHandlerUVC::stop(const Camera *camera)
|
void PipelineHandlerUVC::stop(Camera *camera)
|
||||||
{
|
{
|
||||||
UVCCameraData *data = cameraData(camera);
|
UVCCameraData *data = cameraData(camera);
|
||||||
data->video_->streamOff();
|
data->video_->streamOff();
|
||||||
}
|
}
|
||||||
|
|
||||||
int PipelineHandlerUVC::queueRequest(const Camera *camera, Request *request)
|
int PipelineHandlerUVC::queueRequest(Camera *camera, Request *request)
|
||||||
{
|
{
|
||||||
UVCCameraData *data = cameraData(camera);
|
UVCCameraData *data = cameraData(camera);
|
||||||
Buffer *buffer = request->findBuffer(&data->stream_);
|
Buffer *buffer = request->findBuffer(&data->stream_);
|
||||||
|
|
|
@ -35,10 +35,10 @@ public:
|
||||||
int allocateBuffers(Camera *camera, Stream *stream) override;
|
int allocateBuffers(Camera *camera, Stream *stream) override;
|
||||||
int freeBuffers(Camera *camera, Stream *stream) override;
|
int freeBuffers(Camera *camera, Stream *stream) override;
|
||||||
|
|
||||||
int start(const Camera *camera) override;
|
int start(Camera *camera) override;
|
||||||
void stop(const 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);
|
bool match(DeviceEnumerator *enumerator);
|
||||||
|
|
||||||
|
@ -142,19 +142,19 @@ int PipelineHandlerVimc::freeBuffers(Camera *camera, Stream *stream)
|
||||||
return data->video_->releaseBuffers();
|
return data->video_->releaseBuffers();
|
||||||
}
|
}
|
||||||
|
|
||||||
int PipelineHandlerVimc::start(const Camera *camera)
|
int PipelineHandlerVimc::start(Camera *camera)
|
||||||
{
|
{
|
||||||
VimcCameraData *data = cameraData(camera);
|
VimcCameraData *data = cameraData(camera);
|
||||||
return data->video_->streamOn();
|
return data->video_->streamOn();
|
||||||
}
|
}
|
||||||
|
|
||||||
void PipelineHandlerVimc::stop(const Camera *camera)
|
void PipelineHandlerVimc::stop(Camera *camera)
|
||||||
{
|
{
|
||||||
VimcCameraData *data = cameraData(camera);
|
VimcCameraData *data = cameraData(camera);
|
||||||
data->video_->streamOff();
|
data->video_->streamOff();
|
||||||
}
|
}
|
||||||
|
|
||||||
int PipelineHandlerVimc::queueRequest(const Camera *camera, Request *request)
|
int PipelineHandlerVimc::queueRequest(Camera *camera, Request *request)
|
||||||
{
|
{
|
||||||
VimcCameraData *data = cameraData(camera);
|
VimcCameraData *data = cameraData(camera);
|
||||||
Buffer *buffer = request->findBuffer(&data->stream_);
|
Buffer *buffer = request->findBuffer(&data->stream_);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue