0
点赞
收藏
分享

微信扫一扫

WebRtc Native M96 远端视频接收之RtpVideoStreamReceiver2-RTP包接收流程分析(2)

Resin_Wu 2022-03-11 阅读 55

rtp包是如何到达Call模块的

从网络接收包,到达WebRtcVideoChannel::OnPacketReceived

UDPPort::HandleIncomingPacket
UDPPort::OnReadPacket
Connection::OnReadPacket
P2PTransportChannel::OnReadPacket
DtlsTransport::OnReadPacket
RtpTransport::OnReadPacket
SrtpTransport::OnRtpPacketReceived
RtpTransport::DemuxPacket
RtpDemuxer::OnRtpPacket
BaseChannel::OnRtpPacket
WebRtcVideoChannel::OnPacketReceived

在WebRtcVideoChannel::OnPacketReceived中,从network_thread线程转到worker_thread,也就是到了Call::DeliverPacket中

  worker_thread_->PostTask(
      ToQueuedTask(task_safety_, [this, packet, packet_time_us] {
        RTC_DCHECK_RUN_ON(&thread_checker_);
        const webrtc::PacketReceiver::DeliveryStatus delivery_result =
            call_->Receiver()->DeliverPacket(webrtc::MediaType::VIDEO, packet,
                                             packet_time_us)
        }
        ......
  }));

举报

相关推荐

0 条评论