1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//! Device enumeration snapshot ([`DeviceInfo`]). See
//! [ADR-0005](../adr/0005-device-selection.md).
use crateDeviceKind;
use crateDeviceId;
/// Owned, detached snapshot of one enumerated device — `Clone + Send +
/// 'static` (plain owned data, no borrows, no platform handle) by
/// construction.
///
/// **Free-function shape, not a `Devices` struct/trait** — matching
/// ADR-0003's `support`/`request_permission` precedent exactly: each
/// platform crate exposes its own `enumerate(kind: DeviceKind) ->
/// Result<Vec<DeviceInfo>, CaptureError>` free function (e.g.
/// `mediaway-device-windows::enumeration::enumerate`); this facade declares
/// only the vocabulary type.