37 struct Configuration {
81 Configuration& operator=(Configuration
const&);
82 Configuration(Configuration
const&);
98 struct NonSenderRttStats {
109 NonSenderRttStats& operator=(NonSenderRttStats
const&);
110 NonSenderRttStats(NonSenderRttStats
const&);
114 struct SenderReportStats {
128 SenderReportStats& operator=(SenderReportStats
const&);
129 SenderReportStats(SenderReportStats
const&);
138 virtual void SetRemoteSSRC(uint ssrc) = 0;
140 virtual void SetLocalSsrc(uint local_ssrc) = 0;
142 virtual void SetMaxRtpPacketSize(uint64 rtp_packet_size) = 0;
144 virtual uint64 MaxRtpPacketSize()
const = 0;
146 virtual void RegisterSendPayloadFrequency(
int payload_type,
int payload_frequency) = 0;
148 virtual int DeRegisterSendPayload(schar payload_type) = 0;
150 virtual void SetExtmapAllowMixed(
bool extmap_allow_mixed) = 0;
152 virtual void RegisterRtpHeaderExtension(::std::string_view uri,
int id) = 0;
154 virtual void DeregisterSendRtpHeaderExtension(::std::string_view uri) = 0;
156 virtual bool SupportsPadding()
const = 0;
158 virtual bool SupportsRtxPayloadPadding()
const = 0;
160 virtual uint StartTimestamp()
const = 0;
162 virtual void SetStartTimestamp(uint timestamp) = 0;
164 virtual ushort SequenceNumber()
const = 0;
166 virtual void SetSequenceNumber(ushort seq_num) = 0;
172 virtual ::webrtc::RtpState GetRtpState()
const = 0;
174 virtual ::webrtc::RtpState GetRtxState()
const = 0;
176 virtual void SetNonSenderRttMeasurement(
bool enabled) = 0;
178 virtual uint SSRC()
const = 0;
180 virtual void SetMid(::std::string_view mid) = 0;
182 virtual void SetRtxSendStatus(
int mode) = 0;
184 virtual int RtxSendStatus()
const = 0;
186 virtual ::std::optional<uint> RtxSsrc()
const = 0;
188 virtual void SetRtxSendPayloadType(
int payload_type,
int associated_payload_type) = 0;
190 virtual ::std::optional<uint> FlexfecSsrc()
const = 0;
192 virtual int SetSendingStatus(
bool sending) = 0;
194 virtual bool Sending()
const = 0;
196 virtual void SetSendingMediaStatus(
bool sending) = 0;
198 virtual bool SendingMedia()
const = 0;
200 virtual bool IsAudioConfigured()
const = 0;
202 virtual void SetAsPartOfAllocation(
bool part_of_allocation) = 0;
204 virtual ::webrtc::RtpSendRates GetSendRates()
const = 0;
206 virtual ::webrtc::RTPSender* RtpSender() = 0;
208 virtual ::webrtc::RTPSender
const* RtpSender()
const = 0;
211 OnSendingRtpFrame(uint timestamp, int64 capture_time_ms,
int payload_type,
bool force_sender_report) = 0;
213 virtual bool TrySendPacket(
214 ::std::unique_ptr<::webrtc::RtpPacketToSend> packet,
225 virtual void OnBatchComplete() = 0;
227 virtual void SetFecProtectionParams(
232 virtual ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> FetchFecPackets() = 0;
238 virtual ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> GeneratePadding(uint64 target_size_bytes) = 0;
240 virtual ::std::vector<::webrtc::RtpSequenceNumberMap::Info>
243 virtual uint64 ExpectedPerPacketOverhead()
const = 0;
245 virtual void OnPacketSendingThreadSwitched() = 0;
247 virtual ::webrtc::RtcpMode RTCP()
const = 0;
249 virtual void SetRTCPStatus(::webrtc::RtcpMode method) = 0;
251 virtual int SetCNAME(::std::string_view c_name) = 0;
253 virtual ::std::optional<::webrtc::TimeDelta> LastRtt()
const = 0;
255 virtual ::webrtc::TimeDelta ExpectedRetransmissionTime()
const = 0;
257 virtual int SendRTCP(::webrtc::RTCPPacketType packet_type) = 0;
259 virtual void GetSendStreamDataCounters(
264 virtual ::std::vector<::webrtc::ReportBlockData> GetLatestReportBlockData()
const = 0;
266 virtual ::std::optional<::webrtc::RtpRtcpInterface::SenderReportStats> GetSenderReportStats()
const = 0;
268 virtual ::std::optional<::webrtc::RtpRtcpInterface::NonSenderRttStats> GetNonSenderRttStats()
const = 0;
270 virtual void SetRemb(int64 bitrate_bps, ::std::vector<uint> ssrcs) = 0;
272 virtual void UnsetRemb() = 0;
274 virtual int SendNACK(ushort
const* nack_list, ushort size) = 0;
276 virtual void SendNack(::std::vector<ushort>
const& sequence_numbers) = 0;
278 virtual void SetStorePacketsStatus(
bool enable, ushort number_to_store) = 0;
282 virtual int SendLossNotification(
283 ushort last_decoded_seq_num,
284 ushort last_received_seq_num,
285 bool decodability_flag,
286 bool buffering_allowed