summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2019-10-07 22:23:21 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2019-10-13 20:37:46 +0300
commit90d0f193eb2102a6aee3c519eda5ced67a6841f1 (patch)
tree10dde00925e87c9268e638424f87a340413e5cd7 /src
parentc0dc218eb8ca8a5b972e6daab14612003c3f4306 (diff)
libcamera: v4l2_controls: Remove V4L2ControlInfo type field
The V4L2ControlInfo type field stores the V4L2 control type. It partly duplicates the V4L2ControlInfo id().type() that stores the corresponding libcamera control type. The two fields are not strictly identical, but having two types doesn't provide us with any extra value. As this is confusing, remove the V4L2ControlInfo type field. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Tested-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Diffstat (limited to 'src')
-rw-r--r--src/libcamera/include/v4l2_controls.h2
-rw-r--r--src/libcamera/v4l2_controls.cpp7
-rw-r--r--src/libcamera/v4l2_device.cpp8
3 files changed, 4 insertions, 13 deletions
diff --git a/src/libcamera/include/v4l2_controls.h b/src/libcamera/include/v4l2_controls.h
index 71ce377f..949ca21c 100644
--- a/src/libcamera/include/v4l2_controls.h
+++ b/src/libcamera/include/v4l2_controls.h
@@ -32,14 +32,12 @@ public:
V4L2ControlInfo(const struct v4l2_query_ext_ctrl &ctrl);
const ControlId &id() const { return id_; }
- unsigned int type() const { return type_; }
size_t size() const { return size_; }
const ControlRange &range() const { return range_; }
private:
V4L2ControlId id_;
- unsigned int type_;
size_t size_;
ControlRange range_;
diff --git a/src/libcamera/v4l2_controls.cpp b/src/libcamera/v4l2_controls.cpp
index a630a258..3f5f3ff1 100644
--- a/src/libcamera/v4l2_controls.cpp
+++ b/src/libcamera/v4l2_controls.cpp
@@ -127,7 +127,6 @@ V4L2ControlId::V4L2ControlId(const struct v4l2_query_ext_ctrl &ctrl)
V4L2ControlInfo::V4L2ControlInfo(const struct v4l2_query_ext_ctrl &ctrl)
: id_(ctrl)
{
- type_ = ctrl.type;
size_ = ctrl.elem_size * ctrl.elems;
if (ctrl.type == V4L2_CTRL_TYPE_INTEGER64)
@@ -145,12 +144,6 @@ V4L2ControlInfo::V4L2ControlInfo(const struct v4l2_query_ext_ctrl &ctrl)
*/
/**
- * \fn V4L2ControlInfo::type()
- * \brief Retrieve the control type as defined by V4L2_CTRL_TYPE_*
- * \return The V4L2 control type
- */
-
-/**
* \fn V4L2ControlInfo::size()
* \brief Retrieve the control value data size (in bytes)
* \return The V4L2 control value data size
diff --git a/src/libcamera/v4l2_device.cpp b/src/libcamera/v4l2_device.cpp
index 466c3d41..8c599843 100644
--- a/src/libcamera/v4l2_device.cpp
+++ b/src/libcamera/v4l2_device.cpp
@@ -262,8 +262,8 @@ int V4L2Device::setControls(V4L2ControlList *ctrls)
v4l2Ctrls[i].id = ctrl->id();
/* Set the v4l2_ext_control value for the write operation. */
- switch (info->type()) {
- case V4L2_CTRL_TYPE_INTEGER64:
+ switch (info->id().type()) {
+ case ControlTypeInteger64:
v4l2Ctrls[i].value64 = ctrl->value().get<int64_t>();
break;
default:
@@ -392,8 +392,8 @@ void V4L2Device::updateControls(V4L2ControlList *ctrls,
const V4L2ControlInfo *info = controlInfo[i];
V4L2Control *ctrl = ctrls->getByIndex(i);
- switch (info->type()) {
- case V4L2_CTRL_TYPE_INTEGER64:
+ switch (info->id().type()) {
+ case ControlTypeInteger64:
ctrl->value().set<int64_t>(v4l2Ctrl->value64);
break;
default: