MPlayer往Android上的移植(1)

    把mplayer往android上移植有近二十天了,现在终于可以开始第二个阶段了,即把mplayer的音视频输出往Android的机制里面加。

    之前遇到好多问题,前面的过程大概分了三个小步骤:

    1.把mplayer本身在Android里面能够编译,生成mplayer。这步没有把mplayer里面ffmpeg的两个库libavcodec和libavformat加进去,因为开始还编译不过。这一步困难的地方在于有个函数在Android的glibc中没有,被裁减掉了。需要自己下载一份BSD的glibc,然后给它添加上。(Android的glibc从BSD裁减过来的。),等到把mplayer生成能运行了,开始再加ffmpeg部分,花了一个星期都没成,一堆的错误,屏幕上都显示不过来了...

    2.看来还是单独先移植下ffmpeg吧。这步生成几个库容易,但问题是链接生成ffmpeg程序麻烦了点,也改了下bionic,csdn上有个jl兄弟在blog上讲过在编译时遇到一些问题加#include ,但不知道他有没有用来生成可执行文件,还是只生成库就够了。要生成可执行文件,还是要改改bionic的。终于,在上周末ffmpeg生成了,能转视频格式了。

    3.既然mplayer本身已经可以了,ffmpeg也可以了,合起来就应该不怎么费事了。昨天很快就把mplayer下的ffmpeg的几个库加进去了,顺便再把libfaad和libmpeg2给加进去,在Android上一运行,音频设备打不开,情理之中的事了,Android给占用了。这就是下一大步的事了。视频给它在/dev下把graphics下的设备链一个到设备符fb0,居然能显示,只是一会有一会无,莫非是mplayer在和Android的surface打架吗?

 

    下面开始先把音频输出到Android的AudioFlinger上面去...

你可能感兴趣的:(MPlayer往Android上的移植(1))