diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-08-03 15:32:28 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-08-03 15:32:28 +1000 |
| commit | 3511852f39cd5023ec8e6d0b94cc69f34e9201ed (patch) | |
| tree | fa38c2dd0a88d39616540e59f9850b919e20d852 /src/audio/include/audio_task.hpp | |
| parent | fbebc525117f18d5751e6951bc4ffcc51f70dcc4 (diff) | |
| download | tangara-fw-3511852f39cd5023ec8e6d0b94cc69f34e9201ed.tar.gz | |
Add very limited resampling (it's slow as shit)
Diffstat (limited to 'src/audio/include/audio_task.hpp')
| -rw-r--r-- | src/audio/include/audio_task.hpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/audio/include/audio_task.hpp b/src/audio/include/audio_task.hpp index f6e9789b..b27aa039 100644 --- a/src/audio/include/audio_task.hpp +++ b/src/audio/include/audio_task.hpp @@ -14,6 +14,7 @@ #include "audio_source.hpp" #include "codec.hpp" #include "pipeline.hpp" +#include "sink_mixer.hpp" #include "stream_info.hpp" namespace audio { @@ -63,18 +64,20 @@ class AudioTask { auto ForwardPcmStream(StreamInfo::Pcm&, cpp::span<const std::byte>) -> bool; auto ConfigureSink(const StreamInfo::Pcm&, const Duration&) -> bool; + auto SendToSink(InputStream&) -> void; IAudioSource* source_; IAudioSink* sink_; std::unique_ptr<codecs::ICodec> codec_; + std::unique_ptr<SinkMixer> mixer_; std::unique_ptr<Timer> timer_; bool has_begun_decoding_; std::optional<StreamInfo::Format> current_input_format_; std::optional<StreamInfo::Pcm> current_output_format_; + std::optional<StreamInfo::Pcm> current_sink_format_; - std::byte* sample_buffer_; - std::size_t sample_buffer_len_; + std::unique_ptr<RawStream> codec_buffer_; }; } // namespace audio |
