OpenCore Player介绍:
OpenCore的Player的编译文件是pvplayer/Android.mk,将生成动态库文件libopencoreplayer.so。这个库包含了两方面的内容:一方是Player的engine(引擎),一方面是为Android构件的Player,这实际上是一个适配器(adapter)。
libopencoreplayer.so中包含了以下内容:
一些解码工具;
文件的解析器(MP4);
解码工具对应的Node;
Player的引擎部分(编译文件:engines/player/Android.mk);
为Android构建的Player适配器(编译文件:android/Android.mk);
识别工具(pvmi/recognizer);
编解码工具中的OpenMAX部分(codecs_v2/omx);
对应插件Node的注册。
libopencoreplayer.so中的内容较多,其中主要为各个文件解析器和解码器,PVPlayer的核心功能在engines/player/Android.mk当中;而android/Android.mk的内容比较特殊,它是在PVPlayer之上构建的一个为Android使用的播放器。
OpenCore的Player Engine具有清晰明确的接口,在这个接口上,不同的系统可以根据情况实现不同的Player。位于OpenCore中的engines/player/目录下,其中,engines/player/include目录中保存的是接口头文件,engines/player/src目录中保存是源文件和私有头文件 。
Player Engine的类结构:
![](http://hi.csdn.net/attachment/201112/18/0_1324202220u3IL.gif)
![](http://hi.csdn.net/attachment/201112/18/0_1324202487YpI5.gif)
为接口,源文件为主要的具体实现pvauthorengine.cpp。
![](http://hi.csdn.net/attachment/201112/18/0_13242028123Bkf.gif)
![](http://hi.csdn.net/attachment/201112/18/0_1324202929QJ87.gif)
![](http://hi.csdn.net/attachment/201112/18/0_1324202990ph0S.gif)