狗尾续貂之为《解决Android平台移植ffmpeg的一揽子问题》续

moruite童鞋已经搞定了很多问题,把havlenapetr移植的ffmpeg做出了改进,然后对他的编译也进行了很多的调整,感谢这些童鞋的不断努力,才有了今天,这也是开源的精神和意义所在
唯一让人有些遗憾的事情是神马呢?
对头,libjniaudio.so和libjnivideo.so还仅仅只是两个库,我们只知道要使用这两个库,搜遍了android代码也没有这俩个库,这肯定是
havlenapetr对android代码进行了包装了,但是坑爹的是,没提供代码,万一我想加接口怎么办?怎么办啊怎么办?
nm大刑伺候
libaudio.so得到的结果
000009f9 T AndroidAudioTrack_flush
00000ac1 T AndroidAudioTrack_register
000009cd T AndroidAudioTrack_reload
00000a1d T AndroidAudioTrack_set
00000a9d T AndroidAudioTrack_start
00000951 T AndroidAudioTrack_stop
00000975 T AndroidAudioTrack_unregister
000008d5 T AndroidAudioTrack_write
而libvideo.so得到的结果是
000009e9 T AndroidSurface_getPixels
00000919 T AndroidSurface_register
000008e1 T AndroidSurface_unregister
00000b6d T AndroidSurface_updateSurface

好吧,T的部分是这个库对应的c文件或者externC包过的cpp文件编译得到的
找对应的函数体去,,,
OK。在jni/include/android下面找到了,audio对应的头文件是Audiotrack.h,video对应的是Surface.h
太狡猾了,编译的库跟cpp文件毛关系都没有
我妄图用SourceInsight3去找实现的部分,,,遗憾的是,,木有找到啊
我勒个去,,,真狠,,难道真的木有了么?
havlenapetr这位童鞋是很有开源精神的,丫参加了30个左右的开源项目,,我一个个找
恩?有个叫havlenapetr-android_frameworks_base的项目,下一个下来再说
我搜我搜我搜搜,,哈哈,,
在havlenapetr-android_frameworks_base/native下面有俩目录,一个叫audio一个叫video,进去再看makefile.的确,生成的就是
libaudio.so和libvideo.so,再看对应的cpp文件,没错,就是这俩货
把这俩目录copy出来放到你自己的android源代码下,好吧,你强大了,你可以自己编译一个出来,不用只能用于froyo(2.2)了,注意,2.3我还没试,如果接口有变的,自己来改代码吧,多欢乐啊。
PS:
3.0的代码谁有谁有,我木有搞到

再次感谢
moruite,感谢狡猾狡猾滴havlenapetr
移植ffmpeg上android2.3任务还很艰巨勒
Aza Aza Fighting!

你可能感兴趣的:(android,video,任务,平台,audio,frameworks)