[libcamera-devel,v2,1/9] libcamera: camera: Allow unspecified roles for generateConfiguration

Message ID 20200702213654.2129054-2-kieran.bingham@ideasonboard.com
State Superseded
Headers show
Series
  • android: Multi-stream support
Related show

Commit Message

Kieran Bingham July 2, 2020, 9:36 p.m. UTC
Providing an empty set of roles is permitted to generate an empty
configuration from the pipeline handlers.

Overload the generateConfiguration() function such that not specifying a
roles parameter will use an empty set, and return an empty
configuration.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 include/libcamera/camera.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Niklas Söderlund July 2, 2020, 11:15 p.m. UTC | #1
Hi Kieran,

Thanks for your work.

On 2020-07-02 22:36:46 +0100, Kieran Bingham wrote:
> Providing an empty set of roles is permitted to generate an empty
> configuration from the pipeline handlers.
> 
> Overload the generateConfiguration() function such that not specifying a
> roles parameter will use an empty set, and return an empty
> configuration.
> 
> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

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

> ---
>  include/libcamera/camera.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/include/libcamera/camera.h b/include/libcamera/camera.h
> index 9c0e58f7864b..4d1a4a9f52ec 100644
> --- a/include/libcamera/camera.h
> +++ b/include/libcamera/camera.h
> @@ -89,7 +89,7 @@ public:
>  	const ControlList &properties();
>  
>  	const std::set<Stream *> &streams() const;
> -	std::unique_ptr<CameraConfiguration> generateConfiguration(const StreamRoles &roles);
> +	std::unique_ptr<CameraConfiguration> generateConfiguration(const StreamRoles &roles = {});
>  	int configure(CameraConfiguration *config);
>  
>  	Request *createRequest(uint64_t cookie = 0);
> -- 
> 2.25.1
> 
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel@lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel
Jacopo Mondi July 3, 2020, 8:57 a.m. UTC | #2
Hi Kieran,

On Thu, Jul 02, 2020 at 10:36:46PM +0100, Kieran Bingham wrote:
> Providing an empty set of roles is permitted to generate an empty
> configuration from the pipeline handlers.
>
> Overload the generateConfiguration() function such that not specifying a
> roles parameter will use an empty set, and return an empty
> configuration.
>
> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>

Thanks
  j

> ---
>  include/libcamera/camera.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/libcamera/camera.h b/include/libcamera/camera.h
> index 9c0e58f7864b..4d1a4a9f52ec 100644
> --- a/include/libcamera/camera.h
> +++ b/include/libcamera/camera.h
> @@ -89,7 +89,7 @@ public:
>  	const ControlList &properties();
>
>  	const std::set<Stream *> &streams() const;
> -	std::unique_ptr<CameraConfiguration> generateConfiguration(const StreamRoles &roles);
> +	std::unique_ptr<CameraConfiguration> generateConfiguration(const StreamRoles &roles = {});
>  	int configure(CameraConfiguration *config);
>
>  	Request *createRequest(uint64_t cookie = 0);
> --
> 2.25.1
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel@lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel

Patch

diff --git a/include/libcamera/camera.h b/include/libcamera/camera.h
index 9c0e58f7864b..4d1a4a9f52ec 100644
--- a/include/libcamera/camera.h
+++ b/include/libcamera/camera.h
@@ -89,7 +89,7 @@  public:
 	const ControlList &properties();
 
 	const std::set<Stream *> &streams() const;
-	std::unique_ptr<CameraConfiguration> generateConfiguration(const StreamRoles &roles);
+	std::unique_ptr<CameraConfiguration> generateConfiguration(const StreamRoles &roles = {});
 	int configure(CameraConfiguration *config);
 
 	Request *createRequest(uint64_t cookie = 0);