webrtc代码走读九(接收测远端SSRC配置)

本文详细解析了WebRTC中处理视频流的过程,从Thread的执行到函数调用,包括ProcessMessages、Dispatch、BaseChannel和VoiceChannel的相关函数。重点介绍了SSRC(同步源)的设置、配置及在接收RTP包时的合法性检查。在创建和更新接收流时,通过SDP协商获取SSRC,并在接收RTCP报文时使用SSRC进行校验。整个过程涉及WebRtcVideoChannel和ReceiveStream的创建及内部机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、函数调用关系

Thread::PreRun

-->ProcessMessages

-->Dispatch

-->Thread::QueuedTaskHandler::OnMessage

-->BaseChannel::SetRemoteContent

-->VoiceChannel::SetRemoteContent_w

1)ProcessMessages

 

2)Dispatch

3) Thread::QueuedTaskHandler::OnMessage

 

4) BaseChannel::SetRemoteContent

 

 5)VoiceChannel::SetRemoteContent_w

----video.streams通过MediaContentDescription获取,MediaContentDescription通过sdp获取

->BaseChannel::UpdateRemoteStreams_w
->WebRtcVideoChannel::AddRecvStream

1)BaseChannel::UpdateRemoteStreams_w 

 

2)WebRtcVideoChannel::AddRecvStream 

 

-----调用ConfigureReceiverRtp配置远端ssrc

        WebRtcVideoChannel::WebRtcVideoReceiveStream::WebRtcVideoReceiveStream

        WebRtcVideoChannel::WebRtcVideoReceiveStream::RecreateWebRtcVideoStream

        webrtc::VideoReceiveStream* Call::CreateVideoReceiveStream

        

 

         

 ----将远端ssrc,emplace到receive_rtp_config_,后续收包时做合法性判断。、

        1)internal::VideoReceiveStream2::VideoReceiveStream2

        

        2)RtpVideoStreamReceiver2::RtpVideoStreamReceiver2

        ----生效远端ssrc

         

二、具体函数实现 

  • CreateTracksFromSsrcInfos解析sdp命令行,构造StreamParams参数

         

  • ConfigureReceiverRtp配置远端ssrc

  • Call::CreateVideoReceiveStream,将远端ssrc,emplace到receive_rtp_config_

  • DeliveryStatus Call::DeliverRtp对收到报文的ssrc进行合法性判断 

 ​

  • RtpVideoStreamReceiver2::RtpVideoStreamReceiver2函数生效远端ssrc

  • RtpVideoStreamReceiver2::RtpVideoStreamReceiver2函数生效远端ssrc 

        接收RTCP报文时,使用该值做合法性判断 

        SDP命令行 

        参考:webrtc代码走读二(视频数据处理流程)_EveryDayOneHour的博客-优快云博客

        SDP有SSRC的协商  :

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值