diff options
Diffstat (limited to 'src/codecs/include')
| -rw-r--r-- | src/codecs/include/opus.hpp | 13 | ||||
| -rw-r--r-- | src/codecs/include/types.hpp | 2 |
2 files changed, 10 insertions, 5 deletions
diff --git a/src/codecs/include/opus.hpp b/src/codecs/include/opus.hpp index a5a7d78c..f824a7cb 100644 --- a/src/codecs/include/opus.hpp +++ b/src/codecs/include/opus.hpp @@ -14,6 +14,7 @@ #include <utility> #include "opus.h" +#include "sample.hpp" #include "span.hpp" #include "codec.hpp" @@ -36,14 +37,18 @@ class XiphOpusDecoder : public ICodec { * Writes samples for the current frame. */ auto ContinueStream(cpp::span<const std::byte> input, - cpp::span<std::byte> output) + cpp::span<sample::Sample> output) -> Result<OutputInfo> override; auto SeekStream(cpp::span<const std::byte> input, std::size_t target_sample) -> Result<void> override; private: - OpusDecoder *opus_; - float *sample_buffer_; - std::size_t sample_buffer_len_; + OpusDecoder* opus_; + cpp::span<int16_t> sample_buffer_; + int32_t pos_in_buffer_; + int32_t samples_in_buffer_; + +}; + } // namespace codecs diff --git a/src/codecs/include/types.hpp b/src/codecs/include/types.hpp index 3dfc1da9..2f669448 100644 --- a/src/codecs/include/types.hpp +++ b/src/codecs/include/types.hpp @@ -13,8 +13,8 @@ namespace codecs { enum class StreamType { kMp3, kPcm, - kVorbis, kFlac, + kOpus, }; } // namespace codecs |
