From edbb9f7b287da034eb529d325aa0f4245d2e3068 Mon Sep 17 00:00:00 2001 From: Keith Burzinski Date: Tue, 5 May 2026 07:15:32 -0500 Subject: [PATCH] [i2s_audio] Fix stereo playback when slot bit width exceeds data bit width (#16248) --- .../i2s_audio/speaker/i2s_audio_speaker_standard.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/esphome/components/i2s_audio/speaker/i2s_audio_speaker_standard.cpp b/esphome/components/i2s_audio/speaker/i2s_audio_speaker_standard.cpp index 0203464034..edb316e3a2 100644 --- a/esphome/components/i2s_audio/speaker/i2s_audio_speaker_standard.cpp +++ b/esphome/components/i2s_audio/speaker/i2s_audio_speaker_standard.cpp @@ -280,6 +280,9 @@ esp_err_t I2SAudioSpeaker::start_i2s_driver(audio::AudioStreamInfo &audio_stream } #else slot_cfg.slot_bit_width = this->slot_bit_width_; + if (this->slot_bit_width_ != I2S_SLOT_BIT_WIDTH_AUTO) { + slot_cfg.ws_width = static_cast(this->slot_bit_width_); + } #endif // USE_ESP32_VARIANT_ESP32 slot_cfg.slot_mask = slot_mask;