LeviLamina
Loading...
Searching...
No Matches
ForwardErrorCorrection.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/webrtc/FecMaskType.h"
7
8// auto generated forward declare list
9// clang-format off
10namespace webrtc { class FecHeaderReader; }
11namespace webrtc { class FecHeaderWriter; }
12// clang-format on
13
14namespace webrtc {
15
17public:
18 // ForwardErrorCorrection inner types declare
19 // clang-format off
20 struct DecodeFecResult;
21 class Packet;
22 class ProtectedPacket;
23 struct ProtectedStream;
25 class ReceivedPacket;
26 class RecoveredPacket;
27 class SortablePacket;
28 // clang-format on
29
30 // ForwardErrorCorrection inner types define
31 class Packet {
32 public:
33 // member variables
34 // NOLINTBEGIN
37 // NOLINTEND
38
39 public:
40 // prevent constructor by default
41 Packet& operator=(Packet const&);
42 Packet(Packet const&);
43
44 public:
45 // virtual functions
46 // NOLINTBEGIN
47 // vIndex: 0
48 virtual ~Packet();
49
50 // vIndex: 1
51 virtual int AddRef();
52
53 // vIndex: 2
54 virtual int Release();
55 // NOLINTEND
56
57 public:
58 // member functions
59 // NOLINTBEGIN
60 MCNAPI Packet();
61 // NOLINTEND
62
63 public:
64 // constructor thunks
65 // NOLINTBEGIN
66 MCNAPI void* $ctor();
67 // NOLINTEND
68
69 public:
70 // destructor thunk
71 // NOLINTBEGIN
72 MCNAPI void $dtor();
73 // NOLINTEND
74
75 public:
76 // virtual function thunks
77 // NOLINTBEGIN
78 MCNAPI int $AddRef();
79
80 MCNAPI int $Release();
81 // NOLINTEND
82
83 public:
84 // vftables
85 // NOLINTBEGIN
86 MCNAPI static void** $vftable();
87 // NOLINTEND
88 };
89
91 public:
92 // SortablePacket inner types declare
93 // clang-format off
94 struct LessThan;
95 // clang-format on
96
97 // SortablePacket inner types define
98 struct LessThan {};
99
100 public:
101 // member variables
102 // NOLINTBEGIN
105 // NOLINTEND
106
107 public:
108 // prevent constructor by default
109 SortablePacket& operator=(SortablePacket const&);
112 };
113
115 public:
116 // member variables
117 // NOLINTBEGIN
122 // NOLINTEND
123
124 public:
125 // prevent constructor by default
126 ReceivedPacket& operator=(ReceivedPacket const&);
129 };
130
132 public:
133 // member variables
134 // NOLINTBEGIN
138 // NOLINTEND
139
140 public:
141 // prevent constructor by default
142 RecoveredPacket& operator=(RecoveredPacket const&);
145 };
146
148 public:
149 // member variables
150 // NOLINTBEGIN
152 // NOLINTEND
153
154 public:
155 // prevent constructor by default
156 ProtectedPacket& operator=(ProtectedPacket const&);
159
160 public:
161 // member functions
162 // NOLINTBEGIN
164 // NOLINTEND
165
166 public:
167 // destructor thunk
168 // NOLINTBEGIN
169 MCNAPI void $dtor();
170 // NOLINTEND
171 };
172
174 public:
175 // member variables
176 // NOLINTBEGIN
181 // NOLINTEND
182
183 public:
184 // prevent constructor by default
185 ProtectedStream& operator=(ProtectedStream const&);
188 };
189
191 public:
192 // member variables
193 // NOLINTBEGIN
200 // NOLINTEND
201
202 public:
203 // prevent constructor by default
204 ReceivedFecPacket& operator=(ReceivedFecPacket const&);
207
208 public:
209 // member functions
210 // NOLINTBEGIN
212 // NOLINTEND
213
214 public:
215 // destructor thunk
216 // NOLINTBEGIN
217 MCNAPI void $dtor();
218 // NOLINTEND
219 };
220
222 public:
223 // member variables
224 // NOLINTBEGIN
226 // NOLINTEND
227
228 public:
229 // prevent constructor by default
230 DecodeFecResult& operator=(DecodeFecResult const&);
233 };
234
235public:
236 // member variables
237 // NOLINTBEGIN
247 // NOLINTEND
248
249public:
250 // prevent constructor by default
254
255public:
256 // member functions
257 // NOLINTBEGIN
258 MCNAPI int EncodeFec(
259 ::std::list<::std::unique_ptr<::webrtc::ForwardErrorCorrection::Packet>> const& media_packets,
260 uchar protection_factor,
261 int num_important_packets,
262 bool use_unequal_protection,
263 ::webrtc::FecMaskType fec_mask_type,
264 ::std::list<::webrtc::ForwardErrorCorrection::Packet*>* fec_packets
265 );
266
267 MCNAPI void FinalizeFecHeaders(uint64 num_fec_packets, uint media_ssrc, ushort seq_num_base);
268
270 ::std::unique_ptr<::webrtc::FecHeaderReader> fec_header_reader,
271 ::std::unique_ptr<::webrtc::FecHeaderWriter> fec_header_writer,
272 uint ssrc,
273 uint protected_media_ssrc
274 );
275
277 ::std::list<::std::unique_ptr<::webrtc::ForwardErrorCorrection::Packet>> const& media_packets,
278 uint64 num_fec_packets
279 );
280
282 ::std::list<::std::unique_ptr<::webrtc::ForwardErrorCorrection::Packet>> const& media_packets,
283 uint64 num_fec_packets
284 );
285
286 MCNAPI uint64 MaxPacketOverhead() const;
287
289 // NOLINTEND
290
291public:
292 // static functions
293 // NOLINTBEGIN
294 MCNAPI static ::std::unique_ptr<::webrtc::ForwardErrorCorrection>
295 CreateFlexfec(uint ssrc, uint protected_media_ssrc);
296
297 MCNAPI static ::std::unique_ptr<::webrtc::ForwardErrorCorrection> CreateUlpfec(uint ssrc);
298
299 MCNAPI static int NumFecPackets(int num_media_packets, int protection_factor);
300
301 MCNAPI static ushort ParseSequenceNumber(uchar const* packet);
302
303 MCNAPI static uint ParseSsrc(uchar const* packet);
304
305 MCNAPI static void
307
308 MCNAPI static void XorPayloads(
310 uint64 payload_length,
311 uint64 dst_offset,
313 );
314 // NOLINTEND
315
316public:
317 // constructor thunks
318 // NOLINTBEGIN
319 MCNAPI void* $ctor(
320 ::std::unique_ptr<::webrtc::FecHeaderReader> fec_header_reader,
321 ::std::unique_ptr<::webrtc::FecHeaderWriter> fec_header_writer,
322 uint ssrc,
323 uint protected_media_ssrc
324 );
325 // NOLINTEND
326
327public:
328 // destructor thunk
329 // NOLINTBEGIN
330 MCNAPI void $dtor();
331 // NOLINTEND
332};
333
334} // namespace webrtc
Definition ForwardErrorCorrection.h:31
Definition ForwardErrorCorrection.h:147
Definition ForwardErrorCorrection.h:190
Definition ForwardErrorCorrection.h:114
Definition ForwardErrorCorrection.h:131
Definition ForwardErrorCorrection.h:90
Definition ForwardErrorCorrection.h:16
MCAPI int EncodeFec(::std::list<::std::unique_ptr<::webrtc::ForwardErrorCorrection::Packet > > const &media_packets, uchar protection_factor, int num_important_packets, bool use_unequal_protection, ::webrtc::FecMaskType fec_mask_type, ::std::list<::webrtc::ForwardErrorCorrection::Packet * > *fec_packets)
static MCAPI void XorPayloads(::webrtc::ForwardErrorCorrection::Packet const &src, uint64 payload_length, uint64 dst_offset, ::webrtc::ForwardErrorCorrection::Packet *dst)
static MCAPI int NumFecPackets(int num_media_packets, int protection_factor)
static MCAPI ushort ParseSequenceNumber(uchar const *packet)
static MCAPI uint ParseSsrc(uchar const *packet)
MCAPI void * $ctor(::std::unique_ptr<::webrtc::FecHeaderReader > fec_header_reader, ::std::unique_ptr<::webrtc::FecHeaderWriter > fec_header_writer, uint ssrc, uint protected_media_ssrc)
static MCAPI ::std::unique_ptr<::webrtc::ForwardErrorCorrection > CreateFlexfec(uint ssrc, uint protected_media_ssrc)
MCAPI void FinalizeFecHeaders(uint64 num_fec_packets, uint media_ssrc, ushort seq_num_base)
MCAPI uint64 MaxPacketOverhead() const
static MCAPI ::std::unique_ptr<::webrtc::ForwardErrorCorrection > CreateUlpfec(uint ssrc)
static MCAPI void XorHeaders(::webrtc::ForwardErrorCorrection::Packet const &src, ::webrtc::ForwardErrorCorrection::Packet *dst)
MCAPI void GenerateFecPayloads(::std::list<::std::unique_ptr<::webrtc::ForwardErrorCorrection::Packet > > const &media_packets, uint64 num_fec_packets)
MCAPI int InsertZerosInPacketMasks(::std::list<::std::unique_ptr<::webrtc::ForwardErrorCorrection::Packet > > const &media_packets, uint64 num_fec_packets)
MCAPI ForwardErrorCorrection(::std::unique_ptr<::webrtc::FecHeaderReader > fec_header_reader, ::std::unique_ptr<::webrtc::FecHeaderWriter > fec_header_writer, uint ssrc, uint protected_media_ssrc)
Definition Alias.h:14
Definition ForwardErrorCorrection.h:221
Definition ForwardErrorCorrection.h:173
Definition ForwardErrorCorrection.h:98