summaryrefslogtreecommitdiff
path: root/src/libcamera/pipeline/uvcvideo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcamera/pipeline/uvcvideo.cpp')
-rw-r--r--src/libcamera/pipeline/uvcvideo.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/libcamera/pipeline/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo.cpp
index 018c7691..a64e1af4 100644
--- a/src/libcamera/pipeline/uvcvideo.cpp
+++ b/src/libcamera/pipeline/uvcvideo.cpp
@@ -335,7 +335,9 @@ int UVCCameraData::init(MediaEntity *entity)
video_->bufferReady.connect(this, &UVCCameraData::bufferReady);
/* Initialise the supported controls. */
- const V4L2ControlInfoMap &controls = video_->controls();
+ const ControlInfoMap &controls = video_->controls();
+ ControlInfoMap::Map ctrls;
+
for (const auto &ctrl : controls) {
const ControlRange &range = ctrl.second;
const ControlId *id;
@@ -360,11 +362,13 @@ int UVCCameraData::init(MediaEntity *entity)
continue;
}
- controlInfo_.emplace(std::piecewise_construct,
- std::forward_as_tuple(id),
- std::forward_as_tuple(range));
+ ctrls.emplace(std::piecewise_construct,
+ std::forward_as_tuple(id),
+ std::forward_as_tuple(range));
}
+ controlInfo_ = std::move(ctrls);
+
return 0;
}