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