[libcamera-devel] [PATCH 1/1] camera_sensor: Suppress error message if test patterns are unavailable

Kieran Bingham kieran.bingham at ideasonboard.com
Mon Jun 6 13:59:35 CEST 2022


Quoting Naushir Patuck via libcamera-devel (2022-06-06 09:58:25)
> If a sensor driver does not support test patterns (e.g. IMX477), libcamera
> throws an unnecessary error message during initialisation when it sets the test
> pattern to off.
> 
> Fix this by moving the error message into setTestPatternMode() where the
> pipeline handler explicitly requests to set a test pattern.
> 
> Signed-off-by: Naushir Patuck <naush at raspberrypi.com>

Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

> ---
>  src/libcamera/camera_sensor.cpp | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/src/libcamera/camera_sensor.cpp b/src/libcamera/camera_sensor.cpp
> index 4bb2066f0fd4..d055c16a4885 100644
> --- a/src/libcamera/camera_sensor.cpp
> +++ b/src/libcamera/camera_sensor.cpp
> @@ -582,16 +582,19 @@ int CameraSensor::setTestPatternMode(controls::draft::TestPatternModeEnum mode)
>         if (testPatternMode_ == mode)
>                 return 0;
>  
> +       if (testPatternModes_.empty()) {
> +               LOG(CameraSensor, Error)
> +                       << "Camera sensor does not support test pattern modes.";
> +               return -EINVAL;
> +       }
> +
>         return applyTestPatternMode(mode);
>  }
>  
>  int CameraSensor::applyTestPatternMode(controls::draft::TestPatternModeEnum mode)
>  {
> -       if (testPatternModes_.empty()) {
> -               LOG(CameraSensor, Error)
> -                       << "Camera sensor does not support test pattern modes.";
> +       if (testPatternModes_.empty())
>                 return 0;
> -       }
>  
>         auto it = std::find(testPatternModes_.begin(), testPatternModes_.end(),
>                             mode);
> -- 
> 2.34.1
>


More information about the libcamera-devel mailing list