summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libcamera/include/v4l2_controls.h6
-rw-r--r--src/libcamera/v4l2_controls.cpp14
2 files changed, 20 insertions, 0 deletions
diff --git a/src/libcamera/include/v4l2_controls.h b/src/libcamera/include/v4l2_controls.h
index 2c8cb900..0047efab 100644
--- a/src/libcamera/include/v4l2_controls.h
+++ b/src/libcamera/include/v4l2_controls.h
@@ -28,11 +28,17 @@ public:
size_t size() const { return size_; }
const std::string &name() const { return name_; }
+ int64_t min() const { return min_; }
+ int64_t max() const { return max_; }
+
private:
unsigned int id_;
unsigned int type_;
size_t size_;
std::string name_;
+
+ int64_t min_;
+ int64_t max_;
};
class V4L2Control
diff --git a/src/libcamera/v4l2_controls.cpp b/src/libcamera/v4l2_controls.cpp
index 78888de2..af017bce 100644
--- a/src/libcamera/v4l2_controls.cpp
+++ b/src/libcamera/v4l2_controls.cpp
@@ -74,6 +74,8 @@ V4L2ControlInfo::V4L2ControlInfo(const struct v4l2_query_ext_ctrl &ctrl)
type_ = ctrl.type;
name_ = static_cast<const char *>(ctrl.name);
size_ = ctrl.elem_size * ctrl.elems;
+ min_ = ctrl.minimum;
+ max_ = ctrl.maximum;
}
/**
@@ -101,6 +103,18 @@ V4L2ControlInfo::V4L2ControlInfo(const struct v4l2_query_ext_ctrl &ctrl)
*/
/**
+ * \fn V4L2ControlInfo::min()
+ * \brief Retrieve the control minimum value
+ * \return The V4L2 control minimum value
+ */
+
+/**
+ * \fn V4L2ControlInfo::max()
+ * \brief Retrieve the control maximum value
+ * \return The V4L2 control maximum value
+ */
+
+/**
* \class V4L2Control
* \brief A V4L2 control value
*