一、Tansport 转发到Producer
Transport收到数据packet后,会解析出packet中所带的ssrc字段,然后基于ssrc找到该数据的Producer。
Transport::ReceiveRtpPacket
{
// Get the associated Producer.
RTC::Producer* producer = this->rtpListener.GetProducer(packet);//基于包中的ssrc选出Producer
}
Produer也是基于ssrc找到RtpStreamRecv
//生产者接收到rtp包,数据发送者类
Producer::ReceiveRtpPacketResult Producer::ReceiveRtpPacket(RTC::RtpPacket* packet)
{
// Count number of RTP streams. 基于ssrc获取与该包相关的流管理类RTC::RtpStreamRecv
auto numRtpStreamsBefore = this->mapSsrcRtpStream.size();
auto* rtpStream = GetRtpStream(packet);
// Media packet. 判断接收包和与之关联的流的SSRC是否相等,即得保证该包属于该流
if (packet->GetSsrc() == rtpStrea