WebRTC 源码分析之一:几个核心设计概念

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebRTC 源码分析之一:几个核心设计概念相关的知识,希望对你有一定的参考价值。

参考技术A

下面要介绍的是 WebRTC 中最核心的几个概念。

1、OnMessage 消息机制
对象内部发送消息。这是一个普遍性,通用性的设计,例如 MFC、android 消息机制都是如此。
在对象内把消息 Post 到主线程,并且把当前对象的句柄放在消息体内,线程队列根据消息里对象句柄来回调对应的 OnMessage 函数

2、sigslot 消息机制
对象之间发送消息。
发送者(发布主题者)生命一个信号量,绑定到接受者(观察者)的函数,当发送者调用一次信号量时,直接会回调观察者的函数。

3、消息进阶传递机制(OnMessage 和 sigsolt 结合)
最底层 sigslot 传递消息到中层后,中层使用 Post 消息传递到本层的OnMessage,在 OnMessage 里使用 sigsolt 再往上层传递消息。
即同层之间用 OnMessage 消息传递,下层向上层传递则使用 sigsolt。

4、线程封装原理
线程create传送的参数是一个 ThreadInit 的类指针,这个指针包含了一个正常的本身的线程类指针Thread,同时也包含了一个 Runnable 指针。
Start(Runnable * runnable),runnable 为空时,启用的是 Thread 的 Run,不为空时,启用的是 Runnable 的 Run

本文摘录于海阔天空的博客,作者: zjg555543,发布时间: 2014-07-09

以上是关于WebRTC 源码分析之一:几个核心设计概念的主要内容,如果未能解决你的问题,请参考以下文章

Android端WebRTC本地音视频采集流程源码分析

chrome内部的webrtc怎么改源码

同网页的WebRTC实现与源码分析

安卓mediasoup webrtc h264 软编解码相关源码分析

Spring源码从开始到放弃

安卓mediasoup webrtc h264 编解码相关源码分析