作为一个刚转行的人,绝对是菜的不能在菜了,这些天在mips环境里面编译gst的解码器插件,因为这些插件在gst-plugin都是需要lib库依赖的,所以只有去网上下载lib库资源先。然后就是在mips环境在安装lib库了,写一个脚本,按照老手的意思,写了一个环境变量,配置了一下安装路径等。
OK,准备就绪,开始运行脚本,然后根据readme里面的提示:make,sudo make install,所有的插件都make成功了,只有faad不行,先不管了然后就一个个的sudo make install咯,出现错误,mips-linux-gcc:command not found 。不是吧,出现错误了。新手呀,遇到错误很紧张呀。想想我就去编译路径去看了下,能找到mips-linux-gcc,环境变量没有配置?echo一下,PATH里面也有gcc的路径呀,这把晕倒了,找了两天的资料也没找到。大哥,杀了我吧。
今天晚上实在不行了,问了一下老手,告诉我要用sudo env PATH=$PATH make install 命令安装,试了一下,果然有用。但是这个是什么原因呢,不懂呀,不懂就查,可惜没怎么查到。安装我自己的想法就是一来是配置环境变量的时候直接PTAH=路径了,没有加上$PATH所以才要在安装的时候加上这个。好吧,总算是都安装完成了。
下一步,测试编译好的插件,安装步骤,把.so文件拷贝到指定的挂载路径。在板子上挂载根文件系统,开始测试吧。额,除了gst-plugin本身自带的插件,其他需要我安装lib库的插件全部加载不成功,难受呀,又出现错误了。汗,看了下错误,没看明白是什么错误,问别人吧,囧,叫我自己去查资料,好,我就查,搞了一天多时间,没搞出来,怀疑是lib库的问题,测试全部失败。最后还是确认是lib库的问题,那些插件缺少相应的库文件。nnd,测试的时候,我特地把lib目录里面所有的lib都清除了,但是测试的时候那些被清除lib库的插件也是能加载的。搞了大半天,后来专项和我说,有两个lib库,我把这个清除了,另外一个也可以调用。oh,mygod,我承认,这一刻我疯了。是我的错,没注意到这些细节。现在好办了,添加lib库,加载ok。
然后就是用rygel测试了,又出现问题了。rygel做server的时候,如果使用transcode/mp3/lpcm的转换功能,那么就不需要通过我的解码器就直接能播放歌曲。汗,这是一个问题呀,当我屏蔽transcodingLPCM的时候,数据传不过来呀,在这里我想知道,rygel只能接受和发送MP3编码制和LPCM编码制的音频文件么。现在还是无解。
两个问题,一个env PATH=$PATH有什么作用撒,另外一个,rygel传输和接受数据是不是一定要MP3编码制或者LPCM编码制的音频。