#![allow(clippy::too_long_first_doc_paragraph)] #![cfg_attr(windows, allow(unsafe_code))]
#![cfg_attr(not(windows), deny(unsafe_code))]
#[cfg(windows)]
mod wasapi;
#[cfg(windows)]
mod wasapi_config;
#[cfg(windows)]
mod wasapi_playback;
#[cfg(windows)]
mod wasapi_process;
#[cfg(windows)]
pub use wasapi::{
ComGuard, WindowsWasapiCapture, endpoint_friendly_name, endpoint_id, resolve_endpoint,
};
#[cfg(windows)]
pub use wasapi_config::{WasapiCaptureConfig, WasapiProcessTreeScope, WasapiSource};
#[cfg(windows)]
pub use wasapi_playback::WindowsWasapiPlayback;
#[cfg(windows)]
pub use wasapi_process::open_process_loopback_client;
#[cfg(not(windows))]
mod host_stub;
#[cfg(not(windows))]
pub use host_stub::{WindowsWasapiCapture, WindowsWasapiPlayback};
#[cfg(all(test, windows))]
pub(crate) static HARDWARE_TEST_LOCK: std::sync::Mutex<()> = std::sync::Mutex::new(());
#[cfg(all(test, windows))]
#[path = "lib_tests.rs"]
mod tests;