From 31a7378c879a09e88c8908c6743c9a120c66a3c5 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Fri, 10 Jan 2025 04:30:03 +0200 Subject: libcamera: pipeline_handler: Enable silent configuration file lookup The PipelineHandler::configurationFile() function prints an error message when no configuration file is found. It can be useful for pipeline handlers to silence the lookup operation and handle errors themselves. Add a silent parameter to the function to enable this. Signed-off-by: Laurent Pinchart Tested-by: Julien Vuillaumier Reviewed-by: Kieran Bingham --- src/libcamera/pipeline_handler.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp index caa5c20e..d84dff3c 100644 --- a/src/libcamera/pipeline_handler.cpp +++ b/src/libcamera/pipeline_handler.cpp @@ -581,6 +581,7 @@ void PipelineHandler::cancelRequest(Request *request) * \brief Retrieve the absolute path to a platform configuration file * \param[in] subdir The pipeline handler specific subdirectory name * \param[in] name The configuration file name + * \param[in] silent Disable error messages * * This function locates a named platform configuration file and returns * its absolute path to the pipeline handler. It searches the following @@ -596,7 +597,8 @@ void PipelineHandler::cancelRequest(Request *request) * string if no configuration file can be found */ std::string PipelineHandler::configurationFile(const std::string &subdir, - const std::string &name) const + const std::string &name, + bool silent) const { std::string confPath; struct stat statbuf; @@ -626,9 +628,11 @@ std::string PipelineHandler::configurationFile(const std::string &subdir, if (ret == 0 && (statbuf.st_mode & S_IFMT) == S_IFREG) return confPath; - LOG(Pipeline, Error) - << "Configuration file '" << confPath - << "' not found for pipeline handler '" << PipelineHandler::name() << "'"; + if (!silent) + LOG(Pipeline, Error) + << "Configuration file '" << confPath + << "' not found for pipeline handler '" + << PipelineHandler::name() << "'"; return std::string(); } -- cgit v1.2.1