I am interested to porting VLC to android.
Yes, google SDK only have a limited support JNI.
But if you download the full android source from android main site, the tool chain in already there.
The toolchain is a small piece in a big puzzle. Getting an ARM Linux toolchain is not difficult. If you don't want to compile it yourself, you can download one from CodeSourcery.
There are much bigger problems:
- A proper video output driver. Android does not use X11 (does it?), so you will need to access the frame buffer or the GPU directly, and cooperate with the rest of the (Java) operating system. This had better support rescaling and YCrCb color space in hardware, otherwise you can forget about decoding video at more than 1 frame per second.
- An audio output driver. VLC needs to output PCM audio samples with very low latency, and cooperate with the operating system, so that say incoming voice calls are not muted while VLC is playing back.
- A user interface. That might be doable in Java but it is quite a lot of work in any case (the official VLC Qt4 and MacOS interfaces represent 20000 lines each).
- Adequate CPU power, or CPU-specific optimizations, or DSP support for video decoding.
- A decent run-time C library, or a set of stubs for all missing functions.
.
This is not to say that VLC on Android NDK is not feasible, but it is probably not as
obvious thing to do as it may seem.
N.B.: For the sake of full disclosure, I mention that I am currently working for a direct competitor to Android.