diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-01-31 16:35:52 +1100 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-01-31 16:35:52 +1100 |
| commit | 9eecf78e08e26b488e6a88947611eb89e9870fb0 (patch) | |
| tree | 7e61e3100f55272a896c085c9f8f4e0cfe30c5cd /src/audio/fatfs_audio_input.cpp | |
| parent | aae18719991c29a286d69661264d261004ee7aeb (diff) | |
| download | tangara-fw-9eecf78e08e26b488e6a88947611eb89e9870fb0.tar.gz | |
fixing reading past eof
Diffstat (limited to 'src/audio/fatfs_audio_input.cpp')
| -rw-r--r-- | src/audio/fatfs_audio_input.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/audio/fatfs_audio_input.cpp b/src/audio/fatfs_audio_input.cpp index 14176eae..08f39347 100644 --- a/src/audio/fatfs_audio_input.cpp +++ b/src/audio/fatfs_audio_input.cpp @@ -20,7 +20,7 @@ static const char* kTag = "SRC"; namespace audio { // 32KiB to match the minimum himen region size. -static const std::size_t kChunkSize = 32 * 1024; +static const std::size_t kChunkSize = 24 * 1024; FatfsAudioInput::FatfsAudioInput(std::shared_ptr<drivers::SdStorage> storage) : IAudioElement(), @@ -88,7 +88,8 @@ auto FatfsAudioInput::Process() -> cpp::result<void, AudioProcessingError> { dest_event->chunk_data.bytes.first(bytes_read); SendOrBufferEvent(std::move(dest_event)); - if (f_eof(¤t_file_)) { + if (bytes_read < kChunkSize || f_eof(¤t_file_)) { + ESP_LOGI(kTag, "closing file"); f_close(¤t_file_); is_file_open_ = false; } |
