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>
This commit is contained in:
Jacopo Mondi 2020-03-04 14:01:26 +01:00 committed by Laurent Pinchart
parent 55ead46477
commit 9b838b87c7

View file

@ -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)