.\" $NetBSD: uaudio.4,v 1.29 2015/01/26 22:47:41 wiz Exp $
.\"
.\" Copyright (c) 1999 The NetBSD Foundation, Inc.
.\" All rights reserved.
.\"
.\" This code is derived from software contributed to The NetBSD Foundation
.\" by Lennart Augustsson.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd January 26, 2015
.Dt UAUDIO 4
.Os
.Sh NAME
.Nm uaudio
.Nd USB audio device driver
.Sh SYNOPSIS
.Cd "uaudio* at uhub?"
.Cd "audio* at audiobus?"
.Sh DESCRIPTION
The
.Nm
driver provides support for
.Tn USB
audio class devices.
.Pp
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:
.Bl -tag -width Dv -offset 3n -compact
.It 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.
.It selector
A selector unit selects one of multiple audio sources such as mic-in
and line-in.
The name of the control is
.Ar selN-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.
.It 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.
.It 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.
.It 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
.Pp
For more information the
.Tn USB
Audio class specification is indispensable
reading.
.Sh SEE ALSO
.Xr audio 4 ,
.Xr usb 4
.Rs
.%T "USB Approved Class Specification Documents"
.%U http://www.usb.org/developers/docs/devclass_docs/
.Re
.Sh HISTORY
The
.Nm
driver
appeared in
.Nx 1.5 .
.Sh BUGS
Releases 1.0 and 2.0 of the
.Tn USB
Audio class specification are not mutually compatible.
The
.Nm
driver only supports devices compliant with Release 1.0.
.Pp
There is no support for multiple-endpoints audio stream,
adaptive recording, async playback, and TYPE-II/III formats.
.Pp
There is the possibility that a device has multiple mixer items
which have the same name.