From ff0d6d5677ba576ff3d51086638f4dd1966c7c84 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 8 May 2025 18:14:02 +0200 Subject: [PATCH] alsa: clamp audio.channels to MAX_CHANNELS So that we don't end up trying to use too many channels later on. --- spa/plugins/alsa/alsa-pcm.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/spa/plugins/alsa/alsa-pcm.c b/spa/plugins/alsa/alsa-pcm.c index e71d28093..d61d1f333 100644 --- a/spa/plugins/alsa/alsa-pcm.c +++ b/spa/plugins/alsa/alsa-pcm.c @@ -162,6 +162,11 @@ static int alsa_set_param(struct state *state, const char *k, const char *s) int fmt_change = 0; if (spa_streq(k, SPA_KEY_AUDIO_CHANNELS)) { state->default_channels = atoi(s); + if (state->default_channels > SPA_AUDIO_MAX_CHANNELS) { + spa_log_warn(state->log, "%p: %s: %s > %d, clamping", + state, k, s, SPA_AUDIO_MAX_CHANNELS); + state->default_channels = SPA_AUDIO_MAX_CHANNELS; + } fmt_change++; } else if (spa_streq(k, SPA_KEY_AUDIO_RATE)) { state->default_rate = atoi(s);