[PATCH v2] pipeline: rpi: always initialize the embedded buffer in tryRunPipeline
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Mon Jan 22 15:31:00 CET 2024
On Mon, Jan 22, 2024 at 08:33:10AM -0500, Elias Naur wrote:
> 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 at eliasnaur.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
And I'll add the
Reviewed-by: Naushir Patuck <naush at raspberrypi.com>
that Naush sent for v1.
> ---
> src/libcamera/pipeline/rpi/vc4/vc4.cpp | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/src/libcamera/pipeline/rpi/vc4/vc4.cpp b/src/libcamera/pipeline/rpi/vc4/vc4.cpp
> index 26102ea7..a52f0e7a 100644
> --- a/src/libcamera/pipeline/rpi/vc4/vc4.cpp
> +++ b/src/libcamera/pipeline/rpi/vc4/vc4.cpp
> @@ -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);
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list