summaryrefslogtreecommitdiff
path: root/src/audio/fatfs_audio_input.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-01-21 19:01:54 +1100
committerjacqueline <me@jacqueline.id.au>2023-01-21 19:01:54 +1100
commit8ed3d7e31f8b16a24593c01a480b19b14a513b48 (patch)
treef055abec7631f9682396ad5c3f125824d76cc95e /src/audio/fatfs_audio_input.cpp
parentc7901ae4297d42d55bb3a06010198ecf14b3a7ba (diff)
downloadtangara-fw-8ed3d7e31f8b16a24593c01a480b19b14a513b48.tar.gz
Re-enable the parts of the audio pipeline that are working
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 {