summaryrefslogtreecommitdiff
path: root/src/audio/include/audio_playback.hpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-03-10 11:28:33 +1100
committerjacqueline <me@jacqueline.id.au>2023-04-19 10:27:59 +1000
commita9531c86a433c8b7ae1f77ff0266c27c39eca7f4 (patch)
tree11835552aa2ecb400537781d8eb3851118c47e61 /src/audio/include/audio_playback.hpp
parent2a46eecdc6334c31cee2b40427d2536b48cbb6be (diff)
downloadtangara-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.hpp13
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