本文主要是自己之前研究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創建過程

