写在前面:
本文参考webrtc官方网址:native-apis
WebRTC Native APIs 记录
简介
webrtc native api 是基于w3c的标准实现的。链接: WebRTC 1.0: Real-time Communication Between Browsers
实现WebRTC native APIs(包括Streams和PeerConnection APIs)在这. 一个简单的客户端程序可参考.
Block Diagram
调用顺序
Set up a call
Receive a Call
Close Down a Call
Threading Model 线程模型
WebRTC Native APIs 使用2个全局可用的线程: 信号线程和工作者线程。
取决于PeerConnection factory是如何被创建的,应用程序既可以提供这两个线程也可以让他们内部被创建。
调用Stream APIs和PeerConnection APIs将被信令线程代理,这意味着应用程序可以从任何线程调用这些APIs。
所有的回调都在信号线程里调用,应用程序应尽可能快的从回调函数中返回以避免阻塞信号线程。
资源密集的处理应该抛给其他线程来做。
工作线程被用于处理更多的资源密集处理(可以理解为耗时操作),比如数据流。
- Stream APIs (media_stream_interface.h )
- PeerConnection APIs (peer_connection_interface.h)