From 15b9fc9099da9ce9d7a2848fa09bbb4711aeca87 Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Wed, 24 Mar 2010 22:20:55 -0700 Subject: Improve timing for the wave file writer --- Alc/wave.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'Alc/wave.c') diff --git a/Alc/wave.c b/Alc/wave.c index 37358098..4ed120bb 100644 --- a/Alc/wave.c +++ b/Alc/wave.c @@ -80,12 +80,12 @@ static ALuint WaveProc(ALvoid *ptr) frameSize = aluBytesFromFormat(pDevice->Format) * aluChannelsFromFormat(pDevice->Format); - last = timeGetTime(); + last = timeGetTime()<<8; while(!data->killNow && pDevice->Connected) { - now = timeGetTime(); + now = timeGetTime()<<8; - avail = (now-last) * pDevice->Frequency / 1000; + avail = (ALuint64)(now-last) * pDevice->Frequency / (1000<<8); if(avail < pDevice->UpdateSize) { Sleep(1); @@ -128,8 +128,8 @@ static ALuint WaveProc(ALvoid *ptr) } avail -= pDevice->UpdateSize; + last += (ALuint64)pDevice->UpdateSize * (1000<<8) / pDevice->Frequency; } - last = now; } return 0; -- cgit v1.2.3