LeviLamina
Loading...
Searching...
No Matches
RTCPSender.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/rtc/FunctionView.h"
7#include "mc/external/webrtc/RTCPPacketType.h"
8#include "mc/external/webrtc/RtcpMode.h"
9#include "mc/external/webrtc/RtpRtcpInterface.h"
10
11// auto generated forward declare list
12// clang-format off
13namespace webrtc { class TimeDelta; }
14namespace webrtc { class Timestamp; }
15namespace webrtc { class VideoBitrateAllocation; }
16namespace webrtc::rtcp { class ReportBlock; }
17namespace webrtc::rtcp { class RtcpPacket; }
18namespace webrtc::rtcp { class TmmbItem; }
19// clang-format on
20
21namespace webrtc {
22
23class RTCPSender {
24public:
25 // RTCPSender inner types declare
26 // clang-format off
27 struct Configuration;
28 struct FeedbackState;
29 class PacketSender;
30 struct ReportFlag;
31 class RtcpContext;
32 // clang-format on
33
34 // RTCPSender inner types define
35 struct Configuration {
36 public:
37 // member variables
38 // NOLINTBEGIN
49 // NOLINTEND
50
51 public:
52 // prevent constructor by default
53 Configuration& operator=(Configuration const&);
54 Configuration(Configuration const&);
55 Configuration();
56
57 public:
58 // member functions
59 // NOLINTBEGIN
61 // NOLINTEND
62
63 public:
64 // static functions
65 // NOLINTBEGIN
66 MCNAPI static ::webrtc::RTCPSender::Configuration
68 // NOLINTEND
69
70 public:
71 // destructor thunk
72 // NOLINTBEGIN
73 MCNAPI void $dtor();
74 // NOLINTEND
75 };
76
77 struct FeedbackState {
78 public:
79 // member variables
80 // NOLINTBEGIN
88 // NOLINTEND
89
90 public:
91 // prevent constructor by default
92 FeedbackState& operator=(FeedbackState const&);
93 FeedbackState(FeedbackState const&);
94
95 public:
96 // member functions
97 // NOLINTBEGIN
98 MCNAPI FeedbackState();
99
101 // NOLINTEND
102
103 public:
104 // constructor thunks
105 // NOLINTBEGIN
106 MCNAPI void* $ctor();
107 // NOLINTEND
108
109 public:
110 // destructor thunk
111 // NOLINTBEGIN
112 MCNAPI void $dtor();
113 // NOLINTEND
114 };
115
116 class PacketSender {
117 public:
118 // member variables
119 // NOLINTBEGIN
124 // NOLINTEND
125
126 public:
127 // prevent constructor by default
128 PacketSender& operator=(PacketSender const&);
129 PacketSender(PacketSender const&);
130 PacketSender();
131
132 public:
133 // member functions
134 // NOLINTBEGIN
135 MCNAPI PacketSender(::rtc::FunctionView<void(::rtc::ArrayView<uchar const>)> callback, uint64 max_packet_size);
136
138 // NOLINTEND
139
140 public:
141 // constructor thunks
142 // NOLINTBEGIN
143 MCNAPI void* $ctor(::rtc::FunctionView<void(::rtc::ArrayView<uchar const>)> callback, uint64 max_packet_size);
144 // NOLINTEND
145
146 public:
147 // destructor thunk
148 // NOLINTBEGIN
149 MCNAPI void $dtor();
150 // NOLINTEND
151 };
152
153 struct ReportFlag {
154 public:
155 // member variables
156 // NOLINTBEGIN
159 // NOLINTEND
160
161 public:
162 // prevent constructor by default
163 ReportFlag& operator=(ReportFlag const&);
164 ReportFlag(ReportFlag const&);
165 ReportFlag();
166 };
167
168 class RtcpContext {
169 public:
170 // member variables
171 // NOLINTBEGIN
176 // NOLINTEND
177
178 public:
179 // prevent constructor by default
180 RtcpContext& operator=(RtcpContext const&);
181 RtcpContext(RtcpContext const&);
182 RtcpContext();
183 };
184
185public:
186 // member variables
187 // NOLINTBEGIN
225 // NOLINTEND
226
227public:
228 // prevent constructor by default
229 RTCPSender& operator=(RTCPSender const&);
230 RTCPSender(RTCPSender const&);
231 RTCPSender();
232
233public:
234 // virtual functions
235 // NOLINTBEGIN
236 virtual ~RTCPSender();
237 // NOLINTEND
238
239public:
240 // member functions
241 // NOLINTBEGIN
242 MCNAPI bool AllVolatileFlagsConsumed() const;
243
245
246 MCNAPI void
248
250
251 MCNAPI void
253
255
257
259
261
263
265
267
269
270 MCNAPI ::std::optional<::webrtc::VideoBitrateAllocation>
272
273 MCNAPI ::std::optional<int> ComputeCompoundRTCPPacket(
274 ::webrtc::RTCPSender::FeedbackState const& feedback_state,
275 ::webrtc::RTCPPacketType packet_type,
276 int nack_size,
277 ushort const* nack_list,
279 );
280
281 MCNAPI bool ConsumeFlag(uint type, bool forced);
282
283 MCNAPI ::std::vector<::webrtc::rtcp::ReportBlock>
285
286 MCNAPI void PrepareReport(::webrtc::RTCPSender::FeedbackState const& feedback_state);
287
289
290 MCNAPI uint SSRC() const;
291
292 MCNAPI void SendCombinedRtcpPacket(::std::vector<::std::unique_ptr<::webrtc::rtcp::RtcpPacket>> rtcp_packets);
293
295 ::webrtc::RTCPSender::FeedbackState const& feedback_state,
296 ushort last_decoded_seq_num,
297 ushort last_received_seq_num,
298 bool decodability_flag,
299 bool buffering_allowed
300 );
301
302 MCNAPI int SendRTCP(
303 ::webrtc::RTCPSender::FeedbackState const& feedback_state,
304 ::webrtc::RTCPPacketType packet_type,
305 int nack_size,
306 ushort const* nack_list
307 );
308
309 MCNAPI bool Sending() const;
310
311 MCNAPI int SetCNAME(::std::string_view c_name);
312
313 MCNAPI void SetFlag(uint type, bool is_volatile);
314
315 MCNAPI void SetLastRtpTime(
316 uint rtp_timestamp,
317 ::std::optional<::webrtc::Timestamp> capture_time,
318 ::std::optional<schar> payload_type
319 );
320
321 MCNAPI void SetMaxRtpPacketSize(uint64 max_packet_size);
322
324
325 MCNAPI void SetNonSenderRttMeasurement(bool enabled);
326
327 MCNAPI void SetRTCPStatus(::webrtc::RtcpMode new_method);
328
329 MCNAPI void SetRemb(int64 bitrate_bps, ::std::vector<uint> ssrcs);
330
331 MCNAPI void SetRemoteSSRC(uint ssrc);
332
333 MCNAPI void SetRtpClockRate(schar payload_type, int rtp_clock_rate_hz);
334
335 MCNAPI void SetSendingStatus(::webrtc::RTCPSender::FeedbackState const& feedback_state, bool sending);
336
337 MCNAPI void SetSsrc(uint ssrc);
338
339 MCNAPI void SetTimestampOffset(uint timestamp_offset);
340
341 MCNAPI void SetTmmbn(::std::vector<::webrtc::rtcp::TmmbItem> bounding_set);
342
344
345 MCNAPI ::webrtc::RtcpMode Status() const;
346
347 MCNAPI bool TimeToSendRTCPReport(bool send_keyframe_before_rtp) const;
348
349 MCNAPI void UnsetRemb();
350 // NOLINTEND
351
352public:
353 // constructor thunks
354 // NOLINTBEGIN
356 // NOLINTEND
357
358public:
359 // destructor thunk
360 // NOLINTBEGIN
361 MCNAPI void $dtor();
362 // NOLINTEND
363
364public:
365 // vftables
366 // NOLINTBEGIN
367 MCNAPI static void** $vftable();
368 // NOLINTEND
369};
370
371} // namespace webrtc
Definition _HeaderOutputPredefine.h:311
Definition FunctionView.h:8
Definition RTCPSender.h:116
MCAPI void * $ctor(::rtc::FunctionView< void(::rtc::ArrayView< uchar const >)> callback, uint64 max_packet_size)
MCAPI PacketSender(::rtc::FunctionView< void(::rtc::ArrayView< uchar const >)> callback, uint64 max_packet_size)
Definition RTCPSender.h:168
MCAPI void SetRtpClockRate(schar payload_type, int rtp_clock_rate_hz)
MCAPI void BuildSR(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI void SetRTCPStatus(::webrtc::RtcpMode new_method)
MCAPI void SetSsrc(uint ssrc)
MCAPI void SetTmmbn(::std::vector<::webrtc::rtcp::TmmbItem > bounding_set)
static MCAPI void ** $vftable()
MCAPI void BuildREMB(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI void SetVideoBitrateAllocation(::webrtc::VideoBitrateAllocation const &bitrate)
MCAPI void BuildTMMBR(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI bool AllVolatileFlagsConsumed() const
MCAPI void SetTimestampOffset(uint timestamp_offset)
MCAPI void UnsetRemb()
MCAPI void * $ctor(::webrtc::RTCPSender::Configuration config)
MCAPI void BuildTMMBN(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI void SetNonSenderRttMeasurement(bool enabled)
MCAPI ::std::optional< int > ComputeCompoundRTCPPacket(::webrtc::RTCPSender::FeedbackState const &feedback_state, ::webrtc::RTCPPacketType packet_type, int nack_size, ushort const *nack_list, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI uint SSRC() const
MCAPI int SendRTCP(::webrtc::RTCPSender::FeedbackState const &feedback_state, ::webrtc::RTCPPacketType packet_type, int nack_size, ushort const *nack_list)
MCAPI void SetRemoteSSRC(uint ssrc)
MCAPI ::std::vector<::webrtc::rtcp::ReportBlock > CreateReportBlocks(::webrtc::RTCPSender::FeedbackState const &feedback_state)
MCAPI void PrepareReport(::webrtc::RTCPSender::FeedbackState const &feedback_state)
MCAPI bool TimeToSendRTCPReport(bool send_keyframe_before_rtp) const
MCAPI void BuildRR(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI void BuildNACK(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI bool Sending() const
MCAPI int SetCNAME(::std::string_view c_name)
MCAPI void SetNextRtcpSendEvaluationDuration(::webrtc::TimeDelta duration)
MCAPI void BuildLossNotification(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI::webrtc::RtcpMode Status() const
MCAPI void BuildExtendedReports(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI void $dtor()
MCAPI void SetLastRtpTime(uint rtp_timestamp, ::std::optional<::webrtc::Timestamp > capture_time, ::std::optional< schar > payload_type)
MCAPI void BuildBYE(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI void SetRemb(int64 bitrate_bps, ::std::vector< uint > ssrcs)
MCAPI void SendCombinedRtcpPacket(::std::vector<::std::unique_ptr<::webrtc::rtcp::RtcpPacket > > rtcp_packets)
MCAPI bool ConsumeFlag(uint type, bool forced)
MCAPI void BuildFIR(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI void SetSendingStatus(::webrtc::RTCPSender::FeedbackState const &feedback_state, bool sending)
MCAPI int SendLossNotification(::webrtc::RTCPSender::FeedbackState const &feedback_state, ushort last_decoded_seq_num, ushort last_received_seq_num, bool decodability_flag, bool buffering_allowed)
MCAPI ::std::optional<::webrtc::VideoBitrateAllocation > CheckAndUpdateLayerStructure(::webrtc::VideoBitrateAllocation const &bitrate) const
MCAPI void SetFlag(uint type, bool is_volatile)
MCAPI void BuildPLI(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI void SetMaxRtpPacketSize(uint64 max_packet_size)
MCAPI RTCPSender(::webrtc::RTCPSender::Configuration config)
MCAPI void BuildSDES(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
Definition TimeDelta.h:10
Definition Timestamp.h:15
Definition VideoBitrateAllocation.h:7
Definition ReportBlock.h:7
Definition RtcpPacket.h:10
Definition TmmbItem.h:7
Definition ctx.h:5
Definition Alias.h:14
Definition RTCPSender.h:35
static MCAPI ::webrtc::RTCPSender::Configuration FromRtpRtcpConfiguration(::webrtc::RtpRtcpInterface::Configuration const &configuration)
Definition RTCPSender.h:77
Definition RTCPSender.h:153
Definition RtpRtcpInterface.h:37