I'm currently working on an AirPlay receiver for a subpart of an android application. I am using the following framework:
https://github.com/pentateu/DroidAirPlay
While this works great on some mid range devices such as the miPad, we need to get this running on a low spec custom device. The custom device is decoding the airplay packets at 10x to 20x slower than the miPad. As a result, the audio packets lose time synchronisation and due to the time taken to decode the packets, the audio can never re-sync.
I was looking into some other airplay receiver apps on the Play Store and from what I can see they tend to be based on Shairport (https://github.com/abrasive/shairport) for the airplay receiver side of things.
**Note: ** the Shairport based frameworks do not seem to suffer the synchronisation issue on the low end device.
The framework I am using is heavily based on the Shairport framework apart from that it is written in Java.
For decoding data, is C/C++ far superior than Java?
If so, would directing the decoding part of the DroidAirPlay framework via a C or C++ implementation using the NDK give me a large boost to performance?
Thanks in advance
Matt