[Android] New AudioMixerAndroid in 4.17p1 results in crackling audio

Apologies, but this is not going to be fixed for 4.16.

The focus for the new audio engine for 4.16 has been the PC implementation.

Specifically, the android backend implementation has a number of issues with the OpenSL ES implementation that I am fixing now. For example, the buffer callback from the platform queued voice is doing the actual audio rendering (rather than using a double-buffer approach like is used on PC). This causes immediate buffer underruns (which is the “crackling” you’re hearing) even with just a small number of source voices.

The good news is that it only took a couple hours to fix up but the number of changes from the original Android implementation to the new one are significant and is way too risky to bring into 4.16 right now, especially since the new audio engine is “experimental”. In other words, there isn’t an expectation to work fully and no content has been made which is using it, which means there’s no regression issues. Any request for code changes at this point to experimental features are generally denied since there is no reasonable expectation that it will work.

I apologize for the inconvenience, but please bare with me on this. We’re trying to role out a new audio engine on 9 platforms (PC/Mac/XboxOne/PS4/iOS/Android/Linux/HTML5/Switch) that has backwards compat on all existing features, while also supporting all our internal game releases (e.g. Paragon/Fortnite/Spyjinx/Battlebreakers/RoboRecall), all the old audio engine stuff (can’t have regressions!), as well as licensee and forum support. :smiley:

To help with the back end implementations, we contracted out a “first pass” implementation on Android/iOS/Switch/Mac but I have not yet personally looked at these back ends deeply as my focus has been fixing bugs in the multi-platform audio renderer so at least PC is relatively stable and bug-free in 4.16 since that’s where most users are going to be trying things out.