diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-08-16 11:40:49 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-08-16 11:40:49 +1000 |
| commit | c635d5011c37c02246135fe0df404631ec111bd6 (patch) | |
| tree | b0373eeeb2722b852c75fb28c9df5b30e0f861e0 /src/audio/include/audio_task.hpp | |
| parent | 4e27de21e49900963ffa61cc9c0a676bb028f992 (diff) | |
| download | tangara-fw-c635d5011c37c02246135fe0df404631ec111bd6.tar.gz | |
Put more audio pipeline wiring in control of the audio fsm
Diffstat (limited to 'src/audio/include/audio_task.hpp')
| -rw-r--r-- | src/audio/include/audio_task.hpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/audio/include/audio_task.hpp b/src/audio/include/audio_task.hpp index d2c25add..08c5769c 100644 --- a/src/audio/include/audio_task.hpp +++ b/src/audio/include/audio_task.hpp @@ -34,7 +34,8 @@ class Timer { class AudioTask { public: - static auto Start(IAudioSource* source, IAudioSink* sink) -> AudioTask*; + static auto Start(std::shared_ptr<IAudioSource> source, + std::shared_ptr<SinkMixer> mixer) -> AudioTask*; auto Main() -> void; @@ -42,21 +43,21 @@ class AudioTask { AudioTask& operator=(const AudioTask&) = delete; private: - AudioTask(IAudioSource* source, IAudioSink* sink); + AudioTask(std::shared_ptr<IAudioSource> source, + std::shared_ptr<SinkMixer> mixer); auto BeginDecoding(std::shared_ptr<codecs::IStream>) -> bool; auto ContinueDecoding() -> bool; - IAudioSource* source_; - IAudioSink* sink_; + std::shared_ptr<IAudioSource> source_; + std::shared_ptr<SinkMixer> mixer_; std::shared_ptr<codecs::IStream> stream_; std::unique_ptr<codecs::ICodec> codec_; - std::unique_ptr<SinkMixer> mixer_; std::unique_ptr<Timer> timer_; std::optional<codecs::ICodec::OutputFormat> current_format_; - std::optional<IAudioSink::Format> current_sink_format_; + std::optional<IAudioOutput::Format> current_sink_format_; cpp::span<sample::Sample> codec_buffer_; }; |
