4.7.2.4 Input Terminal Descriptor
The Input Terminal descriptor (ITD) provides information to the Host that is related to the functional
aspects of the Input Terminal.
The Input Terminal is uniquely identified by the value in the bTerminalID field. No other Unit or
Terminal within the AudioControl interface may have the same ID. This value must be passed in the Entity
ID field (part of the wIndex field) of each request that is directed to the Terminal.
The wTerminalType field provides pertinent information about the physical entity that the Input Terminal
represents. This could be a USB OUT endpoint, an external Line In connection, a microphone, etc. A
complete list of Terminal Type codes is provided in a separate document, USB Audio Terminal Types that
is considered part of this specification.
The bAssocTerminal field is used to associate an Output Terminal to this Input Terminal, effectively
implementing a bi-directional Terminal pair. If no association exists, the bAssocTerminal field must be set
to zero.
The Host software can treat the associated Terminals as being physically related. In many cases, one
Terminal cannot exist without the other. A typical example of such a Terminal pair is an Input Terminal,
which represents the microphone, and an Output Terminal, which represents the earpiece of a headset.
The bCSourceID contains a constant indicating to which Clock Entity the Clock Input Pin of this Input
Terminal is connected.
The bNrChannels, bmChannelConfig and iChannelNames fields together constitute the cluster
descriptor. They characterize the cluster that leaves the Input Terminal over the single Output Pin
(‘downstream’ connection). For a detailed description of the cluster descriptor, see Section 4.1, “Audio
Channel Cluster Descriptor”.
The bmControls field contains a set of bit pairs, indicating which Controls are present and what their
capabilities are. If a Control is present, it must be Host readable. If a certain Control is not present then the
bit pair must be set to 0b00. If a Control is present but read-only, the bit pair must be set to 0b01. If a
Control is also Host programmable, the bit pair must be set to 0b11. The value 0b10 is not allowed.
An index to a string descriptor is provided to further describe the Input Terminal.