Android oboe device not supported

I have an app which runs on Windows, MacOS and iOS. I have it working on Android using OpenSLES and I’m now moving to Oboe. However I can’t get the app to initialise (AudioDeviceManager.initialise() method) because there is an assertion in juce_Android_Oboe.cpp. The assertion is in deviceTypeToString and is basically because the device type id returned from the oboe device manager is not known to Juce.

Actually the device type code (25) is also not defined as a device type in the Android documentation. I’ve tried various ways of ignoring the assertion for this device type, but audio won’t work and I get all sorts of strange audio errors. The error occurs when using any of the Android simulators delivered standard with Android Studio.

I’m using MacOS Catalina as development machine with Juce 6.0.0. The DemoRunner has the same problem. I hope I’m doing something stupid which can easily be fixed, but I have no idea at the moment.

This seems like a bug with the Android emulator as that device type code isn’t documented anywhere. We’ve pushed a fix in 877f47d to avoid adding these troublesome devices when iterating over the available inputs/outputs. I wasn’t able to reproduce the audio issues you mentioned though - can you go into any more detail?

Probably result of my “quick and dirty” approach to fixing the problem. If you just ignore the error, or return a dummy name, then I get glitching audio - presumably because I now have a device available in the list that doesn’t really exist.

I have edited my previous post as it was pointing to the wrong commit, but we now don’t add those devices to the available device lists so there should be no way to open a malfunctioning device. Please let us know if you run into any more issues.

I thought there was something a bit funny with the link. I’ll see if I can find the code that was causing the problem and post it.

Is the assertion in deviceTypeToString really necessary? The module now catches the problem and continues happily along