From 60169cdd91c46fb9c5cd22c2864e47b8e2dc413e Mon Sep 17 00:00:00 2001 From: jacqueline Date: Thu, 17 Nov 2022 13:30:16 +1100 Subject: WIP on our own pipeline --- src/audio/include/audio_output.hpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/audio/include/audio_output.hpp (limited to 'src/audio/include/audio_output.hpp') diff --git a/src/audio/include/audio_output.hpp b/src/audio/include/audio_output.hpp new file mode 100644 index 00000000..82dca82d --- /dev/null +++ b/src/audio/include/audio_output.hpp @@ -0,0 +1,29 @@ +#pragma once + +#include +#include + +#include "audio_common.h" +#include "audio_element.h" + +namespace drivers { + +class IAudioOutput { + public: + IAudioOutput(audio_element_handle_t element) : element_(element) {} + virtual ~IAudioOutput() { audio_element_deinit(element_); } + + auto GetAudioElement() -> audio_element_handle_t { return element_; } + + virtual auto SetVolume(uint8_t volume) -> void = 0; + virtual auto GetVolume() const -> uint8_t { return volume_; } + + virtual auto Configure(audio_element_info_t& info) -> void = 0; + virtual auto SetSoftMute(bool enabled) -> void = 0; + + protected: + audio_element_handle_t element_; + uint8_t volume_; +}; + +} // namespace drivers -- cgit v1.2.3