These descriptors define the standard and alternate audio streaming interfaces for microphone arrays.
Alternate Setting 0
Alternate setting 0 is a zero-bandwidth setting that is used to relinquish the claimed bandwidth on the bus when the microphone array is not in use. It is the default setting after power-up and is a required alternate setting for use with the USB Audio class driver.
Standard AS Interface Descriptor
Offset
Field
Size
Value
Description
0
bLength
1
0x09
The size of this descriptor in bytes.
1
bDescriptorType
1
0x04
The descriptor type.
2
bInterfaceNumber
1
0x02
The interface number.
3
bAlternateSetting
1
0x00
The alternate setting number.
4
bNumEndpoints
1
0x00
The number of endpoints.
5
bInterfaceClass
1
0x01
The interface class: set to AUDIO.
6
bInterfaceSubclass
1
0x02
The interface subclass: set to AUDIO_STREAMING.
7
bInterfaceProtocol
1
0x00
Unused.
8
iInterface
1
0x00
Unused.
Operational Alternate Setting 1
The following tables define operational alternate setting 1.
Standard AS Interface Descriptor
Offset
Field
Size
Value
Description
0
bLength
1
0x09
The size of this descriptor, in bytes.
1
bDescriptorType
1
0x04
The descriptor type.
2
bInterfaceNumber
1
0x02
The interface number.
3
bAlternateSetting
1
0x01
The alternate setting number.
4
bNumEndpoints
1
0x01
The number of endpoints.
5
bInterfaceClass
1
0x01
The interface class: set to AUDIO.
6
bInterfaceSubclass
1
0x02
The interface subclass: set to AUDIO_STREAMING.
7
bInterfaceProtocol
1
0x00
Unused.
8
iInterface
1
0x00
Unused.
Class-Specific AS General Interface Descriptor
Offset
Field
Size
Value
Description
0
bLength
1
0x07
The size of this descriptor, in bytes
1
bDescriptorType
1
0x24
The descriptor type: set to CS_INTERFACE.
2
bDescriptorSubtype
1
0x01
The descriptor subtype: set to AS_GENERAL.
3
bTerminalLink
1
0x03
The terminal: set to output terminal #3
4
bDelay
1
0x01
The interface delay.
5
wFormatTag
2
0x0001
The format: set to PCM.
Type I Format Type Descriptor
Offset
Field
Size
Value
Description
0
bLength
1
0x0B
The size of this descriptor, in bytes.
1
bDescriptorType
1
0x24
The descriptor type: set to CS_INTERFACE.
2
bDescriptorSubtype
1
0x02
The descriptor subtype: set to FORMAT_TYPE.
3
bFormatType
1
0x01
The format type: set to FORMAT_TYP E_I.
4
bNrChannels
1
0x04
The number of microphones.
5
bSubFrameSize
1
0x02
The frame size: set to 2 bytes per audio subframe.