device_enumerator.h File Reference

Enumeration and matching of media devices. More...

`#include <memory>`
`#include <string>`
`#include <vector>`
`#include <linux/media.h>`
`#include <libcamera/signal.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...

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