From 60169cdd91c46fb9c5cd22c2864e47b8e2dc413e Mon Sep 17 00:00:00 2001 From: jacqueline Date: Thu, 17 Nov 2022 13:30:16 +1100 Subject: WIP on our own pipeline --- src/drivers/include/fatfs_audio_input.hpp | 40 +++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/drivers/include/fatfs_audio_input.hpp (limited to 'src/drivers/include/fatfs_audio_input.hpp') diff --git a/src/drivers/include/fatfs_audio_input.hpp b/src/drivers/include/fatfs_audio_input.hpp new file mode 100644 index 00000000..3753c136 --- /dev/null +++ b/src/drivers/include/fatfs_audio_input.hpp @@ -0,0 +1,40 @@ +#pragma once + +namespace drivers { + + class FatfsAudioInput { + public: + FatfsAudioInput(std::shared_ptr storage); + ~FatfsAudioInput(); + + enum Status { + /* + * Successfully read data into the output buffer, and there is still + * data remaining in the file. + */ + OKAY, + + /* + * The ringbuffer was full. No data was read. + */ + RINGBUF_FULL, + + /* + * Some data may have been read into the output buffer, but the file is + * now empty. + */ + FILE_EMPTY, + }; + auto Process() -> Status; + + auto GetOutputBuffer() -> RingbufHandle_t; + + private: + std::shared_ptr storage_; + RingbufHandle_t output_; + + std::string path_; + + }; + +} // namespace drivers -- cgit v1.2.3