From e01014a89a7534d01e55900fb195128a9c2209ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Forment?= Date: Tue, 3 Feb 2026 14:14:28 +0100 Subject: [PATCH] clamp audio options --- src/engine/audio.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/engine/audio.rs b/src/engine/audio.rs index ed5a3e9..725c85b 100644 --- a/src/engine/audio.rs +++ b/src/engine/audio.rs @@ -255,6 +255,9 @@ pub fn build_stream( let default_config = device.default_output_config().map_err(|e| e.to_string())?; 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 { cpal::BufferSize::Fixed(config.buffer_size) } else { @@ -262,13 +265,13 @@ pub fn build_stream( }; let stream_config = cpal::StreamConfig { - channels: config.channels, + channels, sample_rate: default_config.sample_rate(), buffer_size, }; let sr = sample_rate; - let channels = config.channels as usize; + let channels = channels as usize; let max_voices = config.max_voices; let mut engine =