libcamera  v0.3.1+12-19bbca3c
Supporting cameras in Linux since 2019
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

 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.