mediasoup支持两种类型的bwe(Bandwidth estimation)带宽估计反馈机制:TRANSPORT-CC 和REMB。具体处理类为:
TransportCongestionControlServer,接收到客户端传来的数据,按一定的规则生成transport-cc包,然后发给客户端。
客户端根据transport-cc包调整发送码率。
一、创建拥塞控制类TransportCongestionControlServer
void Transport::HandleRequest(Channel::Request* request)
{
case Channel::Request::MethodId::TRANSPORT_PRODUCE:
{
//根据bwe的类型,判断是tranport-cc 还是remb
// Set TransportCongestionControlServer.
if (!this->tccServer)
{
bool createTccServer{ false };
RTC::BweType bweType;
// Use transport-cc if:
// - there is transport-wide-cc-01 RTP header extension, and
// - there is "transport-cc" in codecs RTCP feedback.
//
// clang-format o