[PATCH v5 4/5] pipeline: simple: Do not apply controls twice
Stanislaw Gruszka
stanislaw.gruszka at linux.intel.com
Tue Feb 25 17:41:15 CET 2025
Apply controls directly only when there is no start frame emitter
device.
Co-developed-by: Hans de Goede <hdegoede at redhat.com>
Signed-off-by: Hans de Goede <hdegoede at redhat.com>
Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka at linux.intel.com>
---
src/libcamera/pipeline/simple/simple.cpp | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp
index 774c7824..b92b738b 100644
--- a/src/libcamera/pipeline/simple/simple.cpp
+++ b/src/libcamera/pipeline/simple/simple.cpp
@@ -911,8 +911,11 @@ void SimpleCameraData::ispStatsReady(uint32_t frame, uint32_t bufferId)
void SimpleCameraData::setSensorControls(const ControlList &sensorControls)
{
delayedCtrls_->push(sensorControls);
- ControlList ctrls(sensorControls);
- sensor_->setControls(&ctrls);
+ /* Directly apply controls now if there is no frameStart signal */
+ if (!frameStartEmitter_) {
+ ControlList ctrls(sensorControls);
+ sensor_->setControls(&ctrls);
+ }
}
/* Retrieve all source pads connected to a sink pad through active routes. */
--
2.43.0
More information about the libcamera-devel
mailing list