WASAPI

From LavryEngineering
Jump to navigation Jump to search

Basics

The Windows Audio Session API (WASAPI) enables client applications to manage the flow of audio data between the application and an audio endpoint device. The advantage is that it can provide unmodified audio data from the playback software to the output device, and has benefits similar to ASIO drivers.

In Windows OS Vista and higher, WASAPI is available as an advanced audio “driver mode” which works with DAC’s that utilize the native USB driver in Windows, including the Lavry DA11.


Settings

When used in EXCLUSIVE mode, WASAPI effectively bypass the level and sample frequency settings in the Windows SOUND control panel (and the processes associated with them). This Exclusive setting is under the SOUND control panel device Properties Advanced tab.


SOUND DA11 USB.jpg

Properties DA11 USB Exclusive mode.jpg


If the “Allow applications to take exclusive control of this device” checkbox is not checked; it is necessary to set the output sample frequency in the SOUND control panel device Properties Advanced tab to match the sample frequency of the file being played to avoid an error message. Unfortunately, the error message is usually not worded in a manner that clearly indicates the nature of the problem to the end user. It is therefore recommended that WASAPI be used in Exclusive mode whenever possible.


This differs from the standard WDM “driver” which would introduce sample frequency conversion if a miss-match occurred. The audio would be reproduced in this case, with the only obvious indication being the DAC displaying the output sample frequency set in the SOUND control panel, as versus the sample frequency of the playback file.


One possible pitfall when using “exclusive mode” is that a different audio application is already running when you open the one you wish to use for playback, and this can result in an error when playback is started in the application using WASAPI. The solution is to close any other software that might be taking exclusive control of the DAC and retry playback in the desired playback software.


PUSH and EVENT Modes

DAC’s which use the native Windows driver can only utilize the “Push” mode of WASAPI.


DAC’s with asynchronous USB and custom drivers may be able to use the WASAPI Event or “Pull” mode in some cases. Because the receiving device effectively controls the flow of audio data from the computer, smaller buffers can be used safely, with the associated lower latency. However, latency is a non-issue for playback-only use, and there is no indication that Event mode provides superior playback quality in all cases.

Connections other than USB

WASAPI is not exclusive to USB audio connections and in most cases can be used with built-in S-PDIF/optical interfaces, as well. What is required is that the playback software supports WASAPI as an output mode (not all do).