From 499d5a942fc2ad0149b0a16e978e090336dd8319 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Tue, 7 Nov 2023 10:32:07 +1100 Subject: Add a wrapper codec source that does readahead --- src/audio/fatfs_audio_input.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/audio/fatfs_audio_input.cpp') 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(stream_type.value(), std::move(file)); + new_stream_.reset(new ReadaheadSource(bg_worker_, std::move(source))); return true; } -- cgit v1.2.3