uaudio
—
USB audio device driver
uaudio* at uhub?
audio* at audiobus?
The uaudio
driver provides support for USB audio class
devices.
A USB audio device consists of a number of components: input
terminals (e.g. USB digital input), output terminals (e.g. speakers), and a
number of units in between (e.g. volume control). The following types of
units are handled by the uaudio
driver and are
accessible via the mixer (see
audio(4)) interface:
- mixer
- A mixer has a number of inputs and one output. Each input has a control
that determines its volume in the output. The name of the control is
mixN-S, where N is a number
that identifies which mixer it is and S which
input.
- selector
- A selector unit selects one of multiple audio sources such as mic-in and
line-in. The name of the control is selN-S1S2S3...,
where N is a number that identifies which selector
unit it is and the sequence of Sn indicates
candidate units for the audio source.
- feature
- A feature unit changes the sound in some way, like bass, treble, mute, or
volume. The name of the control is determined in a heuristic way. If the
unit changes the sound to a speaker output terminal, the names of the
controls may be outputs.speaker.bass, outputs.speaker.treble,
outputs.speaker.mute, outputs.speaker, or likewise.
- processing
- A processing unit does one of a number of audio processing functions
(e.g., channel up-down mixing, Dolby ProLogic, or chorus effects). The
name of the on-off control is proN.M-enable, where
N is a number that identifies which processing unit
it is and M which kind. Depending on the type of
processing unit there may be other controls as well.
- extension
- An extension unit performs some unspecified audio processing The name of
the on-off control is extN-enable, where
N is a number that identifies which processing unit
it is.
For more information the USB Audio class specification is
indispensable reading.
The uaudio
driver appeared in NetBSD
1.5.
Releases 1.0 and 2.0 of the USB Audio class specification are not mutually
compatible. The uaudio
driver only supports devices
compliant with Release 1.0.
There is no support for multiple-endpoints audio stream, adaptive
recording, async playback, and TYPE-II/III formats.
There is the possibility that a device has multiple mixer items
which have the same name.