@@ -326,7 +326,7 @@ int CameraSession::start()
return ret;
}
- sink_->requestProcessed.connect(this, &CameraSession::sinkRelease);
+ sink_->requestProcessed.connect(this, &CameraSession::requeueRequest);
}
allocator_ = std::make_unique<FrameBufferAllocator>(camera_);
@@ -542,14 +542,11 @@ void CameraSession::processRequest(Request *request)
* If the frame sink holds on the request, we'll requeue it later in the
* complete handler.
*/
- if (!requeue)
- return;
-
- request->reuse(Request::ReuseBuffers);
- queueRequest(request);
+ if (requeue)
+ requeueRequest(request);
}
-void CameraSession::sinkRelease(Request *request)
+void CameraSession::requeueRequest(Request *request)
{
request->reuse(Request::ReuseBuffers);
queueRequest(request);
@@ -55,7 +55,7 @@ private:
int queueRequest(libcamera::Request *request);
void requestComplete(libcamera::Request *request);
void processRequest(libcamera::Request *request);
- void sinkRelease(libcamera::Request *request);
+ void requeueRequest(libcamera::Request *request);
const OptionsParser::Options &options_;
std::shared_ptr<libcamera::Camera> camera_;
Rename `CameraSession::sinkRelease()` to `requeueRequest()` and remove code duplication by calling it from `processRequest()`. Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com> --- src/apps/cam/camera_session.cpp | 11 ++++------- src/apps/cam/camera_session.h | 2 +- 2 files changed, 5 insertions(+), 8 deletions(-)