diff options
author | Chris Robinson <[email protected]> | 2009-09-15 18:19:00 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2009-09-15 18:19:00 -0700 |
commit | 6636131d3bb52687229881d4d2343b5c464b5c81 (patch) | |
tree | 6a7b093f0a9edf563c3736a7c506a227f723b518 /Alc/solaris.c | |
parent | eeea9631ce15d1bd239a837331658a2fb951f46f (diff) |
Pass the frame count to aluMixData
Diffstat (limited to 'Alc/solaris.c')
-rw-r--r-- | Alc/solaris.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Alc/solaris.c b/Alc/solaris.c index 9ac00d8d..8ea190e6 100644 --- a/Alc/solaris.c +++ b/Alc/solaris.c @@ -54,15 +54,19 @@ static ALuint SolarisProc(ALvoid *ptr) ALCdevice *pDevice = (ALCdevice*)ptr; solaris_data *data = (solaris_data*)pDevice->ExtraData; int remaining = 0; + ALint frameSize; int wrote; + frameSize = aluChannelsFromFormat(pDevice->Format) * + aluBytesFromFormat(pDevice->Format); + while(!data->killNow && !pDevice->Connected) { ALint len = data->data_size; ALubyte *WritePtr = data->mix_data; SuspendContext(NULL); - aluMixData(pDevice->Context, WritePtr, len, pDevice->Format); + aluMixData(pDevice->Context, WritePtr, len/frameSize, pDevice->Format); ProcessContext(NULL); while(len > 0 && !data->killNow) |