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, 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;
}