Android IOS WebRTC 音视频开发总结(二六)-- webrtc调用堆栈

本文主要是自己之前研究WebRTC代码结构时的一些资料(包括Android,iOS,PC),文章来自博客园RTC.Blacker,转载请说明出处。

1、WEBRTC模块:音频数据采集、发送、接收、播放调用过程:

2、WEBRTC模块:视频数据采集、发送、接收、播放调用过程:

3、libjingle模块:发送、接收数据包调用过程:

3.1、底层包发送(通过注册transport来实现包的发送,逻辑基本上跟之前的一样

3.2、视频包发送:

3.3、音频包发送:

3.4、收到视频包:

3.5、收到音频包:

4、libjingle模块:ICE连通性检查过程:

4.1、被呼叫者(收到offer)根据remotecandidate创建连接并执行Ping

4.2、呼叫者(发送offer)根据remotecandidate创建连接并执行Ping:

4.3、收到Ping响应,更改连接状态:

4.4、connection标志位可读

4.5、连接已成功建立,开始收发数据:

4.6、AsyncUDPSocket对象创建流程

4.7、transportchannelProxy创建过程

原文地址:https://www.cnblogs.com/lingyunhu/p/rtc26.html