Windows 10/11 USB Audio Class 2 32-bit Float Support
Hello,
I'm developing a USB microphone using USB 2.0 and USB audio class 2 and am trying to get the IEEE 32-bit float format support working. I already have 16, and 24-bit PCM format working as alternate settings 1 and 2 and am adding a 3rd alternate setting for 32-bit float mode. Per the Windows USB Audio 2.0 drivers documentation page (https://zcusa.951200.xyz/en-us/windows-hardware/drivers/audio/usb-2-0-audio-drivers)"zcusa.951200.xyz") the Type 1 IEEE_FLOAT Format (FMT-2 2.3.1.7.3) is supported but I can't seem to get Windows to accept it.
I've created a 3rd alternate setting with the following as specified in the USB Audio Class 2 spec and the Windows USB Audio 2.0 drivers documentation:
- bFormatType = 0x1 in both the AS Interface and AS Format descriptors
- bmFormats = 0b00000000000000000000000000000100 as per Universal Serial Bus Device Class Definition for Audio Data Formats Table A-2 with bit D2 set to indicate IEEE_FLOAT format
- bSubslotSize = 4
- bBitResolution = 32
When I do this however, Windows ignores the alternate setting and doesn't allow for selection of a 32-bit float mode in Sound Control. If I change the bmFormats to 0x1 (PCM format) then I do see a 32-bit PCM format selection available in Sound Control, but not when I specify the IEEE Float format.
This configuration does work on macOS and it allows the selection of the 32-bit float format.
Thank you for any assistance