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
//! Shared device vocabulary: [`DeviceKind`]/[`DeviceId`]/[`Select`], capability/permission
//! probing ([`Support`]/[`Unavailable`]/[`PermissionState`]), the shared [`CaptureError`], and
//! the cross-domain [`DeviceHotplug`] trait.
//!
//! **This crate is the base every capture domain crate depends on — it depends on none of
//! them.** The three domain facades built on top of it:
//!
//! - [`mediaway-device-camera`](https://docs.rs/mediaway-device-camera) — `CameraCapture`.
//! - [`mediaway-device-desktop`](https://docs.rs/mediaway-device-desktop) — `DesktopVideoCapture`
//! (screen/window) + `DesktopAudioCapture` (loopback/process-loopback — "what's playing").
//! - [`mediaway-device-audio`](https://docs.rs/mediaway-device-audio) — `AudioCapture`
//! (microphone) + `AudioPlayback` (render endpoint) — "Audio" here means both I/O
//! directions, not capture alone.
//!
//! See `adr/0007-domain-crate-split.md` for why this crate split from one unified facade.
pub use ;
pub use ;
pub use DeviceInfo;
pub use CaptureError;
pub use ;
// ── merged platform/domain modules (ADR-0021) ──