Audio Record fails to initialize

We've ported an application from ML1 to ML2 that uses the popular Dissonance third party library for voice communications. It works great on the ML1, but on the ML2 we are getting some low level Android errors during app startup:

I have contacted the very responsive developer of the library and he is unable to diagnose any further since this is a low level error coming from the APIs Dissonance is calling into. He has made himself available to cooperate in finding a resolution.

Note that the app definitely has the RECORD_AUDIO permission in its AndroidManifest.xml (confirmed by disassembling the APK), and also the app successfully asks for audio recording permissions on first launch.

ML2 OS version:
Version 1.2.0-dev1
Build B3E.230202.11-R.036
Android API Level 29

Error messages from logs (syntax-highlighting is supported via Markdown):

2023-03-28 11:31:20.622 25027-25163/? E/AudioRecord-JNI: Error creating AudioRecord instance: initialization check failed with status -1.
2023-03-28 11:31:20.623 25027-25163/? E/AudioRecord: Failed to destroy audio input: -1643053055
2023-03-28 11:31:20.623 25027-25163/? E/ Error code -20 when initializing native AudioRecord object.
2023-03-28 11:31:20.623 25027-25163/? E/FMOD: AudioRecord failed to initialize (status 0)

Hi @om-iman Thank you for your post. Magic Leap 2 is built on top of the Android Open Source Project (AOSP), Android 10 (Q) API level 29. The key to Magic Leap 2 compatibility is x86_64 architecture support. Since Dissonance is a 3rd party app, troubleshooting compatibility issues falls outside the scope of our support.

The Dissonance VOIP library does include x86_64 libraries compiled for Android. I've verified they are being loaded as well. Note that this is a very popular third party library (hundreds of 5-star reviews on the Unity asset store) and it will add a lot of value to the Magic Leap platform to ensure compatibility with it.

Hi @om-iman, Are you able to upload your Diagnostic Logs from Device Bridge? Magic Leap Hub > Device Bridge > Save Diagnostic Logs and Save Bug Report. We'll take a look at what the issue may be. If you can also put us in touch with the developer on an email chain including, we can look into out of the box support. Thanks very much.