3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/external/webrtc/ArrayView.h"
7#include "mc/external/webrtc/RtpRtcpInterface.h"
17namespace webrtc::rtcp {
class Rrtr; }
18namespace webrtc::rtcp {
class TmmbItem; }
39 struct LastFirStatus {
49 LastFirStatus& operator=(LastFirStatus
const&);
50 LastFirStatus(LastFirStatus
const&);
58 virtual void SetTmmbn(::std::vector<::webrtc::rtcp::TmmbItem> bounding_set) = 0;
60 virtual void OnRequestSendReport() = 0;
62 virtual void OnReceivedNack(::std::vector<ushort>
const& nack_sequence_numbers) = 0;
70 class NonSenderRttStats {
81 NonSenderRttStats& operator=(NonSenderRttStats
const&);
82 NonSenderRttStats(NonSenderRttStats
const&);
86 struct PacketInformation {
105 PacketInformation& operator=(PacketInformation
const&);
106 PacketInformation(PacketInformation
const&);
122 class RegisteredSsrcs {
132 RegisteredSsrcs& operator=(RegisteredSsrcs
const&);
133 RegisteredSsrcs(RegisteredSsrcs
const&);
151 struct RrtrInformation {
162 RrtrInformation& operator=(RrtrInformation
const&);
163 RrtrInformation(RrtrInformation
const&);
178 RttStats& operator=(RttStats
const&);
179 RttStats(RttStats
const&);
183 struct TmmbrInformation {
191 struct TimedTmmbrItem {
201 TimedTmmbrItem& operator=(TimedTmmbrItem
const&);
202 TimedTmmbrItem(TimedTmmbrItem
const&);
217 TmmbrInformation& operator=(TmmbrInformation
const&);
218 TmmbrInformation(TmmbrInformation
const&);
284 RTCPReceiver& operator=(RTCPReceiver
const&);
285 RTCPReceiver(RTCPReceiver
const&);
291 MCNAPI ::std::optional<::webrtc::TimeDelta>
AverageRtt()
const;
293 MCNAPI ::std::vector<::webrtc::rtcp::TmmbItem>
BoundingSet(
bool* tmmbr_owner);
343 MCNAPI ::std::optional<::webrtc::TimeDelta>
LastRtt()
const;
Definition Environment.h:7
Definition RTCPReceiver.h:54
Definition RTCPReceiver.h:70
Definition RTCPReceiver.h:122
MCAPI bool count(uint ssrc) const
Definition RTCPReceiver.h:167
MCAPI ::std::optional<::webrtc::RtpRtcpInterface::SenderReportStats > GetSenderReportStats() const
MCAPI::webrtc::RTCPReceiver::TmmbrInformation * GetTmmbrInformation(uint remote_ssrc)
MCAPI void TriggerCallbacksFromRtcpPacket(::webrtc::RTCPReceiver::PacketInformation const &packet_information)
MCAPI void IncomingPacket(::webrtc::ArrayView< uchar const > packet)
MCAPI ::std::vector<::webrtc::rtcp::ReceiveTimeInfo > ConsumeReceivedXrReferenceTimeInfo()
MCAPI bool ParseCompoundPacket(::webrtc::ArrayView< uchar const > packet, ::webrtc::RTCPReceiver::PacketInformation *packet_information)
MCAPI ::std::vector<::webrtc::rtcp::TmmbItem > BoundingSet(bool *tmmbr_owner)
MCAPI bool HandleTmmbr(::webrtc::rtcp::CommonHeader const &rtcp_block, ::webrtc::RTCPReceiver::PacketInformation *packet_information)
MCAPI ::std::optional<::webrtc::TimeDelta > OnPeriodicRttUpdate(::webrtc::Timestamp newer_than, bool sending)
MCAPI::webrtc::RTCPReceiver::NonSenderRttStats GetNonSenderRTT() const
MCAPI RTCPReceiver(::webrtc::Environment const &env, ::webrtc::RtpRtcpInterface::Configuration const &config, ::webrtc::RTCPReceiver::ModuleRtpRtcp *owner)
MCAPI void HandleXrReceiveReferenceTime(uint sender_ssrc, ::webrtc::rtcp::Rrtr const &rrtr)
MCAPI bool HandleBye(::webrtc::rtcp::CommonHeader const &rtcp_block)
MCAPI void HandleXrDlrrReportBlock(uint sender_ssrc, ::webrtc::rtcp::ReceiveTimeInfo const &rti)
MCAPI void HandleReportBlock(::webrtc::rtcp::ReportBlock const &report_block, ::webrtc::RTCPReceiver::PacketInformation *packet_information, uint remote_ssrc)
MCAPI ::std::vector<::webrtc::ReportBlockData > GetLatestReportBlockData() const
MCAPI void * $ctor(::webrtc::Environment const &env, ::webrtc::RtpRtcpInterface::Configuration const &config, ::webrtc::RTCPReceiver::ModuleRtpRtcp *owner)
MCAPI void SetNonSenderRttMeasurement(bool enabled)
MCAPI bool HandleCongestionControlFeedback(::webrtc::rtcp::CommonHeader const &rtcp_block, ::webrtc::RTCPReceiver::PacketInformation *packet_information)
MCAPI bool HandleFir(::webrtc::rtcp::CommonHeader const &rtcp_block, ::webrtc::RTCPReceiver::PacketInformation *packet_information)
MCAPI ::std::optional<::webrtc::TimeDelta > AverageRtt() const
MCAPI void SetRemoteSSRC(uint ssrc)
MCAPI bool HandleXr(::webrtc::rtcp::CommonHeader const &rtcp_block, ::webrtc::RTCPReceiver::PacketInformation *packet_information, bool &contains_dlrr, uint &ssrc)
MCAPI ::std::optional<::webrtc::TimeDelta > LastRtt() const
MCAPI void set_local_media_ssrc(uint ssrc)
MCAPI void UpdateTmmbrRemoteIsAlive(uint remote_ssrc)
MCAPI ::std::vector<::webrtc::rtcp::TmmbItem > TmmbrReceived()
MCAPI::webrtc::RTCPReceiver::TmmbrInformation * FindOrCreateTmmbrInfo(uint remote_ssrc)
Definition ReportBlockData.h:14
Definition TimeDelta.h:10
Definition Timestamp.h:15
Definition ReportBlock.h:7
Definition RTCPReceiver.h:39
Definition RtpRtcpInterface.h:38
Definition ReceiveTimeInfo.h:7