clamp audio options
This commit is contained in:
@@ -255,6 +255,9 @@ pub fn build_stream(
|
|||||||
let default_config = device.default_output_config().map_err(|e| e.to_string())?;
|
let default_config = device.default_output_config().map_err(|e| e.to_string())?;
|
||||||
let sample_rate = default_config.sample_rate() as f32;
|
let sample_rate = default_config.sample_rate() as f32;
|
||||||
|
|
||||||
|
let max_channels = doux::audio::max_output_channels(&device);
|
||||||
|
let channels = config.channels.min(max_channels);
|
||||||
|
|
||||||
let buffer_size = if config.buffer_size > 0 {
|
let buffer_size = if config.buffer_size > 0 {
|
||||||
cpal::BufferSize::Fixed(config.buffer_size)
|
cpal::BufferSize::Fixed(config.buffer_size)
|
||||||
} else {
|
} else {
|
||||||
@@ -262,13 +265,13 @@ pub fn build_stream(
|
|||||||
};
|
};
|
||||||
|
|
||||||
let stream_config = cpal::StreamConfig {
|
let stream_config = cpal::StreamConfig {
|
||||||
channels: config.channels,
|
channels,
|
||||||
sample_rate: default_config.sample_rate(),
|
sample_rate: default_config.sample_rate(),
|
||||||
buffer_size,
|
buffer_size,
|
||||||
};
|
};
|
||||||
|
|
||||||
let sr = sample_rate;
|
let sr = sample_rate;
|
||||||
let channels = config.channels as usize;
|
let channels = channels as usize;
|
||||||
let max_voices = config.max_voices;
|
let max_voices = config.max_voices;
|
||||||
|
|
||||||
let mut engine =
|
let mut engine =
|
||||||
|
|||||||
Reference in New Issue
Block a user