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/android.media.AudioRecord: 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)