I've got a VoIP video application that works fine on MAC, Windows and iOS using the VP8 codec. When I place a call between any of these platforms and Android both sides of the call have a black and white image with red, green and blue squares. The same happens when Android calls Android.
I'm compiling VP8 with:
./libvpx/configure --target=armv7-android-gcc --sdk-path=/Applications/adt/ndk --disable-examples --enable-runtime-cpu-detect --enable-realtime-only --enable-neon
My question is why does the Android platform yield this result and how can I go about debugging it?
Here is a screenshot of the problem:
Additional information:
The camera frame format is ImageFormat.NV21. The encoder image format is VPX_IMG_FMT_I420.
Because libvpx is configured to take image format VPX_IMG_FMT_I420 the NV21 frames must first be converted to I420.