diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-02-21 14:40:18 +1100 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-02-21 14:40:18 +1100 |
| commit | 47ae601d417d0ef99eb6fe433ef695614d8d2786 (patch) | |
| tree | f536ecc214c012c0d69b3a8d350a7a1cadb2f671 /src/audio/include/i2s_audio_output.hpp | |
| parent | 941bafca17b13547a88668b787ce4c8e064ef7ff (diff) | |
| download | tangara-fw-47ae601d417d0ef99eb6fe433ef695614d8d2786.tar.gz | |
Tidy up pipeline and use arena capacity to test for overruns
Diffstat (limited to 'src/audio/include/i2s_audio_output.hpp')
| -rw-r--r-- | src/audio/include/i2s_audio_output.hpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/src/audio/include/i2s_audio_output.hpp b/src/audio/include/i2s_audio_output.hpp index de2f1f58..2bea091b 100644 --- a/src/audio/include/i2s_audio_output.hpp +++ b/src/audio/include/i2s_audio_output.hpp @@ -23,28 +23,23 @@ class I2SAudioOutput : public IAudioElement { ~I2SAudioOutput(); auto HasUnprocessedInput() -> bool override; + auto IsOverBuffered() -> 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 ProcessStreamInfo(const StreamInfo& info) -> void override; + auto ProcessChunk(const cpp::span<std::byte>& chunk) -> void override; auto ProcessEndOfStream() -> void override; auto ProcessLogStatus() -> void override; - auto Process() -> cpp::result<void, AudioProcessingError> override; + auto Process() -> void override; I2SAudioOutput(const I2SAudioOutput&) = delete; I2SAudioOutput& operator=(const I2SAudioOutput&) = delete; private: auto SetVolume(uint8_t volume) -> void; - auto SetSoftMute(bool enabled) -> void; drivers::GpioExpander* expander_; std::unique_ptr<drivers::AudioDac> dac_; - uint8_t volume_; - bool is_soft_muted_; - std::optional<ChunkReader> chunk_reader_; cpp::span<std::byte> latest_chunk_; }; |
