[libcamera-devel] [PATCH v2 09/20] libcamera: camera: Zero streams before validate()

Niklas Söderlund niklas.soderlund at ragnatech.se
Thu Jul 9 15:32:24 CEST 2020


Hi Jacopo,

Thanks for your work.

On 2020-07-09 10:41:17 +0200, Jacopo Mondi wrote:
> The current implementation of the Camera::configure() method zeroes the
> stream pointers assigned to the StreamConfiguration items before calling
> the pipeline handler configure() operation, just after the
> CameraConfiguration has been validated.
> 
> This discards the stream assignment performed at pipeline hander
> validation time, requiring platforms that need to perform that early
> assignment to maintain the association in place with custom data
> structures.
> 
> To allow pipeline handlers to use StreamConfiguration::setStream() at
> validate() time, zero the stream assignment before calling validate().
> 
> Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>

Reviewed-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>

> ---
>  src/libcamera/camera.cpp | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp
> index 69a1b4428e3f..ca88c48b2830 100644
> --- a/src/libcamera/camera.cpp
> +++ b/src/libcamera/camera.cpp
> @@ -753,6 +753,9 @@ int Camera::configure(CameraConfiguration *config)
>  	if (ret < 0)
>  		return ret;
>  
> +	for (auto it : *config)
> +		it.setStream(nullptr);
> +
>  	if (config->validate() != CameraConfiguration::Valid) {
>  		LOG(Camera, Error)
>  			<< "Can't configure camera with invalid configuration";
> @@ -763,7 +766,6 @@ int Camera::configure(CameraConfiguration *config)
>  
>  	for (unsigned int index = 0; index < config->size(); ++index) {
>  		StreamConfiguration &cfg = config->at(index);
> -		cfg.setStream(nullptr);
>  		msg << " (" << index << ") " << cfg.toString();
>  	}
>  
> -- 
> 2.27.0
> 
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel

-- 
Regards,
Niklas Söderlund


More information about the libcamera-devel mailing list