summaryrefslogtreecommitdiff
path: root/src/audio/fatfs_audio_input.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/audio/fatfs_audio_input.cpp')
-rw-r--r--src/audio/fatfs_audio_input.cpp9
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(&current_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(&current_file_)) {
f_close(&current_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 {