servo_media_streams/device_monitor.rs
1#[derive(Clone, Copy, Debug)]
2pub enum MediaDeviceKind {
3 AudioInput,
4 AudioOutput,
5 VideoInput,
6}
7
8#[derive(Clone, Debug)]
9pub struct MediaDeviceInfo {
10 pub device_id: String,
11 pub kind: MediaDeviceKind,
12 pub label: String,
13}
14
15pub trait MediaDeviceMonitor {
16 fn enumerate_devices(&self) -> Result<Vec<MediaDeviceInfo>, ()>;
17}