RtpVideoStreamReceiver起到管理者作用,具体做事的是由PacketBuffer,RtpFrameReferenceFinder,FrameBuffer
堆栈信息
RtpVideoStreamReceiver::OnRecoveredPacket接收到数据后,在其中组成RtpPacketReceived结构;在其中调用了RtpVideoStreamReceiver::ReceivePacket
void RtpVideoStreamReceiver::OnRecoveredPacket(const uint8_t* rtp_packet,
size_t rtp_packet_length) {
RtpPacketReceived packet;
//Parse调用的是父类RtpPacket,其中保存了包的数据信息
if (!packet.Parse(rtp_packet, rtp_packet_length))
return;
if (packet.PayloadType() == config_.rtp.red_payload_type) {
RTC_LOG(LS_WARNING) << "Discarding recovered packet with RED encapsulation";
return;
}
packet.IdentifyExtensions(rtp_header_extensions_);
packet.set_payload_type_frequency(kVideoPayloadTypeFreque