UAC Library Overview

Description

The UAC library is a derivative of the USB microphone library. It has been augmented to support both input and output PCM data streams. Developers need to use this library whenever input, such as a microphone, as well as output, such as speakers or a headset, functionality is desired. Use of the USB microphone library and UAC library is mutually exclusive.

The input streams operate in a manner identical to the USB microphone system with the exception of the ring buffer layout. Multi-channel devices are supported directly. This support is implemented by using an interleaved ring buffer format.

The number of channels for both input and output, if any, is indicated when devices are detected. The callback provided with UACInit receives this device information.

The output portion uses an interleaved ring buffer for data transfer to the UAC stack as well. Streaming is controlled with its own set of start, stop, get status, and set data consumed functions.

The UAC API set relates to the USB microphone API set as follows:

UACInit USBMICInit. Data structures have been extended to convey output capabilities.
UACUninit USBMICUninit
UACOpenQuery USBMICOpenQuery
UACOpen USBMICOpen. Opens the driver stack for input and output. For input, the ring buffer must be interleaved for multi-channel (stereo) devices.
UACClose USBMICClose. Closes the driver stack for input and output.
UACINStart USBMICStart
UACINStop USBMICStop
UACINGetStatus USBMICGetStatus
UACINSetDataConsumed USBMICSetDataConsumed
UACSetState USBMICSetState
UACGetState USBMICGetState
UACOUTStart Starts the streaming of output data. It is the output version of UACINStart.
UACOUTStop Stops the streaming of output data. It is the output version of UACINStop.
UACOUTGetStatus Indicates the status and free space of the output ring buffer. It is the output version of UACINGetStatus.
UACOUTSetDataConsumed Unconditionally advances the state of the output ring buffer. It is the output version of UACINSetDataConsumed.

For more information, see the USB Microphone Library Overview.

See Also

USB Microphone Overview
UACInit
UACUninit
UACOpenQuery
UACOpen
UACClose
UACINStart
UACINStop
UACINGetStatus
UACINSetDataConsumed
UACOUTStart
UACOUTStop
UACOUTGetStatus
UACOUTSetDataConsumed
UACGetState
UACSetState
Error Codes

Revision History

2013-05-29 Initial Version.


CONFIDENTIAL