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