summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNaushir Patuck <naush@raspberrypi.com>2022-07-20 09:15:34 +0100
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2022-07-20 13:25:06 +0300
commit8b02645845bf404fba83910818b285b652f14f89 (patch)
tree8a8aa681d91b8971fdaa1a346941451a3a272d03
parent4d22621ec11a065b1819f6268335cae81dd50986 (diff)
libcamera: controls: Suppress error message from ControlList::get()
Now that ControlList::get() returns a std::optional<T> to handle missing controls, the error log message in the call to ControlList::find() is unnecessary and likely invalid. Fix this by avoiding the call to ControlList::find() from ControlList::get() and replacing with a call to the underlying std::unordered_map::find(). Fixes: 1c4d48018505 ("libcamera: controls: Use std::optional to handle invalid control values") Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Umang Jain <umang.jain@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-rw-r--r--include/libcamera/controls.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/include/libcamera/controls.h b/include/libcamera/controls.h
index 85a56e62..7920abba 100644
--- a/include/libcamera/controls.h
+++ b/include/libcamera/controls.h
@@ -375,11 +375,12 @@ public:
template<typename T>
std::optional<T> get(const Control<T> &ctrl) const
{
- const ControlValue *val = find(ctrl.id());
- if (!val)
+ const auto entry = controls_.find(ctrl.id());
+ if (entry == controls_.end())
return std::nullopt;
- return val->get<T>();
+ const ControlValue &val = entry->second;
+ return val.get<T>();
}
template<typename T, typename V>