diff --git a/src/libcamera/include/v4l2_device.h b/src/libcamera/include/v4l2_device.h index 6bfddefe..ce8edd98 100644 --- a/src/libcamera/include/v4l2_device.h +++ b/src/libcamera/include/v4l2_device.h @@ -48,6 +48,7 @@ private: const struct v4l2_ext_control *v4l2Ctrls, unsigned int count); + std::map controlInfo_; std::vector> controlIds_; ControlInfoMap controls_; std::string deviceNode_; diff --git a/src/libcamera/v4l2_device.cpp b/src/libcamera/v4l2_device.cpp index 179476e9..7eded67c 100644 --- a/src/libcamera/v4l2_device.cpp +++ b/src/libcamera/v4l2_device.cpp @@ -381,6 +381,8 @@ void V4L2Device::listControls() } controlIds_.emplace_back(std::make_unique(ctrl)); + controlInfo_.emplace(ctrl.id, ctrl); + ctrls.emplace(controlIds_.back().get(), V4L2ControlInfo(ctrl)); }