From 634bc7838f879c208df1915b2259e2a7f8dcefd7 Mon Sep 17 00:00:00 2001
From: Naushir Patuck <naush@raspberrypi.com>
Date: Thu, 6 Jun 2024 12:52:23 +0100
Subject: pipeline: rpi: Don't validate configuration in
 generateConfiguration()

generateConfiguration() called validate() as a final step, causing the
stride and frameSize fields in StreamConfiguration to be filled in based
on the pixel format and width/height.

If a user application did not clear the stride field when setting up a
custom pixel format and width/height, the pipeline handler would respect
this stride and possibly overallocate buffers with a larger stride than
needed.

Fix this by removing the call to validate() completely, leaving the
stride and frameSize fields defaulting to 0. Removal of this call is
inconsequential as we hard-code a valid configuration for Raspberry Pi
platforms in generateConfiguration().

Bug: https://github.com/raspberrypi/libcamera/issues/138
Bug: https://github.com/raspberrypi/libcamera/issues/141
Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
Reviewed-by: David Plowman <david.plowman@raspberrypi.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
---
 src/libcamera/pipeline/rpi/common/pipeline_base.cpp | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/libcamera/pipeline/rpi/common/pipeline_base.cpp b/src/libcamera/pipeline/rpi/common/pipeline_base.cpp
index 289af516..3041fd1e 100644
--- a/src/libcamera/pipeline/rpi/common/pipeline_base.cpp
+++ b/src/libcamera/pipeline/rpi/common/pipeline_base.cpp
@@ -496,8 +496,6 @@ PipelineHandlerBase::generateConfiguration(Camera *camera, Span<const StreamRole
 		config->addConfiguration(cfg);
 	}
 
-	config->validate();
-
 	return config;
 }
 
-- 
cgit v1.2.1