UNIMRCP 代码走读
基于UNIMRCP1.5.0的代码走读 与 填坑记录
1. server启动配置加载
入口:unimrcp_server.c
static apt_bool_t unimrcp_server_load(mrcp_server_t *mrcp_server, apt_dir_layout_t *dir_layout, apr_pool_t *pool);
通过root下的几个主要字节点分别进行处理,对应处理函数如下:
unimrcp_server_properties_load : properties加载
unimrcp_server_components_load :componets加载,包括各个功能的plugin
unimrcp_server_settings_load :
unimrcp_server_profiles_load :
unimrcp_server_misc_load :
2.消息处理链路
系统启动时会为每个plugin启动一个任务处理线程,循环函数在: apt_consumer_task.c:apt_consumer_task_run()
具体消息处理在 : apt_task.c : apt_task_msg_process() ——》apt_task_vtable_t.process_msg() ——》会调用到每个plugin定时时注册的函数
MRCP消息解析 : apt_text_message.c:apt_message_parser_run()
UNIMRCP 代码走读的更多相关文章
- WebRTC代码走读(八):代码目录结构
转载注明出处http://blog.csdn.net/wanghorse ├── ./base //基础平台库,包括线程.锁.socket等 ├── ./build //编译脚本,gyp ├── ./ ...
- Qt Creator插件工作流程代码走读
Qt Creator有个很风骚的插件管理器PluginManager,还有个很骚包的插件说明PluginSpec.基本上,所有的Qt程序的入口都是传统的C程序一样,代码流程从main()函数开始. ...
- WebRTC代码走读(八):代码文件夹结构
转载注明出处http://blog.csdn.net/wanghorse ├── ./base //基础平台库,包含线程.锁.socket等 ├── ./build //编译脚本.gyp ├── ./ ...
- wpa_supplicant代码走读
wpa_supplicant_add_iface wpa_supplicant_init_iface wpa_supplicant_set_driver wpa_config_read wpa_sup ...
- WebRTC代码走读(十):rtp_rtcp模块分析,webrtcrtp_rtcp
转自:http://www.bkjia.com/Androidjc/1020017.html 1. 对外提供的主要流程接口 收包的调用接口RtpReceiverImpl::Incoming ...
- webrtc自带client的视频引擎创建代码走读
src\webrtc\examples\peerconnection\client\conductor.ccbool Conductor::InitializePeerConnection()1 we ...
- webrtc自带client的音频引擎创建代码走读
src\webrtc\examples\peerconnection\client\conductor.cc1.bool Conductor::InitializePeerConnection()1. ...
- 开源ext2read代码走读之-在windows下怎样推断有几个硬盘设备?
int get_ndisks() { HANDLE hDevice; // handle to the drive to be examined int n ...
- Spark 代码走读之 Cache
Spark是基于内存的计算模型,但是当compute chain非常长或者某个计算代价非常大时,能将某些计算的结果进行缓存就显得很方便了.Spark提供了两种缓存的方法 Cache 和 checkPo ...
随机推荐
- shell wc命令 统计行数
users文件内容 hello world 我们要统计 users 文件的行数,执行以下命令: $ wc -l users users 也可以将输入重定向到 users 文件: $ wc -l < ...
- Python day12部分内置函数的常见方法
#内置函数 print(abs(-1))#绝对值 ']))#判断list的真假,都真则真,有一个假也是假 print(any(''))#有一个真就真,全假则假 print(bin(3))#十进制转换二 ...
- [ios]MKMapView中使用MKPolyline画线
参考:http://blog.sina.com.cn/s/blog_9e8867eb0101dt76.html 首先在MapView.h中 #import <MapKit/MapKit.h> ...
- html & js 单双引号
1.html使用双引号,嵌套亦如此,表示dom元素的属性 <input value="Test" type="button" onclick=" ...
- js的单双引号
单引号开始: 有时候上边的不行 双引号开始. 一般最外边是单引号 属性是双引号. 如果属性中还是需要一个属性的话,那么我们用\“,里边用‘+data.id+'来区分. 今天又一次遇到一次单双引号,花了 ...
- sublime text注册码与快捷键
其他版本: —– BEGIN LICENSE —– Michael Barnes Single User License EA7E-821385 8A353C41 872A0D5C DF9B2950 ...
- 小行星碰撞 Asteroid Collision
2018-08-07 11:12:01 问题描述: 问题求解: 使用一个链表模拟栈,最后的状态一定是左侧全部是负值,表示的是向左飞行,右侧的全部是正值,表示的是向右飞行. 遍历整个数组,对于每个读到的 ...
- spoj Help the Military Recruitment Office!
题意:给出名字和地方,地方会重定向,最后再给出名字,问现在属于哪里? 用并查集. //#pragma comment(linker,"/STACK:1024000000,1024000000 ...
- yarn的淘宝镜像
现在有很多人使用npm但是很多人也开始使用了更快的更方便额的yarn,可是yarn也有下载速度慢,容易被墙的担忧~又不能像npm那样直接安装淘宝镜像,所以就有了更改yarn的yarn源~ yarn c ...
- Eclipse已经安装了SVN插件,但是在获取SVN代码时,一直处于progress....
Eclipse已经安装了SVN插件,但是在获取SVN代码时,一直处于progress.... 后来升级把SVN插件升级到了1.10x,在获取就看轻轻松松搞定了 由此得出: 在安装EclipseSVSN ...