Foobar2000:Components/WASAPI output support (foo out wasapi)

From Hydrogenaudio Knowledgebase

Windows Audio Session API output support

Description

The foobar2000 Windows Audio Session API (WASAPI) output support component allows you to play your music using WASAPI exclusive mode.

WASAPI is a new audio output method introduced in Windows Vista; among other things, it provides an exclusive mode that allows applications to take full control over soundcard's resources (muting any sounds played by other applications) and play unaltered bitstream without passing it through the Windows mixer.

Differences between WASAPI and ASIO / Kernel Streaming from foobar2000 user's perspective

  • Requires Windows Vista - not available on Windows XP or older.
  • Works with more soundcards - contrary to e.g. ASIO, it doesn't require any special support from soundcard's manufacturer, other than providing a Windows Vista compatible driver.
  • Guarantees muting of any other sounds played through the soundcard - with ASIO and KS, muting occurred with some soundcards but not with all of them; it was a side effect rather than a feature.

Limitations of this component

  • Volume control is delayed.
  • Windows Vista Service Pack 1 or newer is strongly recommended; WASAPI exclusive mode is unusable on significant percentage of pre-SP1 machines because of bugs.
  • If you toggle the Allow applications to take exclusive control of this device option in Windows Sound Control Panel while playing, foobar2000 may crash. This is a bug in Windows Vista still present as of SP1.
  • For currently unknown reasons, this component does not cooperate with certain soundcards such as Creative X-Mod.
  • With certain soundcards you might need to fiddle with output buffer length in output preferences before getting acceptable results - with certain buffer lengths, playback may fail to start entirely or get stuck after a few seconds.

Links