3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/external/webrtc/RTCPPacketType.h"
7#include "mc/external/webrtc/RTCPReceiver.h"
8#include "mc/external/webrtc/RTCPSender.h"
9#include "mc/external/webrtc/RtcpMode.h"
10#include "mc/external/webrtc/RtpRtcpInterface.h"
11#include "mc/external/webrtc/RtpSequenceNumberMap.h"
15namespace webrtc {
class RTPSender; }
16namespace webrtc {
class ReportBlockData; }
17namespace webrtc {
class RtpPacketToSend; }
18namespace webrtc {
class RtpSendRates; }
19namespace webrtc {
class TaskQueueBase; }
20namespace webrtc {
class TimeDelta; }
21namespace webrtc {
class Timestamp; }
22namespace webrtc {
class VideoBitrateAllocation; }
23namespace webrtc {
struct FecProtectionParams; }
24namespace webrtc {
struct PacedPacketInfo; }
25namespace webrtc {
struct RtpState; }
26namespace webrtc {
struct StreamDataCounters; }
27namespace webrtc::rtcp {
class RtcpPacket; }
28namespace webrtc::rtcp {
class TmmbItem; }
111 virtual void SetRemoteSSRC(uint ssrc) ;
114 virtual void SetLocalSsrc(uint local_ssrc) ;
117 virtual void RegisterSendPayloadFrequency(
int payload_type,
int payload_frequency) ;
120 virtual int DeRegisterSendPayload(
char payload_type) ;
123 virtual void SetExtmapAllowMixed(
bool extmap_allow_mixed) ;
126 virtual void RegisterRtpHeaderExtension(::std::string_view uri,
int id) ;
129 virtual void DeregisterSendRtpHeaderExtension(::std::string_view uri) ;
132 virtual bool SupportsPadding() const ;
135 virtual
bool SupportsRtxPayloadPadding() const ;
138 virtual uint StartTimestamp() const ;
141 virtual
void SetStartTimestamp(uint timestamp) ;
144 virtual ushort SequenceNumber() const ;
147 virtual
void SetSequenceNumber(ushort seq_num) ;
150 virtual
void SetRtpState(::webrtc::
RtpState const& rtp_state) ;
153 virtual
void SetRtxState(::webrtc::
RtpState const& rtp_state) ;
156 virtual ::webrtc::
RtpState GetRtpState() const ;
159 virtual ::webrtc::
RtpState GetRtxState() const ;
162 virtual
void SetNonSenderRttMeasurement(
bool enabled) ;
165 virtual uint SSRC() const ;
168 virtual
void SetMid(::
std::string_view mid) ;
171 virtual
void SetRtxSendStatus(
int mode) ;
174 virtual
int RtxSendStatus() const ;
177 virtual ::
std::optional<uint> RtxSsrc() const ;
180 virtual
void SetRtxSendPayloadType(
int payload_type,
int associated_payload_type) ;
183 virtual ::
std::optional<uint> FlexfecSsrc() const ;
186 virtual
int SetSendingStatus(
bool sending) ;
189 virtual
bool Sending() const ;
192 virtual
void SetSendingMediaStatus(
bool sending) ;
195 virtual
bool SendingMedia() const ;
198 virtual
bool IsAudioConfigured() const ;
201 virtual
void SetAsPartOfAllocation(
bool part_of_allocation) ;
205 OnSendingRtpFrame(uint timestamp, int64 capture_time_ms,
int payload_type,
bool force_sender_report) ;
208 virtual
bool CanSendPacket(::webrtc::
RtpPacketToSend const& packet) const ;
214 virtual
void SendPacket(
220 virtual
bool TrySendPacket(
226 virtual
void OnBatchComplete() ;
229 virtual
void SetFecProtectionParams(
238 virtual
void OnAbortedRetransmissions(::rtc::ArrayView<ushort const> sequence_numbers) ;
241 virtual
void OnPacketsAcknowledged(::rtc::ArrayView<ushort const> sequence_numbers) ;
245 GeneratePadding(uint64 target_size_bytes) ;
249 GetSentRtpPacketInfos(::rtc::ArrayView<ushort const> sequence_numbers) const ;
252 virtual uint64 ExpectedPerPacketOverhead() const ;
255 virtual
void OnPacketSendingThreadSwitched() ;
258 virtual ::webrtc::RtcpMode RTCP() const ;
261 virtual
void SetRTCPStatus(::webrtc::RtcpMode method) ;
264 virtual
int SetCNAME(::
std::string_view c_name) ;
267 virtual ::
std::optional<::webrtc::
TimeDelta> LastRtt() const ;
270 virtual ::webrtc::
TimeDelta ExpectedRetransmissionTime() const ;
273 virtual
int SendRTCP(::webrtc::RTCPPacketType packet_type) ;
276 virtual
void GetSendStreamDataCounters(
291 virtual
void SetRemb(int64 bitrate_bps, ::
std::vector<uint> ssrcs) ;
294 virtual
void UnsetRemb() ;
297 virtual
void SetTmmbn(::
std::vector<::webrtc::rtcp::TmmbItem> bounding_set) ;
300 virtual uint64 MaxRtpPacketSize() const ;
303 virtual
void SetMaxRtpPacketSize(uint64 rtp_packet_size) ;
306 virtual
int SendNACK(ushort const* nack_list, ushort size) ;
309 virtual
void SendNack(::
std::vector<ushort> const& sequence_numbers) ;
312 virtual
void SetStorePacketsStatus(
bool enable, ushort number_to_store) ;
316 SendCombinedRtcpPacket(::
std::vector<::
std::unique_ptr<::webrtc::rtcp::RtcpPacket>> rtcp_packets) ;
319 virtual
int SendLossNotification(
320 ushort last_decoded_seq_num,
321 ushort last_received_seq_num,
322 bool decodability_flag,
323 bool buffering_allowed
330 virtual
void OnReceivedNack(::
std::vector<ushort> const& nack_sequence_numbers) ;
334 OnReceivedRtcpReportBlocks(::rtc::ArrayView<::webrtc::
ReportBlockData const> report_blocks) ;
337 virtual
void OnRequestSendReport() ;
343 virtual ::webrtc::
RTPSender* RtpSender() ;
346 virtual ::webrtc::
RTPSender const* RtpSender() const ;
462 MCNAPI
bool $OnSendingRtpFrame(uint timestamp, int64 capture_time_ms,
int payload_type,
bool force_sender_report);
496 MCNAPI ::webrtc::RtcpMode
$RTCP() const;
506 MCNAPI
int $SendRTCP(::webrtc::RTCPPacketType packet_type);
519 MCNAPI
void $SetRemb(int64 bitrate_bps, ::
std::vector<uint> ssrcs);
523 MCNAPI
void $SetTmmbn(::
std::vector<::webrtc::rtcp::TmmbItem> bounding_set);
529 MCNAPI
int $SendNACK(ushort const* nack_list, ushort size);
538 ushort last_decoded_seq_num,
539 ushort last_received_seq_num,
540 bool decodability_flag,
541 bool buffering_allowed
Definition _HeaderOutputPredefine.h:260
Definition ModuleRtpRtcpImpl2.h:33
MCAPI ::std::optional<::webrtc::RtpRtcpInterface::NonSenderRttStats > $GetNonSenderRttStats() const
MCAPI void $SetSequenceNumber(ushort seq_num)
MCAPI bool $SupportsPadding() const
MCAPI void $OnReceivedRtcpReportBlocks(::rtc::ArrayView<::webrtc::ReportBlockData const > report_blocks)
MCAPI::webrtc::RtcpMode $RTCP() const
MCAPI int $RtxSendStatus() const
MCAPI bool TimeToSendFullNackList(int64 now) const
MCAPI int $DeRegisterSendPayload(char payload_type)
MCAPI::webrtc::TimeDelta $ExpectedRetransmissionTime() const
MCAPI void $SetVideoBitrateAllocation(::webrtc::VideoBitrateAllocation const &bitrate)
MCAPI void PeriodicUpdate()
MCAPI void $SetRtxSendStatus(int mode)
MCAPI void $OnBatchComplete()
MCAPI bool $CanSendPacket(::webrtc::RtpPacketToSend const &packet) const
MCAPI void $SendPacket(::std::unique_ptr<::webrtc::RtpPacketToSend > packet, ::webrtc::PacedPacketInfo const &pacing_info)
MCAPI void $OnAbortedRetransmissions(::rtc::ArrayView< ushort const > sequence_numbers)
MCAPI ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend > > $FetchFecPackets()
MCAPI int $SetCNAME(::std::string_view c_name)
MCAPI void $SetRemoteSSRC(uint ssrc)
static MCAPI void ** $vftableForModuleRtpRtcp()
MCAPI int $SendLossNotification(ushort last_decoded_seq_num, ushort last_received_seq_num, bool decodability_flag, bool buffering_allowed)
MCAPI void $SetRtxSendPayloadType(int payload_type, int associated_payload_type)
MCAPI void $SetSendingMediaStatus(bool sending)
MCAPI::webrtc::RTCPSender::FeedbackState GetFeedbackState()
MCAPI void $SetMid(::std::string_view mid)
MCAPI void * $ctor(::webrtc::RtpRtcpInterface::Configuration const &configuration)
MCAPI void $SetRtpState(::webrtc::RtpState const &rtp_state)
MCAPI void $SendNack(::std::vector< ushort > const &sequence_numbers)
MCAPI void $AssignSequenceNumber(::webrtc::RtpPacketToSend &packet)
MCAPI void $SetStorePacketsStatus(bool enable, ushort number_to_store)
MCAPI void $SetRemb(int64 bitrate_bps, ::std::vector< uint > ssrcs)
MCAPI void $SetFecProtectionParams(::webrtc::FecProtectionParams const &delta_params, ::webrtc::FecProtectionParams const &key_params)
MCAPI::webrtc::RTPSender * $RtpSender()
MCAPI bool $SupportsRtxPayloadPadding() const
MCAPI int $SendNACK(ushort const *nack_list, ushort size)
MCAPI int64 rtt_ms() const
MCAPI void $RegisterRtpHeaderExtension(::std::string_view uri, int id)
MCAPI void MaybeSendRtcp()
MCAPI void $SendCombinedRtcpPacket(::std::vector<::std::unique_ptr<::webrtc::rtcp::RtcpPacket > > rtcp_packets)
MCAPI bool $Sending() const
MCAPI void set_rtt_ms(int64 rtt_ms)
MCAPI bool $OnSendingRtpFrame(uint timestamp, int64 capture_time_ms, int payload_type, bool force_sender_report)
MCAPI void $DeregisterSendRtpHeaderExtension(::std::string_view uri)
MCAPI ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend > > $GeneratePadding(uint64 target_size_bytes)
MCAPI uint64 $ExpectedPerPacketOverhead() const
static MCAPI void ** $vftableForRtpRtcpInterface()
MCAPI ::std::optional< uint > $FlexfecSsrc() const
MCAPI ::std::optional<::webrtc::TimeDelta > $LastRtt() const
MCAPI void $SetRtxState(::webrtc::RtpState const &rtp_state)
MCAPI bool $SendingMedia() const
MCAPI ::std::optional< uint > $RtxSsrc() const
MCAPI ushort $SequenceNumber() const
MCAPI void $OnRequestSendReport()
MCAPI void $RegisterSendPayloadFrequency(int payload_type, int payload_frequency)
MCAPI void $SetExtmapAllowMixed(bool extmap_allow_mixed)
MCAPI void $GetSendStreamDataCounters(::webrtc::StreamDataCounters *rtp_counters, ::webrtc::StreamDataCounters *rtx_counters) const
MCAPI void $IncomingRtcpPacket(::rtc::ArrayView< uchar const > rtcp_packet)
MCAPI::webrtc::RtpState $GetRtpState() const
MCAPI void $OnReceivedNack(::std::vector< ushort > const &nack_sequence_numbers)
MCAPI void $OnPacketSendingThreadSwitched()
MCAPI uint $StartTimestamp() const
MCAPI void $SetRTCPStatus(::webrtc::RtcpMode method)
MCAPI void ScheduleRtcpSendEvaluation(::webrtc::TimeDelta duration)
MCAPI void $SetStartTimestamp(uint timestamp)
MCAPI uint64 $MaxRtpPacketSize() const
MCAPI void $SetLocalSsrc(uint local_ssrc)
MCAPI bool StorePackets() const
MCAPI int $SendRTCP(::webrtc::RTCPPacketType packet_type)
MCAPI void $SetAsPartOfAllocation(bool part_of_allocation)
MCAPI bool $TrySendPacket(::std::unique_ptr<::webrtc::RtpPacketToSend > packet, ::webrtc::PacedPacketInfo const &pacing_info)
MCAPI ::std::vector<::webrtc::RtpSequenceNumberMap::Info > $GetSentRtpPacketInfos(::rtc::ArrayView< ushort const > sequence_numbers) const
MCAPI void MaybeSendRtcpAtOrAfterTimestamp(::webrtc::Timestamp execution_time)
MCAPI::webrtc::RtpState $GetRtxState() const
MCAPI int $SetSendingStatus(bool sending)
MCAPI void $SetNonSenderRttMeasurement(bool enabled)
MCAPI void ScheduleMaybeSendRtcpAtOrAfterTimestamp(::webrtc::Timestamp execution_time, ::webrtc::TimeDelta duration)
MCAPI bool $IsAudioConfigured() const
MCAPI void $SetTmmbn(::std::vector<::webrtc::rtcp::TmmbItem > bounding_set)
MCAPI ::std::optional<::webrtc::RtpRtcpInterface::SenderReportStats > $GetSenderReportStats() const
MCAPI void $SetMaxRtpPacketSize(uint64 rtp_packet_size)
MCAPI::webrtc::RtpSendRates $GetSendRates() const
MCAPI void $OnPacketsAcknowledged(::rtc::ArrayView< ushort const > sequence_numbers)
MCAPI ::std::vector<::webrtc::ReportBlockData > $GetLatestReportBlockData() const
Definition RTCPReceiver.h:41
Definition RTCPSender.h:24
Definition RTPSender.h:19
Definition ReportBlockData.h:14
Definition RtpPacketToSend.h:16
Definition RtpRtcpInterface.h:27
Definition RtpSendRates.h:7
Definition RtpSequenceNumberMap.h:7
Definition TaskQueueBase.h:16
Definition TimeDelta.h:10
Definition Timestamp.h:10
Definition VideoBitrateAllocation.h:7
Definition FecProtectionParams.h:7
Definition ModuleRtpRtcpImpl2.h:41
MCAPI void * $ctor(::webrtc::TaskQueueBase &worker_queue, ::webrtc::RtpRtcpInterface::Configuration const &config)
MCAPI RtpSenderContext(::webrtc::TaskQueueBase &worker_queue, ::webrtc::RtpRtcpInterface::Configuration const &config)
Definition PacedPacketInfo.h:7
Definition RtpRtcpInterface.h:37
Definition RtpRtcpInterface.h:117
Definition RtpRtcpInterface.h:98
Definition StreamDataCounters.h:7