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

libcamera v0.0.3 Supporting cameras in Linux since 2019

Loading...
Searching...
No Matches
Classes | Namespaces
device_enumerator.h File Reference

Enumeration and matching of media devices. More...

`#include <memory>`
`#include <string>`
`#include <vector>`
`#include <libcamera/base/signal.h>`
Include dependency graph for device_enumerator.h:

Go to the source code of this file.

## Classes
class | libcamera::DeviceMatch
| Description of a media device search pattern. More...
class | libcamera::DeviceEnumerator
| Enumerate, store and search media devices. More...

## Namespaces
namespace | libcamera
| Top-level libcamera namespace.

## Detailed Description

Enumeration and matching of media devices.

The purpose of device enumeration and matching is to find media devices in the system and map them to pipeline handlers.

At the core of the enumeration is the DeviceEnumerator class, responsible for enumerating all media devices in the system. It handles all interactions with the operating system in a platform-specific way. For each media device found an instance of MediaDevice is created to store information about the device gathered from the kernel through the Media Controller API.

The DeviceEnumerator can enumerate all or specific media devices in the system. When a new media device is added the enumerator creates a corresponding MediaDevice instance.

The enumerator supports searching among enumerated devices based on criteria expressed in a DeviceMatch object.