Maarten Lankhorst : dsound: Improve underrun behavior.

Alexandre Julliard julliard at winehq.org
Mon Mar 15 12:19:31 CDT 2010


Module: wine
Branch: master
Commit: 1719f8faf1ed70b98b486eeabe079301746fc86f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=1719f8faf1ed70b98b486eeabe079301746fc86f

Author: Maarten Lankhorst <m.b.lankhorst at 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 */




More information about the wine-cvs mailing list