[libcamera-devel,15/20] libcamera: ipu3: Remove streams from IPU3CameraConfiguration

Message ID 20200714104212.48683-16-jacopo@jmondi.org
State Accepted
Headers show
Series
  • libcamera: ipu3: Rework pipe configuration
Related show

Commit Message

Jacopo Mondi July 14, 2020, 10:42 a.m. UTC
The IPU3CameraConfiguration::streams_ field was used to keep an
association between the StreamConfiguration and the assigned streams
before CameraConfiguration::setStream() was called at configure() time.

The stream assignment was based on the order in which elements were
inserted in the vector, implementing a fragile association between
streams and their intended configurations.

As it is now possible to assign streams at validation time, there is no
need to keep that association in place, and the streams_ vector is now
unused.

Remove it and the associated accessor method from the
IPU3CameraConfiguration class.

Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
---
 src/libcamera/pipeline/ipu3/ipu3.cpp | 2 --
 1 file changed, 2 deletions(-)

Comments

Laurent Pinchart July 14, 2020, 9:45 p.m. UTC | #1
Hi Jacopo,

Thank you for the patch.

On Tue, Jul 14, 2020 at 12:42:07PM +0200, Jacopo Mondi wrote:
> The IPU3CameraConfiguration::streams_ field was used to keep an
> association between the StreamConfiguration and the assigned streams
> before CameraConfiguration::setStream() was called at configure() time.
> 
> The stream assignment was based on the order in which elements were
> inserted in the vector, implementing a fragile association between
> streams and their intended configurations.
> 
> As it is now possible to assign streams at validation time, there is no
> need to keep that association in place, and the streams_ vector is now
> unused.
> 
> Remove it and the associated accessor method from the
> IPU3CameraConfiguration class.
> 
> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  src/libcamera/pipeline/ipu3/ipu3.cpp | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
> index 1161987a4322..2d8b3c501294 100644
> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp
> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
> @@ -67,7 +67,6 @@ public:
>  	Status validate() override;
>  
>  	const StreamConfiguration &cio2Format() const { return cio2Configuration_; };
> -	const std::vector<const Stream *> &streams() { return streams_; }
>  
>  private:
>  	/*
> @@ -79,7 +78,6 @@ private:
>  	const IPU3CameraData *data_;
>  
>  	StreamConfiguration cio2Configuration_;
> -	std::vector<const Stream *> streams_;
>  };
>  
>  class PipelineHandlerIPU3 : public PipelineHandler

Patch

diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index 1161987a4322..2d8b3c501294 100644
--- a/src/libcamera/pipeline/ipu3/ipu3.cpp
+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
@@ -67,7 +67,6 @@  public:
 	Status validate() override;
 
 	const StreamConfiguration &cio2Format() const { return cio2Configuration_; };
-	const std::vector<const Stream *> &streams() { return streams_; }
 
 private:
 	/*
@@ -79,7 +78,6 @@  private:
 	const IPU3CameraData *data_;
 
 	StreamConfiguration cio2Configuration_;
-	std::vector<const Stream *> streams_;
 };
 
 class PipelineHandlerIPU3 : public PipelineHandler