#[cfg(target_os = "macos")]
#[test]
fn test_play_callback_no_panic() {
use std::sync::Arc;
use std::sync::atomic::{AtomicU32, Ordering};
let frame_count = Arc::new(AtomicU32::new(0));
let fc = Arc::clone(&frame_count);
let config = oxisound::StreamConfig::STEREO_48K;
let guard = oxisound::play_callback(config, move |buf| {
buf.fill(0.0);
fc.fetch_add(buf.len() as u32, Ordering::Relaxed);
});
match guard {
Ok(_g) => {
std::thread::sleep(std::time::Duration::from_millis(150));
assert!(
frame_count.load(Ordering::Relaxed) > 0,
"no frames rendered"
);
}
Err(_) => { }
}
}
#[cfg(target_os = "macos")]
#[test]
fn test_default_output_no_panic() {
let result = oxisound::default_output();
match result {
Ok(_dev) => {
}
Err(_) => { }
}
}