3#include "mc/_HeaderOutputPredefine.h"
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"
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; }
125 virtual ::webrtc::RtpVideoSenderInterface* CreateRtpVideoSender(
126 ::std::map<uint, ::webrtc::RtpState>
const& suspended_ssrcs,
127 ::std::map<uint, ::webrtc::RtpPayloadState>
const& states,
129 int rtcp_report_interval_ms,
132 ::std::unique_ptr<::webrtc::FecController> fec_controller,
147 virtual ::webrtc::PacketRouter* packet_router() ;
150 virtual ::webrtc::NetworkStateEstimateObserver* network_state_estimate_observer() ;
153 virtual ::webrtc::RtpPacketSender* packet_sender() ;
162 virtual void SetPacingFactor(
float pacing_factor) ;
165 virtual void SetQueueTimeLimit(
int limit_ms) ;
168 virtual ::webrtc::StreamFeedbackProvider* GetStreamFeedbackProvider() ;
175 OnNetworkRouteChanged(::std::string_view transport_name,
::rtc::NetworkRoute const& network_route) ;
178 virtual void OnNetworkAvailability(
bool network_available) ;
181 virtual ::webrtc::NetworkLinkRtcpObserver* GetRtcpObserver() ;
184 virtual int64 GetPacerQueuingDelayMs() const ;
187 virtual ::
std::optional<::webrtc::
Timestamp> GetFirstPacketTime() const ;
190 virtual
void EnablePeriodicAlrProbing(
bool enable) ;
193 virtual
void OnSentPacket(::rtc::
SentPacket const& sent_packet) ;
196 virtual
void OnReceivedPacket(::webrtc::
ReceivedPacket const& packet_msg) ;
199 virtual
void SetSdpBitrateParameters(::webrtc::
BitrateConstraints const& constraints) ;
202 virtual
void SetClientBitratePreferences(::webrtc::
BitrateSettings const& preferences) ;
205 virtual
void OnTransportOverheadChanged(uint64 transport_overhead_bytes_per_packet) ;
208 virtual
void AccountForAudioPacketsInPacedSender(
bool account_for_audio) ;
211 virtual
void IncludeOverheadInPacedSender() ;
214 virtual
void EnsureStarted() ;
218 OnReceiverEstimatedMaxBitrate(::webrtc::
Timestamp receive_time, ::webrtc::
DataRate bitrate) ;
221 virtual
void OnReport(
230 virtual
void OnTransportFeedback(
232 ::webrtc::rtcp::TransportFeedback const& feedback
246 MCNAPI
bool IsRelevantRouteChange(::rtc::NetworkRoute const& old_route, ::rtc::NetworkRoute const& new_route) const;
294 ::
std::map<uint, ::webrtc::
RtpState> const& suspended_ssrcs,
297 int rtcp_report_interval_ms,
Definition FecController.h:15
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 void $IncludeOverheadInPacedSender()
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)
MCAPI void UpdateNetworkAvailability()
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 UpdateCongestedState()
MCAPI void $EnablePeriodicAlrProbing(bool enable)
MCAPI void $OnReport(::webrtc::Timestamp receive_time, ::rtc::ArrayView<::webrtc::ReportBlockData const > report_blocks)
MCAPI void UpdateControlState()
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 UpdateStreamsConfig()
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 MaybeCreateControllers()
MCAPI void StartProcessPeriodicTasks()
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 void UpdateControllerWithTimeInterval()
MCAPI void $EnsureStarted()
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
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 RtpPayloadState.h:7
Definition RtpSenderFrameEncryptionConfig.h:7
Definition RtpSenderObservers.h:7
Definition RtpTransportConfig.h:7
Definition RtpTransportControllerSend.h:59
Definition SentPacket.h:7
Definition TargetRateConstraints.h:7