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 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 NetworkStateEstimate; }
34namespace webrtc { struct ReceivedPacket; }
35namespace webrtc { struct RtpConfig; }
36namespace webrtc { struct RtpPayloadState; }
37namespace webrtc { struct RtpSenderFrameEncryptionConfig; }
38namespace webrtc { struct RtpSenderObservers; }
39namespace webrtc { struct RtpState; }
40namespace webrtc { struct RtpTransportConfig; }
41namespace webrtc { struct TargetRateConstraints; }
42namespace webrtc::rtcp { class TransportFeedback; }
43// clang-format on
44
45namespace webrtc {
46
47class RtpTransportControllerSend : public ::webrtc::RtpTransportControllerSendInterface,
50public:
51 // RtpTransportControllerSend inner types declare
52 // clang-format off
53 struct LossReport;
54 // clang-format on
55
56 // RtpTransportControllerSend inner types define
57 struct LossReport {
58 public:
59 // member variables
60 // NOLINTBEGIN
63 // NOLINTEND
64
65 public:
66 // prevent constructor by default
67 LossReport& operator=(LossReport const&);
68 LossReport(LossReport const&);
69 LossReport();
70 };
71
72public:
73 // member variables
74 // NOLINTBEGIN
108 // NOLINTEND
109
110public:
111 // prevent constructor by default
112 RtpTransportControllerSend& operator=(RtpTransportControllerSend const&);
113 RtpTransportControllerSend(RtpTransportControllerSend const&);
114 RtpTransportControllerSend();
115
116public:
117 // virtual functions
118 // NOLINTBEGIN
119 virtual ~RtpTransportControllerSend() /*override*/;
120
121 virtual ::webrtc::RtpVideoSenderInterface* CreateRtpVideoSender(
122 ::std::map<uint, ::webrtc::RtpState> const& suspended_ssrcs,
123 ::std::map<uint, ::webrtc::RtpPayloadState> const& states,
124 ::webrtc::RtpConfig const& rtp_config,
125 int rtcp_report_interval_ms,
126 ::webrtc::Transport* send_transport,
127 ::webrtc::RtpSenderObservers const& observers,
128 ::std::unique_ptr<::webrtc::FecController> fec_controller,
129 ::webrtc::RtpSenderFrameEncryptionConfig const& frame_encryption_config,
131 ) /*override*/;
132
133 virtual void DestroyRtpVideoSender(::webrtc::RtpVideoSenderInterface* rtp_video_sender) /*override*/;
134
135 virtual void RegisterSendingRtpStream(::webrtc::RtpRtcpInterface& rtp_module) /*override*/;
136
137 virtual void DeRegisterSendingRtpStream(::webrtc::RtpRtcpInterface& rtp_module) /*override*/;
138
139 virtual ::webrtc::PacketRouter* packet_router() /*override*/;
140
141 virtual ::webrtc::NetworkStateEstimateObserver* network_state_estimate_observer() /*override*/;
142
143 virtual ::webrtc::RtpPacketSender* packet_sender() /*override*/;
144
145 virtual void SetAllocatedSendBitrateLimits(::webrtc::BitrateAllocationLimits limits) /*override*/;
146
147 virtual void ReconfigureBandwidthEstimation(::webrtc::BandwidthEstimationSettings const& settings) /*override*/;
148
149 virtual void SetPacingFactor(float pacing_factor) /*override*/;
150
151 virtual void SetQueueTimeLimit(int limit_ms) /*override*/;
152
153 virtual ::webrtc::StreamFeedbackProvider* GetStreamFeedbackProvider() /*override*/;
154
155 virtual void RegisterTargetTransferRateObserver(::webrtc::TargetTransferRateObserver* observer) /*override*/;
156
157 virtual void
158 OnNetworkRouteChanged(::std::string_view transport_name, ::rtc::NetworkRoute const& network_route) /*override*/;
159
160 virtual void OnNetworkAvailability(bool network_available) /*override*/;
161
162 virtual ::webrtc::NetworkLinkRtcpObserver* GetRtcpObserver() /*override*/;
163
164 virtual int64 GetPacerQueuingDelayMs() const /*override*/;
165
166 virtual ::std::optional<::webrtc::Timestamp> GetFirstPacketTime() const /*override*/;
167
168 virtual void EnablePeriodicAlrProbing(bool enable) /*override*/;
169
170 virtual void OnSentPacket(::rtc::SentPacket const& sent_packet) /*override*/;
171
172 virtual void OnReceivedPacket(::webrtc::ReceivedPacket const& packet_msg) /*override*/;
173
174 virtual void SetSdpBitrateParameters(::webrtc::BitrateConstraints const& constraints) /*override*/;
175
176 virtual void SetClientBitratePreferences(::webrtc::BitrateSettings const& preferences) /*override*/;
177
178 virtual void OnTransportOverheadChanged(uint64 transport_overhead_bytes_per_packet) /*override*/;
179
180 virtual void AccountForAudioPacketsInPacedSender(bool account_for_audio) /*override*/;
181
182 virtual void IncludeOverheadInPacedSender() /*override*/;
183
184 virtual void EnsureStarted() /*override*/;
185
186 virtual void
187 OnReceiverEstimatedMaxBitrate(::webrtc::Timestamp receive_time, ::webrtc::DataRate bitrate) /*override*/;
188
189 virtual void OnReport(
190 ::webrtc::Timestamp receive_time,
191 ::rtc::ArrayView<::webrtc::ReportBlockData const> report_blocks
192 ) /*override*/;
193
194 virtual void OnRttUpdate(::webrtc::Timestamp receive_time, ::webrtc::TimeDelta rtt) /*override*/;
195
196 virtual void OnTransportFeedback(
197 ::webrtc::Timestamp receive_time,
198 ::webrtc::rtcp::TransportFeedback const& feedback
199 ) /*override*/;
200
201 virtual void OnRemoteNetworkEstimate(::webrtc::NetworkStateEstimate estimate) /*override*/;
202 // NOLINTEND
203
204public:
205 // member functions
206 // NOLINTBEGIN
208
209 MCNAPI void PostUpdates(::webrtc::NetworkControlUpdate update);
210
211 MCNAPI void ProcessSentPacket(::rtc::SentPacket const& sent_packet);
212
213 MCNAPI explicit RtpTransportControllerSend(::webrtc::RtpTransportConfig const& config);
214
216
217 MCNAPI void UpdateBitrateConstraints(::webrtc::BitrateConstraints const& updated);
218
219 MCNAPI void UpdateCongestedState();
220
222
223 MCNAPI void UpdateInitialConstraints(::webrtc::TargetRateConstraints new_contraints);
224
226
227 MCNAPI void UpdateStreamsConfig();
228 // NOLINTEND
229
230public:
231 // constructor thunks
232 // NOLINTBEGIN
233 MCNAPI void* $ctor(::webrtc::RtpTransportConfig const& config);
234 // NOLINTEND
235
236public:
237 // destructor thunk
238 // NOLINTBEGIN
239 MCNAPI void $dtor();
240 // NOLINTEND
241
242public:
243 // virtual function thunks
244 // NOLINTBEGIN
246 ::std::map<uint, ::webrtc::RtpState> const& suspended_ssrcs,
247 ::std::map<uint, ::webrtc::RtpPayloadState> const& states,
248 ::webrtc::RtpConfig const& rtp_config,
249 int rtcp_report_interval_ms,
250 ::webrtc::Transport* send_transport,
251 ::webrtc::RtpSenderObservers const& observers,
252 ::std::unique_ptr<::webrtc::FecController> fec_controller,
253 ::webrtc::RtpSenderFrameEncryptionConfig const& frame_encryption_config,
254 ::webrtc::scoped_refptr<::webrtc::FrameTransformerInterface> frame_transformer
255 );
256
257 MCNAPI void $DestroyRtpVideoSender(::webrtc::RtpVideoSenderInterface* rtp_video_sender);
258
259 MCNAPI void $RegisterSendingRtpStream(::webrtc::RtpRtcpInterface& rtp_module);
260
261 MCNAPI void $DeRegisterSendingRtpStream(::webrtc::RtpRtcpInterface& rtp_module);
262
263 MCNAPI ::webrtc::PacketRouter* $packet_router();
264
266
267 MCNAPI ::webrtc::RtpPacketSender* $packet_sender();
268
270
271 MCNAPI void $ReconfigureBandwidthEstimation(::webrtc::BandwidthEstimationSettings const& settings);
272
273 MCNAPI void $SetPacingFactor(float pacing_factor);
274
275 MCNAPI void $SetQueueTimeLimit(int limit_ms);
276
278
280
281 MCNAPI void $OnNetworkRouteChanged(::std::string_view transport_name, ::rtc::NetworkRoute const& network_route);
282
283 MCNAPI void $OnNetworkAvailability(bool network_available);
284
286
287 MCNAPI int64 $GetPacerQueuingDelayMs() const;
288
289 MCNAPI ::std::optional<::webrtc::Timestamp> $GetFirstPacketTime() const;
290
291 MCNAPI void $EnablePeriodicAlrProbing(bool enable);
292
293 MCNAPI void $OnSentPacket(::rtc::SentPacket const& sent_packet);
294
295 MCNAPI void $OnReceivedPacket(::webrtc::ReceivedPacket const& packet_msg);
296
297 MCNAPI void $SetSdpBitrateParameters(::webrtc::BitrateConstraints const& constraints);
298
299 MCNAPI void $SetClientBitratePreferences(::webrtc::BitrateSettings const& preferences);
300
301 MCNAPI void $OnTransportOverheadChanged(uint64 transport_overhead_bytes_per_packet);
302
303 MCNAPI void $AccountForAudioPacketsInPacedSender(bool account_for_audio);
304
306
307 MCNAPI void $EnsureStarted();
308
309 MCNAPI void $OnReceiverEstimatedMaxBitrate(::webrtc::Timestamp receive_time, ::webrtc::DataRate bitrate);
310
311 MCNAPI void
312 $OnReport(::webrtc::Timestamp receive_time, ::rtc::ArrayView<::webrtc::ReportBlockData const> report_blocks);
313
314 MCNAPI void $OnRttUpdate(::webrtc::Timestamp receive_time, ::webrtc::TimeDelta rtt);
315
316 MCNAPI void
317 $OnTransportFeedback(::webrtc::Timestamp receive_time, ::webrtc::rtcp::TransportFeedback const& feedback);
318
319 MCNAPI void $OnRemoteNetworkEstimate(::webrtc::NetworkStateEstimate estimate);
320
321
322 // NOLINTEND
323
324public:
325 // vftables
326 // NOLINTBEGIN
328
330
332 // NOLINTEND
333};
334
335} // 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:19
Definition ReportBlockData.h:14
Definition RtpPacketSender.h:12
Definition RtpRtcpInterface.h:27
Definition RtpTransportControllerSendInterface.h:38
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 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 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 $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::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:15
Definition Transport.h:12
Definition TransportFeedback.h:18
Definition scoped_refptr.h:8
STL namespace.
Definition Alias.h:14
Definition NetworkRoute.h:7
Definition SentPacket.h:12
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 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:57
Definition SentPacket.h:7
Definition TargetRateConstraints.h:7