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; }
12// clang-format on
13
14namespace Audio {
15
16class VorbisAudioDecoder : public ::Audio::IAudioDecoder {
17public:
18 // VorbisAudioDecoder inner types declare
19 // clang-format off
20 struct InputBuffer;
21 struct LeftoverBuffer;
22 // clang-format on
23
24 // VorbisAudioDecoder inner types define
25 struct InputBuffer {
26 public:
27 // member variables
28 // NOLINTBEGIN
33 // NOLINTEND
34
35 public:
36 // prevent constructor by default
37 InputBuffer& operator=(InputBuffer const&);
38 InputBuffer(InputBuffer const&);
39 InputBuffer();
40 };
41
42 struct LeftoverBuffer {
43 public:
44 // member variables
45 // NOLINTBEGIN
48 // NOLINTEND
49
50 public:
51 // prevent constructor by default
52 LeftoverBuffer& operator=(LeftoverBuffer const&);
53 LeftoverBuffer(LeftoverBuffer const&);
54 LeftoverBuffer();
55 };
56
57public:
58 // member variables
59 // NOLINTBEGIN
70 // NOLINTEND
71
72public:
73 // prevent constructor by default
74 VorbisAudioDecoder& operator=(VorbisAudioDecoder const&);
75 VorbisAudioDecoder(VorbisAudioDecoder const&);
76 VorbisAudioDecoder();
77
78public:
79 // virtual functions
80 // NOLINTBEGIN
81 virtual ~VorbisAudioDecoder() /*override*/ = default;
82
83 virtual ::Bedrock::Result<void> initialize() /*override*/;
84
85 virtual ::Bedrock::Result<::gsl::span<float>> decodeInto(::Audio::AudioFrameBuffer& outputBuffer) /*override*/;
86
87 virtual uchar getChannels() const /*override*/;
88
89 virtual int getSampleRate() const /*override*/;
90
91 virtual int64 getCurrentFramePosition() const /*override*/;
92
93 virtual void setTotalSamples(uint64 totalSamples) /*override*/;
94
95 virtual ::std::optional<uint64> getTotalSamples() const /*override*/;
96
97 virtual bool isFinished() const /*override*/;
98
99 virtual uint64 getFileReadPosition() const /*override*/;
100
101 virtual uint64 getSafeConsumePosition() const /*override*/;
102 // NOLINTEND
103
104public:
105 // member functions
106 // NOLINTBEGIN
107#ifdef LL_PLAT_C
108 MCNAPI bool _feedDecoder();
109#endif
110 // NOLINTEND
111
112public:
113 // virtual function thunks
114 // NOLINTBEGIN
115#ifdef LL_PLAT_C
116 MCNAPI ::Bedrock::Result<void> $initialize();
117
118 MCNAPI ::Bedrock::Result<::gsl::span<float>> $decodeInto(::Audio::AudioFrameBuffer& outputBuffer);
119
120 MCNAPI uchar $getChannels() const;
121
122 MCNAPI int $getSampleRate() const;
123
124 MCNAPI int64 $getCurrentFramePosition() const;
125
126 MCNAPI void $setTotalSamples(uint64 totalSamples);
127
128 MCNAPI ::std::optional<uint64> $getTotalSamples() const;
129
130 MCNAPI bool $isFinished() const;
131
132 MCNAPI uint64 $getFileReadPosition() const;
133
134 MCNAPI uint64 $getSafeConsumePosition() const;
135#endif
136
137
138 // NOLINTEND
139};
140
141} // namespace Audio
Definition AudioFrameBuffer.h:10
Definition IAudioDecoder.h:15
STL namespace.
Definition VorbisAudioDecoder.h:25
Definition VorbisAudioDecoder.h:42
Definition Alias.h:14