CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Linux/Unix社区 >  内核及驱动程序研究区

移植mplayer通过,散分

楼主tb01412(tb)2006-09-29 20:53:23 在 Linux/Unix社区 / 内核及驱动程序研究区 提问

今天终于将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:   %6d\n",  
                      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 问题点数:100、回复次数:26Top

1 楼hyg2008(蓝色雨)回复于 2006-09-30 07:41:33 得分 10

mark是个好习惯Top

2 楼xdspower(杂食菜熊)回复于 2006-09-30 09:06:54 得分 10

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

3 楼Sniper167(啥都不会)回复于 2006-09-30 09:18:25 得分 10

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

4 楼ericzhangali(另一个空间)回复于 2006-09-30 09:40:40 得分 10

吼吼Top

5 楼tb01412(tb)回复于 2006-09-30 09:50:47 得分 0

to   xdspower()   :  
  网上到处有移植MPLAYER的文章,如果你的音频驱动刚好不幸使用的是MIZI公司所做的uda1341那一款,移植后播放音频文件就会出现异常,网上使用的方法是修改音频驱动,我这个人比较懒,不想修改驱动,所以就从MPLAYER自身入手,再者,如果你的芯片上没有使用RTC,或者用MPLAYER的时候老是提示RTC有问题的话,就照着我所说的做,这篇文章的意义就在于这里,如果仅仅是为了移植的话,就直接在网上找其它的文章了,说得更详细一些Top

6 楼zengwujun(月之海 为linux入门奋斗100天)回复于 2006-10-01 23:14:46 得分 10

接分  
   
  这种移植,   熟能生巧:)Top

7 楼softforce(感谢广东)回复于 2006-10-02 11:03:24 得分 10

学习,做个标记先。Top

8 楼upcuiling()回复于 2006-10-02 13:46:17 得分 10

10m   也太大了八Top

9 楼goodgod105(不来电)回复于 2006-10-08 17:29:50 得分 10

恭喜~~~~Top

10 楼yjf7888(seeking a place 找工作了location:Chengdu)回复于 2006-10-08 19:05:40 得分 10

厉害Top

11 楼Jiangcr81(晨风)回复于 2006-10-08 20:56:38 得分 10

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

12 楼tb01412(tb)回复于 2006-10-09 10:28:48 得分 0

to   Jiangcr81(晨风)   :  
  换成英文名字的歌曲,再到载到板子上播放,试一试,应该可行吧??Top

13 楼tang_go(老唐)回复于 2006-10-09 14:26:07 得分 0

jf  
  学习...Top

14 楼Jiangcr81(晨风)回复于 2006-10-09 15:59:49 得分 0

我是把中文名改成英文名的。后来试了又很多其它歌曲,也是同样情况。但是在输出Starting   playback前能听到耳机里传出一次“咔嗒”声  
  播了一个mjpeg格式的avi文件,是可以播的,但是也是没声音。  
  我怀疑还是改的ao_oss.c文件引起的。有空再试一下Top

15 楼nevil(沙漠中的水草)回复于 2006-10-09 16:20:47 得分 0

敬仰~Top

16 楼johndiyang(木木)回复于 2006-10-10 17:47:35 得分 0

完成工作,进行通告散分是好品质  
   
  接分是好习惯Top

17 楼zhaodm(幸好还有希望一直陪在我身边)回复于 2006-10-11 13:26:53 得分 0

恭喜楼主  
  我也来接一下   ^-^  
   
  Top

18 楼iambic()回复于 2006-10-11 13:29:44 得分 0

碰巧来接分。Top

19 楼stone_soup(夜不打拾)回复于 2006-10-11 14:47:51 得分 0

 
  MarkTop

20 楼bluedreammer(瀟瀟鳥)回复于 2006-10-11 15:45:20 得分 0

牛人,顶下Top

21 楼xiaoke26(带三个表)回复于 2006-10-11 16:29:23 得分 0

学习,Mark先。工作了先买个Linux手机,慢慢学习Top

22 楼lei001(太极)回复于 2006-10-19 22:16:18 得分 0

upTop

23 楼maoxiafei(我要学好C和Linux)回复于 2006-10-20 09:01:14 得分 0

顶了先,我也在看mplayer呢现在Top

24 楼yjf7888(seeking a place 找工作了location:Chengdu)回复于 2006-10-20 09:06:12 得分 0

怎么这贴看着怎么面熟Top

25 楼hardboy_du(白衬衣)回复于 2006-10-25 10:48:55 得分 0

牛Top

26 楼aha99(学习-工作)回复于 2006-10-25 17:32:33 得分 0

学习,我的A780从来都是直接下在别人的装,改天自己也试试Top

相关问题

关键词

得分解答快速导航

  • 帖主:tb01412
  • hyg2008
  • xdspower
  • Sniper167
  • ericzhangali
  • zengwujun
  • softforce
  • upcuiling
  • goodgod105
  • yjf7888
  • Jiangcr81

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo