[libcamera-devel] [PATCH v5 3/9] android: metadata: Fix addEntry template type

Laurent Pinchart laurent.pinchart at ideasonboard.com
Sun Jul 25 02:38:24 CEST 2021


Hi Paul,

Thank you for the patch.

On Tue, Jul 20, 2021 at 07:13:01PM +0900, Paul Elder wrote:
> Since we set entries with android tags directly, which are enums and not
> arithmetic types, the addEntry template fails to match. Fix this by also
> allowing enum values in addEntry.
> 
> Signed-off-by: Paul Elder <paul.elder at ideasonboard.com>
> Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>

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

> ---
> New in v4
> ---
>  src/android/camera_metadata.h | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/src/android/camera_metadata.h b/src/android/camera_metadata.h
> index 72ba4db2..6e51efb5 100644
> --- a/src/android/camera_metadata.h
> +++ b/src/android/camera_metadata.h
> @@ -44,7 +44,8 @@ public:
>  	bool hasEntry(uint32_t tag) const;
>  
>  	template<typename T,
> -		 std::enable_if_t<std::is_arithmetic_v<T>> * = nullptr>
> +		 std::enable_if_t<std::is_arithmetic_v<T> ||
> +				  std::is_enum_v<T>> * = nullptr>
>  	bool addEntry(uint32_t tag, const T &data)
>  	{
>  		return addEntry(tag, &data, 1, sizeof(T));

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list