google / oboe

Oboe is a C++ library that makes it easy to build high-performance audio apps on Android.
Apache License 2.0
3.72k stars 572 forks source link

No sound with 10 or 12 channel USB device #2110

Open hendrik-algoriddim opened 1 month ago

hendrik-algoriddim commented 1 month ago

Android version(s): 14 (Build number AP2A.240605.024) Android device(s): Google Pixel Fold Oboe version: 1.7.2 App name used for testing: OboeTester v2.3.7

Short description USB audio devices with 10 or 12 output channels don't output any audio

Steps to reproduce

Expected behavior Sine Wave Test signal is played on all channels of the device (or a respective subset according to toggled channel checkboxes below).

Actual behavior No audio output (silence).

Device

ro.product.brand = google ro.product.manufacturer = Google ro.product.model = Pixel Fold ro.product.device = felix ro.product.cpu.abi = arm64-v8a ro.build.description = felix-user 14 AP2A.240605.024 11860263 release-keys ro.hardware = felix ro.hardware.chipname = ro.arch = | grep aaudio = [aaudio.hw_burst_min_usec]: [2000]

Additional Info Devices with 4 output channels work flawlessly (Denon DJ DS1, Novation AudioHub 2x4). We found no devices with 6 or 8 channels, so we suspect issues arise from somewhere between 5 and 10 channels.

flamme commented 1 month ago

Thanks for filing the bug, Hendrik!

Could you share if the USB devices more than 8 channels you tested only have one single profile? Or do they have profiles that support channel count lower than 8?

hendrik-algoriddim commented 1 month ago

I checked the OboeTester device report for all mentioned devices and they all displayed just a single channel count. Here are the exact results for the output devices in case there is any other helpful information in there. Please let me know if there is more I can do to help!

==== Device =================== 55
Id: 55
Product name: USB-Audio - XONE 96 USB 1
Type: USB device
Is source: Yes
Is sink: No
Channel counts: 12
Channel masks:
Channel index masks: 4095
Encodings: 2 4 22
Sample Rates: 48000 96000 44100 88200

==== Device =================== 85 
Id: 85
Product name: USB-Audio - Reloop RMX-95
Type: USB device
Is source: Yes
Is sink: No
Channel counts: 10
Channel masks:
Channel index masks: 1023
Encodings: 4 22
Sample Rates: 48000

==== Device =================== 95
Id: 95
Product name: USB-Audio - Rane MP2015
Type: USB device
Is source: No
Is sink: Yes
Channel counts: 10
Channel masks: 737532
Channel index masks:
Encodings: 4 22
Sample Rates: 48000 96000 44100

==== Device =================== 109
Id: 109
Product name: USB-Audio - DS1
Type: USB device
Is source: No
Is sink: Yes
Channel counts: 4
Channel masks: 204
Channel index masks:
Encodings: 2 4 22
Sample Rates: 48000 96000 44100 88200

==== Device =================== 124
Id: 124
Product name: USB-Audio - Audiohub 2x4
Type: USB device
Is source: No
Is sink: Yes
Channel counts: 4
Channel masks: 204
Channel index masks:
Encodings: 4 22
Sample Rates: 48000 96000 44100 88200
flamme commented 1 month ago

Thanks for the information!

It looks like the device can be connected, that indicates the device may have more than one profile. Internal bug 293311883 tracks the effort for fixing this problem.