[libcamera-devel] [PATCH] pipeline: raspberrypi: Create empty control list correctly

David Plowman david.plowman at raspberrypi.com
Mon Oct 4 15:52:07 CEST 2021


When the start() method is supplied with a NULL list of controls, we
send an empty control list to the IPA. When the IPA is running in
isolated mode the control list goes through the data serializer, for
which it must be marked correctly as a list of "controls::controls",
otherwise the IPA process will abort.

Signed-off-by: David Plowman <david.plowman at raspberrypi.com>
---
 src/libcamera/pipeline/raspberrypi/raspberrypi.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
index 0bdfa727..87836996 100644
--- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
+++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
@@ -825,7 +825,8 @@ int PipelineHandlerRPi::start(Camera *camera, const ControlList *controls)
 
 	/* Start the IPA. */
 	ipa::RPi::StartConfig startConfig;
-	data->ipa_->start(controls ? *controls : ControlList{}, &startConfig);
+	ControlList emptyControls(controls::controls);
+	data->ipa_->start(controls ? *controls : emptyControls, &startConfig);
 
 	/* Apply any gain/exposure settings that the IPA may have passed back. */
 	if (!startConfig.controls.empty())
-- 
2.20.1



More information about the libcamera-devel mailing list