summaryrefslogtreecommitdiff
path: root/src/audio/include/fatfs_audio_input.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/fatfs_audio_input.hpp
parent2a46eecdc6334c31cee2b40427d2536b48cbb6be (diff)
downloadtangara-fw-a9531c86a433c8b7ae1f77ff0266c27c39eca7f4.tar.gz
mostly single task pipeline
Diffstat (limited to 'src/audio/include/fatfs_audio_input.hpp')
-rw-r--r--src/audio/include/fatfs_audio_input.hpp17
1 files changed, 6 insertions, 11 deletions
diff --git a/src/audio/include/fatfs_audio_input.hpp b/src/audio/include/fatfs_audio_input.hpp
index 9f2d676c..b3a6d843 100644
--- a/src/audio/include/fatfs_audio_input.hpp
+++ b/src/audio/include/fatfs_audio_input.hpp
@@ -3,41 +3,36 @@
#include <cstdint>
#include <memory>
#include <string>
+#include <vector>
#include "arena.hpp"
#include "chunk.hpp"
#include "freertos/FreeRTOS.h"
+#include "ff.h"
#include "freertos/message_buffer.h"
#include "freertos/queue.h"
#include "span.hpp"
#include "audio_element.hpp"
-#include "storage.hpp"
#include "stream_buffer.hpp"
namespace audio {
class FatfsAudioInput : public IAudioElement {
public:
- explicit FatfsAudioInput(std::shared_ptr<drivers::SdStorage> storage);
+ explicit FatfsAudioInput();
~FatfsAudioInput();
- auto HasUnprocessedInput() -> bool override;
- auto IsOverBuffered() -> bool override;
+ auto OpenFile(const std::string& path) -> void;
- auto ProcessStreamInfo(const StreamInfo& info) -> void override;
- auto ProcessChunk(const cpp::span<std::byte>& chunk) -> void override;
- auto ProcessEndOfStream() -> void override;
- auto Process() -> void override;
+ auto Process(std::vector<Stream>* inputs, MutableStream* output)
+ -> void override;
FatfsAudioInput(const FatfsAudioInput&) = delete;
FatfsAudioInput& operator=(const FatfsAudioInput&) = delete;
private:
- memory::Arena arena_;
- std::shared_ptr<drivers::SdStorage> storage_;
-
FIL current_file_;
bool is_file_open_;
};