WebRTC中peerconnection示例工程結構分析

WebRTC Native代碼相當的大(大約200Mb),開始的時候對這些代碼真的是一頭霧水,最後決定先從example中的peerconnection先看起。

peerconnection例子分爲client端和server端,多個client加入對話,server負責信令的處理,這裏主要討論與WebRTC較爲相關的client Demo。

代碼結構:
這裏寫圖片描述

這個例子用Gtk圖形庫開發,其中核心的類是conductor類
我製作的類圖如下(根據2018年6月11日的WebRTC的源碼製作)請放大觀看:

這裏寫圖片描述

Conductor類以public方式繼承了以下的類:
webrtc::PeerConnectionObserver,
webrtc::CreateSessionDescriptionObserver,
PeerConnectionClientObserver,

其中webrtc::PeerConnectionObserver與PeerConnection一起成爲一個觀察者模式,當PeerConnection狀態改變,就回調PeerConnectionObserver(Conductor)。

Conductor類使用webrtc::CreatePeerConnectionFactory方法創建PeerConnectionFactoryInterface的對象實現。
PeerConnectionFactory負責創建PeerConnection、VideoTrack、AudioTrack等重要對象,PeerConnection API有着衆多的WebRTC核心功能(見上圖的函數名稱)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章