p A .Tn 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 .Nm driver and are accessible via the mixer (see .Xr audio 4 ) interface: l -tag -width Dv -offset 3n -compact t 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 .Ar mixN-S , where .Ar N is a number that identifies which mixer it is and .Ar S which input. t selector A selector unit select one of multiple audio sources such as mic-in and line-in. The name of the control is .Ar feaN-S1S2S3... , where .Ar N is a number that identifies which selector unit it is and the sequence of .Ar Sn indicates candidate units for the audio source. t feature A feature unit changes the sound in some way, like bass, treble, or volume. The name of the control is .Ar feaN-S-F , where .Ar N is a number that identifies which feature unit it is, .Ar S which input, and .Ar F which feature is affected. t 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 .Ar proN.M-enable , where .Ar N is a number that identifies which processing unit it is and .Ar M which kind. Depending on the type of processing unit there may be other controls as well. t extension An extension unit performs some unspecified audio processing The name of the on-off control is .Ar extN-enable , where .Ar N is a number that identifies which processing unit it is. .El
p For more information the .Tn USB Audio class specification is indispensable reading. .Sh SEE ALSO The .Tn USB specifications can be found at: .Dv http://www.usb.org/developers/docs.html
p .Xr audio 4 , .Xr usb 4 .Sh HISTORY The .Nm driver appeared in .Nx 1.5 . .Sh BUGS There is no support for multiple-endpoints audio stream, adaptive recording, async playback, and TYPE-II/III formats.
p The mixer interface is really incomplete. There should be some heuristics that allow important controls, e.g., volume, to be identified and given their traditional name.