USB Device Class Definition for Audio Devices
Release 1.0 March 18, 1998 51
Offset Field Size Value Description
3 bUnitID 1 Number Constant uniquely identifying the Unit
within the audio function. This value is
used in all requests to address this Unit.
4 wProcessType 2 Constant 3D-STEREO_EXTENDER_PROCESS
process type.
6 bNrInPins 1 Number Number of Input Pins of this Unit: 1
7 bSourceID 1 Number ID of the Unit or Terminal to which the
Input Pin of this Processing Unit is
connected.
8 bNrChannels 1 Number Number of logical output channels in the
Processing Unit’s output channel cluster.
9 wChannelConfig 2 Bitmap Describes the spatial location of the
logical channels in the output channel
cluster of the Processing Unit. At least
Left and Right must be set.
11 iChannelNames 1 Index Index of a string descriptor, describing
the name of the first logical channel in the
Processing Unit’s output channel cluster.
12 bControlSize 1 Number Size, in bytes, of the bmControls field: n
13 bmControls n Bitmap A bit set to 1 indicates that the mentioned
Control is supported:
D0: Enable Processing.
D1: Spaciousness.
D2..(n*8-1):
Reserved
13+n iProcessing 1 Index Index of a string descriptor, describing
this Processing Unit.
4.3.2.6.4 Reverberation Processing Unit Descriptor
The wProcessType field of the common Processing Unit descriptor contains the value
REVERBERATION_PROCESS. (See Section A.7, “Processing Unit Process Types”)
The Reverberation Processing Unit has a single Input Pin. Therefore, the bNrInputs field must contain
the value 1. The bNrChannels, wChannelConfig and iChannelNames fields together constitute the
output cluster descriptor of the Reverberation Processing Unit. It describes which logical channels are
physically present at the output of the Processing Unit. In most cases, this will be identical to the
configuration of the input channel cluster.
The bmControls field indicates which reverberation-related Controls are effectively implemented in the
Reverberation Processing Unit.
The following table outlines the Reverberation Processing Unit descriptor. It is identical to the common
Processing Unit descriptor, except for some field values. It is repeated here for clarity.
USB Device Class Definition for Audio Devices
Release 1.0 March 18, 1998 52
Table 4-12: Reverberation Processing Unit Descriptor
Offset Field Size Value Description
0 bLength 1 Number Size of this descriptor, in bytes: 14+n
1 bDescriptorType 1 Constant CS_INTERFACE descriptor type.
2 bDescriptorSubtype 1 Constant PROCESSING_UNIT descriptor subtype.
3 bUnitID 1 Number Constant uniquely identifying the Unit
within the audio function. This value is
used in all requests to address this Unit.
4 wProcessType 2 Constant REVERBERATION_PROCESS process
type.
6 bNrInPins 1 Number Number of Input Pins of this Unit: 1
7 bSourceID 1 Number ID of the Unit or Terminal to which the
Input Pin of this Processing Unit is
connected.
8 bNrChannels 1 Number Number of logical output channels in the
output channel cluster of the Processing
Unit.
9 wChannelConfig 2 Bitmap Describes the spatial location of the
logical channels in the output channel
cluster of the Processing Unit.
11 iChannelNames 1 Index Index of a string descriptor, describing
the name of the first logical channel in the
output channel cluster Processing Unit.
12 bControlSize 1 Number Size, in bytes, of the bmControls field: n
13 bmControls n Bitmap A bit set to 1 indicates that the mentioned
Control is supported:
D0: Enable Processing.
D1: Reverb Type.
D2: Reverb Level.
D3: Reverb Time.
D4: Reverb Delay Feedback.
D5..(n*8-1):
Reserved.
13+n iProcessing 1 Index Index of a string descriptor, describing
this Processing Unit.
4.3.2.6.5 Chorus Processing Unit Descriptor
The wProcessType field of the common Processing Unit descriptor contains the value
CHORUS_PROCESS. (See Section A.7, “Processing Unit Process Types”)
The Chorus Processing Unit has a single Input Pin. Therefore, the bNrInputs field must contain the value
1. The bNrChannels, wChannelConfig, and iChannelNames fields together constitute the output cluster
USB Device Class Definition for Audio Devices
Release 1.0 March 18, 1998 53
descriptor of the Chorus Processing Unit. It describes which logical channels are physically present at the
output of the Processing Unit. In most cases, this will be identical to the configuration of the input channel
cluster.
The bmControls field indicates which chorus-related Controls are effectively implemented in the Chorus
Processing Unit.
The following table outlines the Chorus Processing Unit descriptor. It is identical to the common
Processing Unit descriptor, except for some field values. It is repeated here for clarity.
Table 4-13: Chorus Processing Unit Descriptor
Offset Field Size Value Description
0 bLength 1 Number Size of this descriptor, in bytes: 14+n
1 bDescriptorType 1 Constant CS_INTERFACE descriptor type.
2 bDescriptorSubtype 1 Constant PROCESSING_UNIT descriptor subtype.
3 bUnitID 1 Number Constant uniquely identifying the Unit
within the audio function. This value is
used in all requests to address this Unit.
4 wProcessType 2 Constant CHORUS_PROCESS process type.
6 bNrInPins 1 Number Number of Input Pins of this Unit: 1
7 bSourceID 1 Number ID of the Unit or Terminal to which the
Input Pin of this Processing Unit is
connected.
8 bNrChannels 1 Number Number of logical output channels in the
output channel cluster of the Processing
Unit.
9 wChannelConfig 2 Bitmap Describes the spatial location of the
logical channels in the output channel
cluster of the Processing Unit.
11 iChannelNames 1 Index Index of a string descriptor, describing
the name of the first logical channel in the
output channel cluster of the Processing
Unit.
12 bControlSize 1 Number Size, in bytes, of the bmControls field: n
13 bmControls n Bitmap A bit set to 1 indicates that the mentioned
Control is supported:
D0: Enable Processing.
D1: Chorus Level.
D2: Chorus Modulation Rate.
D3: Chorus Modulation Depth.
D4..(n*8-1):
Reserved
USB Device Class Definition for Audio Devices
Release 1.0 March 18, 1998 54
Offset Field Size Value Description
13+n iProcessing 1 Index Index of a string descriptor, describing
this Processing Unit.
4.3.2.6.6 Dynamic Range Compressor Processing Unit Descriptor
The wProcessType field of the common Processing Unit descriptor contains the value
DYN_RANGE_COMP_PROCESS. (See Section A.7, “Processing Unit Process Types”)
The Dynamic Range Compressor Processing Unit has a single Input Pin. Therefore, the bNrInputs field
must contain the value 1. The bNrChannels, wChannelConfig, and iChannelNames fields together
constitute the output cluster descriptor of the Dynamic Range Compressor Processing Unit. It describes
which logical channels are physically present at the output of the Processing Unit. In most cases, this will
be identical to the configuration of the input channel cluster.
The bmControls field indicates which Controls are effectively implemented in the Dynamic Range
Compressor Processing Unit.
The following table outlines the Dynamic Range Compressor Processing Unit descriptor. It is identical to
the common Processing Unit descriptor, except for some field values. It is repeated here for clarity.
Table 4-14: Dynamic Range Compressor Processing Unit Descriptor
Offset Field Size Value Description
0 bLength 1 Number Size of this descriptor, in bytes: 14+n
1 bDescriptorType 1 Constant CS_INTERFACE descriptor type.
2 bDescriptorSubtype 1 Constant PROCESSING_UNIT descriptor subtype.
3 bUnitID 1 Number Constant uniquely identifying the Unit
within the audio function. This value is
used in all requests to address this Unit.
4 wProcessType 2 Constant DYN_RANGE_COMP_PROCESS
process type.
6 bNrInPins 1 Number Number of Input Pins of this Unit: 1
7 bSourceID 1 Number ID of the Unit or Terminal to which the
Input Pin of this Processing Unit is
connected.
8 bNrChannels 1 Number Number of logical output channels in the
output channel cluster of the Processing
Unit.
9 wChannelConfig 2 Bitmap Describes the spatial location of the
logical channels in the output channel
cluster of the Processing Unit.
USB Device Class Definition for Audio Devices
Release 1.0 March 18, 1998 55
Offset Field Size Value Description
11 iChannelNames 1 Index Index of a string descriptor, describing
the name of the first logical channel in the
output channel cluster of the Processing
Unit.
12 bControlSize 1 Number Size, in bytes, of the bmControls field: n
13 bmControls n Bitmap A bit set to 1 indicates that the mentioned
Control is supported:
D0: Enable Processing.
D1: Compression Ratio.
D2: MaxAmpl.
D3: Threshold.
D4: Attack time.
D5: Release time.
D6..(n*8-1):
Reserved
13+n iProcessing 1 Index Index of a string descriptor, describing
this Processing Unit.
4.3.2.7 Extension Unit Descriptor
The Extension Unit is uniquely identified by the value in the bUnitID field of the Extension Unit
descriptor (XUD). No other Unit or Terminal within the same alternate setting of the AudioControl
interface may have the same ID. This value must be passed in the UnitID field of each request that is
directed to the Extension Unit.
The Extension Unit descriptor provides minimal information about the Extension Unit for a generic driver
at least to notice the presence of vendor-specific components within the audio function. The
wExtensionCode field may contain a vendor-specific code that further identifies the Extension Unit. If it
is not used, it should be set to zero.
The bNrInPins field contains the number of Input Pins (p) of the Extension Unit. The connectivity of the
Input Pins is described via the baSourceID() array that contains p elements. The index i into the array is
one-based and directly related to the Input Pin numbers. BaSourceID(i) contains the ID of the Unit or
Terminal to which Input Pin i is connected. The cluster descriptors that describe the logical channels that
enter the Extension Unit are not repeated here. It is up to the Host software to trace the connections
‘upstream’ to locate the cluster descriptors pertaining to the audio channel clusters.
Because an Extension Unit can freely redefine the spatial locations of the logical output channels that are
contained in its output cluster, there is a need for an output cluster descriptor. The bNrChannels,
wChannelConfig, and iChannelNames fields characterize the cluster that leaves the Extension Unit over
its single Output Pin (‘downstream’ connection). For a detailed description of the cluster descriptor, see
Section 3.7.2.3, “Audio Channel Cluster Format.”
The bmControls field is a bitmap, indicating the availability of certain audio Controls in the Extension
Unit. For future expandability, the number of bytes occupied by the bmControls field is indicated in the
bControlSize field. In general, all Controls are optional, except for the Enable Processing Control. This
Control must be supported by every Extension Unit.
The Enable Processing Control is used to bypass the entire functionality of the Extension Unit. This
Control is mandatory for it allows a generic driver to operate the audio function without further
knowledge of the internals of the Extension Unit. (Of course, the additional functionality provided by the
最終更新:2011年05月02日 03:33