Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
VorbisAudioDecoder.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/audio/online_streaming/IAudioDecoder.h"
7#include "mc/platform/Result.h"
8
9// auto generated forward declare list
10// clang-format off
11namespace Audio { class AudioFrameBuffer; }
12namespace Audio { class OnlineAudioInitializationData; }
13namespace Audio { class OnlineStreamedAudioBuffer; }
14namespace Audio { struct EncodedByteOffset; }
15namespace Audio { struct PcmFramePosition; }
16// clang-format on
17
18namespace Audio {
19
20class VorbisAudioDecoder : public ::Audio::IAudioDecoder {
21public:
22 // VorbisAudioDecoder inner types declare
23 // clang-format off
24 struct InputBuffer;
25 struct LeftoverBuffer;
26 // clang-format on
27
28 // VorbisAudioDecoder inner types define
29 struct InputBuffer {
30 public:
31 // member variables
32 // NOLINTBEGIN
37 // NOLINTEND
38
39 public:
40 // prevent constructor by default
41 InputBuffer& operator=(InputBuffer const&);
42 InputBuffer(InputBuffer const&);
43 InputBuffer();
44 };
45
46 struct LeftoverBuffer {
47 public:
48 // member variables
49 // NOLINTBEGIN
52 // NOLINTEND
53
54 public:
55 // prevent constructor by default
56 LeftoverBuffer& operator=(LeftoverBuffer const&);
57 LeftoverBuffer(LeftoverBuffer const&);
58 LeftoverBuffer();
59 };
60
61public:
62 // member variables
63 // NOLINTBEGIN
76 // NOLINTEND
77
78public:
79 // prevent constructor by default
80 VorbisAudioDecoder& operator=(VorbisAudioDecoder const&);
81 VorbisAudioDecoder(VorbisAudioDecoder const&);
82 VorbisAudioDecoder();
83
84public:
85 // virtual functions
86 // NOLINTBEGIN
87 virtual ~VorbisAudioDecoder() /*override*/ = default;
88
89 virtual ::Bedrock::Result<void> initialize() /*override*/;
90
91 virtual ::Bedrock::Result<::gsl::span<float>> decodeInto(::Audio::AudioFrameBuffer& outputBuffer) /*override*/;
92
93 virtual ::Bedrock::Result<void> repositionCompressedInput(
94 ::Audio::EncodedByteOffset encodedByteOffset,
95 ::Audio::PcmFramePosition pcmFramePosition
96 ) /*override*/;
97
98 virtual uchar getChannels() const /*override*/;
99
100 virtual int getSampleRate() const /*override*/;
101
102 virtual int64 getCurrentFramePosition() const /*override*/;
103
104 virtual void setTotalSamples(uint64 totalSamples) /*override*/;
105
106 virtual ::std::optional<uint64> getTotalSamples() const /*override*/;
107
108 virtual bool isFinished() const /*override*/;
109
110 virtual uint64 getFileReadPosition() const /*override*/;
111
112 virtual uint64 getSafeConsumePosition() const /*override*/;
113 // NOLINTEND
114
115public:
116 // member functions
117 // NOLINTBEGIN
118#ifdef LL_PLAT_C
119 MCNAPI VorbisAudioDecoder(
120 ::gsl::not_null<::std::shared_ptr<::Audio::OnlineStreamedAudioBuffer>> audioBuffer,
122 uint64 inputChunkSize,
123 uint64 initialHeaderReadSize
124 );
125
126 MCNAPI bool _feedDecoder();
127#endif
128 // NOLINTEND
129
130public:
131 // constructor thunks
132 // NOLINTBEGIN
133#ifdef LL_PLAT_C
134 MCNAPI void* $ctor(
135 ::gsl::not_null<::std::shared_ptr<::Audio::OnlineStreamedAudioBuffer>> audioBuffer,
137 uint64 inputChunkSize,
138 uint64 initialHeaderReadSize
139 );
140#endif
141 // NOLINTEND
142
143public:
144 // virtual function thunks
145 // NOLINTBEGIN
146#ifdef LL_PLAT_C
147 MCNAPI ::Bedrock::Result<void> $initialize();
148
149 MCNAPI ::Bedrock::Result<::gsl::span<float>> $decodeInto(::Audio::AudioFrameBuffer& outputBuffer);
150
151 MCNAPI ::Bedrock::Result<void> $repositionCompressedInput(
152 ::Audio::EncodedByteOffset encodedByteOffset,
153 ::Audio::PcmFramePosition pcmFramePosition
154 );
155
156 MCNAPI uchar $getChannels() const;
157
158 MCNAPI int $getSampleRate() const;
159
160 MCNAPI int64 $getCurrentFramePosition() const;
161
162 MCNAPI void $setTotalSamples(uint64 totalSamples);
163
164 MCNAPI ::std::optional<uint64> $getTotalSamples() const;
165
166 MCNAPI bool $isFinished() const;
167
168 MCNAPI uint64 $getFileReadPosition() const;
169
170 MCNAPI uint64 $getSafeConsumePosition() const;
171#endif
172
173
174 // NOLINTEND
175
176public:
177 // vftables
178 // NOLINTBEGIN
179 MCNAPI static void** $vftable();
180 // NOLINTEND
181};
182
183} // namespace Audio
Definition AudioFrameBuffer.h:10
Definition IAudioDecoder.h:17
Definition OnlineAudioInitializationData.h:7
Definition OnlineStreamedAudioBuffer.h:10
static MCAPI void ** $vftable()
STL namespace.
Definition EncodedByteOffset.h:10
Definition PcmFramePosition.h:10
Definition VorbisAudioDecoder.h:29
Definition VorbisAudioDecoder.h:46
Definition Alias.h:14