[libcamera-devel] [PATCH 6/8] libcamera: pipeline: ipu3: frames: Group FrameBuffer operations

Kieran Bingham kieran.bingham at ideasonboard.com
Fri Mar 12 07:11:29 CET 2021


Ensure that checks on resource availability are handled first, and then
operate on the queues only after the resources are confirmed as
available.

Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
---
 src/libcamera/pipeline/ipu3/frames.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/libcamera/pipeline/ipu3/frames.cpp b/src/libcamera/pipeline/ipu3/frames.cpp
index b8b471c3c561..7a7c5643df43 100644
--- a/src/libcamera/pipeline/ipu3/frames.cpp
+++ b/src/libcamera/pipeline/ipu3/frames.cpp
@@ -47,12 +47,13 @@ IPU3Frames::Info *IPU3Frames::create(Request *request)
 		LOG(IPU3, Error) << "Parameters buffer underrun";
 		return nullptr;
 	}
-	FrameBuffer *paramBuffer = availableParamBuffers_.front();
 
 	if (availableStatBuffers_.empty()) {
 		LOG(IPU3, Error) << "Statistics buffer underrun";
 		return nullptr;
 	}
+
+	FrameBuffer *paramBuffer = availableParamBuffers_.front();
 	FrameBuffer *statBuffer = availableStatBuffers_.front();
 
 	availableParamBuffers_.pop();
-- 
2.25.1



More information about the libcamera-devel mailing list