XAudio2 output

Component for foobar2000 v1.5 and newer.

Released:2024-02-21 15:23
Size:843.6 KB
License:Modified ISC license




An alternative output component that uses the XAudio2 API. Utilizes the latest XAudio v2.9 which enables it to support spatial sound automatically.

Additional info


0.3.4 (2024-02-21):Fixed glitches when channel count changes on the fly.
0.3.3 (2024-02-14):Added better error messages for missing output devices. Testing a workaround for a rare issue where playback is badly glitched.
0.3.2 (2024-02-11):Mastering voice is now initialized with default sample rate if source sample rate is not valid. Specs state sample rate must be a multiple of 100 - using for example 22050 Hz works, but the audio quality is horrible.
0.3.1 (2024-02-10):XAudio2 callbacks seem to stop being called when spatial processor is removed during playback. Added a workaround to prevent playback from stopping in such situations.
0.3 (2024-02-10):Fixed a bug that prevented playback from being able to start from paused state. Changed flush on seek to clear more playback state to prevent glitches. Increased the amount of data sent to XAudio2 at once to help prevent glitches. Added reporting about XAudio2 engine detected dropouts at the end of playback even for non-debug version. Switched to XAudio2 redist to add support all the way back to Windows 7.
0.2 (2024-02-09):Fixed playback thread hanging in paused state under certain conditions
0.1 (2024-02-08):Initial (experimental) version