Unified Audio Model

The UAM supports the standard wave driver interfaces and includes optional interfaces to support DirectSound features. Existing wave drivers will continue to work with the new model but to fully support the features of DirectSound and the hardware mixer application programming interface (API), you must add certain extensions.

The previous wave driver internals and sample drivers consisted of the model device driver (MDD) and platform-dependent driver (PDD) modules. The MDD module implements the hardware-independent part of the driver and exports the driver interfaces to the middleware. The PDD module provides the hardware-dependent implementation of the driver. Using MDD and PDD, the previous model had the following limitations:

  • No support for multiple streams
  • No multiple devices on one driver
  • No reliable support for looping
  • Poor support for streaming

OEMs can work around these limitations by modifying the MDD or writing their own complete driver that exports the proper interfaces to the middleware.

With the new model, MDD and PDD are not necessary to writer a driver. You will be able to take advantage of the UAM interfaces.

The UAM provides the following advantages:

  • Robustness: Lessens the number of mixing-related problems you will encounter.
  • Flexibility: Supports both waveform and DirectSound application programming interfaces (APIs).
  • Clarity: Eliminates confusion over which audio driver to write.

The following illustration shows the new UAM stack.

See Also

WAV_IOControl Messages and Parameter Structures | Audio Mixer | DirectSound | Waveform Audio Driver | Audio Driver Architecture

 Last updated on Tuesday, May 18, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.