Я еще также добавил поддержку WASAPI, чтобы потом дальнейших проблем с работой аудиодвижка не возникало в современных версиях Windows.
Но современные проблемы требуют современных решений, поскольку WASAPI - сама по себе глючная штука. Даже если пытаться выравнивать тайминги, все равно переход между буферами будет сопровождаться задержками. Я подбирал разные варианты с различными размерами кадра, целевыми задержками, но ничего идеальнее, чем 1568 сэмплов за один кадр, я не придумал, увы.
Поэтому неудивительно, что Media Player Classic, который вроде бы и графический с закосом под старые Windows Media Player, использует DirectSound, а DirectSound появился ещё до WASAPI с появлением DirectX.