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 TmmbItem; }
19namespace webrtc::rtcp { struct ReceiveTimeInfo; }
20// clang-format on
21
22namespace webrtc {
23
24class RTCPReceiver {
25public:
26 // RTCPReceiver inner types declare
27 // clang-format off
29 struct LastFirStatus;
30 class ModuleRtpRtcp;
32 struct PacketInformation;
33 class RegisteredSsrcs;
34 struct RrtrInformation;
35 class RttStats;
36 struct TmmbrInformation;
37 // clang-format on
38
39 // RTCPReceiver inner types define
41
42 struct LastFirStatus {
43 public:
44 // member variables
45 // NOLINTBEGIN
48 // NOLINTEND
49
50 public:
51 // prevent constructor by default
52 LastFirStatus& operator=(LastFirStatus const&);
53 LastFirStatus(LastFirStatus const&);
54 LastFirStatus();
55 };
56
58 public:
59 // virtual functions
60 // NOLINTBEGIN
61 virtual void SetTmmbn(::std::vector<::webrtc::rtcp::TmmbItem>) = 0;
62
63 virtual void OnRequestSendReport() = 0;
64
65 virtual void OnReceivedNack(::std::vector<ushort> const&) = 0;
66
67 virtual void OnReceivedRtcpReportBlocks(::rtc::ArrayView<::webrtc::ReportBlockData const>) = 0;
68
69 virtual ~ModuleRtpRtcp() = default;
70 // NOLINTEND
71
72 public:
73 // virtual function thunks
74 // NOLINTBEGIN
75
76 // NOLINTEND
77 };
78
79 class NonSenderRttStats {
80 public:
81 // member variables
82 // NOLINTBEGIN
86 // NOLINTEND
87
88 public:
89 // prevent constructor by default
90 NonSenderRttStats& operator=(NonSenderRttStats const&);
91 NonSenderRttStats(NonSenderRttStats const&);
92 NonSenderRttStats();
93 };
94
95 struct PacketInformation {
96 public:
97 // member variables
98 // NOLINTBEGIN
109 // NOLINTEND
110
111 public:
112 // prevent constructor by default
113 PacketInformation& operator=(PacketInformation const&);
114 PacketInformation(PacketInformation const&);
115 PacketInformation();
116
117 public:
118 // member functions
119 // NOLINTBEGIN
121 // NOLINTEND
122
123 public:
124 // destructor thunk
125 // NOLINTBEGIN
126 MCNAPI void $dtor();
127 // NOLINTEND
128 };
129
130 class RegisteredSsrcs {
131 public:
132 // member variables
133 // NOLINTBEGIN
136 // NOLINTEND
137
138 public:
139 // prevent constructor by default
140 RegisteredSsrcs& operator=(RegisteredSsrcs const&);
141 RegisteredSsrcs(RegisteredSsrcs const&);
142 RegisteredSsrcs();
143
144 public:
145 // member functions
146 // NOLINTBEGIN
147 MCNAPI RegisteredSsrcs(bool disable_sequence_checker, ::webrtc::RtpRtcpInterface::Configuration const& config);
148
150 // NOLINTEND
151
152 public:
153 // constructor thunks
154 // NOLINTBEGIN
155 MCNAPI void* $ctor(bool disable_sequence_checker, ::webrtc::RtpRtcpInterface::Configuration const& config);
156 // NOLINTEND
157
158 public:
159 // destructor thunk
160 // NOLINTBEGIN
161 MCNAPI void $dtor();
162 // NOLINTEND
163 };
164
165 struct RrtrInformation {
166 public:
167 // member variables
168 // NOLINTBEGIN
172 // NOLINTEND
173
174 public:
175 // prevent constructor by default
176 RrtrInformation& operator=(RrtrInformation const&);
177 RrtrInformation(RrtrInformation const&);
178 RrtrInformation();
179 };
180
181 class RttStats {
182 public:
183 // member variables
184 // NOLINTBEGIN
188 // NOLINTEND
189
190 public:
191 // prevent constructor by default
192 RttStats& operator=(RttStats const&);
193 RttStats(RttStats const&);
194 RttStats();
195 };
196
197 struct TmmbrInformation {
198 public:
199 // TmmbrInformation inner types declare
200 // clang-format off
201 struct TimedTmmbrItem;
202 // clang-format on
203
204 // TmmbrInformation inner types define
205 struct TimedTmmbrItem {
206 public:
207 // member variables
208 // NOLINTBEGIN
211 // NOLINTEND
212
213 public:
214 // prevent constructor by default
215 TimedTmmbrItem& operator=(TimedTmmbrItem const&);
216 TimedTmmbrItem(TimedTmmbrItem const&);
217 TimedTmmbrItem();
218 };
219
220 public:
221 // member variables
222 // NOLINTBEGIN
227 // NOLINTEND
228
229 public:
230 // prevent constructor by default
231 TmmbrInformation& operator=(TmmbrInformation const&);
232 TmmbrInformation(TmmbrInformation const&);
233 TmmbrInformation();
234
235 public:
236 // member functions
237 // NOLINTBEGIN
239
240 MCNAPI ::webrtc::RTCPReceiver::TmmbrInformation& operator=(::webrtc::RTCPReceiver::TmmbrInformation&&);
241
243 // NOLINTEND
244
245 public:
246 // constructor thunks
247 // NOLINTBEGIN
249 // NOLINTEND
250
251 public:
252 // destructor thunk
253 // NOLINTBEGIN
254 MCNAPI void $dtor();
255 // NOLINTEND
256 };
257
258public:
259 // member variables
260 // NOLINTBEGIN
293 // NOLINTEND
294
295public:
296 // prevent constructor by default
297 RTCPReceiver& operator=(RTCPReceiver const&);
298 RTCPReceiver(RTCPReceiver const&);
299 RTCPReceiver();
300
301public:
302 // member functions
303 // NOLINTBEGIN
304 MCNAPI ::std::optional<::webrtc::TimeDelta> AverageRtt() const;
305
306 MCNAPI ::std::vector<::webrtc::rtcp::TmmbItem> BoundingSet(bool* tmmbr_owner);
307
308 MCNAPI ::std::vector<::webrtc::rtcp::ReceiveTimeInfo> ConsumeReceivedXrReferenceTimeInfo();
309
310 MCNAPI ::webrtc::RTCPReceiver::TmmbrInformation* FindOrCreateTmmbrInfo(uint remote_ssrc);
311
312 MCNAPI ::std::vector<::webrtc::ReportBlockData> GetLatestReportBlockData() const;
313
314 MCNAPI ::webrtc::RTCPReceiver::NonSenderRttStats GetNonSenderRTT() const;
315
316 MCNAPI ::std::optional<::webrtc::RtpRtcpInterface::SenderReportStats> GetSenderReportStats() const;
317
318 MCNAPI ::webrtc::RTCPReceiver::TmmbrInformation* GetTmmbrInformation(uint remote_ssrc);
319
320 MCNAPI bool HandleBye(::webrtc::rtcp::CommonHeader const& rtcp_block);
321
322 MCNAPI bool HandleFir(
323 ::webrtc::rtcp::CommonHeader const& rtcp_block,
325 );
326
327 MCNAPI void HandleReportBlock(
328 ::webrtc::rtcp::ReportBlock const& report_block,
330 uint remote_ssrc
331 );
332
333 MCNAPI bool HandleTmmbr(
334 ::webrtc::rtcp::CommonHeader const& rtcp_block,
336 );
337
338 MCNAPI bool HandleXr(
339 ::webrtc::rtcp::CommonHeader const& rtcp_block,
341 bool& contains_dlrr,
342 uint& ssrc
343 );
344
345 MCNAPI void HandleXrDlrrReportBlock(uint sender_ssrc, ::webrtc::rtcp::ReceiveTimeInfo const& rti);
346
347 MCNAPI void HandleXrReceiveReferenceTime(uint sender_ssrc, ::webrtc::rtcp::Rrtr const& rrtr);
348
350
351 MCNAPI ::std::optional<::webrtc::TimeDelta> LastRtt() const;
352
353 MCNAPI ::std::optional<::webrtc::TimeDelta> OnPeriodicRttUpdate(::webrtc::Timestamp newer_than, bool sending);
354
358 );
359
361
362 MCNAPI void SetNonSenderRttMeasurement(bool enabled);
363
364 MCNAPI void SetRemoteSSRC(uint ssrc);
365
366 MCNAPI ::std::vector<::webrtc::rtcp::TmmbItem> TmmbrReceived();
367
369
370 MCNAPI void UpdateTmmbrRemoteIsAlive(uint remote_ssrc);
371
372 MCNAPI void set_local_media_ssrc(uint ssrc);
373
375 // NOLINTEND
376
377public:
378 // constructor thunks
379 // NOLINTBEGIN
381 // NOLINTEND
382
383public:
384 // destructor thunk
385 // NOLINTBEGIN
386 MCNAPI void $dtor();
387 // NOLINTEND
388};
389
390} // namespace webrtc
Definition _HeaderOutputPredefine.h:309
Definition ModuleRtpRtcpImpl2.h:33
Definition RTCPReceiver.h:57
Definition RTCPReceiver.h:79
Definition RTCPReceiver.h:130
MCAPI RegisteredSsrcs(bool disable_sequence_checker, ::webrtc::RtpRtcpInterface::Configuration const &config)
MCAPI void * $ctor(bool disable_sequence_checker, ::webrtc::RtpRtcpInterface::Configuration const &config)
Definition RTCPReceiver.h:181
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 ::std::vector<::webrtc::rtcp::TmmbItem > BoundingSet(bool *tmmbr_owner)
MCAPI bool HandleTmmbr(::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 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 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 SetNonSenderRttMeasurement(bool enabled)
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 ::std::optional<::webrtc::TimeDelta > LastRtt() const
MCAPI void set_local_media_ssrc(uint ssrc)
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 ReportBlockData.h:14
Definition SequenceChecker.h:10
Definition TimeDelta.h:10
Definition Timestamp.h:15
Definition CommonHeader.h:7
Definition ReportBlock.h:7
Definition Rrtr.h:7
Definition TmmbItem.h:7
Definition Alias.h:14
Definition RTCPReceiver.h:42
Definition RTCPReceiver.h:95
Definition RTCPReceiver.h:165
Definition RTCPReceiver.h:197
MCAPI::webrtc::RTCPReceiver::TmmbrInformation & operator=(::webrtc::RTCPReceiver::TmmbrInformation &&)
MCAPI void * $ctor(::webrtc::RTCPReceiver::TmmbrInformation &&)
MCAPI TmmbrInformation(::webrtc::RTCPReceiver::TmmbrInformation &&)
Definition RtpRtcpInterface.h:37
Definition ReceiveTimeInfo.h:7