【gcc】RtpTransportControllerSend学习笔记 5:OnTransportPacketsFeedback及测试程序

  • 【gcc】RtpTransportControllerSend学习笔记 4:码率分配 中阅读了大神的文章,依旧云雾中,因此,反复阅读大神的文章,结合代码,继续。
  • 本次是 基于m98的代码。

src\modules\congestion_controller\goog_cc\goog_cc_network_control.cc

  • GoogCcNetworkController 是核心类,
  • 其处理的核心方法是OnTransportPacketsFeedback
    【gcc】RtpTransportControllerSend学习笔记 5:OnTransportPacketsFeedback及测试程序_第1张图片

call模块里会根据mline创建多流,多个流公用同一个带宽控制

  • vwebrtc中是会同时存在多个stream,但所有的stream都会共用一个码率预估和平滑发送

  • 不同的stream 的发送数据包都是通过同一个Transport层发送到网络

  • 期间,不同的stream的rtprtcp包是到自己的RtpControllerSend的PacketSender,通过 同一个?pacingcontroller进行码率控制和发送,发送的包是先通过PacketRouter路由到其所属的RTP_RTCP进行缓存记录以便重传,再通过Transport发送的。

你可能感兴趣的:(WebRTC入门与实战,学习,笔记)