summaryrefslogtreecommitdiff
path: root/src/audio/include/fatfs_audio_input.hpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-01-26 15:02:57 +1100
committerjacqueline <me@jacqueline.id.au>2023-01-26 15:02:57 +1100
commitf6dcd845fc80da4e3043146e4362258dd8e0c0a1 (patch)
tree91410899a83fcc2dfb1eb3ab4837a11e401366fc /src/audio/include/fatfs_audio_input.hpp
parente7f926e2c376ccd4f4a4d6f4b104f3c23b0059dc (diff)
downloadtangara-fw-f6dcd845fc80da4e3043146e4362258dd8e0c0a1.tar.gz
Switch from MessageBuffer to Queue for pipeline comms
Diffstat (limited to 'src/audio/include/fatfs_audio_input.hpp')
-rw-r--r--src/audio/include/fatfs_audio_input.hpp16
1 files changed, 3 insertions, 13 deletions
diff --git a/src/audio/include/fatfs_audio_input.hpp b/src/audio/include/fatfs_audio_input.hpp
index f3704f1d..5625d941 100644
--- a/src/audio/include/fatfs_audio_input.hpp
+++ b/src/audio/include/fatfs_audio_input.hpp
@@ -22,32 +22,22 @@ class FatfsAudioInput : public IAudioElement {
explicit FatfsAudioInput(std::shared_ptr<drivers::SdStorage> storage);
~FatfsAudioInput();
+ auto HasUnprocessedInput() -> bool override;
+
auto ProcessStreamInfo(const StreamInfo& info)
-> cpp::result<void, AudioProcessingError> override;
auto ProcessChunk(const cpp::span<std::byte>& chunk)
-> cpp::result<std::size_t, AudioProcessingError> override;
- auto ProcessIdle() -> cpp::result<void, AudioProcessingError> override;
-
- auto SendChunk(cpp::span<std::byte> dest) -> size_t;
+ auto Process() -> cpp::result<void, AudioProcessingError> override;
FatfsAudioInput(const FatfsAudioInput&) = delete;
FatfsAudioInput& operator=(const FatfsAudioInput&) = delete;
private:
- auto GetRingBufferDistance() const -> size_t;
-
std::shared_ptr<drivers::SdStorage> storage_;
- std::byte* raw_file_buffer_;
- cpp::span<std::byte> file_buffer_;
- cpp::span<std::byte>::iterator file_buffer_read_pos_;
- cpp::span<std::byte>::iterator pending_read_pos_;
- cpp::span<std::byte>::iterator file_buffer_write_pos_;
-
FIL current_file_;
bool is_file_open_;
-
- std::unique_ptr<ChunkWriter> chunk_writer_;
};
} // namespace audio