#![cfg_attr(coverage, allow(dead_code, unused_imports, unused_variables))]
#![forbid(unsafe_code)]
//! Server-side audio capture, watchdogs, and microphone gadget input handling.
include!("audio/ear_capture.rs");
mod opus_decode {
    include!("audio/opus_decode.rs");
}
include!("audio/voice_input.rs");

#[cfg(test)]
mod voice_caps_tests {
    use super::voice_input_caps;

    #[test]
    fn voice_input_caps_describe_s16le_stereo_48k() {
        let _ = super::gst::init();
        let caps = voice_input_caps().to_string();
        assert!(caps.contains("audio/x-raw"));
        assert!(caps.contains("format=(string)S16LE"));
        assert!(caps.contains("layout=(string)interleaved"));
        assert!(caps.contains("rate=(int)48000"));
        assert!(caps.contains("channels=(int)2"));
    }
}

#[cfg(all(test, coverage))]
#[path = "tests/audio_1.rs"]
mod tests;

#[cfg(all(test, not(coverage)))]
#[path = "tests/audio_2.rs"]
mod tests;
