pipeline_handler.h File Reference

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

`#include <list>`
`#include <map>`
`#include <memory>`
`#include <set>`
`#include <string>`
`#include <sys/types.h>`
`#include <vector>`
`#include <libcamera/controls.h>`
`#include <libcamera/object.h>`
`#include <libcamera/stream.h>`
`#include "libcamera/internal/ipa_proxy.h"`

Go to the source code of this file.

## Classes

class | libcamera::CameraData
| Base class for platform-specific data associated with a camera. More...
class | libcamera::PipelineHandler
| Create and manage cameras based on a set of media devices. More...
class | libcamera::PipelineHandlerFactory
| Registration of PipelineHandler classes and creation of instances. More...

## Macros

#define | REGISTER_PIPELINE_HANDLER(handler)
| Register a pipeline handler with the pipeline handler factory. More...

## 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 | ) |

Value:
class handler##Factory final : public PipelineHandlerFactory \
{ \
public: \
handler##Factory() : PipelineHandlerFactory(#handler) {} \
\
private: \
PipelineHandler *createInstance(CameraManager *manager) \
{ \
return new handler(manager); \
} \
}; \
static handler##Factory global_##handler##Factory;

Register a pipeline handler with the pipeline handler factory.

Parameters

  [in] | handler | Class name of PipelineHandler derived class to register

Register a PipelineHandler subclass with the factory and make it available to try and match devices.