diff options
Diffstat (limited to 'src/audio/fatfs_audio_input.cpp')
| -rw-r--r-- | src/audio/fatfs_audio_input.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/audio/fatfs_audio_input.cpp b/src/audio/fatfs_audio_input.cpp index 3e501154..f0d4d751 100644 --- a/src/audio/fatfs_audio_input.cpp +++ b/src/audio/fatfs_audio_input.cpp @@ -106,6 +106,8 @@ auto FatfsAudioInput::ProcessIdle() -> cpp::result<void, AudioProcessingError> { read_size = file_buffer_.begin() - file_buffer_write_pos_; } + ESP_LOGI(kTag, "reading up to %d bytes", (int) read_size); + UINT bytes_read = 0; FRESULT result = f_read(¤t_file_, std::addressof(file_buffer_write_pos_), @@ -115,6 +117,8 @@ auto FatfsAudioInput::ProcessIdle() -> cpp::result<void, AudioProcessingError> { return cpp::fail(IO_ERROR); } + ESP_LOGI(kTag, "actual read size %d bytes", (int) bytes_read); + if (f_eof(¤t_file_)) { f_close(¤t_file_); is_file_open_ = false; @@ -130,7 +134,8 @@ auto FatfsAudioInput::ProcessIdle() -> cpp::result<void, AudioProcessingError> { } // Now stream data into the output buffer until it's full. - while (1) { + while (GetRingBufferDistance() > 0) { + ESP_LOGI(kTag, "writing up to %d bytes", (int) GetRingBufferDistance()); ChunkWriteResult result = chunk_writer_->WriteChunkToStream( [&](cpp::span<std::byte> d) { return SendChunk(d); }, kServiceInterval); @@ -146,6 +151,8 @@ auto FatfsAudioInput::ProcessIdle() -> cpp::result<void, AudioProcessingError> { return cpp::fail(IO_ERROR); } } + + return {}; } auto FatfsAudioInput::SendChunk(cpp::span<std::byte> dest) -> size_t { |
