[PATCH v2] libcamera: pipeline: uvcvideo: Report new AeEnable control as available

Barnabás Pőcze barnabas.pocze at ideasonboard.com
Wed Apr 2 17:11:58 CEST 2025


The `AeEnable` control is handled by the `Camera` class directly, but it
still has to be added because `ControlInfoMap`s are not easily modifiable.

See 338ba00e7abfe8 ("ipa: rkisp1: agc: Report new AeEnable control as available")
for more details and a similar change in rkisp1.

Signed-off-by: Barnabás Pőcze <barnabas.pocze at ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi at ideasonboard.com>
---
changes in v2:
  * only report control if it can actually do something

v1: https://patchwork.libcamera.org/patch/23106/
---
 src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
index 5adc89fdb..a7e0fcfbc 100644
--- a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
+++ b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
@@ -590,6 +590,11 @@ int UVCCameraData::init(MediaDevice *media)
 		addControl(cid, info, &ctrls);
 	}

+	if (autoExposureMode_ && manualExposureMode_) {
+		/* \todo Move this to the Camera class */
+		ctrls[&controls::AeEnable] = ControlInfo(false, true, true);
+	}
+
 	controlInfo_ = ControlInfoMap(std::move(ctrls), controls::controls);

 	/*
--
2.49.0


More information about the libcamera-devel mailing list