From 1f903accd95361735c841c87fdc6494ad3331b40 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Wed, 7 Jun 2023 13:19:45 +1000 Subject: Flesh out audio state machine for playback Also fix mono playback --- src/codecs/include/codec.hpp | 3 ++- src/codecs/include/mad.hpp | 6 ++---- 2 files changed, 4 insertions(+), 5 deletions(-) (limited to 'src/codecs/include') diff --git a/src/codecs/include/codec.hpp b/src/codecs/include/codec.hpp index 9dd717c9..c8a68ff3 100644 --- a/src/codecs/include/codec.hpp +++ b/src/codecs/include/codec.hpp @@ -11,6 +11,7 @@ #include #include #include +#include #include #include @@ -32,7 +33,7 @@ class ICodec { uint32_t sample_rate_hz; }; - virtual auto GetOutputFormat() -> OutputFormat = 0; + virtual auto GetOutputFormat() -> std::optional = 0; enum ProcessingError { MALFORMED_DATA }; diff --git a/src/codecs/include/mad.hpp b/src/codecs/include/mad.hpp index 3b1f5757..ea16cdc8 100644 --- a/src/codecs/include/mad.hpp +++ b/src/codecs/include/mad.hpp @@ -8,6 +8,7 @@ #include #include +#include #include #include @@ -24,7 +25,7 @@ class MadMp3Decoder : public ICodec { ~MadMp3Decoder(); auto CanHandleType(StreamType type) -> bool override; - auto GetOutputFormat() -> OutputFormat override; + auto GetOutputFormat() -> std::optional override; auto ResetForNewStream() -> void override; auto SetInput(cpp::span input) -> void override; auto GetInputPosition() -> std::size_t override; @@ -37,9 +38,6 @@ class MadMp3Decoder : public ICodec { mad_frame frame_; mad_synth synth_; - mad_header header_; - bool has_decoded_header_; - int current_sample_; }; -- cgit v1.2.3