diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-11-07 10:32:07 +1100 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-11-07 10:32:07 +1100 |
| commit | 499d5a942fc2ad0149b0a16e978e090336dd8319 (patch) | |
| tree | 1f671f0e3025b1350b25511e2442dfede19677df /src/audio/fatfs_audio_input.cpp | |
| parent | d36fe9be6b522a3dade389213a0bb7e26a169627 (diff) | |
| download | tangara-fw-499d5a942fc2ad0149b0a16e978e090336dd8319.tar.gz | |
Add a wrapper codec source that does readahead
Diffstat (limited to 'src/audio/fatfs_audio_input.cpp')
| -rw-r--r-- | src/audio/fatfs_audio_input.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/audio/fatfs_audio_input.cpp b/src/audio/fatfs_audio_input.cpp index b919a3a8..e13ae793 100644 --- a/src/audio/fatfs_audio_input.cpp +++ b/src/audio/fatfs_audio_input.cpp @@ -23,6 +23,7 @@ #include "freertos/portmacro.h" #include "freertos/projdefs.h" #include "idf_additions.h" +#include "readahead_source.hpp" #include "span.hpp" #include "audio_events.hpp" @@ -42,9 +43,11 @@ namespace audio { -FatfsAudioInput::FatfsAudioInput(database::ITagParser& tag_parser) +FatfsAudioInput::FatfsAudioInput(database::ITagParser& tag_parser, + tasks::Worker& bg_worker) : IAudioSource(), tag_parser_(tag_parser), + bg_worker_(bg_worker), new_stream_mutex_(), new_stream_(), has_new_stream_(false), @@ -142,7 +145,9 @@ auto FatfsAudioInput::OpenFile(const std::pmr::string& path) -> bool { return false; } - new_stream_.reset(new FatfsSource(stream_type.value(), std::move(file))); + auto source = + std::make_unique<FatfsSource>(stream_type.value(), std::move(file)); + new_stream_.reset(new ReadaheadSource(bg_worker_, std::move(source))); return true; } |
