pipeline: rpi: Always initialize the embedded buffer in tryRunPipeline

Vc4CameraData::findMatchBuffers() may return successfully with a null
embedded buffer, in which case the embedded buffer id would be left
uninitialized.

Without this change, libcamera v0.2.0 usually crashes for me with an
assertion error:

 ipa_base.cpp:397 assertion "it != buffers_.end()" failed in prepareIsp()

Signed-off-by: Elias Naur <mail@eliasnaur.com>
Reviewed-by: Naushir Patuck <naush@raspberrypi.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Elias Naur
2024-01-22 08:33:10 -05:00
committed by Laurent Pinchart
parent 484c86ac65
commit 0dc737d3e3
+1
View File
@@ -945,6 +945,7 @@ void Vc4CameraData::tryRunPipeline()
params.requestControls = request->controls();
params.ipaContext = request->sequence();
params.delayContext = bayerFrame.delayContext;
params.buffers.embedded = 0;
if (embeddedBuffer) {
unsigned int embeddedId = unicam_[Unicam::Embedded].getBufferId(embeddedBuffer);