summaryrefslogtreecommitdiff
path: root/src/audio/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/audio/include')
-rw-r--r--src/audio/include/audio_decoder.hpp3
-rw-r--r--src/audio/include/audio_element.hpp3
-rw-r--r--src/audio/include/fatfs_audio_input.hpp2
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;