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/ArrayView.h"
7#include "mc/external/webrtc/RtpRtcpInterface.h"
8
9// auto generated forward declare list
10// clang-format off
11namespace webrtc { class Environment; }
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
28 struct LastFirStatus;
29 class ModuleRtpRtcp;
31 struct PacketInformation;
32 class RegisteredSsrcs;
33 struct RrtrInformation;
34 class RttStats;
35 struct TmmbrInformation;
36 // clang-format on
37
38 // RTCPReceiver inner types define
39 struct LastFirStatus {
40 public:
41 // member variables
42 // NOLINTBEGIN
45 // NOLINTEND
46
47 public:
48 // prevent constructor by default
49 LastFirStatus& operator=(LastFirStatus const&);
50 LastFirStatus(LastFirStatus const&);
51 LastFirStatus();
52 };
53
55 public:
56 // virtual functions
57 // NOLINTBEGIN
58 virtual void SetTmmbn(::std::vector<::webrtc::rtcp::TmmbItem> bounding_set) = 0;
59
60 virtual void OnRequestSendReport() = 0;
61
62 virtual void OnReceivedNack(::std::vector<ushort> const& nack_sequence_numbers) = 0;
63
64 virtual void OnReceivedRtcpReportBlocks(::webrtc::ArrayView<::webrtc::ReportBlockData const> report_blocks) = 0;
65
66 virtual ~ModuleRtpRtcp() = default;
67 // NOLINTEND
68 };
69
70 class NonSenderRttStats {
71 public:
72 // member variables
73 // NOLINTBEGIN
77 // NOLINTEND
78
79 public:
80 // prevent constructor by default
81 NonSenderRttStats& operator=(NonSenderRttStats const&);
82 NonSenderRttStats(NonSenderRttStats const&);
83 NonSenderRttStats();
84 };
85
86 struct PacketInformation {
87 public:
88 // member variables
89 // NOLINTBEGIN
101 // NOLINTEND
102
103 public:
104 // prevent constructor by default
105 PacketInformation& operator=(PacketInformation const&);
106 PacketInformation(PacketInformation const&);
107 PacketInformation();
108
109 public:
110 // member functions
111 // NOLINTBEGIN
113 // NOLINTEND
114
115 public:
116 // destructor thunk
117 // NOLINTBEGIN
118 MCNAPI void $dtor();
119 // NOLINTEND
120 };
121
122 class RegisteredSsrcs {
123 public:
124 // member variables
125 // NOLINTBEGIN
128 // NOLINTEND
129
130 public:
131 // prevent constructor by default
132 RegisteredSsrcs& operator=(RegisteredSsrcs const&);
133 RegisteredSsrcs(RegisteredSsrcs const&);
134 RegisteredSsrcs();
135
136 public:
137 // member functions
138 // NOLINTBEGIN
139 MCNAPI bool count(uint ssrc) const;
140
142 // NOLINTEND
143
144 public:
145 // destructor thunk
146 // NOLINTBEGIN
147 MCNAPI void $dtor();
148 // NOLINTEND
149 };
150
151 struct RrtrInformation {
152 public:
153 // member variables
154 // NOLINTBEGIN
158 // NOLINTEND
159
160 public:
161 // prevent constructor by default
162 RrtrInformation& operator=(RrtrInformation const&);
163 RrtrInformation(RrtrInformation const&);
164 RrtrInformation();
165 };
166
167 class RttStats {
168 public:
169 // member variables
170 // NOLINTBEGIN
174 // NOLINTEND
175
176 public:
177 // prevent constructor by default
178 RttStats& operator=(RttStats const&);
179 RttStats(RttStats const&);
180 RttStats();
181 };
182
183 struct TmmbrInformation {
184 public:
185 // TmmbrInformation inner types declare
186 // clang-format off
187 struct TimedTmmbrItem;
188 // clang-format on
189
190 // TmmbrInformation inner types define
191 struct TimedTmmbrItem {
192 public:
193 // member variables
194 // NOLINTBEGIN
197 // NOLINTEND
198
199 public:
200 // prevent constructor by default
201 TimedTmmbrItem& operator=(TimedTmmbrItem const&);
202 TimedTmmbrItem(TimedTmmbrItem const&);
203 TimedTmmbrItem();
204 };
205
206 public:
207 // member variables
208 // NOLINTBEGIN
213 // NOLINTEND
214
215 public:
216 // prevent constructor by default
217 TmmbrInformation& operator=(TmmbrInformation const&);
218 TmmbrInformation(TmmbrInformation const&);
219 TmmbrInformation();
220
221 public:
222 // member functions
223 // NOLINTBEGIN
225
226 MCNAPI ::webrtc::RTCPReceiver::TmmbrInformation& operator=(::webrtc::RTCPReceiver::TmmbrInformation&&);
227
229 // NOLINTEND
230
231 public:
232 // constructor thunks
233 // NOLINTBEGIN
235 // NOLINTEND
236
237 public:
238 // destructor thunk
239 // NOLINTBEGIN
240 MCNAPI void $dtor();
241 // NOLINTEND
242 };
243
244public:
245 // member variables
246 // NOLINTBEGIN
280 // NOLINTEND
281
282public:
283 // prevent constructor by default
284 RTCPReceiver& operator=(RTCPReceiver const&);
285 RTCPReceiver(RTCPReceiver const&);
286 RTCPReceiver();
287
288public:
289 // member functions
290 // NOLINTBEGIN
291 MCNAPI ::std::optional<::webrtc::TimeDelta> AverageRtt() const;
292
293 MCNAPI ::std::vector<::webrtc::rtcp::TmmbItem> BoundingSet(bool* tmmbr_owner);
294
295 MCNAPI ::std::vector<::webrtc::rtcp::ReceiveTimeInfo> ConsumeReceivedXrReferenceTimeInfo();
296
297 MCNAPI ::webrtc::RTCPReceiver::TmmbrInformation* FindOrCreateTmmbrInfo(uint remote_ssrc);
298
299 MCNAPI ::std::vector<::webrtc::ReportBlockData> GetLatestReportBlockData() const;
300
301 MCNAPI ::webrtc::RTCPReceiver::NonSenderRttStats GetNonSenderRTT() const;
302
303 MCNAPI ::std::optional<::webrtc::RtpRtcpInterface::SenderReportStats> GetSenderReportStats() const;
304
305 MCNAPI ::webrtc::RTCPReceiver::TmmbrInformation* GetTmmbrInformation(uint remote_ssrc);
306
307 MCNAPI bool HandleBye(::webrtc::rtcp::CommonHeader const& rtcp_block);
308
310 ::webrtc::rtcp::CommonHeader const& rtcp_block,
312 );
313
314 MCNAPI bool HandleFir(
315 ::webrtc::rtcp::CommonHeader const& rtcp_block,
317 );
318
319 MCNAPI void HandleReportBlock(
320 ::webrtc::rtcp::ReportBlock const& report_block,
322 uint remote_ssrc
323 );
324
325 MCNAPI bool HandleTmmbr(
326 ::webrtc::rtcp::CommonHeader const& rtcp_block,
328 );
329
330 MCNAPI bool HandleXr(
331 ::webrtc::rtcp::CommonHeader const& rtcp_block,
333 bool& contains_dlrr,
334 uint& ssrc
335 );
336
337 MCNAPI void HandleXrDlrrReportBlock(uint sender_ssrc, ::webrtc::rtcp::ReceiveTimeInfo const& rti);
338
339 MCNAPI void HandleXrReceiveReferenceTime(uint sender_ssrc, ::webrtc::rtcp::Rrtr const& rrtr);
340
342
343 MCNAPI ::std::optional<::webrtc::TimeDelta> LastRtt() const;
344
345 MCNAPI ::std::optional<::webrtc::TimeDelta> OnPeriodicRttUpdate(::webrtc::Timestamp newer_than, bool sending);
346
350 );
351
353 ::webrtc::Environment const& env,
356 );
357
358 MCNAPI void SetNonSenderRttMeasurement(bool enabled);
359
360 MCNAPI void SetRemoteSSRC(uint ssrc);
361
362 MCNAPI ::std::vector<::webrtc::rtcp::TmmbItem> TmmbrReceived();
363
365
366 MCNAPI void UpdateTmmbrRemoteIsAlive(uint remote_ssrc);
367
368 MCNAPI void set_local_media_ssrc(uint ssrc);
369
371 // NOLINTEND
372
373public:
374 // constructor thunks
375 // NOLINTBEGIN
376 MCNAPI void* $ctor(
377 ::webrtc::Environment const& env,
380 );
381 // NOLINTEND
382
383public:
384 // destructor thunk
385 // NOLINTBEGIN
386 MCNAPI void $dtor();
387 // NOLINTEND
388};
389
390} // namespace webrtc
Definition ArrayView.h:8
Definition Environment.h:7
Definition RTCPReceiver.h:54
Definition RTCPReceiver.h:70
Definition RTCPReceiver.h:122
MCAPI bool count(uint ssrc) const
Definition RTCPReceiver.h:167
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 void IncomingPacket(::webrtc::ArrayView< uchar const > packet)
MCAPI ::std::vector<::webrtc::rtcp::ReceiveTimeInfo > ConsumeReceivedXrReferenceTimeInfo()
MCAPI bool ParseCompoundPacket(::webrtc::ArrayView< uchar const > packet, ::webrtc::RTCPReceiver::PacketInformation *packet_information)
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 RTCPReceiver(::webrtc::Environment const &env, ::webrtc::RtpRtcpInterface::Configuration const &config, ::webrtc::RTCPReceiver::ModuleRtpRtcp *owner)
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 HandleReportBlock(::webrtc::rtcp::ReportBlock const &report_block, ::webrtc::RTCPReceiver::PacketInformation *packet_information, uint remote_ssrc)
MCAPI ::std::vector<::webrtc::ReportBlockData > GetLatestReportBlockData() const
MCAPI void * $ctor(::webrtc::Environment const &env, ::webrtc::RtpRtcpInterface::Configuration const &config, ::webrtc::RTCPReceiver::ModuleRtpRtcp *owner)
MCAPI void SetNonSenderRttMeasurement(bool enabled)
MCAPI bool HandleCongestionControlFeedback(::webrtc::rtcp::CommonHeader const &rtcp_block, ::webrtc::RTCPReceiver::PacketInformation *packet_information)
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 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 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:39
Definition RTCPReceiver.h:86
Definition RTCPReceiver.h:151
Definition RTCPReceiver.h:183
MCAPI::webrtc::RTCPReceiver::TmmbrInformation & operator=(::webrtc::RTCPReceiver::TmmbrInformation &&)
MCAPI void * $ctor(::webrtc::RTCPReceiver::TmmbrInformation &&)
MCAPI TmmbrInformation(::webrtc::RTCPReceiver::TmmbrInformation &&)
Definition RtpRtcpInterface.h:38
Definition ReceiveTimeInfo.h:7