summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Elder <paul.elder@ideasonboard.com>2020-09-15 21:17:21 +0900
committerPaul Elder <paul.elder@ideasonboard.com>2020-10-07 19:17:31 +0900
commitc57622d95ff0b8bbc3d7fc6194f16b0a55b79842 (patch)
tree11aa5519f4f4061bf433890cb7405c277000ad22
parent1469d5e26e27bf5fe4d065a6f3c87edd804f2888 (diff)
libcamera: PipelineHandler: Move printing pipeline names to CameraManager
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. Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
-rw-r--r--src/libcamera/camera_manager.cpp3
-rw-r--r--src/libcamera/pipeline_handler.cpp3
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() << "\"";
}
/**