From 191803ad53c156d3f056b649c76e441042a385fb Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Fri, 3 Dec 2010 23:48:59 -0800 Subject: Fix wave and null device calculations when the timer wraps --- Alc/null.c | 2 +- Alc/wave.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Alc/null.c b/Alc/null.c index beabdc21..fd5cc85a 100644 --- a/Alc/null.c +++ b/Alc/null.c @@ -57,7 +57,7 @@ static ALuint NullProc(ALvoid *ptr) { /* Timer wrapped. Add the remainder of the cycle to the available * count and reset the number of samples done */ - avail += 0xFFFFFFFFu*Device->Frequency/1000 - done; + avail += (ALuint64)0xFFFFFFFFu*Device->Frequency/1000 - done; done = 0; } if(avail-done < Device->UpdateSize) diff --git a/Alc/wave.c b/Alc/wave.c index f8921c64..03ec08a0 100644 --- a/Alc/wave.c +++ b/Alc/wave.c @@ -108,7 +108,7 @@ static ALuint WaveProc(ALvoid *ptr) { /* Timer wrapped. Add the remainder of the cycle to the available * count and reset the number of samples done */ - avail += 0xFFFFFFFFu*pDevice->Frequency/1000 - done; + avail += (ALuint64)0xFFFFFFFFu*pDevice->Frequency/1000 - done; done = 0; } if(avail-done < pDevice->UpdateSize) -- cgit v1.2.3