summaryrefslogtreecommitdiff
path: root/src/audio/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/audio/include')
-rw-r--r--src/audio/include/audio_element.hpp2
-rw-r--r--src/audio/include/audio_playback.hpp2
-rw-r--r--src/audio/include/i2s_audio_output.hpp1
-rw-r--r--src/audio/include/stream_event.hpp2
4 files changed, 7 insertions, 0 deletions
diff --git a/src/audio/include/audio_element.hpp b/src/audio/include/audio_element.hpp
index 0c80524c..b881404c 100644
--- a/src/audio/include/audio_element.hpp
+++ b/src/audio/include/audio_element.hpp
@@ -107,6 +107,8 @@ class IAudioElement {
virtual auto ProcessEndOfStream() -> void = 0;
+ virtual auto ProcessLogStatus() -> void {}
+
/*
* Called when there has been no data received over the input buffer for some
* time. This could be used to synthesize output, or to save memory by
diff --git a/src/audio/include/audio_playback.hpp b/src/audio/include/audio_playback.hpp
index f05ca327..fc266c9b 100644
--- a/src/audio/include/audio_playback.hpp
+++ b/src/audio/include/audio_playback.hpp
@@ -37,6 +37,8 @@ class AudioPlayback {
*/
auto Play(const std::string& filename) -> void;
+ auto LogStatus() -> void;
+
// Not copyable or movable.
AudioPlayback(const AudioPlayback&) = delete;
AudioPlayback& operator=(const AudioPlayback&) = delete;
diff --git a/src/audio/include/i2s_audio_output.hpp b/src/audio/include/i2s_audio_output.hpp
index fc406665..de2f1f58 100644
--- a/src/audio/include/i2s_audio_output.hpp
+++ b/src/audio/include/i2s_audio_output.hpp
@@ -29,6 +29,7 @@ class I2SAudioOutput : public IAudioElement {
auto ProcessChunk(const cpp::span<std::byte>& chunk)
-> cpp::result<std::size_t, AudioProcessingError> override;
auto ProcessEndOfStream() -> void override;
+ auto ProcessLogStatus() -> void override;
auto Process() -> cpp::result<void, AudioProcessingError> override;
I2SAudioOutput(const I2SAudioOutput&) = delete;
diff --git a/src/audio/include/stream_event.hpp b/src/audio/include/stream_event.hpp
index e84c8388..d42de411 100644
--- a/src/audio/include/stream_event.hpp
+++ b/src/audio/include/stream_event.hpp
@@ -17,6 +17,7 @@ struct StreamEvent {
-> StreamEvent*;
static auto CreateChunkNotification(QueueHandle_t source) -> StreamEvent*;
static auto CreateEndOfStream(QueueHandle_t source) -> StreamEvent*;
+ static auto CreateLogStatus() -> StreamEvent*;
StreamEvent();
~StreamEvent();
@@ -30,6 +31,7 @@ struct StreamEvent {
CHUNK_DATA,
CHUNK_NOTIFICATION,
END_OF_STREAM,
+ LOG_STATUS,
} tag;
union {