diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-03-10 11:28:33 +1100 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-04-19 10:27:59 +1000 |
| commit | a9531c86a433c8b7ae1f77ff0266c27c39eca7f4 (patch) | |
| tree | 11835552aa2ecb400537781d8eb3851118c47e61 /src/audio/include/audio_playback.hpp | |
| parent | 2a46eecdc6334c31cee2b40427d2536b48cbb6be (diff) | |
| download | tangara-fw-a9531c86a433c8b7ae1f77ff0266c27c39eca7f4.tar.gz | |
mostly single task pipeline
Diffstat (limited to 'src/audio/include/audio_playback.hpp')
| -rw-r--r-- | src/audio/include/audio_playback.hpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/audio/include/audio_playback.hpp b/src/audio/include/audio_playback.hpp index a1bea64f..507e6f73 100644 --- a/src/audio/include/audio_playback.hpp +++ b/src/audio/include/audio_playback.hpp @@ -5,7 +5,9 @@ #include <string> #include <vector> +#include "audio_task.hpp" #include "esp_err.h" +#include "fatfs_audio_input.hpp" #include "result.hpp" #include "span.hpp" @@ -23,12 +25,10 @@ namespace audio { class AudioPlayback { public: enum Error { ERR_INIT_ELEMENT, ERR_MEM }; - static auto create(drivers::GpioExpander* expander, - std::shared_ptr<drivers::SdStorage> storage) + static auto create(drivers::GpioExpander* expander) -> cpp::result<std::unique_ptr<AudioPlayback>, Error>; - // TODO(jacqueline): configure on the fly once we have things to configure. - AudioPlayback(); + AudioPlayback(FatfsAudioInput *file_input); ~AudioPlayback(); /* @@ -44,9 +44,10 @@ class AudioPlayback { AudioPlayback& operator=(const AudioPlayback&) = delete; private: - auto ConnectElements(IAudioElement* src, IAudioElement* sink) -> void; + FatfsAudioInput *file_source; - QueueHandle_t input_handle_; + std::vector<std::unique_ptr<IAudioElement>> all_elements_; + std::unique_ptr<task::Handle> pipeline_; }; } // namespace audio |
