libcamera
v0.3.1+12-19bbca3c
Supporting cameras in Linux since 2019
|
Create pipelines and cameras from a set of media devices. More...
#include <memory>
#include <queue>
#include <set>
#include <string>
#include <sys/types.h>
#include <vector>
#include <libcamera/base/mutex.h>
#include <libcamera/base/object.h>
#include <libcamera/controls.h>
#include <libcamera/stream.h>
#include "libcamera/internal/ipa_proxy.h"
Go to the source code of this file.
Classes | |
class | libcamera::PipelineHandler |
Create and manage cameras based on a set of media devices. More... | |
class | libcamera::PipelineHandlerFactoryBase |
Base class for pipeline handler factories. More... | |
class | libcamera::PipelineHandlerFactory< _PipelineHandler > |
Registration of PipelineHandler classes and creation of instances. More... | |
Namespaces | |
libcamera | |
Top-level libcamera namespace. | |
Macros | |
#define | REGISTER_PIPELINE_HANDLER(handler, name) static PipelineHandlerFactory<handler> global_##handler##Factory(name); |
Register a pipeline handler with the pipeline handler factory. More... | |
Create pipelines and cameras from a set of media devices.
Each pipeline supported by libcamera needs to be backed by a pipeline handler implementation that operate on a set of media devices. The pipeline handler is responsible for matching the media devices it requires with the devices present in the system, and once all those devices can be acquired, create corresponding Camera instances.
Every subclass of PipelineHandler shall be registered with libcamera using the REGISTER_PIPELINE_HANDLER() macro.
#define REGISTER_PIPELINE_HANDLER | ( | handler, | |
name | |||
) | static PipelineHandlerFactory<handler> global_##handler##Factory(name); |
Register a pipeline handler with the pipeline handler factory.
[in] | handler | Class name of PipelineHandler derived class to register |
[in] | name | Name assigned to the pipeline handler, matching the pipeline subdirectory name in the source tree. |
Register a PipelineHandler subclass with the factory and make it available to try and match devices.