by jonywalker » Thu Feb 21, 2013 5:23 pm
it works with single library, but not for e.g
libavformat.so libavcodec.so libavutil.so libwsale.so all together. The real libraries are libavformat.so.54.xxx, libavcodec.so.54.xxx libavutil.so.52.xxx and libwscale.so.3.xxx.
It my be an error of ffmpeg build script that the real libary name of libavcodec.so.54.xxx is referenced by libavformat.so.54.xxx inside, instead it should be the symbolic link of library that should be referenced by libavformat.so.54.xxx. That means, we are then able to make the libavformat.so.54.xxx depend on different version of libavcodec.so.xxx just by switching the soft link of libavcodec.so. I am now modifying the configure file to do that.
There is an option "--disable-symver", means disable symbolic versioning, inside configure file, but it dosn't have any impact on the build results. I tried editing the binary file *.so.xxx via text editor but it didn't work.
There are also errors in tool/build_statefright, we either need to modify enable_libstagefright_h264 to enable libstagefright in order to make the build working. And inside the libstagefright.cpp there is also an error ff_get_buffer not defined, so that we have to add #include internal.h to libstagefright.cpp. So much my input for ffmpeg community.