[libcamera-devel] [PATCH 06/12] libcamera: controls: Remove ControlInfo::id

Laurent Pinchart laurent.pinchart at ideasonboard.com
Sat Sep 28 17:22:32 CEST 2019


The ControlInfo id member is only used in the toString() method of the
class, and nowhere else externally. The same way that ControlValue
doesn't store a ControlId, ControlInfo shouldn't. Remove it.

Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 include/libcamera/controls.h        |  4 +---
 src/libcamera/controls.cpp          | 13 +++----------
 src/libcamera/pipeline/uvcvideo.cpp |  2 +-
 src/libcamera/pipeline/vimc.cpp     |  2 +-
 test/controls/control_info.cpp      | 18 ++----------------
 5 files changed, 8 insertions(+), 31 deletions(-)

diff --git a/include/libcamera/controls.h b/include/libcamera/controls.h
index d4a74ada1b6a..854ea3b84267 100644
--- a/include/libcamera/controls.h
+++ b/include/libcamera/controls.h
@@ -98,17 +98,15 @@ private:
 class ControlInfo
 {
 public:
-	explicit ControlInfo(const ControlId &id, const ControlValue &min = 0,
+	explicit ControlInfo(const ControlValue &min = 0,
 			     const ControlValue &max = 0);
 
-	const ControlId &id() const { return id_; }
 	const ControlValue &min() const { return min_; }
 	const ControlValue &max() const { return max_; }
 
 	std::string toString() const;
 
 private:
-	const ControlId &id_;
 	ControlValue min_;
 	ControlValue max_;
 };
diff --git a/src/libcamera/controls.cpp b/src/libcamera/controls.cpp
index 62cb2ff822bb..6a3bb353792d 100644
--- a/src/libcamera/controls.cpp
+++ b/src/libcamera/controls.cpp
@@ -323,22 +323,15 @@ Control<int64_t>::Control(unsigned int id, const char *name)
 
 /**
  * \brief Construct a ControlInfo with minimum and maximum range parameters
- * \param[in] id The control ID
  * \param[in] min The control minimum value
  * \param[in] max The control maximum value
  */
-ControlInfo::ControlInfo(const ControlId &id, const ControlValue &min,
+ControlInfo::ControlInfo(const ControlValue &min,
 			 const ControlValue &max)
-	: id_(id), min_(min), max_(max)
+	: min_(min), max_(max)
 {
 }
 
-/**
- * \fn ControlInfo::id()
- * \brief Retrieve the control ID
- * \return The control ID
- */
-
 /**
  * \fn ControlInfo::min()
  * \brief Retrieve the minimum value of the control
@@ -358,7 +351,7 @@ std::string ControlInfo::toString() const
 {
 	std::stringstream ss;
 
-	ss << id_.name() << "[" << min_.toString() << ".." << max_.toString() << "]";
+	ss << "[" << min_.toString() << ".." << max_.toString() << "]";
 
 	return ss.str();
 }
diff --git a/src/libcamera/pipeline/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo.cpp
index 44e19f40f1b9..3635ea83a7b1 100644
--- a/src/libcamera/pipeline/uvcvideo.cpp
+++ b/src/libcamera/pipeline/uvcvideo.cpp
@@ -364,7 +364,7 @@ int UVCCameraData::init(MediaEntity *entity)
 
 		controlInfo_.emplace(std::piecewise_construct,
 				     std::forward_as_tuple(id),
-				     std::forward_as_tuple(*id, info.min(), info.max()));
+				     std::forward_as_tuple(info.min(), info.max()));
 	}
 
 	return 0;
diff --git a/src/libcamera/pipeline/vimc.cpp b/src/libcamera/pipeline/vimc.cpp
index a48febf2172e..d9dd031e173c 100644
--- a/src/libcamera/pipeline/vimc.cpp
+++ b/src/libcamera/pipeline/vimc.cpp
@@ -437,7 +437,7 @@ int VimcCameraData::init(MediaDevice *media)
 
 		controlInfo_.emplace(std::piecewise_construct,
 				     std::forward_as_tuple(id),
-				     std::forward_as_tuple(*id, info.min(), info.max()));
+				     std::forward_as_tuple(info.min(), info.max()));
 	}
 
 	return 0;
diff --git a/test/controls/control_info.cpp b/test/controls/control_info.cpp
index dbc43df8e3d3..9cf59185e459 100644
--- a/test/controls/control_info.cpp
+++ b/test/controls/control_info.cpp
@@ -24,14 +24,7 @@ protected:
 		 * Test information retrieval from a control with no minimum
 		 * and maximum.
 		 */
-		ControlInfo brightness(controls::Brightness);
-
-		if (brightness.id() != controls::Brightness ||
-		    brightness.id().type() != ControlTypeInteger32 ||
-		    brightness.id().name() != std::string("Brightness")) {
-			cout << "Invalid control identification for Brightness" << endl;
-			return TestFail;
-		}
+		ControlInfo brightness;
 
 		if (brightness.min().get<int32_t>() != 0 ||
 		    brightness.max().get<int32_t>() != 0) {
@@ -43,14 +36,7 @@ protected:
 		 * Test information retrieval from a control with a minimum and
 		 * a maximum value.
 		 */
-		ControlInfo contrast(controls::Contrast, 10, 200);
-
-		if (contrast.id() != controls::Contrast ||
-		    contrast.id().type() != ControlTypeInteger32 ||
-		    contrast.id().name() != std::string("Contrast")) {
-			cout << "Invalid control identification for Contrast" << endl;
-			return TestFail;
-		}
+		ControlInfo contrast(10, 200);
 
 		if (contrast.min().get<int32_t>() != 10 ||
 		    contrast.max().get<int32_t>() != 200) {
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list