LeviLamina
Loading...
Searching...
No Matches
RtpRtcpInterface.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/RTCPPacketType.h"
8#include "mc/external/webrtc/RtcpFeedbackSenderInterface.h"
9#include "mc/external/webrtc/RtcpMode.h"
10#include "mc/external/webrtc/RtpSequenceNumberMap.h"
11
12// auto generated forward declare list
13// clang-format off
14namespace webrtc { class RTPSender; }
15namespace webrtc { class ReportBlockData; }
16namespace webrtc { class RtpPacketToSend; }
17namespace webrtc { class RtpSendRates; }
18namespace webrtc { class TimeDelta; }
19namespace webrtc { class VideoBitrateAllocation; }
20namespace webrtc { struct FecProtectionParams; }
21namespace webrtc { struct PacedPacketInfo; }
22namespace webrtc { struct RtpState; }
23namespace webrtc { struct StreamDataCounters; }
24// clang-format on
25
26namespace webrtc {
27
29public:
30 // RtpRtcpInterface inner types declare
31 // clang-format off
32 struct Configuration;
33 struct NonSenderRttStats;
34 struct SenderReportStats;
35 // clang-format on
36
37 // RtpRtcpInterface inner types define
38 struct Configuration {
39 public:
40 // member variables
41 // NOLINTBEGIN
74 // NOLINTEND
75
76 public:
77 // prevent constructor by default
78 Configuration& operator=(Configuration const&);
79 Configuration(Configuration const&);
80 Configuration();
81
82 public:
83 // member functions
84 // NOLINTBEGIN
86 // NOLINTEND
87
88 public:
89 // destructor thunk
90 // NOLINTBEGIN
91 MCNAPI void $dtor();
92 // NOLINTEND
93 };
94
95 struct NonSenderRttStats {
96 public:
97 // member variables
98 // NOLINTBEGIN
102 // NOLINTEND
103
104 public:
105 // prevent constructor by default
106 NonSenderRttStats& operator=(NonSenderRttStats const&);
107 NonSenderRttStats(NonSenderRttStats const&);
108 NonSenderRttStats();
109 };
110
111 struct SenderReportStats {
112 public:
113 // member variables
114 // NOLINTBEGIN
122 // NOLINTEND
123
124 public:
125 // prevent constructor by default
126 SenderReportStats& operator=(SenderReportStats const&);
127 SenderReportStats(SenderReportStats const&);
128 SenderReportStats();
129 };
130
131public:
132 // virtual functions
133 // NOLINTBEGIN
134 virtual void IncomingRtcpPacket(::webrtc::ArrayView<uchar const> rtcp_packet) = 0;
135
136 virtual void SetRemoteSSRC(uint ssrc) = 0;
137
138 virtual void SetLocalSsrc(uint local_ssrc) = 0;
139
140 virtual void SetMaxRtpPacketSize(uint64 rtp_packet_size) = 0;
141
142 virtual uint64 MaxRtpPacketSize() const = 0;
143
144 virtual void RegisterSendPayloadFrequency(int payload_type, int payload_frequency) = 0;
145
146 virtual int DeRegisterSendPayload(schar) = 0;
147
148 virtual void SetExtmapAllowMixed(bool extmap_allow_mixed) = 0;
149
150 virtual void RegisterRtpHeaderExtension(::std::string_view uri, int id) = 0;
151
152 virtual void DeregisterSendRtpHeaderExtension(::std::string_view uri) = 0;
153
154 virtual bool SupportsPadding() const = 0;
155
156 virtual bool SupportsRtxPayloadPadding() const = 0;
157
158 virtual uint StartTimestamp() const = 0;
159
160 virtual void SetStartTimestamp(uint timestamp) = 0;
161
162 virtual ushort SequenceNumber() const = 0;
163
164 virtual void SetSequenceNumber(ushort seq_num) = 0;
165
166 virtual void SetRtpState(::webrtc::RtpState const& rtp_state) = 0;
167
168 virtual void SetRtxState(::webrtc::RtpState const& rtp_state) = 0;
169
170 virtual ::webrtc::RtpState GetRtpState() const = 0;
171
172 virtual ::webrtc::RtpState GetRtxState() const = 0;
173
174 virtual void SetNonSenderRttMeasurement(bool enabled) = 0;
175
176 virtual uint SSRC() const = 0;
177
178 virtual void SetMid(::std::string_view mid) = 0;
179
180 virtual void SetRtxSendStatus(int mode) = 0;
181
182 virtual int RtxSendStatus() const = 0;
183
184 virtual ::std::optional<uint> RtxSsrc() const = 0;
185
186 virtual void SetRtxSendPayloadType(int payload_type, int associated_payload_type) = 0;
187
188 virtual ::std::optional<uint> FlexfecSsrc() const = 0;
189
190 virtual int SetSendingStatus(bool sending) = 0;
191
192 virtual bool Sending() const = 0;
193
194 virtual void SetSendingMediaStatus(bool sending) = 0;
195
196 virtual bool SendingMedia() const = 0;
197
198 virtual bool IsAudioConfigured() const = 0;
199
200 virtual void SetAsPartOfAllocation(bool part_of_allocation) = 0;
201
202 virtual ::webrtc::RtpSendRates GetSendRates() const = 0;
203
204 virtual ::webrtc::RTPSender* RtpSender() = 0;
205
206 virtual ::webrtc::RTPSender const* RtpSender() const = 0;
207
208 virtual bool
209 OnSendingRtpFrame(uint timestamp, int64 capture_time_ms, int payload_type, bool force_sender_report) = 0;
210
211 virtual bool TrySendPacket(
212 ::std::unique_ptr<::webrtc::RtpPacketToSend> packet,
213 ::webrtc::PacedPacketInfo const& pacing_info
214 ) = 0;
215
216 virtual bool CanSendPacket(::webrtc::RtpPacketToSend const& packet) const = 0;
217
218 virtual void AssignSequenceNumber(::webrtc::RtpPacketToSend& packet) = 0;
219
220 virtual void
221 SendPacket(::std::unique_ptr<::webrtc::RtpPacketToSend> packet, ::webrtc::PacedPacketInfo const& pacing_info) = 0;
222
223 virtual void OnBatchComplete() = 0;
224
225 virtual void SetFecProtectionParams(
226 ::webrtc::FecProtectionParams const& delta_params,
227 ::webrtc::FecProtectionParams const& key_params
228 ) = 0;
229
230 virtual ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> FetchFecPackets() = 0;
231
232 virtual void OnAbortedRetransmissions(::webrtc::ArrayView<ushort const> sequence_numbers) = 0;
233
234 virtual void OnPacketsAcknowledged(::webrtc::ArrayView<ushort const> sequence_numbers) = 0;
235
236 virtual ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> GeneratePadding(uint64 target_size_bytes) = 0;
237
238 virtual ::std::vector<::webrtc::RtpSequenceNumberMap::Info>
239 GetSentRtpPacketInfos(::webrtc::ArrayView<ushort const> sequence_numbers) const = 0;
240
241 virtual uint64 ExpectedPerPacketOverhead() const = 0;
242
243 virtual void OnPacketSendingThreadSwitched() = 0;
244
245 virtual ::webrtc::RtcpMode RTCP() const = 0;
246
247 virtual void SetRTCPStatus(::webrtc::RtcpMode method) = 0;
248
249 virtual int SetCNAME(::std::string_view c_name) = 0;
250
251 virtual ::std::optional<::webrtc::TimeDelta> LastRtt() const = 0;
252
253 virtual ::webrtc::TimeDelta ExpectedRetransmissionTime() const = 0;
254
255 virtual int SendRTCP(::webrtc::RTCPPacketType packet_type) = 0;
256
257 virtual void GetSendStreamDataCounters(
258 ::webrtc::StreamDataCounters* rtp_counters,
259 ::webrtc::StreamDataCounters* rtx_counters
260 ) const = 0;
261
262 virtual ::std::vector<::webrtc::ReportBlockData> GetLatestReportBlockData() const = 0;
263
264 virtual ::std::optional<::webrtc::RtpRtcpInterface::SenderReportStats> GetSenderReportStats() const = 0;
265
266 virtual ::std::optional<::webrtc::RtpRtcpInterface::NonSenderRttStats> GetNonSenderRttStats() const = 0;
267
268 virtual void SetRemb(int64 bitrate_bps, ::std::vector<uint> ssrcs) = 0;
269
270 virtual void UnsetRemb() = 0;
271
272 virtual int SendNACK(ushort const* nack_list, ushort size) = 0;
273
274 virtual void SendNack(::std::vector<ushort> const& sequence_numbers) = 0;
275
276 virtual void SetStorePacketsStatus(bool enable, ushort number_to_store) = 0;
277
278 virtual void SetVideoBitrateAllocation(::webrtc::VideoBitrateAllocation const& bitrate) = 0;
279
280 virtual int SendLossNotification(
281 ushort last_decoded_seq_num,
282 ushort last_received_seq_num,
283 bool decodability_flag,
284 bool buffering_allowed
285 ) = 0;
286
287 virtual ~RtpRtcpInterface() /*override*/ = default;
288 // NOLINTEND
289};
290
291} // namespace webrtc
Definition ArrayView.h:8
Definition RTPSender.h:21
Definition ReportBlockData.h:14
Definition RtcpFeedbackSenderInterface.h:12
Definition RtpPacketToSend.h:16
Definition RtpRtcpInterface.h:28
Definition RtpSendRates.h:7
Definition TimeDelta.h:10
Definition VideoBitrateAllocation.h:7
Definition Alias.h:14
Definition FecProtectionParams.h:7
Definition PacedPacketInfo.h:7
Definition RtpRtcpInterface.h:38
Definition RtpRtcpInterface.h:95
Definition RtpRtcpInterface.h:111
Definition RtpState.h:7
Definition StreamDataCounters.h:7