aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/mixer.c
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2017-03-20 19:22:41 -0700
committerChris Robinson <[email protected]>2017-03-20 19:22:41 -0700
commit42bcf0870d7f7358b4e1775d37e20e3b9162d249 (patch)
tree5d0e704faf222bd45c3046baa2d96aa7a6e681d3 /Alc/mixer.c
parentd7d9ad806a60dbd67b413fdfe09caba83fc90eed (diff)
Make DataPosInt an ALsizei
Diffstat (limited to 'Alc/mixer.c')
-rw-r--r--Alc/mixer.c31
1 files changed, 16 insertions, 15 deletions
diff --git a/Alc/mixer.c b/Alc/mixer.c
index b9eb4a99..bc9c715e 100644
--- a/Alc/mixer.c
+++ b/Alc/mixer.c
@@ -368,26 +368,27 @@ static const ALfloat *DoFilters(ALfilterState *lpfilter, ALfilterState *hpfilter
ALboolean MixSource(ALvoice *voice, ALsource *Source, ALCdevice *Device, ALsizei SamplesToDo)
{
- ResamplerFunc Resample;
ALbufferlistitem *BufferListItem;
- ALuint DataPosInt, DataPosFrac;
- bool isplaying = true;
- bool islooping;
- ALint increment;
- ALsizei OutPos;
- ALsizei NumChannels;
- ALsizei SampleSize;
+ ALsizei NumChannels, SampleSize;
+ ResamplerFunc Resample;
+ ALsizei DataPosInt;
+ ALuint DataPosFrac;
ALint64 DataSize64;
+ ALint increment;
ALsizei Counter;
+ ALsizei OutPos;
ALsizei IrSize;
+ bool isplaying;
+ bool islooping;
ALsizei chan;
ALsizei send;
/* Get source info */
- DataPosInt = ATOMIC_LOAD(&voice->position, almemory_order_acquire);
+ isplaying = true; /* Will only be called while playing. */
+ islooping = ATOMIC_LOAD(&Source->looping, almemory_order_acquire);
+ DataPosInt = ATOMIC_LOAD(&voice->position, almemory_order_relaxed);
DataPosFrac = ATOMIC_LOAD(&voice->position_fraction, almemory_order_relaxed);
BufferListItem = ATOMIC_LOAD(&voice->current_buffer, almemory_order_relaxed);
- islooping = ATOMIC_LOAD(&Source->looping, almemory_order_relaxed);
NumChannels = voice->NumChannels;
SampleSize = voice->SampleSize;
increment = voice->Step;
@@ -445,7 +446,7 @@ ALboolean MixSource(ALvoice *voice, ALsource *Source, ALCdevice *Device, ALsizei
Data += chan*SampleSize;
/* If current pos is beyond the loop range, do not loop */
- if(!islooping || DataPosInt >= (ALuint)ALBuffer->LoopEnd)
+ if(!islooping || DataPosInt >= ALBuffer->LoopEnd)
{
islooping = false;
@@ -489,7 +490,7 @@ ALboolean MixSource(ALvoice *voice, ALsource *Source, ALCdevice *Device, ALsizei
{
/* Crawl the buffer queue to fill in the temp buffer */
ALbufferlistitem *tmpiter = BufferListItem;
- ALuint pos = DataPosInt;
+ ALsizei pos = DataPosInt;
while(tmpiter && SrcBufferSize > SrcDataSize)
{
@@ -497,7 +498,7 @@ ALboolean MixSource(ALvoice *voice, ALsource *Source, ALCdevice *Device, ALsizei
if((ALBuffer=tmpiter->buffer) != NULL)
{
const ALubyte *Data = ALBuffer->data;
- ALuint DataSize = ALBuffer->SampleLen;
+ ALsizei DataSize = ALBuffer->SampleLen;
/* Skip the data already played */
if(DataSize <= pos)
@@ -713,7 +714,7 @@ ALboolean MixSource(ALvoice *voice, ALsource *Source, ALCdevice *Device, ALsizei
DataSize = ALBuffer->SampleLen;
LoopStart = ALBuffer->LoopStart;
LoopEnd = ALBuffer->LoopEnd;
- if((ALuint)LoopEnd > DataPosInt)
+ if(LoopEnd > DataPosInt)
break;
}
@@ -724,7 +725,7 @@ ALboolean MixSource(ALvoice *voice, ALsource *Source, ALCdevice *Device, ALsizei
break;
}
- if((ALuint)DataSize > DataPosInt)
+ if(DataSize > DataPosInt)
break;
if(!(BufferListItem=BufferListItem->next))