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

Paul Elder paul.elder at ideasonboard.com
Tue Jul 20 12:13:01 CEST 2021


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>

---
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));
-- 
2.27.0



More information about the libcamera-devel mailing list