LeviLamina
Loading...
Searching...
No Matches
RtpTransportControllerSendInterface.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/webrtc/scoped_refptr.h"
7
8// auto generated forward declare list
9// clang-format off
10namespace webrtc { class FecController; }
11namespace webrtc { class FrameTransformerInterface; }
12namespace webrtc { class NetworkControllerInterface; }
13namespace webrtc { class NetworkLinkRtcpObserver; }
14namespace webrtc { class NetworkStateEstimateObserver; }
15namespace webrtc { class PacketRouter; }
16namespace webrtc { class RtpPacketSender; }
17namespace webrtc { class RtpRtcpInterface; }
18namespace webrtc { class RtpVideoSenderInterface; }
19namespace webrtc { class StreamFeedbackProvider; }
20namespace webrtc { class TargetTransferRateObserver; }
21namespace webrtc { class Timestamp; }
22namespace webrtc { class Transport; }
23namespace webrtc { struct BandwidthEstimationSettings; }
24namespace webrtc { struct BitrateAllocationLimits; }
25namespace webrtc { struct BitrateConstraints; }
26namespace webrtc { struct BitrateSettings; }
27namespace webrtc { struct NetworkRoute; }
28namespace webrtc { struct ReceivedPacket; }
29namespace webrtc { struct RtpConfig; }
30namespace webrtc { struct RtpPayloadState; }
31namespace webrtc { struct RtpSenderFrameEncryptionConfig; }
32namespace webrtc { struct RtpSenderObservers; }
33namespace webrtc { struct RtpState; }
34namespace webrtc { struct SentPacketInfo; }
35// clang-format on
36
37namespace webrtc {
38
40public:
41 // virtual functions
42 // NOLINTBEGIN
44
45 virtual ::webrtc::PacketRouter* packet_router() = 0;
46
47 virtual ::webrtc::RtpVideoSenderInterface* CreateRtpVideoSender(
48 ::std::map<uint, ::webrtc::RtpState> const& suspended_ssrcs,
49 ::std::map<uint, ::webrtc::RtpPayloadState> const& states,
50 ::webrtc::RtpConfig const& rtp_config,
51 int rtcp_report_interval_ms,
52 ::webrtc::Transport* send_transport,
53 ::webrtc::RtpSenderObservers const& observers,
54 ::std::unique_ptr<::webrtc::FecController> fec_controller,
55 ::webrtc::RtpSenderFrameEncryptionConfig const& frame_encryption_config,
57 ) = 0;
58
59 virtual void DestroyRtpVideoSender(::webrtc::RtpVideoSenderInterface* rtp_video_sender) = 0;
60
61 virtual void RegisterSendingRtpStream(::webrtc::RtpRtcpInterface& rtp_module) = 0;
62
63 virtual void DeRegisterSendingRtpStream(::webrtc::RtpRtcpInterface& rtp_module) = 0;
64
65 virtual ::webrtc::NetworkStateEstimateObserver* network_state_estimate_observer() = 0;
66
67 virtual ::webrtc::RtpPacketSender* packet_sender() = 0;
68
69 virtual void SetAllocatedSendBitrateLimits(::webrtc::BitrateAllocationLimits limits) = 0;
70
71 virtual void ReconfigureBandwidthEstimation(::webrtc::BandwidthEstimationSettings const& settings) = 0;
72
73 virtual void SetPacingFactor(float pacing_factor) = 0;
74
75 virtual void SetQueueTimeLimit(int limit_ms) = 0;
76
77 virtual ::webrtc::StreamFeedbackProvider* GetStreamFeedbackProvider() = 0;
78
79 virtual void RegisterTargetTransferRateObserver(::webrtc::TargetTransferRateObserver* observer) = 0;
80
81 virtual void
82 OnNetworkRouteChanged(::std::string_view transport_name, ::webrtc::NetworkRoute const& network_route) = 0;
83
84 virtual void OnNetworkAvailability(bool network_available) = 0;
85
86 virtual ::webrtc::NetworkLinkRtcpObserver* GetRtcpObserver() = 0;
87
88 virtual int64 GetPacerQueuingDelayMs() const = 0;
89
90 virtual ::std::optional<::webrtc::Timestamp> GetFirstPacketTime() const = 0;
91
92 virtual void EnablePeriodicAlrProbing(bool enable) = 0;
93
94 virtual void OnSentPacket(::webrtc::SentPacketInfo const& sent_packet) = 0;
95
96 virtual void OnReceivedPacket(::webrtc::ReceivedPacket const& packet_msg) = 0;
97
98 virtual void SetSdpBitrateParameters(::webrtc::BitrateConstraints const& constraints) = 0;
99
100 virtual void SetClientBitratePreferences(::webrtc::BitrateSettings const& preferences) = 0;
101
102 virtual void OnTransportOverheadChanged(uint64 transport_overhead_bytes_per_packet) = 0;
103
104 virtual void AccountForAudioPacketsInPacedSender(bool account_for_audio) = 0;
105
106 virtual void IncludeOverheadInPacedSender() = 0;
107
108 virtual void EnsureStarted() = 0;
109
110 virtual ::webrtc::NetworkControllerInterface* GetNetworkController() = 0;
111
112 virtual void EnableCongestionControlFeedbackAccordingToRfc8888() = 0;
113
114 virtual ::std::optional<int> ReceivedCongestionControlFeedbackCount() const = 0;
115
116 virtual ::std::optional<int> ReceivedTransportCcFeedbackCount() const = 0;
117 // NOLINTEND
118
119public:
120 // destructor thunk
121 // NOLINTBEGIN
122 MCNAPI void $dtor();
123 // NOLINTEND
124
125public:
126 // vftables
127 // NOLINTBEGIN
128 MCNAPI static void** $vftable();
129 // NOLINTEND
130};
131
132} // namespace webrtc
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 RtpPacketSender.h:12
Definition RtpRtcpInterface.h:28
Definition RtpTransportControllerSendInterface.h:39
Definition RtpVideoSenderInterface.h:22
Definition StreamFeedbackProvider.h:12
Definition TargetTransferRateObserver.h:13
Definition Timestamp.h:15
Definition Transport.h:15
Definition scoped_refptr.h:8
Definition BandwidthEstimationSettings.h:7
Definition BitrateAllocationLimits.h:7
Definition BitrateConstraints.h:7
Definition BitrateSettings.h:7
Definition NetworkRoute.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 SentPacketInfo.h:12