summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJacopo Mondi <jacopo@jmondi.org>2020-03-04 14:01:26 +0100
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-03-23 16:45:30 +0200
commit9b838b87c75f1825f73df05d30cd71926d11f079 (patch)
treefe3b732fb4127e1f4b6863fb0e00fdfce997c5cc /src
parent55ead4647794072a4f4a866a65d18f8483c2998d (diff)
libcamera: v4l2_device: Enable enumeration of U8 controls
Enable the enumeration of V4L2 array controls with V4L2_CTRL_TYPE_U8 type. Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src')
-rw-r--r--src/libcamera/v4l2_device.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/libcamera/v4l2_device.cpp b/src/libcamera/v4l2_device.cpp
index 3c91eb3f..03e30516 100644
--- a/src/libcamera/v4l2_device.cpp
+++ b/src/libcamera/v4l2_device.cpp
@@ -386,7 +386,8 @@ void V4L2Device::listControls()
/* \todo Add support for menu and compound controls. */
while (1) {
- ctrl.id |= V4L2_CTRL_FLAG_NEXT_CTRL;
+ ctrl.id |= V4L2_CTRL_FLAG_NEXT_CTRL |
+ V4L2_CTRL_FLAG_NEXT_COMPOUND;
if (ioctl(VIDIOC_QUERY_EXT_CTRL, &ctrl))
break;
@@ -394,13 +395,6 @@ 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:
@@ -409,8 +403,9 @@ void V4L2Device::listControls()
case V4L2_CTRL_TYPE_INTEGER64:
case V4L2_CTRL_TYPE_BITMASK:
case V4L2_CTRL_TYPE_INTEGER_MENU:
+ case V4L2_CTRL_TYPE_U8:
break;
- /* \todo Support compound controls. */
+ /* \todo Support other control types. */
default:
LOG(V4L2, Debug)
<< "Control " << utils::hex(ctrl.id)