summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2019-10-13 21:20:44 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2019-10-15 22:33:26 +0300
commit35e6319b35729ea1671da8516502dd1ee4212082 (patch)
treed5ace9af34f4e8c02a523d1fae4202aa60d923f8 /src
parent876b90086215ce933ceb7f2822ba9a9688e07c14 (diff)
libcamera: v4l2_controls: Remove V4L2ControlInfo::size()
We don't support V4L2 compound controls, the size field is thus unused. Remove it to ease merging of the libcamera and V4L2 control info classes. Support for array controls can then be added later on top, and would be useful for libcamera controls too. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Diffstat (limited to 'src')
-rw-r--r--src/libcamera/include/v4l2_controls.h4
-rw-r--r--src/libcamera/v4l2_controls.cpp8
-rw-r--r--src/libcamera/v4l2_device.cpp7
3 files changed, 7 insertions, 12 deletions
diff --git a/src/libcamera/include/v4l2_controls.h b/src/libcamera/include/v4l2_controls.h
index 89cc7448..133f5262 100644
--- a/src/libcamera/include/v4l2_controls.h
+++ b/src/libcamera/include/v4l2_controls.h
@@ -31,14 +31,10 @@ public:
V4L2ControlInfo(const struct v4l2_query_ext_ctrl &ctrl);
const ControlId &id() const { return id_; }
- size_t size() const { return size_; }
-
const ControlRange &range() const { return range_; }
private:
V4L2ControlId id_;
- size_t size_;
-
ControlRange range_;
};
diff --git a/src/libcamera/v4l2_controls.cpp b/src/libcamera/v4l2_controls.cpp
index c45d3fda..dcf31b7a 100644
--- a/src/libcamera/v4l2_controls.cpp
+++ b/src/libcamera/v4l2_controls.cpp
@@ -127,8 +127,6 @@ V4L2ControlId::V4L2ControlId(const struct v4l2_query_ext_ctrl &ctrl)
V4L2ControlInfo::V4L2ControlInfo(const struct v4l2_query_ext_ctrl &ctrl)
: id_(ctrl)
{
- size_ = ctrl.elem_size * ctrl.elems;
-
if (ctrl.type == V4L2_CTRL_TYPE_INTEGER64)
range_ = ControlRange(static_cast<int64_t>(ctrl.minimum),
static_cast<int64_t>(ctrl.maximum));
@@ -144,12 +142,6 @@ V4L2ControlInfo::V4L2ControlInfo(const struct v4l2_query_ext_ctrl &ctrl)
*/
/**
- * \fn V4L2ControlInfo::size()
- * \brief Retrieve the control value data size (in bytes)
- * \return The V4L2 control value data size
- */
-
-/**
* \fn V4L2ControlInfo::range()
* \brief Retrieve the control value range
* \return The V4L2 control value range
diff --git a/src/libcamera/v4l2_device.cpp b/src/libcamera/v4l2_device.cpp
index 68f2d44d..54cc214e 100644
--- a/src/libcamera/v4l2_device.cpp
+++ b/src/libcamera/v4l2_device.cpp
@@ -362,6 +362,13 @@ void V4L2Device::listControls()
ctrl.flags & V4L2_CTRL_FLAG_DISABLED)
continue;
+ if (ctrl.elems != 1 || ctrl.nr_of_dims) {
+ LOG(V4L2, Debug)
+ << "Array control " << utils::hex(ctrl.id)
+ << " not supported";
+ continue;
+ }
+
switch (ctrl.type) {
case V4L2_CTRL_TYPE_INTEGER:
case V4L2_CTRL_TYPE_BOOLEAN: