http://bugs.winehq.org/show_bug.cgi?id=29359
--- Comment #13 from Diego Martin mmdiego@mr.com.ar 2012-02-11 17:25:41 CST --- (In reply to comment #11)
This is caused by bad buffer wrap-around logic. This little diff should fix it. We're working on other changes to dsound, so I'll see what happens with those changes before pushing this one out.
diff --git a/dlls/dsound/mixer.c b/dlls/dsound/mixer.c index e61c93d..62c1b9e 100644 --- a/dlls/dsound/mixer.c +++ b/dlls/dsound/mixer.c @@ -573,8 +573,7 @@ static DWORD DSOUND_MixInBuffer(IDirectSoundBufferImpl *dsb, DWORD writepos, DWO
/* increase mix position */ dsb->primary_mixpos += len;
if (dsb->primary_mixpos >= dsb->device->buflen)
dsb->primary_mixpos -= dsb->device->buflen;
dsb->primary_mixpos %= dsb->device->buflen; return len;
}
It will be great if this bug is repaired before final release of version 1.4 The bug is affecting the whole app which was correctly running some releases ago.