[libcamera-devel] [PATCH] pipeline: rpi: Do not return an error from pipeline config file handling
Jacopo Mondi
jacopo.mondi at ideasonboard.com
Thu Jun 15 09:23:11 CEST 2023
Hi Naush
On Wed, Jun 14, 2023 at 01:13:32PM +0100, Naushir Patuck via libcamera-devel wrote:
> If a user provided pipeline config file is not present, or if the
> version reported in the file is invalid, do not return with an error
> when creating the pipeline handler. Instead, log a warning message and
> return success with default pipeline config values used.
>
> This now matches the behaviour when the pipeline config file could not
> be parsed correctly, and we revert to default values.
>
> Signed-off-by: Naushir Patuck <naush at raspberrypi.com>
I would have gone for the other way around, and make the Warning an
Error, as if someone specifies a config file, it should be a correct
one.
Anyway, matter of tastes I guess, consistency is what matters here
Reviewed-by: Jacopo Mondi <jacopo.mondi at ideasonboard.com>
Thanks
j
> ---
> src/libcamera/pipeline/rpi/common/pipeline_base.cpp | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/src/libcamera/pipeline/rpi/common/pipeline_base.cpp b/src/libcamera/pipeline/rpi/common/pipeline_base.cpp
> index 1e20fc2d8cb8..df7482920e75 100644
> --- a/src/libcamera/pipeline/rpi/common/pipeline_base.cpp
> +++ b/src/libcamera/pipeline/rpi/common/pipeline_base.cpp
> @@ -1093,8 +1093,9 @@ int CameraData::loadPipelineConfiguration()
> File file(filename);
>
> if (!file.open(File::OpenModeFlag::ReadOnly)) {
> - LOG(RPI, Error) << "Failed to open configuration file '" << filename << "'";
> - return -EIO;
> + LOG(RPI, Warning) << "Failed to open configuration file '" << filename << "'"
> + << ", using defaults";
> + return 0;
> }
>
> LOG(RPI, Info) << "Using configuration file '" << filename << "'";
> @@ -1107,8 +1108,9 @@ int CameraData::loadPipelineConfiguration()
>
> std::optional<double> ver = (*root)["version"].get<double>();
> if (!ver || *ver != 1.0) {
> - LOG(RPI, Error) << "Unexpected configuration file version reported";
> - return -EINVAL;
> + LOG(RPI, Warning) << "Unexpected configuration file version reported: "
> + << *ver;
> + return 0;
> }
>
> const YamlObject &phConfig = (*root)["pipeline_handler"];
> --
> 2.34.1
>
More information about the libcamera-devel
mailing list