接收RTCP包的流程

先看下webrtc中跟接收rtcp包相关的类图:
接收RTCP包的流程

上面的类图画的是VideoReceiveStream,对于VideoSendStream来说也是差不多的。

流程如下:
接收RTCP包的流程

从上面可以知道,接收到一个RTCP包之后,会分发给VideoReceiveStream和VideoSendStream,然后再传递给他们的ModuleRtpRtcpImpl,最终传给RTCPReceiver, 由RTCPReceiver解析RTCP报文后,通知它的观察者。这里要注意的是,因为RTCP报文(这里主要讲RR报文)主要影响的是发送端(VideoSendStream),如通过RR报文的丢帧率,REMB报文的目标码率来动态调节发送端的发送码率。