RemoteEstimatorProxy
作用:保存窗口期的rtp包接收时间,组合成feedback rtcp反馈包,然后定时发送。
- void RemoteEstimatorProxy::IncomingPacket() 判断是否是有效的包
- OnPacketArrival() 调用这个函数处理数据,保存数据用于Process构建Feedback。
- RemoteEstimatorProxy::Process() 构建包
- RemoteEstimatorProxy::OnBitrateChanged() 依靠发送码率计算rtcp发送的时间间隔,使用5%的流量发送rtcp包。
/*** 如下图所示: 在接收到rtp数据包后先传递给DeliverRtp函数,如果是用于统计bwe信息的则传递给NotifyBweOfReceivedPacket函数,现在只有视频数据才可以进入这个函数。 ***/
对于带宽预估“total” 调用时间问题,按理来讲如下取值是在50-250ms区间,但是一直以来带宽预估计算周期是在30-50ms内的,这里估计是存在问题。-解决:由于网络波动导致接收时的时间间隔发生变化。但是整体来看平均周期是在给定范围之内的。