use rill_core::io::IoDriver;
#[cfg(not(feature = "pipewire"))]
pub fn ensure(_sample_rate: u32, _buf_size: u32, _channels: u32) -> Option<Box<dyn IoDriver>> {
None
}
#[cfg(feature = "pipewire")]
pub fn ensure(sample_rate: u32, buf_size: u32, channels: u32) -> Option<Box<dyn IoDriver>> {
use crate::backends::PipewireBackend;
use crate::config::AudioConfig;
let config = AudioConfig::new()
.with_sample_rate(sample_rate)
.with_buffer_size(buf_size)
.with_channels(channels);
PipewireBackend::new(config)
.ok()
.map(|b| Box::new(b) as Box<dyn IoDriver>)
}