summaryrefslogtreecommitdiff
path: root/src/libcamera/pipeline
diff options
context:
space:
mode:
authorNiklas Söderlund <niklas.soderlund@ragnatech.se>2020-11-02 23:06:17 +0100
committerNiklas Söderlund <niklas.soderlund@ragnatech.se>2020-12-28 14:02:13 +0100
commit8992b3ffbba91b092945193c92fca38b5a24154a (patch)
treea5c81f20bf52e351e6152ae8d5deaaf4cac1ee98 /src/libcamera/pipeline
parent67bf6bc459a5b9f18c955aa3ce03c1c4d4c9591f (diff)
libcamera: pipeline_handler: Remove Camera argument from request handling
There is no need to pass the Camera pointer to queueRequest(), completeBuffer() and completeRequest() as the Request also passed contains the same information. Remove the Camera argument to avoid situations where the information in the Request and the argument differ. There is no functional change and no public API change as the interface is only used between the Camera and PipelineHandler. Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/libcamera/pipeline')
-rw-r--r--src/libcamera/pipeline/ipu3/ipu3.cpp8
-rw-r--r--src/libcamera/pipeline/raspberrypi/raspberrypi.cpp8
-rw-r--r--src/libcamera/pipeline/rkisp1/rkisp1.cpp5
-rw-r--r--src/libcamera/pipeline/simple/simple.cpp12
-rw-r--r--src/libcamera/pipeline/uvcvideo/uvcvideo.cpp4
-rw-r--r--src/libcamera/pipeline/vimc/vimc.cpp4
6 files changed, 20 insertions, 21 deletions
diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index 8a1918d5..f1151733 100644
--- a/src/libcamera/pipeline/ipu3/ipu3.cpp
+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
@@ -836,13 +836,13 @@ void IPU3CameraData::imguOutputBufferReady(FrameBuffer *buffer)
{
Request *request = buffer->request();
- if (!pipe_->completeBuffer(camera_, request, buffer))
+ if (!pipe_->completeBuffer(request, buffer))
/* Request not completed yet, return here. */
return;
/* Mark the request as complete. */
request->metadata().set(controls::draft::PipelineDepth, 3);
- pipe_->completeRequest(camera_, request);
+ pipe_->completeRequest(request);
}
/**
@@ -865,10 +865,10 @@ void IPU3CameraData::cio2BufferReady(FrameBuffer *buffer)
* now as there's no need for ImgU processing.
*/
if (request->findBuffer(&rawStream_)) {
- bool isComplete = pipe_->completeBuffer(camera_, request, buffer);
+ bool isComplete = pipe_->completeBuffer(request, buffer);
if (isComplete) {
request->metadata().set(controls::draft::PipelineDepth, 2);
- pipe_->completeRequest(camera_, request);
+ pipe_->completeRequest(request);
return;
}
}
diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
index 7a5f5881..f121328e 100644
--- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
+++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
@@ -1507,10 +1507,10 @@ void RPiCameraData::clearIncompleteRequests()
* request? If not, do so now.
*/
if (buffer && buffer->request())
- pipe_->completeBuffer(camera_, request, buffer);
+ pipe_->completeBuffer(request, buffer);
}
- pipe_->completeRequest(camera_, request);
+ pipe_->completeRequest(request);
requestQueue_.pop_front();
}
}
@@ -1534,7 +1534,7 @@ void RPiCameraData::handleStreamBuffer(FrameBuffer *buffer, RPi::Stream *stream)
* Tag the buffer as completed, returning it to the
* application.
*/
- pipe_->completeBuffer(camera_, request, buffer);
+ pipe_->completeBuffer(request, buffer);
} else {
/*
* This buffer was not part of the Request, or there is no
@@ -1597,7 +1597,7 @@ void RPiCameraData::checkRequestCompleted()
if (state_ != State::IpaComplete)
return;
- pipe_->completeRequest(camera_, request);
+ pipe_->completeRequest(request);
requestQueue_.pop_front();
requestCompleted = true;
}
diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
index 021d0ffe..5ce37feb 100644
--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp
+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
@@ -1135,15 +1135,14 @@ void PipelineHandlerRkISP1::tryCompleteRequest(Request *request)
data->frameInfo_.destroy(info->frame);
- completeRequest(activeCamera_, request);
+ completeRequest(request);
}
void PipelineHandlerRkISP1::bufferReady(FrameBuffer *buffer)
{
- ASSERT(activeCamera_);
Request *request = buffer->request();
- completeBuffer(activeCamera_, request, buffer);
+ completeBuffer(request, buffer);
tryCompleteRequest(request);
}
diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp
index 57bfb290..23320d26 100644
--- a/src/libcamera/pipeline/simple/simple.cpp
+++ b/src/libcamera/pipeline/simple/simple.cpp
@@ -898,8 +898,8 @@ void SimplePipelineHandler::bufferReady(FrameBuffer *buffer)
}
Request *request = buffer->request();
- completeBuffer(activeCamera_, request, buffer);
- completeRequest(activeCamera_, request);
+ completeBuffer(request, buffer);
+ completeRequest(request);
return;
}
@@ -923,8 +923,8 @@ void SimplePipelineHandler::bufferReady(FrameBuffer *buffer)
/* Otherwise simply complete the request. */
Request *request = buffer->request();
- completeBuffer(activeCamera_, request, buffer);
- completeRequest(activeCamera_, request);
+ completeBuffer(request, buffer);
+ completeRequest(request);
}
void SimplePipelineHandler::converterDone(FrameBuffer *input,
@@ -935,8 +935,8 @@ void SimplePipelineHandler::converterDone(FrameBuffer *input,
/* Complete the request. */
Request *request = output->request();
- completeBuffer(activeCamera_, request, output);
- completeRequest(activeCamera_, request);
+ completeBuffer(request, output);
+ completeRequest(request);
/* Queue the input buffer back for capture. */
data->video_->queueBuffer(input);
diff --git a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
index e54f45bb..7cb310e2 100644
--- a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
+++ b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
@@ -646,8 +646,8 @@ void UVCCameraData::bufferReady(FrameBuffer *buffer)
{
Request *request = buffer->request();
- pipe_->completeBuffer(camera_, request, buffer);
- pipe_->completeRequest(camera_, request);
+ pipe_->completeBuffer(request, buffer);
+ pipe_->completeRequest(request);
}
REGISTER_PIPELINE_HANDLER(PipelineHandlerUVC)
diff --git a/src/libcamera/pipeline/vimc/vimc.cpp b/src/libcamera/pipeline/vimc/vimc.cpp
index 8bda746f..36325ffb 100644
--- a/src/libcamera/pipeline/vimc/vimc.cpp
+++ b/src/libcamera/pipeline/vimc/vimc.cpp
@@ -519,8 +519,8 @@ void VimcCameraData::bufferReady(FrameBuffer *buffer)
{
Request *request = buffer->request();
- pipe_->completeBuffer(camera_, request, buffer);
- pipe_->completeRequest(camera_, request);
+ pipe_->completeBuffer(request, buffer);
+ pipe_->completeRequest(request);
}
REGISTER_PIPELINE_HANDLER(PipelineHandlerVimc)