LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 986|回复: 1

jrtp的2个注意点

[复制链接]
发表于 2011-3-4 14:29:01 | 显示全部楼层 |阅读模式
jrtp是c++开发的rtp协议库,在使用过程中碰到了2个问题,记录一下,供大伙参考。
1.交叉编译要注意大小端
按照一般的交叉编译:./configure --host=<cross-toolchain>
结果发现传出去的视频流VLC无法播放,经过跟踪才发现,jrtp库以大端模式编译,rtp的头完全不对,需要手动修改src/rtpconfig_unix.h文件,再行编译

2.自动启动的问题
在shell下执行应用程序是正确的,但是加在busybox的inittab中开机自动运行,发现rtpsession.AddDestIp()返回失败。很奇怪。想了一下,shell下执行是作为用户已经登录过了,肯定执行了/etc/profile的环境,而自动运行没有,于是手动增加一个脚本,先source /etc/profile,在执行应用程序就正确了。估计是jrtp缺少了哪个环境变量所致,估计是HOSTNAME,但是没有测试过,不好说。
发表于 2011-3-8 13:08:43 | 显示全部楼层
Post by jetking;2129870
jrtp是c++开发的rtp协议库,在使用过程中碰到了2个问题,记录一下,供大伙参考。
1.交叉编译要注意大小端
按照一般的交叉编译:./configure --host=<cross-toolchain>
结果发现传出去的视频流VLC无法播放,经过跟踪才发现,jrtp库以大端模式编译,rtp的头完全不对,需要手动修改src/rtpconfig_unix.h文件,再行编译

2.自动启动的问题
在shell下执行应用程序是正确的,但是加在busybox的inittab中开机自动运行,发现rtpsession.AddDestIp()返回失败。很奇怪。想了一下,shell下执行是作为用户已经登录过了,肯定执行了/etc/profile的环境,而自动运行没有,于是手动增加一个脚本,先source /etc/profile,在执行应用程序就正确了。估计是jrtp缺少了哪个环境变量所致,估计是HOSTNAME,但是没有测试过,不好说。


这个库还真是与众不同,不太智能。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表