WebRTC中peerconnection示例工程结构分析

版权声明:本博客的所有内容采用Creative Commons(知识共享)许可证,作者权利:署名(BY)& 非商业性使用(NC)。转载时请务必标明文章超链接、作者信息和本声明,禁止用于商业用途。 https://blog.csdn.net/thinkerleo1997/article/details/81050240

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核心功能(见上图的函数名称)。

阅读更多

没有更多推荐了,返回首页