Module: wine Branch: master Commit: 1719f8faf1ed70b98b486eeabe079301746fc86f URL: http://source.winehq.org/git/wine.git/?a=commit;h=1719f8faf1ed70b98b486eeabe...
Author: Maarten Lankhorst m.b.lankhorst@gmail.com Date: Wed Mar 10 09:02:44 2010 +0100
dsound: Improve underrun behavior.
---
dlls/dsound/mixer.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/dlls/dsound/mixer.c b/dlls/dsound/mixer.c index d014c4b..698e586 100644 --- a/dlls/dsound/mixer.c +++ b/dlls/dsound/mixer.c @@ -599,7 +599,9 @@ static DWORD DSOUND_MixOne(IDirectSoundBufferImpl *dsb, DWORD writepos, DWORD mi { /* Should *NEVER* happen */ ERR("Fatal error. Under/Overflow? primary_done=%d, mixpos=%d/%d (%d/%d), primary_mixpos=%d, writepos=%d, mixlen=%d\n", primary_done,dsb->buf_mixpos,dsb->tmp_buffer_len,dsb->sec_mixpos, dsb->buflen, dsb->primary_mixpos, writepos, mixlen); - return 0; + dsb->primary_mixpos = writepos + mixlen; + dsb->primary_mixpos %= dsb->device->buflen; + return mixlen; }
/* take into account already mixed data */