[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