From d82780801db776038ecbe1c181446f7b4e098dba Mon Sep 17 00:00:00 2001 From: Robert Mader Date: Sun, 12 Oct 2025 16:20:50 +0200 Subject: [PATCH] pipeline: simple: Initialize maxQueuedRequestsDevice to 4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In order to prepare for the pipeline handler to support higher buffer counts than 4, limit the number of queued requests to this number as apps otherwise may exhaust the limit of frame contexts (see ipa::soft::kMaxFrameContexts => 16). Suggested-by: Barnabás Pőcze Signed-off-by: Robert Mader Reviewed-by: Kieran Bingham Tested-by: Barnabás Pőcze Signed-off-by: Kieran Bingham --- src/libcamera/pipeline/simple/simple.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp index c816cffc..6e827134 100644 --- a/src/libcamera/pipeline/simple/simple.cpp +++ b/src/libcamera/pipeline/simple/simple.cpp @@ -417,6 +417,7 @@ protected: int queueRequestDevice(Camera *camera, Request *request) override; private: + static constexpr unsigned int kMaxQueuedRequestsDevice = 4; static constexpr unsigned int kNumInternalBuffers = 3; struct EntityData { @@ -1273,7 +1274,8 @@ CameraConfiguration::Status SimpleCameraConfiguration::validate() */ SimplePipelineHandler::SimplePipelineHandler(CameraManager *manager) - : PipelineHandler(manager), converter_(nullptr) + : PipelineHandler(manager, kMaxQueuedRequestsDevice), + converter_(nullptr) { }