http://bugs.winehq.org/show_bug.cgi?id=28723
--- Comment #40 from Alexey Loukianov mooroon2@mail.ru 2011-11-10 21:30:26 CST --- Note: something obviously wrong either with the patch or with the way DSound uses mmdevapi. With my patchset in place everything if OK when playing RAGE with XA2->mmdevapi sound render patch but I can hear some underruns when playing using XA2->DSound->mmdevapi render patch (i.e. applying patchset fixes problems for Win7 mode but leads to xruns with DSound in WinXP mode). I suspect this might be due to DSound->mmdevapi wrapper seems to be using IAudioClock_GetPosition to get current playing position, and currently returned value is bogus - it relies on GetCurrentPadding which is wrong. Would try to re-implement IAudioClock_GetPosition using snd_pcm_delay() and check if it would fix underruns with dsound renderpath.