[RFC,v1,01/54] apps: cam: Simplify buffer reuse
diff mbox series

Message ID 20260629163017.863145-2-barnabas.pocze@ideasonboard.com
State New
Headers show
Series
  • libcamera: Split requests and buffers
Related show

Commit Message

Barnabás Pőcze June 29, 2026, 4:29 p.m. UTC
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(-)

Patch
diff mbox series

diff --git a/src/apps/cam/camera_session.cpp b/src/apps/cam/camera_session.cpp
index 17444a217b..f90800caf8 100644
--- a/src/apps/cam/camera_session.cpp
+++ b/src/apps/cam/camera_session.cpp
@@ -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);
diff --git a/src/apps/cam/camera_session.h b/src/apps/cam/camera_session.h
index 4442fd9b1a..7ad1b77d62 100644
--- a/src/apps/cam/camera_session.h
+++ b/src/apps/cam/camera_session.h
@@ -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_;