移植pjsip到嵌入式linux下多dsp端口问题
2017-04-27 18:49
351 查看
转自: http://blog.csdn.net/flyshower/article/details/5827101#comments
想把pjsip移植到嵌入式Linux下,该设备有多个fxs/fxo端口,每个端口对应一个dsp通道。pjsip目前只是对声卡类设备进行支持,实现的pjsua也仅仅对一个声卡设备支持,并不支持多端口。
在移植中,可以考虑如下方法:
1、把每个fxs/fxo端口对应的dsp通道适配成一个声卡设备,对pjsua改造,呼叫的时候,指定使用哪一个音频设备
方法好处就是完全支持pjmedia现有的媒体框架,基本不改动原有流程和代码。
pjsip库升级时,原有自己实现的设备不受影响
2、在pjsip代码中进行拦截,拦截收发报文时决定使用的那个通道
该方法修改了pjsip流程,在以后pjsip库需要升级时,需要同步修改
3、把整个dsp适配成一个声卡设备,扩展参数,来通知dsp使用哪个通道
该方法同样要修改pjsip代码,对以后升级不利
因此,最好的方法,就是把dsp的每个通道适配成一个音频设备,混音功能同样适配成mix设备。
后注:经过对Pjmedia代码仔细研究,发现其实把dsp适配成声卡设备非常简单。参照pjmdeia提供的一些声卡驱动,很容易就写出自己的声卡驱动来
想把pjsip移植到嵌入式Linux下,该设备有多个fxs/fxo端口,每个端口对应一个dsp通道。pjsip目前只是对声卡类设备进行支持,实现的pjsua也仅仅对一个声卡设备支持,并不支持多端口。
在移植中,可以考虑如下方法:
1、把每个fxs/fxo端口对应的dsp通道适配成一个声卡设备,对pjsua改造,呼叫的时候,指定使用哪一个音频设备
方法好处就是完全支持pjmedia现有的媒体框架,基本不改动原有流程和代码。
pjsip库升级时,原有自己实现的设备不受影响
2、在pjsip代码中进行拦截,拦截收发报文时决定使用的那个通道
该方法修改了pjsip流程,在以后pjsip库需要升级时,需要同步修改
3、把整个dsp适配成一个声卡设备,扩展参数,来通知dsp使用哪个通道
该方法同样要修改pjsip代码,对以后升级不利
因此,最好的方法,就是把dsp的每个通道适配成一个音频设备,混音功能同样适配成mix设备。
后注:经过对Pjmedia代码仔细研究,发现其实把dsp适配成声卡设备非常简单。参照pjmdeia提供的一些声卡驱动,很容易就写出自己的声卡驱动来
相关文章推荐
- 移植pjsip到嵌入式linux下多dsp端口问题
- S3C6410嵌入式应用平台构建(五)——linux-3.14.4移植到OK6410-(Nand分区问题)
- [置顶] 【原创分享】嵌入式linux应用之内核移植定制篇-后篇(修复部分问题)(linux-3.8.12 mini2440)
- 嵌入式linux移植过程中“串口终端”问题解决方案
- 关于linux应用程序向嵌入式设备上移植的问题
- 【原创分享】嵌入式linux应用之内核移植定制篇-后篇(修复部分问题)(linux-3.8.12 mini2440)
- 【嵌入式Linux学习七步曲之第四篇 Linux内核移植】用BDI2000快速定位PPC Linux内核Uncompressing Kernel Image ... OK后无输出问题
- KVM在嵌入式Linux上的移植
- windows到Linux代码移植遇到的问题
- 基于ARM的嵌入式Linux移植真实体验(2)――BootLoader
- ARM的嵌入式Linux移植体验之基本概念
- Windows 到 Linux 代码移植的常见问题
- linux 32位向64位的移植常见问题
- 浅谈嵌入式 Linux 的移植(转)
- 关于嵌入式linux下的驱动程序编译问题
- ARM的嵌入式Linux移植体验之应用实例
- ARM的嵌入式Linux移植体验之基本概念
- KVM在嵌入式Linux上的移植
- 基于ARM的嵌入式Linux移植真实体验(1)――基本概念
- Socket 编程 windows到Linux代码移植遇到的问题