diff --git a/esphome/components/voice_assistant/voice_assistant.cpp b/esphome/components/voice_assistant/voice_assistant.cpp index 50add6b1d0..dba9b925d0 100644 --- a/esphome/components/voice_assistant/voice_assistant.cpp +++ b/esphome/components/voice_assistant/voice_assistant.cpp @@ -249,7 +249,11 @@ void VoiceAssistant::stream_api_audio_() { } if (!this->api_client_->send_message(msg)) { - ESP_LOGV(TAG, "Audio frame dropped, TCP buffer full"); + // Keep the chunk exposed and retry next pass, the same shape as + // APIConnection::try_send_camera_image_(): the slice is only lost if + // the ring buffer overflows before the TCP buffer clears, instead of + // on every refusal. The api layer already reports the refusal at V. + return; } this->audio_source_->consume(available);