diff --git a/OpenAL32/alSource.c b/OpenAL32/alSource.c index 1cb8b78e..8cd1d4a1 100644 --- a/OpenAL32/alSource.c +++ b/OpenAL32/alSource.c @@ -1949,7 +1949,7 @@ static ALboolean ApplyOffset(ALsource *Source) Buffer = BufferList->buffer; lBufferSize = Buffer ? Buffer->size : 0; - if(lTotalBufferSize+lBufferSize <= lByteOffset) + if(lBufferSize <= lByteOffset-lTotalBufferSize) { // Offset is past this buffer so increment BuffersPlayed BuffersPlayed++;