xbmc/xbmc — pull request #3079 by koying (2013-08-08 12:34:53+00:00)
Title: FIX: [stagefright] dyload the whole codec to prevent potential future api breakage

This moves the gory details of libstagefright to a separate library, which is dyload'ed at runtime.
Whether the libstagefright private api changes, or libstagefright is absent altogether, XBMC won't crash.

Furthermore, this approach would permit to have multiple libstagefright codecs, dependent on the android version, in the same package.

Note:
I had to move the jni Surface and SurfaceTexture to the lib because, as they are not used inside libxbmc.so self, they are not exported.
An alternative would be to use -Wl,--whole-archive, if deemed better.