LeviLamina
Loading...
Searching...
No Matches
NetEq.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7namespace webrtc { class AudioFrame; }
8namespace webrtc { struct NetEqLifetimeStatistics; }
9namespace webrtc { struct NetEqNetworkStatistics; }
10namespace webrtc { struct NetEqOperationsAndState; }
11namespace webrtc { struct RTPHeader; }
12namespace webrtc { struct SdpAudioFormat; }
13// clang-format on
14
15namespace webrtc {
16
17class NetEq {
18public:
19 // NetEq inner types declare
20 // clang-format off
21 struct Config;
22 struct DecoderFormat;
23 // clang-format on
24
25 // NetEq inner types define
26 struct Config {
27 public:
28 // member variables
29 // NOLINTBEGIN
39 // NOLINTEND
40
41 public:
42 // prevent constructor by default
43 Config& operator=(Config const&);
44 Config(Config const&);
45 Config();
46 };
47
48 enum class ReturnCodes : int {
49 KOK = 0,
50 KFail = -1,
51 };
52
53 enum class Operation : int {
54 KNormal = 0,
55 KMerge = 1,
56 KExpand = 2,
57 KAccelerate = 3,
58 KFastAccelerate = 4,
59 KPreemptiveExpand = 5,
60 KRfc3389Cng = 6,
61 KRfc3389CngNoPacket = 7,
62 KCodecInternalCng = 8,
63 KDtmf = 9,
64 KUndefined = 10,
65 };
66
67 enum class Mode : int {
68 KNormal = 0,
69 KExpand = 1,
70 KMerge = 2,
71 KAccelerateSuccess = 3,
72 KAccelerateLowEnergy = 4,
73 KAccelerateFail = 5,
74 KPreemptiveExpandSuccess = 6,
75 KPreemptiveExpandLowEnergy = 7,
76 KPreemptiveExpandFail = 8,
77 KRfc3389Cng = 9,
78 KCodecInternalCng = 10,
79 KCodecPlc = 11,
80 KDtmf = 12,
81 KError = 13,
82 KUndefined = 14,
83 };
84
86 public:
87 // member variables
88 // NOLINTBEGIN
92 // NOLINTEND
93
94 public:
95 // prevent constructor by default
96 DecoderFormat& operator=(DecoderFormat const&);
99 };
100
101public:
102 // virtual functions
103 // NOLINTBEGIN
104 // vIndex: 0
105 virtual ~NetEq() = default;
106
107 // vIndex: 1
108 virtual int InsertPacket(::webrtc::RTPHeader const&, ::rtc::ArrayView<uchar const>) = 0;
109
110 // vIndex: 2
111 virtual void InsertEmptyPacket(::webrtc::RTPHeader const&) = 0;
112
113 // vIndex: 3
114 virtual int GetAudio(::webrtc::AudioFrame*, bool*, int*, ::std::optional<::webrtc::NetEq::Operation>) = 0;
115
116 // vIndex: 4
117 virtual void SetCodecs(::std::map<int, ::webrtc::SdpAudioFormat> const&) = 0;
118
119 // vIndex: 5
120 virtual bool RegisterPayloadType(int, ::webrtc::SdpAudioFormat const&) = 0;
121
122 // vIndex: 6
123 virtual int RemovePayloadType(uchar) = 0;
124
125 // vIndex: 7
126 virtual void RemoveAllPayloadTypes() = 0;
127
128 // vIndex: 8
129 virtual bool SetMinimumDelay(int) = 0;
130
131 // vIndex: 9
132 virtual bool SetMaximumDelay(int) = 0;
133
134 // vIndex: 10
135 virtual bool SetBaseMinimumDelayMs(int) = 0;
136
137 // vIndex: 11
138 virtual int GetBaseMinimumDelayMs() const = 0;
139
140 // vIndex: 12
141 virtual int TargetDelayMs() const = 0;
142
143 // vIndex: 13
144 virtual int FilteredCurrentDelayMs() const = 0;
145
146 // vIndex: 14
148
149 // vIndex: 15
150 virtual ::webrtc::NetEqNetworkStatistics CurrentNetworkStatistics() const = 0;
151
152 // vIndex: 16
153 virtual ::webrtc::NetEqLifetimeStatistics GetLifetimeStatistics() const = 0;
154
155 // vIndex: 17
156 virtual ::webrtc::NetEqOperationsAndState GetOperationsAndState() const = 0;
157
158 // vIndex: 18
159 virtual ::std::optional<uint> GetPlayoutTimestamp() const = 0;
160
161 // vIndex: 19
162 virtual int last_output_sample_rate_hz() const = 0;
163
164 // vIndex: 20
165 virtual ::std::optional<::webrtc::NetEq::DecoderFormat> GetDecoderFormat(int) const = 0;
166
167 // vIndex: 21
168 virtual void FlushBuffers() = 0;
169
170 // vIndex: 22
171 virtual void EnableNack(uint64) = 0;
172
173 // vIndex: 23
174 virtual void DisableNack() = 0;
175
176 // vIndex: 24
177 virtual ::std::vector<ushort> GetNackList(int64) const = 0;
178
179 // vIndex: 25
180 virtual int SyncBufferSizeMs() const = 0;
181 // NOLINTEND
182
183public:
184 // destructor thunk
185 // NOLINTBEGIN
186
187 // NOLINTEND
188
189public:
190 // virtual function thunks
191 // NOLINTBEGIN
192
193 // NOLINTEND
194};
195
196} // namespace webrtc
Definition NetworkStatistics.h:21
Definition _HeaderOutputPredefine.h:238
Definition AudioFrame.h:7
Definition NetEq.h:17
Definition Alias.h:14
Definition NetEqNetworkStatistics.h:7
Definition NetEq.h:26
Definition NetEq.h:85
Definition RTPHeader.h:7
Definition SdpAudioFormat.h:7