能以应用程序的形式动态插入codec(不重编源码)吗?
如果不行的话,开发自有格式的解码器、播放器,是不是得自己搭个框架做同步= =

解决方案 »

  1.   

    不可以。动态库还需要用glibc重新编译链接及生成一下。
    android的so和一半的so,格式都不一样,怎么能共用呢。
    还有整个C库也不一样。最少都要拿源代码重编。
      

  2.   


    编译和生成动态库不是问题吧关键是能不能动态注册动态库呢= =,像dShow那样如果不能的话,悲催了,要写个播放器还得自己搭framework
      

  3.   

    显然可以的android jni/hal
    都是这样做的dlopen,dlsym
    和一般用法一样,只是要重新编译下
      

  4.   


    谢谢你~不过我的问题是这样的
    如果我写了一个播放器用来播放自有格式,又希望使用StageFright作为框架,自己将自己的codec以jni的方式封装成符合OMX插件的形式
    那么,提供一个apk文件,能实现动态向系统中注册这个插件吗?
    因为我看相关的codec集成的书,都是在系统源码这一级加入codec,这样编译后在system目录下就有了so文件,cfg也是配置好的,播放文件时框架就会自动调用这个模块。我就想知道apk能不能在已编译的系统上实现注册模块,并由stagefright自动调用的方法~
      

  5.   


    是不是在应用程序安装的时候直接在sysytem/etc下放入相应的cfg和so文件就行了呢?
      

  6.   

    那样就不行了。
    应用程序的权限很低的,除了sdcard目录,其他目录基本上对你都是不可写的。你的so库,只能对你apk中的代码/进程有用,其他无用。 你不能往stagefright中以apk形式开发插件。你可以在framework上开发,以固件的方式提供,也就是说:你们公司得是手机厂商,或厂商的合作伙伴。
      

  7.   


    噢好的,谢谢~那如果这个so库只能自己用,是不是就不能利用stagefright了~
      

  8.   

    是的,不能用stagefright,得自己写解码器