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/webrtc/ArrayView.h"
7#include "mc/external/webrtc/FunctionView.h"
8#include "mc/external/webrtc/RTCPPacketType.h"
9#include "mc/external/webrtc/RtcpMode.h"
10
11// auto generated forward declare list
12// clang-format off
13namespace webrtc { class Environment; }
14namespace webrtc { class TimeDelta; }
15namespace webrtc { class Timestamp; }
16namespace webrtc { class VideoBitrateAllocation; }
17namespace webrtc::rtcp { class ReportBlock; }
18namespace webrtc::rtcp { class RtcpPacket; }
19namespace webrtc::rtcp { class TmmbItem; }
20// clang-format on
21
22namespace webrtc {
23
24class RTCPSender {
25public:
26 // RTCPSender inner types declare
27 // clang-format off
28 struct Configuration;
29 struct FeedbackState;
30 class PacketSender;
31 struct ReportFlag;
32 class RtcpContext;
33 // clang-format on
34
35 // RTCPSender inner types define
36 struct Configuration {
37 public:
38 // member variables
39 // NOLINTBEGIN
48 // NOLINTEND
49
50 public:
51 // prevent constructor by default
52 Configuration& operator=(Configuration const&);
53 Configuration(Configuration const&);
54 Configuration();
55
56 public:
57 // member functions
58 // NOLINTBEGIN
60 // NOLINTEND
61
62 public:
63 // destructor thunk
64 // NOLINTBEGIN
65 MCNAPI void $dtor();
66 // NOLINTEND
67 };
68
69 struct FeedbackState {
70 public:
71 // member variables
72 // NOLINTBEGIN
80 // NOLINTEND
81
82 public:
83 // prevent constructor by default
84 FeedbackState& operator=(FeedbackState const&);
85 FeedbackState(FeedbackState const&);
86
87 public:
88 // member functions
89 // NOLINTBEGIN
90 MCNAPI FeedbackState();
91
93 // NOLINTEND
94
95 public:
96 // constructor thunks
97 // NOLINTBEGIN
98 MCNAPI void* $ctor();
99 // NOLINTEND
100
101 public:
102 // destructor thunk
103 // NOLINTBEGIN
104 MCNAPI void $dtor();
105 // NOLINTEND
106 };
107
108 class PacketSender {
109 public:
110 // member variables
111 // NOLINTBEGIN
116 // NOLINTEND
117
118 public:
119 // prevent constructor by default
120 PacketSender& operator=(PacketSender const&);
121 PacketSender(PacketSender const&);
122 PacketSender();
123
124 public:
125 // member functions
126 // NOLINTBEGIN
127 MCNAPI
129
131 // NOLINTEND
132
133 public:
134 // constructor thunks
135 // NOLINTBEGIN
136 MCNAPI void*
137 $ctor(::webrtc::FunctionView<void(::webrtc::ArrayView<uchar const>)> callback, uint64 max_packet_size);
138 // NOLINTEND
139
140 public:
141 // destructor thunk
142 // NOLINTBEGIN
143 MCNAPI void $dtor();
144 // NOLINTEND
145 };
146
147 struct ReportFlag {
148 public:
149 // member variables
150 // NOLINTBEGIN
153 // NOLINTEND
154
155 public:
156 // prevent constructor by default
157 ReportFlag& operator=(ReportFlag const&);
158 ReportFlag(ReportFlag const&);
159 ReportFlag();
160 };
161
162 class RtcpContext {
163 public:
164 // member variables
165 // NOLINTBEGIN
169 // NOLINTEND
170
171 public:
172 // prevent constructor by default
173 RtcpContext& operator=(RtcpContext const&);
174 RtcpContext(RtcpContext const&);
175 RtcpContext();
176 };
177
178public:
179 // member variables
180 // NOLINTBEGIN
217 // NOLINTEND
218
219public:
220 // prevent constructor by default
221 RTCPSender& operator=(RTCPSender const&);
222 RTCPSender(RTCPSender const&);
223 RTCPSender();
224
225public:
226 // member functions
227 // NOLINTBEGIN
228 MCNAPI bool AllVolatileFlagsConsumed() const;
229
231
232 MCNAPI void
234
236
237 MCNAPI void
239
241
243
245
247
249
251
253
255
256 MCNAPI ::std::optional<::webrtc::VideoBitrateAllocation>
258
259 MCNAPI ::std::optional<int> ComputeCompoundRTCPPacket(
260 ::webrtc::RTCPSender::FeedbackState const& feedback_state,
261 ::webrtc::RTCPPacketType packet_type,
264 );
265
266 MCNAPI bool ConsumeFlag(uint type, bool forced);
267
268 MCNAPI ::std::vector<::webrtc::rtcp::ReportBlock>
270
271 MCNAPI void PrepareReport(::webrtc::RTCPSender::FeedbackState const& feedback_state);
272
274
275 MCNAPI uint SSRC() const;
276
277 MCNAPI void SendCombinedRtcpPacket(::std::vector<::std::unique_ptr<::webrtc::rtcp::RtcpPacket>> rtcp_packets);
278
280 ::webrtc::RTCPSender::FeedbackState const& feedback_state,
281 ushort last_decoded_seq_num,
282 ushort last_received_seq_num,
283 bool decodability_flag,
284 bool buffering_allowed
285 );
286
287 MCNAPI int SendRTCP(
288 ::webrtc::RTCPSender::FeedbackState const& feedback_state,
289 ::webrtc::RTCPPacketType packet_type,
291 );
292
293 MCNAPI bool Sending() const;
294
295 MCNAPI int SetCNAME(::std::string_view c_name);
296
297 MCNAPI void SetFlag(uint type, bool is_volatile);
298
299 MCNAPI void SetLastRtpTime(
300 uint rtp_timestamp,
301 ::std::optional<::webrtc::Timestamp> capture_time,
302 ::std::optional<schar> payload_type
303 );
304
305 MCNAPI void SetMaxRtpPacketSize(uint64 max_packet_size);
306
308
309 MCNAPI void SetNonSenderRttMeasurement(bool enabled);
310
311 MCNAPI void SetRTCPStatus(::webrtc::RtcpMode new_method);
312
313 MCNAPI void SetRemb(int64 bitrate_bps, ::std::vector<uint> ssrcs);
314
315 MCNAPI void SetRemoteSSRC(uint ssrc);
316
317 MCNAPI void SetRtpClockRate(schar payload_type, int rtp_clock_rate_hz);
318
319 MCNAPI void SetSendingStatus(::webrtc::RTCPSender::FeedbackState const&, bool sending);
320
321 MCNAPI void SetSsrc(uint ssrc);
322
323 MCNAPI void SetTimestampOffset(uint timestamp_offset);
324
325 MCNAPI void SetTmmbn(::std::vector<::webrtc::rtcp::TmmbItem> bounding_set);
326
328
329 MCNAPI ::webrtc::RtcpMode Status() const;
330
331 MCNAPI bool TimeToSendRTCPReport(bool send_keyframe_before_rtp) const;
332
333 MCNAPI void UnsetRemb();
334
335 MCNAPI ~RTCPSender();
336 // NOLINTEND
337
338public:
339 // constructor thunks
340 // NOLINTBEGIN
342 // NOLINTEND
343
344public:
345 // destructor thunk
346 // NOLINTBEGIN
347 MCNAPI void $dtor();
348 // NOLINTEND
349};
350
351} // namespace webrtc
Definition ArrayView.h:8
Definition Environment.h:7
Definition FunctionView.h:8
Definition RTCPSender.h:108
MCAPI void * $ctor(::webrtc::FunctionView< void(::webrtc::ArrayView< uchar const >)> callback, uint64 max_packet_size)
MCAPI PacketSender(::webrtc::FunctionView< void(::webrtc::ArrayView< uchar const >)> callback, uint64 max_packet_size)
Definition RTCPSender.h:162
MCAPI ::std::optional< int > ComputeCompoundRTCPPacket(::webrtc::RTCPSender::FeedbackState const &feedback_state, ::webrtc::RTCPPacketType packet_type, ::webrtc::ArrayView< ushort const > nacks, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI void BuildPLI(::webrtc::RTCPSender::RtcpContext const &, ::webrtc::RTCPSender::PacketSender &sender)
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 BuildTMMBN(::webrtc::RTCPSender::RtcpContext const &, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI void SetTmmbn(::std::vector<::webrtc::rtcp::TmmbItem > bounding_set)
MCAPI void SetSendingStatus(::webrtc::RTCPSender::FeedbackState const &, bool sending)
MCAPI void SetVideoBitrateAllocation(::webrtc::VideoBitrateAllocation const &bitrate)
MCAPI void BuildTMMBR(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI bool AllVolatileFlagsConsumed() const
MCAPI RTCPSender(::webrtc::Environment const &env, ::webrtc::RTCPSender::Configuration config)
MCAPI void SetTimestampOffset(uint timestamp_offset)
MCAPI void UnsetRemb()
MCAPI void SetNonSenderRttMeasurement(bool enabled)
MCAPI uint SSRC() const
MCAPI int SendRTCP(::webrtc::RTCPSender::FeedbackState const &feedback_state, ::webrtc::RTCPPacketType packet_type, ::webrtc::ArrayView< ushort const > nacks)
MCAPI void SetRemoteSSRC(uint ssrc)
MCAPI void BuildBYE(::webrtc::RTCPSender::RtcpContext const &, ::webrtc::RTCPSender::PacketSender &sender)
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 BuildLossNotification(::webrtc::RTCPSender::RtcpContext const &, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI void BuildRR(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI void BuildSDES(::webrtc::RTCPSender::RtcpContext const &, ::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::webrtc::RtcpMode Status() const
MCAPI void BuildExtendedReports(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI void BuildREMB(::webrtc::RTCPSender::RtcpContext const &, ::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 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 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 BuildFIR(::webrtc::RTCPSender::RtcpContext const &, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI void SetFlag(uint type, bool is_volatile)
MCAPI void * $ctor(::webrtc::Environment const &env, ::webrtc::RTCPSender::Configuration config)
MCAPI void SetMaxRtpPacketSize(uint64 max_packet_size)
Definition TimeDelta.h:10
Definition Timestamp.h:15
Definition VideoBitrateAllocation.h:7
Definition ReportBlock.h:7
Definition RtcpPacket.h:11
Definition TmmbItem.h:7
Definition ctx.h:5
Definition Alias.h:14
Definition RTCPSender.h:36
Definition RTCPSender.h:69
Definition RTCPSender.h:147