- WebRTC源码分析——Call模块 大神提到,call模块是在worker线程创建的。
- 主要创建接收、发送流
Call模块是WebRTC会话中不可缺少的一个模块,一个Call对象可以包含多个发送/接收流,且这些流对应同一个远端端点,并共享码率估计。
call中通过webrtc::VideoReceiveStream::Config 创建VideoReceiveStream
Call在创建PeerConnection对象的过程中被创建出来,并成为PeerConnection成员。PeerConnection利用Call的能力对应用层提供了如下的功能:
- 发送码率设置(包含最大码率、最小码率、初始码率,初始码率作为编码器的初始参数以及带宽估计的先验值);
提供获取传输统计数据途径(包含估算的可用发送带宽、估算的可用接收带宽、平滑发送引入的延迟、RTT估计值、累计的最大填充bit); - 提供获取所有发送的数据包回调;
- 另外其还持有PacketReceiver对象,因此,所有接收到RTP/RTCP数据包,也将经过Call。
- Call对WebRTC内部还提供了其他重要的功能:
本文详细分析了WebRTC中Call模块的VideoReceiveStream创建流程,从Call::CreateVideoReceiveStream到VideoReceiveAdapterImpl::CreateReceiveVideo,探讨了接收流的创建、启动以及在不同场景下的工作原理,包括WebRtcVideoReceiveStream的RecreateWebRtcVideoStream过程。同时,提到了在owt-server中VideoReceiveStream的实现细节和调用路径。
订阅专栏 解锁全文
479

被折叠的 条评论
为什么被折叠?



