diff options
author | Jacopo Mondi <jacopo@jmondi.org> | 2019-11-19 17:18:35 +0100 |
---|---|---|
committer | Jacopo Mondi <jacopo@jmondi.org> | 2020-02-14 16:27:42 +0100 |
commit | 81563b55ed36bca67e4db3950d64438c3d16c0ac (patch) | |
tree | ba5e68416130867873a488a3fb2c8753643b5321 /src/libcamera/v4l2_controls.cpp | |
parent | e5ff2c98944630dee6f2c6c57031dda2f4276cc8 (diff) |
libcamera: controls: Add default to ControlRange
Augment the the ControlRange class to store the control default value.
This is particularly relevant for v4l2 controls used to create
Camera properties, which are constructed using immutable video device
properties, whose value won't change at runtime.
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Diffstat (limited to 'src/libcamera/v4l2_controls.cpp')
-rw-r--r-- | src/libcamera/v4l2_controls.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/libcamera/v4l2_controls.cpp b/src/libcamera/v4l2_controls.cpp index b6547a7c..7446c388 100644 --- a/src/libcamera/v4l2_controls.cpp +++ b/src/libcamera/v4l2_controls.cpp @@ -121,17 +121,20 @@ V4L2ControlRange::V4L2ControlRange(const struct v4l2_query_ext_ctrl &ctrl) switch (ctrl.type) { case V4L2_CTRL_TYPE_BOOLEAN: ControlRange::operator=(ControlRange(static_cast<bool>(ctrl.minimum), - static_cast<bool>(ctrl.maximum))); + static_cast<bool>(ctrl.maximum), + static_cast<bool>(ctrl.default_value))); break; case V4L2_CTRL_TYPE_INTEGER64: ControlRange::operator=(ControlRange(static_cast<int64_t>(ctrl.minimum), - static_cast<int64_t>(ctrl.maximum))); + static_cast<int64_t>(ctrl.maximum), + static_cast<int64_t>(ctrl.default_value))); break; default: ControlRange::operator=(ControlRange(static_cast<int32_t>(ctrl.minimum), - static_cast<int32_t>(ctrl.maximum))); + static_cast<int32_t>(ctrl.maximum), + static_cast<int32_t>(ctrl.default_value))); break; } } |