交叉编译pjsip
2017-05-12 09:36
363 查看
说明
PJSIP是一种以C语言编写的免费开源多媒体通信库,实现基于标准的协议,如SIP,SDP,RTP,STUN,TURN和ICE。它将信令协议(SIP)与丰富的多媒体框架和NAT穿越功能相结合,成为可移植的高级API,适用于从台式机,嵌入式系统到手机等几乎任何类型的系统。官方网址为http://www.pjsip.org/
修改编译配置文件
配置文件路径为pjproject-2.4.5\pjlib\include\pj\config_site.h
添加以下宏定义
#define PJMEDIA_AUDIO_DEV_HAS_ALSA 1 #undef PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO #define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0 #include <pj/config_site_sample.h> #define PJMEDIA_RESAMPLE_NONE 1 #define PJMEDIA_HAS_SPEEX_AEC 0 #define PJMEDIA_HAS_VIDEO 0 #define PJMEDIA_CONF_USE_SWITCH_BOARD 1
编译安装
用的是 pjproject-2.4.5版本直接在源码目录下执行以下指令
./configure --prefix=/usr/local/arm_linux_4.2 --host=arm-linux LIBS=-ldl make dep make
运行例子程序
![](http://ohjvpki1b.bkt.clouddn.com/build_pjsip.png)
音频驱动切换
Linux音频驱动分为alsa和oss,oss是比较旧的驱动,pjsip支持这两种音频驱动,默认是oss,蓝天门口机的内核使用的是alsa驱动,运行例子程序的时候会出现以下问题。![](http://ohjvpki1b.bkt.clouddn.com/pjsip_device.png)
解决方法
修改config_site.h文件 在pjproject-2.4.5\pjlib\include\pj目录下增加
#define PJMEDIA_AUDIO_DEV_HAS_ALSA 1
相关文章推荐
- 交叉编译pjsip2.2.1至android平台
- PJSIP2.0使用以及交叉编译存在问题解决
- PJSIP2.0使用以及交叉编译存在问题解决
- Ubuntu 16.04.1 安装后搭建ARM交叉编译环境编译pjsip
- easycwmp的交叉编译
- 搭建树莓派交叉编译环境
- (跨平台)cocos2d-x C++ or Object-C(前端)调用C# webservices(后台),实现交叉编译到Android/IOS/WinPhone等移动终端设备
- 交叉编译obexd
- Ubuntu12.04嵌入式交叉编译环境arm-linu-gcc搭建过程,图解
- 建立交叉编译环境arm-linux-gcc
- 安装交叉调试器gdb,编译出错cc1: warnings being treated as errors
- cocos2d-x游戏发布交叉编译成安卓apk(一)环境搭建
- ubuntu PJSIP编译java库及jni生成,开放新jni接口
- 安装交叉编译工具arm-linux-gcc-4.3.
- 基于Ubuntu交叉编译FFmpeg Windows SDK
- ARM-Linux交叉编译工具链搭建之LFS
- readline-6.3 之arm平台交叉编译
- Ubuntu 16.04 64位内核交叉编译报错
- PJSIP在windows(xp或者win7)下的编译,编译工具是vs2008,PJSIP版本2.3
- Linux中交叉编译ncurses