Attualmente sto lavorando su un ricevitore AirPlay per una parte secondaria di un'applicazione Android. Sto usando il seguente quadro:Pacchetti di decodifica Airplay in Java o C/C++ su Android
https://github.com/pentateu/DroidAirPlay
Mentre questo funziona alla grande su alcuni dispositivi di fascia media come la miPad, abbiamo bisogno di ottenere questo in esecuzione su un dispositivo spec personalizzato bassa. Il dispositivo personalizzato decodifica i pacchetti di airplay da 10x a 20x più lenti del miPad. Di conseguenza, i pacchetti audio perdono la sincronizzazione temporale e, a causa del tempo necessario per decodificare i pacchetti, l'audio non può mai risincronizzare.
Stavo esaminando alcune altre app di ricezione airplay sul Play Store e da quello che posso vedere tendono ad essere basate su Shairport (https://github.com/abrasive/shairport) per il lato del ricevitore in modalità airplay.
** Nota: ** i framework basati su Shairport non sembrano soffrire il problema di sincronizzazione sul dispositivo di fascia bassa.
Il framework che sto utilizzando è fortemente basato sul framework Shairport a parte il fatto che è scritto in Java.
Per la decodifica dei dati, C/C++ è di gran lunga superiore rispetto a Java?
In tal caso, dirigere la parte di decodifica del framework DroidAirPlay tramite un'implementazione C o C++ utilizzando l'NDK mi dà un grande impulso alle prestazioni?
Grazie in anticipo
Matt