LeviLamina
Loading...
Searching...
No Matches
RTCPReceiver.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/webrtc/RtpRtcpInterface.h"
7#include "mc/external/webrtc/SequenceChecker.h"
8
9// auto generated forward declare list
10// clang-format off
11namespace webrtc { class ModuleRtpRtcpImpl2; }
12namespace webrtc { class ReportBlockData; }
13namespace webrtc { class TimeDelta; }
14namespace webrtc { class Timestamp; }
15namespace webrtc::rtcp { class CommonHeader; }
16namespace webrtc::rtcp { class ReportBlock; }
17namespace webrtc::rtcp { class Rrtr; }
18namespace webrtc::rtcp { class TargetBitrate; }
19namespace webrtc::rtcp { class TmmbItem; }
20namespace webrtc::rtcp { struct ReceiveTimeInfo; }
21// clang-format on
22
23namespace webrtc {
24
26public:
27 // RTCPReceiver inner types declare
28 // clang-format off
30 struct LastFirStatus;
31 class ModuleRtpRtcp;
33 struct PacketInformation;
34 class RegisteredSsrcs;
35 struct RrtrInformation;
36 class RttStats;
37 struct TmmbrInformation;
38 // clang-format on
39
40 // RTCPReceiver inner types define
42 public:
43 // virtual functions
44 // NOLINTBEGIN
45 // vIndex: 0
46 virtual void SetTmmbn(::std::vector<::webrtc::rtcp::TmmbItem>) = 0;
47
48 // vIndex: 1
49 virtual void OnRequestSendReport() = 0;
50
51 // vIndex: 2
52 virtual void OnReceivedNack(::std::vector<ushort> const&) = 0;
53
54 // vIndex: 3
55 virtual void OnReceivedRtcpReportBlocks(::rtc::ArrayView<::webrtc::ReportBlockData const>) = 0;
56
57 // vIndex: 4
58 virtual ~ModuleRtpRtcp() = default;
59 // NOLINTEND
60
61 public:
62 // virtual function thunks
63 // NOLINTBEGIN
64
65 // NOLINTEND
66 };
67
69 public:
70 // member variables
71 // NOLINTBEGIN
75 // NOLINTEND
76
77 public:
78 // prevent constructor by default
79 NonSenderRttStats& operator=(NonSenderRttStats const&);
82 };
83
85
87 public:
88 // member variables
89 // NOLINTBEGIN
92 // NOLINTEND
93
94 public:
95 // prevent constructor by default
96 RegisteredSsrcs& operator=(RegisteredSsrcs const&);
99
100 public:
101 // member functions
102 // NOLINTBEGIN
103 MCNAPI RegisteredSsrcs(bool disable_sequence_checker, ::webrtc::RtpRtcpInterface::Configuration const& config);
104
105 MCNAPI bool contains(uint ssrc) const;
106
107 MCNAPI uint media_ssrc() const;
108
109 MCNAPI void set_media_ssrc(uint ssrc);
110
112 // NOLINTEND
113
114 public:
115 // constructor thunks
116 // NOLINTBEGIN
117 MCNAPI void* $ctor(bool disable_sequence_checker, ::webrtc::RtpRtcpInterface::Configuration const& config);
118 // NOLINTEND
119
120 public:
121 // destructor thunk
122 // NOLINTBEGIN
123 MCNAPI void $dtor();
124 // NOLINTEND
125 };
126
128 public:
129 // member variables
130 // NOLINTBEGIN
141 // NOLINTEND
142
143 public:
144 // prevent constructor by default
145 PacketInformation& operator=(PacketInformation const&);
148
149 public:
150 // member functions
151 // NOLINTBEGIN
153 // NOLINTEND
154
155 public:
156 // destructor thunk
157 // NOLINTBEGIN
158 MCNAPI void $dtor();
159 // NOLINTEND
160 };
161
163 public:
164 // TmmbrInformation inner types declare
165 // clang-format off
166 struct TimedTmmbrItem;
167 // clang-format on
168
169 // TmmbrInformation inner types define
171 public:
172 // member variables
173 // NOLINTBEGIN
176 // NOLINTEND
177
178 public:
179 // prevent constructor by default
180 TimedTmmbrItem& operator=(TimedTmmbrItem const&);
183 };
184
185 public:
186 // member variables
187 // NOLINTBEGIN
192 // NOLINTEND
193
194 public:
195 // prevent constructor by default
196 TmmbrInformation& operator=(TmmbrInformation const&);
199
200 public:
201 // member functions
202 // NOLINTBEGIN
204
206 // NOLINTEND
207
208 public:
209 // constructor thunks
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
228 // NOLINTEND
229
230 public:
231 // prevent constructor by default
232 RrtrInformation& operator=(RrtrInformation const&);
235 };
236
238 public:
239 // member variables
240 // NOLINTBEGIN
243 // NOLINTEND
244
245 public:
246 // prevent constructor by default
247 LastFirStatus& operator=(LastFirStatus const&);
250 };
251
252 class RttStats {
253 public:
254 // member variables
255 // NOLINTBEGIN
259 // NOLINTEND
260
261 public:
262 // prevent constructor by default
263 RttStats& operator=(RttStats const&);
264 RttStats(RttStats const&);
265 RttStats();
266
267 public:
268 // member functions
269 // NOLINTBEGIN
270 MCNAPI void AddRtt(::webrtc::TimeDelta rtt);
271 // NOLINTEND
272 };
273
274public:
275 // member variables
276 // NOLINTBEGIN
309 // NOLINTEND
310
311public:
312 // prevent constructor by default
313 RTCPReceiver& operator=(RTCPReceiver const&);
315 RTCPReceiver();
316
317public:
318 // member functions
319 // NOLINTBEGIN
320 MCNAPI ::std::optional<::webrtc::TimeDelta> AverageRtt() const;
321
322 MCNAPI ::std::vector<::webrtc::rtcp::TmmbItem> BoundingSet(bool* tmmbr_owner);
323
324 MCNAPI ::std::vector<::webrtc::rtcp::ReceiveTimeInfo> ConsumeReceivedXrReferenceTimeInfo();
325
326 MCNAPI ::webrtc::RTCPReceiver::TmmbrInformation* FindOrCreateTmmbrInfo(uint remote_ssrc);
327
328 MCNAPI ::std::optional<::webrtc::TimeDelta> GetAndResetXrRrRtt();
329
330 MCNAPI ::std::vector<::webrtc::ReportBlockData> GetLatestReportBlockData() const;
331
332 MCNAPI ::webrtc::RTCPReceiver::NonSenderRttStats GetNonSenderRTT() const;
333
334 MCNAPI ::std::optional<::webrtc::RtpRtcpInterface::SenderReportStats> GetSenderReportStats() const;
335
336 MCNAPI ::webrtc::RTCPReceiver::TmmbrInformation* GetTmmbrInformation(uint remote_ssrc);
337
338 MCNAPI bool HandleApp(
339 ::webrtc::rtcp::CommonHeader const& rtcp_block,
341 );
342
343 MCNAPI bool HandleBye(::webrtc::rtcp::CommonHeader const& rtcp_block);
344
345 MCNAPI bool HandleFir(
346 ::webrtc::rtcp::CommonHeader const& rtcp_block,
348 );
349
350 MCNAPI bool HandleNack(
351 ::webrtc::rtcp::CommonHeader const& rtcp_block,
353 );
354
355 MCNAPI bool HandlePli(
356 ::webrtc::rtcp::CommonHeader const& rtcp_block,
358 );
359
360 MCNAPI void HandlePsfbApp(
361 ::webrtc::rtcp::CommonHeader const& rtcp_block,
363 );
364
366 ::webrtc::rtcp::CommonHeader const& rtcp_block,
368 );
369
370 MCNAPI void HandleReportBlock(
371 ::webrtc::rtcp::ReportBlock const& report_block,
373 uint remote_ssrc
374 );
375
376 MCNAPI bool HandleSdes(
377 ::webrtc::rtcp::CommonHeader const& rtcp_block,
379 );
380
382 ::webrtc::rtcp::CommonHeader const& rtcp_block,
384 );
385
386 MCNAPI bool HandleSrReq(
387 ::webrtc::rtcp::CommonHeader const& rtcp_block,
389 );
390
391 MCNAPI bool HandleTmmbn(
392 ::webrtc::rtcp::CommonHeader const& rtcp_block,
394 );
395
396 MCNAPI bool HandleTmmbr(
397 ::webrtc::rtcp::CommonHeader const& rtcp_block,
399 );
400
402 ::webrtc::rtcp::CommonHeader const& rtcp_block,
404 );
405
406 MCNAPI bool HandleXr(
407 ::webrtc::rtcp::CommonHeader const& rtcp_block,
409 bool& contains_dlrr,
410 uint& ssrc
411 );
412
413 MCNAPI void HandleXrDlrrReportBlock(uint sender_ssrc, ::webrtc::rtcp::ReceiveTimeInfo const& rti);
414
415 MCNAPI void HandleXrReceiveReferenceTime(uint sender_ssrc, ::webrtc::rtcp::Rrtr const& rrtr);
416
418 uint ssrc,
419 ::webrtc::rtcp::TargetBitrate const& target_bitrate,
421 );
422
424
425 MCNAPI ::std::optional<::webrtc::TimeDelta> LastRtt() const;
426
427 MCNAPI void NotifyTmmbrUpdated();
428
429 MCNAPI ::std::optional<::webrtc::TimeDelta> OnPeriodicRttUpdate(::webrtc::Timestamp newer_than, bool sending);
430
434 );
435
437
439
441
442 MCNAPI void SetNonSenderRttMeasurement(bool enabled);
443
444 MCNAPI void SetRemoteSSRC(uint ssrc);
445
446 MCNAPI ::std::vector<::webrtc::rtcp::TmmbItem> TmmbrReceived();
447
449
450 MCNAPI void UpdateTmmbrRemoteIsAlive(uint remote_ssrc);
451
452 MCNAPI uint local_media_ssrc() const;
453
454 MCNAPI void set_local_media_ssrc(uint ssrc);
455
457 // NOLINTEND
458
459public:
460 // constructor thunks
461 // NOLINTBEGIN
463 // NOLINTEND
464
465public:
466 // destructor thunk
467 // NOLINTBEGIN
468 MCNAPI void $dtor();
469 // NOLINTEND
470};
471
472} // namespace webrtc
Definition _HeaderOutputPredefine.h:260
Definition ModuleRtpRtcpImpl2.h:33
Definition RTCPReceiver.h:41
Definition RTCPReceiver.h:68
Definition RTCPReceiver.h:86
MCAPI void set_media_ssrc(uint ssrc)
MCAPI RegisteredSsrcs(bool disable_sequence_checker, ::webrtc::RtpRtcpInterface::Configuration const &config)
MCAPI bool contains(uint ssrc) const
MCAPI void * $ctor(bool disable_sequence_checker, ::webrtc::RtpRtcpInterface::Configuration const &config)
Definition RTCPReceiver.h:252
MCAPI void AddRtt(::webrtc::TimeDelta rtt)
Definition RTCPReceiver.h:25
MCAPI ::std::optional<::webrtc::RtpRtcpInterface::SenderReportStats > GetSenderReportStats() const
MCAPI::webrtc::RTCPReceiver::TmmbrInformation * GetTmmbrInformation(uint remote_ssrc)
MCAPI void TriggerCallbacksFromRtcpPacket(::webrtc::RTCPReceiver::PacketInformation const &packet_information)
MCAPI ::std::vector<::webrtc::rtcp::ReceiveTimeInfo > ConsumeReceivedXrReferenceTimeInfo()
MCAPI bool HandleTmmbn(::webrtc::rtcp::CommonHeader const &rtcp_block, ::webrtc::RTCPReceiver::PacketInformation *packet_information)
MCAPI ::std::vector<::webrtc::rtcp::TmmbItem > BoundingSet(bool *tmmbr_owner)
MCAPI void NotifyTmmbrUpdated()
MCAPI bool HandleTmmbr(::webrtc::rtcp::CommonHeader const &rtcp_block, ::webrtc::RTCPReceiver::PacketInformation *packet_information)
MCAPI bool HandleSrReq(::webrtc::rtcp::CommonHeader const &rtcp_block, ::webrtc::RTCPReceiver::PacketInformation *packet_information)
MCAPI ::std::optional<::webrtc::TimeDelta > OnPeriodicRttUpdate(::webrtc::Timestamp newer_than, bool sending)
MCAPI::webrtc::RTCPReceiver::NonSenderRttStats GetNonSenderRTT() const
MCAPI bool HandleApp(::webrtc::rtcp::CommonHeader const &rtcp_block, ::webrtc::RTCPReceiver::PacketInformation *packet_information)
MCAPI ::std::optional<::webrtc::TimeDelta > GetAndResetXrRrRtt()
MCAPI void HandleTransportFeedback(::webrtc::rtcp::CommonHeader const &rtcp_block, ::webrtc::RTCPReceiver::PacketInformation *packet_information)
MCAPI void HandleXrReceiveReferenceTime(uint sender_ssrc, ::webrtc::rtcp::Rrtr const &rrtr)
MCAPI bool HandleBye(::webrtc::rtcp::CommonHeader const &rtcp_block)
MCAPI void HandleXrDlrrReportBlock(uint sender_ssrc, ::webrtc::rtcp::ReceiveTimeInfo const &rti)
MCAPI bool RtcpRrSequenceNumberTimeoutLocked(::webrtc::Timestamp now)
MCAPI bool HandlePli(::webrtc::rtcp::CommonHeader const &rtcp_block, ::webrtc::RTCPReceiver::PacketInformation *packet_information)
MCAPI void * $ctor(::webrtc::RtpRtcpInterface::Configuration const &config, ::webrtc::ModuleRtpRtcpImpl2 *owner)
MCAPI void IncomingPacket(::rtc::ArrayView< uchar const > packet)
MCAPI void HandleReportBlock(::webrtc::rtcp::ReportBlock const &report_block, ::webrtc::RTCPReceiver::PacketInformation *packet_information, uint remote_ssrc)
MCAPI ::std::vector<::webrtc::ReportBlockData > GetLatestReportBlockData() const
MCAPI void HandleXrTargetBitrate(uint ssrc, ::webrtc::rtcp::TargetBitrate const &target_bitrate, ::webrtc::RTCPReceiver::PacketInformation *packet_information)
MCAPI bool HandleSdes(::webrtc::rtcp::CommonHeader const &rtcp_block, ::webrtc::RTCPReceiver::PacketInformation *packet_information)
MCAPI void HandlePsfbApp(::webrtc::rtcp::CommonHeader const &rtcp_block, ::webrtc::RTCPReceiver::PacketInformation *packet_information)
MCAPI void SetNonSenderRttMeasurement(bool enabled)
MCAPI bool HandleReceiverReport(::webrtc::rtcp::CommonHeader const &rtcp_block, ::webrtc::RTCPReceiver::PacketInformation *packet_information)
MCAPI bool RtcpRrTimeoutLocked(::webrtc::Timestamp now)
MCAPI bool HandleSenderReport(::webrtc::rtcp::CommonHeader const &rtcp_block, ::webrtc::RTCPReceiver::PacketInformation *packet_information)
MCAPI RTCPReceiver(::webrtc::RtpRtcpInterface::Configuration const &config, ::webrtc::ModuleRtpRtcpImpl2 *owner)
MCAPI bool HandleFir(::webrtc::rtcp::CommonHeader const &rtcp_block, ::webrtc::RTCPReceiver::PacketInformation *packet_information)
MCAPI ::std::optional<::webrtc::TimeDelta > AverageRtt() const
MCAPI void SetRemoteSSRC(uint ssrc)
MCAPI bool ParseCompoundPacket(::rtc::ArrayView< uchar const > packet, ::webrtc::RTCPReceiver::PacketInformation *packet_information)
MCAPI bool HandleXr(::webrtc::rtcp::CommonHeader const &rtcp_block, ::webrtc::RTCPReceiver::PacketInformation *packet_information, bool &contains_dlrr, uint &ssrc)
MCAPI uint local_media_ssrc() const
MCAPI ::std::optional<::webrtc::TimeDelta > LastRtt() const
MCAPI void set_local_media_ssrc(uint ssrc)
MCAPI bool HandleNack(::webrtc::rtcp::CommonHeader const &rtcp_block, ::webrtc::RTCPReceiver::PacketInformation *packet_information)
MCAPI void UpdateTmmbrRemoteIsAlive(uint remote_ssrc)
MCAPI ::std::vector<::webrtc::rtcp::TmmbItem > TmmbrReceived()
MCAPI::webrtc::RTCPReceiver::TmmbrInformation * FindOrCreateTmmbrInfo(uint remote_ssrc)
MCAPI void $dtor()
Definition SequenceChecker.h:10
Definition TimeDelta.h:10
Definition Timestamp.h:10
Definition CommonHeader.h:7
Definition ReportBlock.h:7
Definition Rrtr.h:7
Definition TargetBitrate.h:7
Definition Alias.h:14
Definition RTCPReceiver.h:237
Definition RTCPReceiver.h:127
Definition RTCPReceiver.h:221
Definition RTCPReceiver.h:162
MCAPI void * $ctor(::webrtc::RTCPReceiver::TmmbrInformation &&)
MCAPI TmmbrInformation(::webrtc::RTCPReceiver::TmmbrInformation &&)
Definition RtpRtcpInterface.h:37
Definition ReceiveTimeInfo.h:7