libcamera: include/libcamera/internal/pipeline_handler.h File Reference

libcamera v0.5.1 Supporting cameras in Linux since 2019 |

Loading...
Searching...
No Matches
Classes | Namespaces | Macros
pipeline_handler.h File Reference

Create pipelines and cameras from a set of media devices. More...

`#include <memory>`
`#include <queue>`
`#include <string>`
`#include <sys/types.h>`
`#include <vector>`
`#include <libcamera/base/object.h>`
`#include <libcamera/controls.h>`
`#include <libcamera/stream.h>`
Include dependency graph for pipeline_handler.h:
This graph shows which files directly or indirectly include this file:

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
namespace | libcamera
| Top-level libcamera namespace.

## Macros
#define | REGISTER_PIPELINE_HANDLER(handler, name)
| Register a pipeline handler with the pipeline handler factory.

## Detailed Description

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.

## Macro Definition Documentation

## ◆ REGISTER_PIPELINE_HANDLER

#define REGISTER_PIPELINE_HANDLER | ( |  | handler,
|  |  | name )

Value:
static PipelineHandlerFactory<handler> global_##handler##Factory(name);

Register a pipeline handler with the pipeline handler factory.

Parameters

  [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.