[libcamera-devel] [PATCH 03/38] libcamera: PipelineHandler: Move printing pipeline names to CameraManager
Jacopo Mondi
jacopo at jmondi.org
Wed Sep 23 12:41:15 CEST 2020
Hi Paul,
On Tue, Sep 22, 2020 at 10:35:02PM +0900, Paul Elder wrote:
> Since pipeline registration is done with declaring static factory
> objects, there is a risk that pipeline factories will be constructed
> before libcamera facilities are ready. For example, logging in the
> constructor of a pipeline handler factory may cause a segfault if
> threading isn't ready yet. Avoid this issue by moving printing the
> registration of the pipeline handler to the camera manager.
Did you ever see this happening ?
>
> Signed-off-by: Paul Elder <paul.elder at ideasonboard.com>
> Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>
Thanks
j
>
> ---
> Cosmetic changes in v2
> ---
> src/libcamera/camera_manager.cpp | 3 +++
> src/libcamera/pipeline_handler.cpp | 3 ---
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/src/libcamera/camera_manager.cpp b/src/libcamera/camera_manager.cpp
> index b8d3ccc8..756f5b2b 100644
> --- a/src/libcamera/camera_manager.cpp
> +++ b/src/libcamera/camera_manager.cpp
> @@ -142,6 +142,9 @@ void CameraManager::Private::createPipelineHandlers()
> PipelineHandlerFactory::factories();
>
> for (PipelineHandlerFactory *factory : factories) {
> + LOG(Camera, Debug)
> + << "Found registered pipeline handler '"
> + << factory->name() << "'";
> /*
> * Try each pipeline handler until it exhaust
> * all pipelines it can provide.
> diff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp
> index 918aea1e..894200ee 100644
> --- a/src/libcamera/pipeline_handler.cpp
> +++ b/src/libcamera/pipeline_handler.cpp
> @@ -689,9 +689,6 @@ void PipelineHandlerFactory::registerType(PipelineHandlerFactory *factory)
> std::vector<PipelineHandlerFactory *> &factories = PipelineHandlerFactory::factories();
>
> factories.push_back(factory);
> -
> - LOG(Pipeline, Debug)
> - << "Registered pipeline handler \"" << factory->name() << "\"";
> }
>
> /**
> --
> 2.27.0
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel
More information about the libcamera-devel
mailing list