3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/external/rtc/FunctionView.h"
7#include "mc/external/webrtc/RTCPPacketType.h"
8#include "mc/external/webrtc/RtcpMode.h"
9#include "mc/external/webrtc/RtpRtcpInterface.h"
18namespace webrtc::rtcp {
class TmmbItem; }
35 struct Configuration {
53 Configuration& operator=(Configuration
const&);
54 Configuration(Configuration
const&);
66 MCNAPI static ::webrtc::RTCPSender::Configuration
77 struct FeedbackState {
92 FeedbackState& operator=(FeedbackState
const&);
128 PacketSender& operator=(PacketSender
const&);
129 PacketSender(PacketSender
const&);
163 ReportFlag& operator=(ReportFlag
const&);
164 ReportFlag(ReportFlag
const&);
180 RtcpContext& operator=(RtcpContext
const&);
181 RtcpContext(RtcpContext
const&);
229 RTCPSender& operator=(RTCPSender
const&);
230 RTCPSender(RTCPSender
const&);
236 virtual ~RTCPSender();
270 MCNAPI ::std::optional<::webrtc::VideoBitrateAllocation>
275 ::webrtc::RTCPPacketType packet_type,
277 ushort
const* nack_list,
283 MCNAPI ::std::vector<::webrtc::rtcp::ReportBlock>
296 ushort last_decoded_seq_num,
297 ushort last_received_seq_num,
298 bool decodability_flag,
299 bool buffering_allowed
304 ::webrtc::RTCPPacketType packet_type,
306 ushort
const* nack_list
313 MCNAPI
void SetFlag(uint type,
bool is_volatile);
317 ::std::optional<::webrtc::Timestamp> capture_time,
318 ::std::optional<schar> payload_type
329 MCNAPI
void SetRemb(int64 bitrate_bps, ::std::vector<uint> ssrcs);
341 MCNAPI
void SetTmmbn(::std::vector<::webrtc::rtcp::TmmbItem> bounding_set);
345 MCNAPI ::webrtc::RtcpMode
Status()
const;
Definition _HeaderOutputPredefine.h:311
Definition FunctionView.h:8
Definition RTCPSender.h:116
MCAPI void * $ctor(::rtc::FunctionView< void(::rtc::ArrayView< uchar const >)> callback, uint64 max_packet_size)
MCAPI PacketSender(::rtc::FunctionView< void(::rtc::ArrayView< uchar const >)> callback, uint64 max_packet_size)
Definition RTCPSender.h:168
MCAPI void SetRtpClockRate(schar payload_type, int rtp_clock_rate_hz)
MCAPI void BuildSR(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI void SetRTCPStatus(::webrtc::RtcpMode new_method)
MCAPI void SetSsrc(uint ssrc)
MCAPI void SetTmmbn(::std::vector<::webrtc::rtcp::TmmbItem > bounding_set)
static MCAPI void ** $vftable()
MCAPI void BuildREMB(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI void SetVideoBitrateAllocation(::webrtc::VideoBitrateAllocation const &bitrate)
MCAPI void BuildTMMBR(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI bool AllVolatileFlagsConsumed() const
MCAPI void SetTimestampOffset(uint timestamp_offset)
MCAPI void * $ctor(::webrtc::RTCPSender::Configuration config)
MCAPI void BuildTMMBN(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI void SetNonSenderRttMeasurement(bool enabled)
MCAPI ::std::optional< int > ComputeCompoundRTCPPacket(::webrtc::RTCPSender::FeedbackState const &feedback_state, ::webrtc::RTCPPacketType packet_type, int nack_size, ushort const *nack_list, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI int SendRTCP(::webrtc::RTCPSender::FeedbackState const &feedback_state, ::webrtc::RTCPPacketType packet_type, int nack_size, ushort const *nack_list)
MCAPI void SetRemoteSSRC(uint ssrc)
MCAPI ::std::vector<::webrtc::rtcp::ReportBlock > CreateReportBlocks(::webrtc::RTCPSender::FeedbackState const &feedback_state)
MCAPI void PrepareReport(::webrtc::RTCPSender::FeedbackState const &feedback_state)
MCAPI bool TimeToSendRTCPReport(bool send_keyframe_before_rtp) const
MCAPI void BuildRR(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI void BuildNACK(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI bool Sending() const
MCAPI int SetCNAME(::std::string_view c_name)
MCAPI void SetNextRtcpSendEvaluationDuration(::webrtc::TimeDelta duration)
MCAPI void BuildLossNotification(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI::webrtc::RtcpMode Status() const
MCAPI void BuildExtendedReports(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI void SetLastRtpTime(uint rtp_timestamp, ::std::optional<::webrtc::Timestamp > capture_time, ::std::optional< schar > payload_type)
MCAPI void BuildBYE(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI void SetRemb(int64 bitrate_bps, ::std::vector< uint > ssrcs)
MCAPI void SendCombinedRtcpPacket(::std::vector<::std::unique_ptr<::webrtc::rtcp::RtcpPacket > > rtcp_packets)
MCAPI bool ConsumeFlag(uint type, bool forced)
MCAPI void BuildFIR(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI void SetSendingStatus(::webrtc::RTCPSender::FeedbackState const &feedback_state, bool sending)
MCAPI int SendLossNotification(::webrtc::RTCPSender::FeedbackState const &feedback_state, ushort last_decoded_seq_num, ushort last_received_seq_num, bool decodability_flag, bool buffering_allowed)
MCAPI ::std::optional<::webrtc::VideoBitrateAllocation > CheckAndUpdateLayerStructure(::webrtc::VideoBitrateAllocation const &bitrate) const
MCAPI void SetFlag(uint type, bool is_volatile)
MCAPI void BuildPLI(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
MCAPI void SetMaxRtpPacketSize(uint64 max_packet_size)
MCAPI RTCPSender(::webrtc::RTCPSender::Configuration config)
MCAPI void BuildSDES(::webrtc::RTCPSender::RtcpContext const &ctx, ::webrtc::RTCPSender::PacketSender &sender)
Definition TimeDelta.h:10
Definition Timestamp.h:15
Definition VideoBitrateAllocation.h:7
Definition ReportBlock.h:7
Definition RtcpPacket.h:10
Definition RTCPSender.h:35
static MCAPI ::webrtc::RTCPSender::Configuration FromRtpRtcpConfiguration(::webrtc::RtpRtcpInterface::Configuration const &configuration)
Definition RTCPSender.h:77
Definition RTCPSender.h:153
Definition RtpRtcpInterface.h:37