Hi Androins,
If I modify some source in the codec component (e..g. H.264 Decoder),
then Is it sufficient if I replace the corresponding *.so file in the
system/lib folder on my MMCSDCARD or I need to copy the entire file
system again onto the SDCard.
Actually removed on of my printf in the H.264 decoder component and
replaced the *.so file in the SDcard, but I still saw the printf when
using the PVPlayer.
I am using Android on beagle board (with GStreamer switched off)
Regards,
Sanjeev Kumar Verma
I don’t know about Android, but the following is worth knowing and applies to most operating systems (including Windows if you accept that things are named differently):
- Libraries can be included in a binary file (called static linking). If you need to change these libraries then you’ll need to recompile the program making sure the link picks up the right library.
- Libraries can be dynamically linked at process startup - done by ld.so (see man ld.so)
- Sometimes libraries are loaded by a program, e.g. for plugins - using dlopen() (see man dlopen)
- You can use “ldd executable” to see static and dynamic libraries.
- You might need to use strace to see application calls to dlopen() that also loads libraries.
- Some libraries have additional library dependencies, you can use ldd on .so files too.
- Search paths for libraries can be pre-programmed into the binary using RPATHs.
- Libraries will be searched for using LD_LIBRARY_PATH
- Libraries can be cached in /etc/ld.so.cache (see man ldconfig)
- It is not practical for applications to re-load libraries [but its not impossible]
Okay okay, now for some help: I would use ldd to see where the program is getting its libraries from - its probably not where you thought… Make sure the program really has quit before restarting it… Try running ldconfig to rebuild the cache…