aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/solaris.c
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2009-09-15 18:19:00 -0700
committerChris Robinson <[email protected]>2009-09-15 18:19:00 -0700
commit6636131d3bb52687229881d4d2343b5c464b5c81 (patch)
tree6a7b093f0a9edf563c3736a7c506a227f723b518 /Alc/solaris.c
parenteeea9631ce15d1bd239a837331658a2fb951f46f (diff)
Pass the frame count to aluMixData
Diffstat (limited to 'Alc/solaris.c')
-rw-r--r--Alc/solaris.c6
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)