foobar2000:Components/WASAPI output support (foo_out_wasapi)
WASAPI output support | |
---|---|
foo_out_wasapi | |
Developer(s) | Peter Pawlowski |
Release information | |
Stable release | 3.3 (June 19, 2017) |
foobar2000 compatibility | |
Minimum version | 1.1 (Does not work on 2.0 or newer) |
UI module(s) | N/A |
Additional information | |
Use | Output |
View all components |
The 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 or Windows 7 - 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.
WASAPI plug-in version 3.0
Output modes: push and event-driven
As for the latest version of the component, two different output modes are available - push and event-driven; certain soundcards - especially USB devices - are known to cooperate better with the event-driven mode while certain other soundcards do not support the event-driven mode at all.
Sandbox
Unfortunately, WASAPI is affected by various bugs in both Windows mixer and soundcard drivers. To keep these from crashing foobar2000, all WASAPI access is now sandboxed in a separate process for better stability.
Buffer size tweaks
Please note that any buffer tweak options do not explicitly cause the specified buffer size to be used; if the specified value is outside the allowed range for your device, the nearest allowed value will be used.
See also
External links
- WASAPI output support (foo_out_wasapi) on foobar2000.org
- WASAPI on Wikipedia