Use -1 to mark an invalid source offset instead of 0

This commit is contained in:
Chris Robinson 2011-08-21 00:35:37 -07:00
parent f196a9fc67
commit a97211b572

View File

@ -1778,6 +1778,7 @@ static ALvoid InitSourceParams(ALsource *Source)
Source->state = AL_INITIAL;
Source->new_state = AL_NONE;
Source->lSourceType = AL_UNDETERMINED;
Source->lOffset = -1;
Source->NeedsUpdate = AL_TRUE;
@ -1844,7 +1845,7 @@ ALvoid SetSourceState(ALsource *Source, ALCcontext *Context, ALenum state)
Source->state = AL_PLAYING;
// Check if an Offset has been set
if(Source->lOffset)
if(Source->lOffset != -1)
ApplyOffset(Source);
for(j = 0;j < Context->ActiveSourceCount;j++)
@ -1873,7 +1874,7 @@ ALvoid SetSourceState(ALsource *Source, ALCcontext *Context, ALenum state)
Source->HrtfMoving = AL_FALSE;
Source->HrtfCounter = 0;
}
Source->lOffset = 0;
Source->lOffset = -1;
}
else if(state == AL_INITIAL)
{
@ -1888,7 +1889,7 @@ ALvoid SetSourceState(ALsource *Source, ALCcontext *Context, ALenum state)
Source->HrtfMoving = AL_FALSE;
Source->HrtfCounter = 0;
}
Source->lOffset = 0;
Source->lOffset = -1;
}
}
@ -2096,7 +2097,7 @@ static ALint GetByteOffset(ALsource *Source)
if(!Buffer)
{
Source->lOffset = 0;
Source->lOffset = -1;
return -1;
}
@ -2129,7 +2130,7 @@ static ALint GetByteOffset(ALsource *Source)
break;
}
// Clear Offset
Source->lOffset = 0;
Source->lOffset = -1;
return ByteOffset;
}