当前位置:  技术问答>linux和unix

移植mplayer通过,散分

    来源: 互联网  发布时间:2015-12-20

    本文导语:  今天终于将mplayer移植到了ARM-LINUX上,散分庆祝!!!!现将移植步骤说一下: 1.在mplayer官方网站下载最新版源码 2.编写脚本文件build.sh,文件内容如下: ./configure --cc=arm-linux-gcc         --host-cc=gcc         --enable-cross-compi...

今天终于将mplayer移植到了ARM-LINUX上,散分庆祝!!!!现将移植步骤说一下:
1.在mplayer官方网站下载最新版源码
2.编写脚本文件build.sh,文件内容如下:
./configure --cc=arm-linux-gcc 
       --host-cc=gcc 
       --enable-cross-compile 
       --target=arm-armv4l-linux 
       --enable-linux-devfs 
       --disable-win32 
       --disable-dvdread 
       --enable-fbdev 
       --disable-mencoder 
       --enable-libavcodec 
       --enable-liba52 
       --disable-libmpeg2 
       --disable-mp3lib 
       --enable-static 
       --disable-live 
3.为该文件加上可执行权限:     chmod +x build.sh
4.执行此脚本文件:                    ./build.sh
5.如果你的板子上没有RTC驱动,就修改顶层目录下的config.h文件,将文件中的#define HAVE_RTC 1这一行给注释掉
6.如果你不想修改你的音频驱动(之所以要修改音频驱动,网上有相关介绍,主要原因是代码中与驱动的结合不太好,代码中出现了一个整数除以0的情况导致程序异常),就按照以下的方法修改libao2/ao_oss.c文件:
第一步:找到static int play(void* data,int len,int flags)函数,在第一行加入ao_data.outburst = 8192;
第二步:找到static float get_delay(void)函数,注释掉里面所有内容,最后加入:return 0.8;
第三步:找到static int init(int rate,int channels,int format,int flags)函数中的如下代码,并注释掉:
if(ioctl(audio_fd, SNDCTL_DSP_GETOSPACE, &zz)==-1){
      int r=0;
      mp_msg(MSGT_AO,MSGL_WARN,MSGTR_AO_OSS_CantUseGetospace);
      if(ioctl(audio_fd, SNDCTL_DSP_GETBLKSIZE, &r)==-1){
          mp_msg(MSGT_AO,MSGL_V,"audio_setup: %d bytes/frag (config.h)n",ao_data.outburst);
      } else {
          ao_data.outburst=r;
          mp_msg(MSGT_AO,MSGL_V,"audio_setup: %d bytes/frag (GETBLKSIZE)n",ao_data.outburst);
      }
  } else {
      mp_msg(MSGT_AO,MSGL_V,"audio_setup: frags: %3d/%d  (%d bytes/frag)  free: %6dn",
          zz.fragments, zz.fragstotal, zz.fragsize, zz.bytes);
      if(ao_data.buffersize==-1) ao_data.buffersize=zz.bytes;
      ao_data.outburst=zz.fragsize;
  }
在之后加入以下两行:
ao_data.outburst=8192;
ao_data.buffersize=32768;

到此大功告成,在命令行下输入make,最终将会在当前目录下生成mplayer文件,大概有十来M,下载到板子上就可以播放音频或者视频文件了.注意:如果你没有使用RTC,就需要用软件同步的方法,也就是在播放同时有音频与视频的文件时,需要加上参数
-softsleep

|
mark是个好习惯

|
我的手机E680i就是使用ARM体系芯片Linux系统,早就使用了Mplayer的移植了,这个在手机论坛上早就有了,而且它还只能在交叉编译系统中完成编译,再传到目标上调试的。

|
恭喜楼主
以后还望楼主多多指教

|
吼吼

|
接分

这种移植, 熟能生巧:)

|
学习,做个标记先。

|
10m 也太大了八

|
恭喜~~~~

|
厉害

|
我的板子上音频是1341的,参照楼主的方法make出了mplayer,但是在播放"qq爱.mp3"时没声音。
主要表现在start playing就不动了。
我是在U盘上播放的,U盘的灯这时也不闪了,正常应该是要闪的。
请楼主帮忙!

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 毫无疑问龙芯电脑的出世是我国的一件大事,不知从哪一版的Linux移植过去的?移植Linux复杂吗?
  • 请教下 2.6移植 和 YAFFS2移植到问题
  • 移植USB驱动的小问题
  • arm库的移植
  • mx27开发板Linux移植问题请教
  • 关于在2440上移植linux的问题
  • 专做跨平台移植有没有前途?
  • 可移植C++类库 GNU Common C++
  • 程序可移植性问题
  • EasyARM2200的U-BOOT移植不知谁做过没?
  • WINDOWS GDI程序如何移植到LINUX下?望高手们赐教!!!
  • 求可移植到arm上运行的内存检测软件
  • 驱动移植应该怎么入手
  • 高手帮我看看SNMP的移植问题
  • Apache可移植运行库 APR
  • iptables移植到开发板
  • linux上的c程序移植到solaris 10 需要作哪些工作
  • 关于程序移植,请知道的帮忙,分会加的
  • 急!--请教移植linux内核!
  • u-boot移植问题。


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3