diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-06-06 10:20:46 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-06-06 10:20:46 +1000 |
| commit | 8a2a2d226558d099243eea0aa9ae22b2791e0e0e (patch) | |
| tree | 16c3defdb167ea7f452e5ce96118b165acf6602f /src/audio/include | |
| parent | ee5f662f9bb150138545ca35ef5c4896eb74daea (diff) | |
| download | tangara-fw-8a2a2d226558d099243eea0aa9ae22b2791e0e0e.tar.gz | |
Get basic audio playback going again
Diffstat (limited to 'src/audio/include')
| -rw-r--r-- | src/audio/include/audio_decoder.hpp | 3 | ||||
| -rw-r--r-- | src/audio/include/audio_element.hpp | 3 | ||||
| -rw-r--r-- | src/audio/include/fatfs_audio_input.hpp | 2 |
3 files changed, 8 insertions, 0 deletions
diff --git a/src/audio/include/audio_decoder.hpp b/src/audio/include/audio_decoder.hpp index 5927e150..3cda0305 100644 --- a/src/audio/include/audio_decoder.hpp +++ b/src/audio/include/audio_decoder.hpp @@ -30,6 +30,8 @@ class AudioDecoder : public IAudioElement { AudioDecoder(); ~AudioDecoder(); + auto NeedsToProcess() const -> bool override; + auto Process(const std::vector<InputStream>& inputs, OutputStream* output) -> void override; @@ -41,6 +43,7 @@ class AudioDecoder : public IAudioElement { std::optional<StreamInfo::Format> current_input_format_; std::optional<StreamInfo::Format> current_output_format_; bool has_samples_to_send_; + bool has_input_remaining_; auto ProcessStreamInfo(const StreamInfo& info) -> bool; }; diff --git a/src/audio/include/audio_element.hpp b/src/audio/include/audio_element.hpp index 133a6ae7..7e3d9d7d 100644 --- a/src/audio/include/audio_element.hpp +++ b/src/audio/include/audio_element.hpp @@ -10,6 +10,7 @@ #include <cstdint> #include <deque> #include <memory> +#include <vector> #include "freertos/FreeRTOS.h" @@ -46,6 +47,8 @@ class IAudioElement { IAudioElement() {} virtual ~IAudioElement() {} + virtual auto NeedsToProcess() const -> bool = 0; + virtual auto Process(const std::vector<InputStream>& inputs, OutputStream* output) -> void = 0; }; diff --git a/src/audio/include/fatfs_audio_input.hpp b/src/audio/include/fatfs_audio_input.hpp index 98ad4d2b..bfc0064e 100644 --- a/src/audio/include/fatfs_audio_input.hpp +++ b/src/audio/include/fatfs_audio_input.hpp @@ -33,6 +33,8 @@ class FatfsAudioInput : public IAudioElement { auto OpenFile(const std::string& path) -> bool; + auto NeedsToProcess() const -> bool override; + auto Process(const std::vector<InputStream>& inputs, OutputStream* output) -> void override; |
