From 6e09f4b4d7f7e3ea6d2c4c4884d70c36f2076120 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Thu, 11 Jan 2024 09:50:34 +0900 Subject: [PATCH] Send actual buffered byte count --- .../esp_adf/microphone/esp_adf_microphone.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/esphome/components/esp_adf/microphone/esp_adf_microphone.cpp b/esphome/components/esp_adf/microphone/esp_adf_microphone.cpp index bbc796469d..975d9f4898 100644 --- a/esphome/components/esp_adf/microphone/esp_adf_microphone.cpp +++ b/esphome/components/esp_adf/microphone/esp_adf_microphone.cpp @@ -177,15 +177,15 @@ void ESPADFMicrophone::read_task(void *params) { continue; } - event.type = TaskEventType::RUNNING; - event.err = bytes_read; - xQueueSend(this_mic->read_event_queue_, &event, 0); - int available = rb_bytes_available(this_mic->ring_buffer_); if (available < bytes_read) { rb_read(this_mic->ring_buffer_, nullptr, bytes_read - available, 0); } - rb_write(this_mic->ring_buffer_, (char *) buffer, bytes_read, 0); + int written = rb_write(this_mic->ring_buffer_, (char *) buffer, bytes_read, 0); + + event.type = TaskEventType::RUNNING; + event.err = written; + xQueueSend(this_mic->read_event_queue_, &event, 0); } allocator.deallocate(buffer, BUFFER_SIZE / sizeof(int16_t));