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
16class ForwardErrorCorrection {
17public:
18 // ForwardErrorCorrection inner types declare
19 // clang-format off
20 struct DecodeFecResult;
21 class Packet;
22 struct ProtectedStream;
23 class SortablePacket;
24 class ProtectedPacket;
26 class ReceivedPacket;
27 class RecoveredPacket;
28 // clang-format on
29
30 // ForwardErrorCorrection inner types define
31 struct DecodeFecResult {
32 public:
33 // member variables
34 // NOLINTBEGIN
36 // NOLINTEND
37
38 public:
39 // prevent constructor by default
40 DecodeFecResult& operator=(DecodeFecResult const&);
41 DecodeFecResult(DecodeFecResult const&);
42 DecodeFecResult();
43 };
44
45 class Packet {
46 public:
47 // member variables
48 // NOLINTBEGIN
51 // NOLINTEND
52
53 public:
54 // prevent constructor by default
55 Packet& operator=(Packet const&);
56 Packet(Packet const&);
57
58 public:
59 // virtual functions
60 // NOLINTBEGIN
61 virtual ~Packet() = default;
62
63 virtual int AddRef();
64
65 virtual int Release();
66 // NOLINTEND
67
68 public:
69 // member functions
70 // NOLINTBEGIN
71 MCNAPI Packet();
72 // NOLINTEND
73
74 public:
75 // constructor thunks
76 // NOLINTBEGIN
77 MCNAPI void* $ctor();
78 // NOLINTEND
79
80 public:
81 // virtual function thunks
82 // NOLINTBEGIN
83 MCNAPI int $AddRef();
84
85 MCNAPI int $Release();
86
87
88 // NOLINTEND
89
90 public:
91 // vftables
92 // NOLINTBEGIN
93 MCNAPI static void** $vftable();
94 // NOLINTEND
95 };
96
97 struct ProtectedStream {
98 public:
99 // member variables
100 // NOLINTBEGIN
105 // NOLINTEND
106
107 public:
108 // prevent constructor by default
109 ProtectedStream& operator=(ProtectedStream const&);
110 ProtectedStream(ProtectedStream const&);
111 ProtectedStream();
112 };
113
114 class SortablePacket {
115 public:
116 // SortablePacket inner types declare
117 // clang-format off
118 struct LessThan;
119 // clang-format on
120
121 // SortablePacket inner types define
122 struct LessThan {};
123
124 public:
125 // member variables
126 // NOLINTBEGIN
129 // NOLINTEND
130
131 public:
132 // prevent constructor by default
133 SortablePacket& operator=(SortablePacket const&);
134 SortablePacket(SortablePacket const&);
135 SortablePacket();
136 };
137
139 public:
140 // member variables
141 // NOLINTBEGIN
143 // NOLINTEND
144
145 public:
146 // prevent constructor by default
147 ProtectedPacket& operator=(ProtectedPacket const&);
148 ProtectedPacket(ProtectedPacket const&);
149 ProtectedPacket();
150 };
151
152 class ReceivedFecPacket : public ::webrtc::ForwardErrorCorrection::SortablePacket {
153 public:
154 // member variables
155 // NOLINTBEGIN
162 // NOLINTEND
163
164 public:
165 // prevent constructor by default
166 ReceivedFecPacket& operator=(ReceivedFecPacket const&);
167 ReceivedFecPacket(ReceivedFecPacket const&);
168 ReceivedFecPacket();
169 };
170
172 public:
173 // member variables
174 // NOLINTBEGIN
179 // NOLINTEND
180
181 public:
182 // prevent constructor by default
183 ReceivedPacket& operator=(ReceivedPacket const&);
184 ReceivedPacket(ReceivedPacket const&);
185 ReceivedPacket();
186 };
187
189 public:
190 // member variables
191 // NOLINTBEGIN
195 // NOLINTEND
196
197 public:
198 // prevent constructor by default
199 RecoveredPacket& operator=(RecoveredPacket const&);
200 RecoveredPacket(RecoveredPacket const&);
201 RecoveredPacket();
202 };
203
204public:
205 // member variables
206 // NOLINTBEGIN
216 // NOLINTEND
217
218public:
219 // prevent constructor by default
220 ForwardErrorCorrection& operator=(ForwardErrorCorrection const&);
221 ForwardErrorCorrection(ForwardErrorCorrection const&);
222 ForwardErrorCorrection();
223
224public:
225 // member functions
226 // NOLINTBEGIN
227 MCNAPI int EncodeFec(
228 ::std::list<::std::unique_ptr<::webrtc::ForwardErrorCorrection::Packet>> const& media_packets,
229 uchar protection_factor,
230 int num_important_packets,
231 bool use_unequal_protection,
232 ::webrtc::FecMaskType fec_mask_type,
233 ::std::list<::webrtc::ForwardErrorCorrection::Packet*>* fec_packets
234 );
235
237 ::std::unique_ptr<::webrtc::FecHeaderReader> fec_header_reader,
238 ::std::unique_ptr<::webrtc::FecHeaderWriter> fec_header_writer,
239 uint ssrc,
240 uint protected_media_ssrc
241 );
242
244 ::std::list<::std::unique_ptr<::webrtc::ForwardErrorCorrection::Packet>> const& media_packets,
245 uint64 num_fec_packets
246 );
247
249 ::std::list<::std::unique_ptr<::webrtc::ForwardErrorCorrection::Packet>> const& media_packets,
250 uint64 num_fec_packets
251 );
252
253 MCNAPI uint64 MaxPacketOverhead() const;
254
256 // NOLINTEND
257
258public:
259 // static functions
260 // NOLINTBEGIN
261 MCNAPI static ::std::unique_ptr<::webrtc::ForwardErrorCorrection>
262 CreateFlexfec(uint ssrc, uint protected_media_ssrc);
263
264 MCNAPI static ::std::unique_ptr<::webrtc::ForwardErrorCorrection> CreateUlpfec(uint ssrc);
265
266 MCNAPI static int NumFecPackets(int num_media_packets, int protection_factor);
267
268 MCNAPI static void
270
271 MCNAPI static void XorPayloads(
273 uint64 payload_length,
274 uint64 dst_offset,
276 );
277 // NOLINTEND
278
279public:
280 // constructor thunks
281 // NOLINTBEGIN
282 MCNAPI void* $ctor(
283 ::std::unique_ptr<::webrtc::FecHeaderReader> fec_header_reader,
284 ::std::unique_ptr<::webrtc::FecHeaderWriter> fec_header_writer,
285 uint ssrc,
286 uint protected_media_ssrc
287 );
288 // NOLINTEND
289
290public:
291 // destructor thunk
292 // NOLINTBEGIN
293 MCNAPI void $dtor();
294 // NOLINTEND
295};
296
297} // namespace webrtc
Definition FecHeaderReader.h:10
Definition FecHeaderWriter.h:10
Definition ForwardErrorCorrection.h:45
Definition ForwardErrorCorrection.h:138
Definition ForwardErrorCorrection.h:152
Definition ForwardErrorCorrection.h:171
Definition ForwardErrorCorrection.h:188
Definition ForwardErrorCorrection.h:114
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)
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 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:31
Definition ForwardErrorCorrection.h:97
Definition ForwardErrorCorrection.h:122