1. RTCPパッケージングモード
webrtc コード定義によれば、webrtc でサポートされる rtcp パッケージ化モードは 2 つあります。
enum class RtcpMode { kOff, kCompound, kReducedSize };
Compound モードは RFC 4585 に従う
ReducedSize モードは RFC 5506 に従う
2 つのモードの違いは次のとおりです。
1. 複合モードの RTCP メッセージには、メッセージを送信するために RR または SR と CNAME SDES が含まれている必要があります。このため、RTCP パケット サイズが比較的大きくなり、フィードバック フィードバック パケットに対する応答速度が比較的遅くなります。
2. ReducedSize モードは、RFC 5506 フィールドで説明されているように、この種の問題を解決します。
2. RTCPメッセージ送信処理のコールスタック
ModuleRtpRtcpImpl2::ScheduleRtcpSendEvaluation //定时调用函数
->ModuleRtpRtcpImpl2::MaybeSendRtcp
->RTCPSender::TimeToSendRTCPReport //判断发送时间是否到,到就SendRTCP
->RTCPSender::SendRTCP //发送RTCP报文
->RTCPSender::ComputeCompoundRTCPPacket //封装RTCP报文
->RTCPSender::PrepareReport
->RTCPSender::SetNextRtcpSendEvaluationDuration //配置下次发送rtcp报文时间
RTCPSender::SendRTCP:
RTCPSender::ComputeCompoundRTCPパケット:
RTCPSender::PrepareReport