LeviLamina
Loading...
Searching...
No Matches
RtpTransportControllerSend.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/webrtc/NetworkLinkRtcpObserver.h"
7#include "mc/external/webrtc/NetworkStateEstimateObserver.h"
8#include "mc/external/webrtc/RtpTransportControllerSendInterface.h"
9#include "mc/external/webrtc/scoped_refptr.h"
10
11// auto generated forward declare list
12// clang-format off
13namespace rtc { struct NetworkRoute; }
14namespace rtc { struct SentPacket; }
15namespace webrtc { class DataRate; }
16namespace webrtc { class FecController; }
17namespace webrtc { class FrameTransformerInterface; }
18namespace webrtc { class PacketRouter; }
19namespace webrtc { class ReportBlockData; }
20namespace webrtc { class RtpPacketSender; }
21namespace webrtc { class RtpPacketToSend; }
22namespace webrtc { class RtpRtcpInterface; }
23namespace webrtc { class RtpVideoSenderInterface; }
24namespace webrtc { class StreamFeedbackProvider; }
25namespace webrtc { class TargetTransferRateObserver; }
26namespace webrtc { class TimeDelta; }
27namespace webrtc { class Timestamp; }
28namespace webrtc { class Transport; }
29namespace webrtc { struct BandwidthEstimationSettings; }
30namespace webrtc { struct BitrateAllocationLimits; }
31namespace webrtc { struct BitrateConstraints; }
32namespace webrtc { struct BitrateSettings; }
33namespace webrtc { struct NetworkControlUpdate; }
34namespace webrtc { struct NetworkStateEstimate; }
35namespace webrtc { struct PacedPacketInfo; }
36namespace webrtc { struct ReceivedPacket; }
37namespace webrtc { struct RtpConfig; }
38namespace webrtc { struct RtpPayloadState; }
39namespace webrtc { struct RtpSenderFrameEncryptionConfig; }
40namespace webrtc { struct RtpSenderObservers; }
41namespace webrtc { struct RtpState; }
42namespace webrtc { struct RtpTransportConfig; }
43namespace webrtc { struct TargetRateConstraints; }
44namespace webrtc::rtcp { class TransportFeedback; }
45// clang-format on
46
47namespace webrtc {
48
52public:
53 // RtpTransportControllerSend inner types declare
54 // clang-format off
55 struct LossReport;
56 // clang-format on
57
58 // RtpTransportControllerSend inner types define
59 struct LossReport {
60 public:
61 // member variables
62 // NOLINTBEGIN
65 // NOLINTEND
66
67 public:
68 // prevent constructor by default
69 LossReport& operator=(LossReport const&);
70 LossReport(LossReport const&);
71 LossReport();
72 };
73
74public:
75 // member variables
76 // NOLINTBEGIN
110 // NOLINTEND
111
112public:
113 // prevent constructor by default
117
118public:
119 // virtual functions
120 // NOLINTBEGIN
121 // vIndex: 0
122 virtual ~RtpTransportControllerSend() /*override*/;
123
124 // vIndex: 2
125 virtual ::webrtc::RtpVideoSenderInterface* CreateRtpVideoSender(
126 ::std::map<uint, ::webrtc::RtpState> const& suspended_ssrcs,
127 ::std::map<uint, ::webrtc::RtpPayloadState> const& states,
128 ::webrtc::RtpConfig const& rtp_config,
129 int rtcp_report_interval_ms,
130 ::webrtc::Transport* send_transport,
131 ::webrtc::RtpSenderObservers const& observers,
132 ::std::unique_ptr<::webrtc::FecController> fec_controller,
133 ::webrtc::RtpSenderFrameEncryptionConfig const& frame_encryption_config,
135 ) /*override*/;
136
137 // vIndex: 3
138 virtual void DestroyRtpVideoSender(::webrtc::RtpVideoSenderInterface* rtp_video_sender) /*override*/;
139
140 // vIndex: 4
141 virtual void RegisterSendingRtpStream(::webrtc::RtpRtcpInterface& rtp_module) /*override*/;
142
143 // vIndex: 5
144 virtual void DeRegisterSendingRtpStream(::webrtc::RtpRtcpInterface& rtp_module) /*override*/;
145
146 // vIndex: 1
147 virtual ::webrtc::PacketRouter* packet_router() /*override*/;
148
149 // vIndex: 6
150 virtual ::webrtc::NetworkStateEstimateObserver* network_state_estimate_observer() /*override*/;
151
152 // vIndex: 7
153 virtual ::webrtc::RtpPacketSender* packet_sender() /*override*/;
154
155 // vIndex: 8
156 virtual void SetAllocatedSendBitrateLimits(::webrtc::BitrateAllocationLimits limits) /*override*/;
157
158 // vIndex: 9
159 virtual void ReconfigureBandwidthEstimation(::webrtc::BandwidthEstimationSettings const& settings) /*override*/;
160
161 // vIndex: 10
162 virtual void SetPacingFactor(float pacing_factor) /*override*/;
163
164 // vIndex: 11
165 virtual void SetQueueTimeLimit(int limit_ms) /*override*/;
166
167 // vIndex: 12
168 virtual ::webrtc::StreamFeedbackProvider* GetStreamFeedbackProvider() /*override*/;
169
170 // vIndex: 13
171 virtual void RegisterTargetTransferRateObserver(::webrtc::TargetTransferRateObserver* observer) /*override*/;
172
173 // vIndex: 14
174 virtual void
175 OnNetworkRouteChanged(::std::string_view transport_name, ::rtc::NetworkRoute const& network_route) /*override*/;
176
177 // vIndex: 15
178 virtual void OnNetworkAvailability(bool network_available) /*override*/;
179
180 // vIndex: 16
181 virtual ::webrtc::NetworkLinkRtcpObserver* GetRtcpObserver() /*override*/;
182
183 // vIndex: 17
184 virtual int64 GetPacerQueuingDelayMs() const /*override*/;
185
186 // vIndex: 18
187 virtual ::std::optional<::webrtc::Timestamp> GetFirstPacketTime() const /*override*/;
188
189 // vIndex: 19
190 virtual void EnablePeriodicAlrProbing(bool enable) /*override*/;
191
192 // vIndex: 20
193 virtual void OnSentPacket(::rtc::SentPacket const& sent_packet) /*override*/;
194
195 // vIndex: 21
196 virtual void OnReceivedPacket(::webrtc::ReceivedPacket const& packet_msg) /*override*/;
197
198 // vIndex: 22
199 virtual void SetSdpBitrateParameters(::webrtc::BitrateConstraints const& constraints) /*override*/;
200
201 // vIndex: 23
202 virtual void SetClientBitratePreferences(::webrtc::BitrateSettings const& preferences) /*override*/;
203
204 // vIndex: 24
205 virtual void OnTransportOverheadChanged(uint64 transport_overhead_bytes_per_packet) /*override*/;
206
207 // vIndex: 25
208 virtual void AccountForAudioPacketsInPacedSender(bool account_for_audio) /*override*/;
209
210 // vIndex: 26
211 virtual void IncludeOverheadInPacedSender() /*override*/;
212
213 // vIndex: 27
214 virtual void EnsureStarted() /*override*/;
215
216 // vIndex: 2
217 virtual void
218 OnReceiverEstimatedMaxBitrate(::webrtc::Timestamp receive_time, ::webrtc::DataRate bitrate) /*override*/;
219
220 // vIndex: 3
221 virtual void OnReport(
222 ::webrtc::Timestamp receive_time,
223 ::rtc::ArrayView<::webrtc::ReportBlockData const> report_blocks
224 ) /*override*/;
225
226 // vIndex: 4
227 virtual void OnRttUpdate(::webrtc::Timestamp receive_time, ::webrtc::TimeDelta rtt) /*override*/;
228
229 // vIndex: 1
230 virtual void OnTransportFeedback(
231 ::webrtc::Timestamp receive_time,
232 ::webrtc::rtcp::TransportFeedback const& feedback
233 ) /*override*/;
234
235 // vIndex: 0
236 virtual void OnRemoteNetworkEstimate(::webrtc::NetworkStateEstimate estimate) /*override*/;
237 // NOLINTEND
238
239public:
240 // member functions
241 // NOLINTBEGIN
242 MCNAPI ::std::optional<::webrtc::BitrateConstraints> ApplyOrLiftRelayCap(bool is_relayed);
243
244 MCNAPI ::std::optional<bool> GetCongestedStateUpdate() const;
245
246 MCNAPI bool IsRelevantRouteChange(::rtc::NetworkRoute const& old_route, ::rtc::NetworkRoute const& new_route) const;
247
249
250 MCNAPI void
251 NotifyBweOfPacedSentPacket(::webrtc::RtpPacketToSend const& packet, ::webrtc::PacedPacketInfo const& pacing_info);
252
253 MCNAPI void PostUpdates(::webrtc::NetworkControlUpdate update);
254
255 MCNAPI void ProcessSentPacket(::rtc::SentPacket const& sent_packet);
256
257 MCNAPI void ProcessSentPacketUpdates(::webrtc::NetworkControlUpdate updates);
258
259 MCNAPI explicit RtpTransportControllerSend(::webrtc::RtpTransportConfig const& config);
260
262
263 MCNAPI void UpdateBitrateConstraints(::webrtc::BitrateConstraints const& updated);
264
265 MCNAPI void UpdateCongestedState();
266
267 MCNAPI void UpdateControlState();
268
270
271 MCNAPI void UpdateInitialConstraints(::webrtc::TargetRateConstraints new_contraints);
272
274
275 MCNAPI void UpdateStreamsConfig();
276 // NOLINTEND
277
278public:
279 // constructor thunks
280 // NOLINTBEGIN
281 MCNAPI void* $ctor(::webrtc::RtpTransportConfig const& config);
282 // NOLINTEND
283
284public:
285 // destructor thunk
286 // NOLINTBEGIN
287 MCNAPI void $dtor();
288 // NOLINTEND
289
290public:
291 // virtual function thunks
292 // NOLINTBEGIN
294 ::std::map<uint, ::webrtc::RtpState> const& suspended_ssrcs,
295 ::std::map<uint, ::webrtc::RtpPayloadState> const& states,
296 ::webrtc::RtpConfig const& rtp_config,
297 int rtcp_report_interval_ms,
298 ::webrtc::Transport* send_transport,
299 ::webrtc::RtpSenderObservers const& observers,
300 ::std::unique_ptr<::webrtc::FecController> fec_controller,
301 ::webrtc::RtpSenderFrameEncryptionConfig const& frame_encryption_config,
302 ::webrtc::scoped_refptr<::webrtc::FrameTransformerInterface> frame_transformer
303 );
304
305 MCNAPI void $DestroyRtpVideoSender(::webrtc::RtpVideoSenderInterface* rtp_video_sender);
306
307 MCNAPI void $RegisterSendingRtpStream(::webrtc::RtpRtcpInterface& rtp_module);
308
309 MCNAPI void $DeRegisterSendingRtpStream(::webrtc::RtpRtcpInterface& rtp_module);
310
311 MCNAPI ::webrtc::PacketRouter* $packet_router();
312
314
315 MCNAPI ::webrtc::RtpPacketSender* $packet_sender();
316
318
319 MCNAPI void $ReconfigureBandwidthEstimation(::webrtc::BandwidthEstimationSettings const& settings);
320
321 MCNAPI void $SetPacingFactor(float pacing_factor);
322
323 MCNAPI void $SetQueueTimeLimit(int limit_ms);
324
326
328
329 MCNAPI void $OnNetworkRouteChanged(::std::string_view transport_name, ::rtc::NetworkRoute const& network_route);
330
331 MCNAPI void $OnNetworkAvailability(bool network_available);
332
334
335 MCNAPI int64 $GetPacerQueuingDelayMs() const;
336
337 MCNAPI ::std::optional<::webrtc::Timestamp> $GetFirstPacketTime() const;
338
339 MCNAPI void $EnablePeriodicAlrProbing(bool enable);
340
341 MCNAPI void $OnSentPacket(::rtc::SentPacket const& sent_packet);
342
343 MCNAPI void $OnReceivedPacket(::webrtc::ReceivedPacket const& packet_msg);
344
345 MCNAPI void $SetSdpBitrateParameters(::webrtc::BitrateConstraints const& constraints);
346
347 MCNAPI void $SetClientBitratePreferences(::webrtc::BitrateSettings const& preferences);
348
349 MCNAPI void $OnTransportOverheadChanged(uint64 transport_overhead_bytes_per_packet);
350
351 MCNAPI void $AccountForAudioPacketsInPacedSender(bool account_for_audio);
352
354
355 MCNAPI void $EnsureStarted();
356
357 MCNAPI void $OnReceiverEstimatedMaxBitrate(::webrtc::Timestamp receive_time, ::webrtc::DataRate bitrate);
358
359 MCNAPI void
360 $OnReport(::webrtc::Timestamp receive_time, ::rtc::ArrayView<::webrtc::ReportBlockData const> report_blocks);
361
362 MCNAPI void $OnRttUpdate(::webrtc::Timestamp receive_time, ::webrtc::TimeDelta rtt);
363
364 MCNAPI void
365 $OnTransportFeedback(::webrtc::Timestamp receive_time, ::webrtc::rtcp::TransportFeedback const& feedback);
366
367 MCNAPI void $OnRemoteNetworkEstimate(::webrtc::NetworkStateEstimate estimate);
368 // NOLINTEND
369
370public:
371 // vftables
372 // NOLINTBEGIN
374
376
378 // NOLINTEND
379};
380
381} // namespace webrtc
Definition DataRate.h:10
Definition FecController.h:15
Definition FrameTransformerInterface.h:17
Definition NetworkLinkRtcpObserver.h:16
Definition NetworkStateEstimateObserver.h:12
Definition PacketRouter.h:20
Definition ReportBlockData.h:14
Definition RtpPacketSender.h:12
Definition RtpPacketToSend.h:16
Definition RtpRtcpInterface.h:27
Definition RtpTransportControllerSendInterface.h:38
Definition RtpTransportControllerSend.h:51
MCAPI int64 $GetPacerQueuingDelayMs() const
MCAPI void $OnNetworkRouteChanged(::std::string_view transport_name, ::rtc::NetworkRoute const &network_route)
MCAPI void * $ctor(::webrtc::RtpTransportConfig const &config)
MCAPI ::std::optional< bool > GetCongestedStateUpdate() const
MCAPI void $SetSdpBitrateParameters(::webrtc::BitrateConstraints const &constraints)
MCAPI void $ReconfigureBandwidthEstimation(::webrtc::BandwidthEstimationSettings const &settings)
MCAPI void $OnRttUpdate(::webrtc::Timestamp receive_time, ::webrtc::TimeDelta rtt)
MCAPI void $OnTransportFeedback(::webrtc::Timestamp receive_time, ::webrtc::rtcp::TransportFeedback const &feedback)
static MCAPI void ** $vftableForNetworkStateEstimateObserver()
MCAPI void ProcessSentPacket(::rtc::SentPacket const &sent_packet)
MCAPI void $AccountForAudioPacketsInPacedSender(bool account_for_audio)
MCAPI void $OnSentPacket(::rtc::SentPacket const &sent_packet)
MCAPI void $EnablePeriodicAlrProbing(bool enable)
MCAPI void $OnReport(::webrtc::Timestamp receive_time, ::rtc::ArrayView<::webrtc::ReportBlockData const > report_blocks)
MCAPI::webrtc::NetworkStateEstimateObserver * $network_state_estimate_observer()
MCAPI void $OnTransportOverheadChanged(uint64 transport_overhead_bytes_per_packet)
MCAPI::webrtc::NetworkLinkRtcpObserver * $GetRtcpObserver()
static MCAPI void ** $vftableForNetworkLinkRtcpObserver()
MCAPI ::std::optional<::webrtc::BitrateConstraints > ApplyOrLiftRelayCap(bool is_relayed)
MCAPI void $SetAllocatedSendBitrateLimits(::webrtc::BitrateAllocationLimits limits)
MCAPI::webrtc::StreamFeedbackProvider * $GetStreamFeedbackProvider()
MCAPI void $RegisterSendingRtpStream(::webrtc::RtpRtcpInterface &rtp_module)
MCAPI void $OnReceivedPacket(::webrtc::ReceivedPacket const &packet_msg)
MCAPI void UpdateBitrateConstraints(::webrtc::BitrateConstraints const &updated)
MCAPI void $OnRemoteNetworkEstimate(::webrtc::NetworkStateEstimate estimate)
MCAPI void PostUpdates(::webrtc::NetworkControlUpdate update)
MCAPI void NotifyBweOfPacedSentPacket(::webrtc::RtpPacketToSend const &packet, ::webrtc::PacedPacketInfo const &pacing_info)
MCAPI void ProcessSentPacketUpdates(::webrtc::NetworkControlUpdate updates)
MCAPI void $SetPacingFactor(float pacing_factor)
MCAPI void $SetQueueTimeLimit(int limit_ms)
MCAPI ::std::optional<::webrtc::Timestamp > $GetFirstPacketTime() const
MCAPI void $OnReceiverEstimatedMaxBitrate(::webrtc::Timestamp receive_time, ::webrtc::DataRate bitrate)
MCAPI::webrtc::PacketRouter * $packet_router()
MCAPI void $DeRegisterSendingRtpStream(::webrtc::RtpRtcpInterface &rtp_module)
MCAPI bool IsRelevantRouteChange(::rtc::NetworkRoute const &old_route, ::rtc::NetworkRoute const &new_route) const
MCAPI void $DestroyRtpVideoSender(::webrtc::RtpVideoSenderInterface *rtp_video_sender)
MCAPI::webrtc::RtpPacketSender * $packet_sender()
MCAPI void $SetClientBitratePreferences(::webrtc::BitrateSettings const &preferences)
MCAPI void UpdateInitialConstraints(::webrtc::TargetRateConstraints new_contraints)
MCAPI void $OnNetworkAvailability(bool network_available)
MCAPI::webrtc::RtpVideoSenderInterface * $CreateRtpVideoSender(::std::map< uint, ::webrtc::RtpState > const &suspended_ssrcs, ::std::map< uint, ::webrtc::RtpPayloadState > const &states, ::webrtc::RtpConfig const &rtp_config, int rtcp_report_interval_ms, ::webrtc::Transport *send_transport, ::webrtc::RtpSenderObservers const &observers, ::std::unique_ptr<::webrtc::FecController > fec_controller, ::webrtc::RtpSenderFrameEncryptionConfig const &frame_encryption_config, ::webrtc::scoped_refptr<::webrtc::FrameTransformerInterface > frame_transformer)
MCAPI void $RegisterTargetTransferRateObserver(::webrtc::TargetTransferRateObserver *observer)
static MCAPI void ** $vftableForRtpTransportControllerSendInterface()
Definition RtpVideoSenderInterface.h:21
Definition StreamFeedbackProvider.h:12
Definition TargetTransferRateObserver.h:13
Definition TimeDelta.h:10
Definition Timestamp.h:10
Definition Transport.h:12
Definition scoped_refptr.h:8
STL namespace.
Definition Alias.h:14
Definition NetworkRoute.h:7
Definition BandwidthEstimationSettings.h:7
Definition BitrateAllocationLimits.h:7
Definition BitrateConstraints.h:7
Definition BitrateSettings.h:7
Definition NetworkControlUpdate.h:7
Definition NetworkStateEstimate.h:7
Definition PacedPacketInfo.h:7
Definition ReceivedPacket.h:7
Definition RtpConfig.h:7
Definition RtpPayloadState.h:7
Definition RtpSenderFrameEncryptionConfig.h:7
Definition RtpSenderObservers.h:7
Definition RtpState.h:7
Definition RtpTransportConfig.h:7
Definition RtpTransportControllerSend.h:59
Definition SentPacket.h:7
Definition TargetRateConstraints.h:7