- 【gcc】RtpTransportControllerSend学习笔记 4:码率分配 中阅读了大神的文章,依旧云雾中,因此,反复阅读大神的文章,结合代码,继续。
- 本次是 基于m98的代码。
src\modules\congestion_controller\goog_cc\goog_cc_network_control.cc
- GoogCcNetworkController 是核心类,
- 其处理的核心方法是OnTransportPacketsFeedback
call模块里会根据mline创建多流,多个流公用同一个带宽控制
-
vwebrtc中是会同时存在多个stream,但所有的stream都会共用一个码率预估和平滑发送
-
不同的stream 的发送数据包都是通过同一个Transport层发送到网络
-
期间,不同的stream的rtprtcp包是到自己的RtpControllerSend的PacketSender,通过 同一个?pacingcontroller进行码率控制和发送,发送的包是先通过PacketRouter路由到其所属的RTP_RTCP进行缓存记录以便重传,再通过Transport发送的。