3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/external/webrtc/RtpRtcpInterface.h"
7#include "mc/external/webrtc/SequenceChecker.h"
17namespace webrtc::rtcp {
class Rrtr; }
18namespace webrtc::rtcp {
class TmmbItem; }
42 struct LastFirStatus {
52 LastFirStatus& operator=(LastFirStatus
const&);
53 LastFirStatus(LastFirStatus
const&);
61 virtual void SetTmmbn(::std::vector<::webrtc::rtcp::TmmbItem>) = 0;
63 virtual void OnRequestSendReport() = 0;
65 virtual void OnReceivedNack(::std::vector<ushort>
const&) = 0;
79 class NonSenderRttStats {
90 NonSenderRttStats& operator=(NonSenderRttStats
const&);
91 NonSenderRttStats(NonSenderRttStats
const&);
95 struct PacketInformation {
113 PacketInformation& operator=(PacketInformation
const&);
114 PacketInformation(PacketInformation
const&);
130 class RegisteredSsrcs {
140 RegisteredSsrcs& operator=(RegisteredSsrcs
const&);
141 RegisteredSsrcs(RegisteredSsrcs
const&);
165 struct RrtrInformation {
176 RrtrInformation& operator=(RrtrInformation
const&);
177 RrtrInformation(RrtrInformation
const&);
192 RttStats& operator=(RttStats
const&);
193 RttStats(RttStats
const&);
197 struct TmmbrInformation {
205 struct TimedTmmbrItem {
215 TimedTmmbrItem& operator=(TimedTmmbrItem
const&);
216 TimedTmmbrItem(TimedTmmbrItem
const&);
231 TmmbrInformation& operator=(TmmbrInformation
const&);
232 TmmbrInformation(TmmbrInformation
const&);
297 RTCPReceiver& operator=(RTCPReceiver
const&);
298 RTCPReceiver(RTCPReceiver
const&);
304 MCNAPI ::std::optional<::webrtc::TimeDelta>
AverageRtt()
const;
306 MCNAPI ::std::vector<::webrtc::rtcp::TmmbItem>
BoundingSet(
bool* tmmbr_owner);
351 MCNAPI ::std::optional<::webrtc::TimeDelta>
LastRtt()
const;
Definition _HeaderOutputPredefine.h:309
Definition ModuleRtpRtcpImpl2.h:33
Definition RTCPReceiver.h:40
Definition RTCPReceiver.h:57
Definition RTCPReceiver.h:79
Definition RTCPReceiver.h:130
MCAPI RegisteredSsrcs(bool disable_sequence_checker, ::webrtc::RtpRtcpInterface::Configuration const &config)
MCAPI void * $ctor(bool disable_sequence_checker, ::webrtc::RtpRtcpInterface::Configuration const &config)
Definition RTCPReceiver.h:181
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 ::std::vector<::webrtc::rtcp::ReceiveTimeInfo > ConsumeReceivedXrReferenceTimeInfo()
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 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 * $ctor(::webrtc::RtpRtcpInterface::Configuration const &config, ::webrtc::ModuleRtpRtcpImpl2 *owner)
MCAPI void IncomingPacket(::rtc::ArrayView< uchar const > packet)
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 SetNonSenderRttMeasurement(bool enabled)
MCAPI RTCPReceiver(::webrtc::RtpRtcpInterface::Configuration const &config, ::webrtc::ModuleRtpRtcpImpl2 *owner)
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 ParseCompoundPacket(::rtc::ArrayView< uchar const > packet, ::webrtc::RTCPReceiver::PacketInformation *packet_information)
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 SequenceChecker.h:10
Definition TimeDelta.h:10
Definition Timestamp.h:15
Definition ReportBlock.h:7
Definition RTCPReceiver.h:42
Definition RtpRtcpInterface.h:37
Definition ReceiveTimeInfo.h:7