[libcamera-devel] [PATCH] libcamera: controls: Suppress error message from ControlList::find()
Jacopo Mondi
jacopo at jmondi.org
Tue Jul 19 17:22:59 CEST 2022
Hi Naush
On Tue, Jul 19, 2022 at 03:45:17PM +0100, Naushir Patuck via libcamera-devel wrote:
> Now that controls::get() returns a std::optional<T> handle invalid controls,
> the error log message in ControlList::find() is unnecessary and likely invalid
> in the case when calling controls::get() on a missing control. Remove this
> error message.
Isn't anyway up to the application to validate the returned
std::optional<> ? What if an application doesn't do so an tries to
access an std::nullopt ? At least the messages here would provide a
trace that something went wrong ?
>
> Fixes: 1c4d48018505 ("libcamera: controls: Use std::optional to handle invalid control values")
> Signed-off-by: Naushir Patuck <naush at raspberrypi.com>
> ---
> src/libcamera/controls.cpp | 12 ++----------
> 1 file changed, 2 insertions(+), 10 deletions(-)
>
> diff --git a/src/libcamera/controls.cpp b/src/libcamera/controls.cpp
> index 03ac6345247c..701a872185e3 100644
> --- a/src/libcamera/controls.cpp
> +++ b/src/libcamera/controls.cpp
> @@ -1051,24 +1051,16 @@ void ControlList::set(unsigned int id, const ControlValue &value)
> const ControlValue *ControlList::find(unsigned int id) const
> {
> const auto iter = controls_.find(id);
> - if (iter == controls_.end()) {
> - LOG(Controls, Error)
> - << "Control " << utils::hex(id) << " not found";
> -
> + if (iter == controls_.end())
> return nullptr;
> - }
>
> return &iter->second;
> }
>
> ControlValue *ControlList::find(unsigned int id)
> {
> - if (validator_ && !validator_->validate(id)) {
> - LOG(Controls, Error)
> - << "Control " << utils::hex(id)
> - << " is not valid for " << validator_->name();
> + if (validator_ && !validator_->validate(id))
> return nullptr;
> - }
>
> return &controls_[id];
> }
> --
> 2.25.1
>
More information about the libcamera-devel
mailing list