diff options
author | Chris Robinson <[email protected]> | 2011-09-12 06:04:40 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2011-09-12 06:04:40 -0700 |
commit | 80f2b787efbd226bec702aee7aa7c0f973a3d692 (patch) | |
tree | 53f1413a29d3441e529552d594d94b118e6f9050 | |
parent | 404cfde33e0aba9b084a40407a6f3fffd8dd1612 (diff) |
Pre-apply the deferred source offset only when it's playing or paused
-rw-r--r-- | OpenAL32/alState.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/OpenAL32/alState.c b/OpenAL32/alState.c index 6e474430..3920adf0 100644 --- a/OpenAL32/alState.c +++ b/OpenAL32/alState.c @@ -642,7 +642,8 @@ AL_API ALvoid AL_APIENTRY alProcessUpdatesSOFT(void) ALsource *Source = Context->SourceMap.array[pos].value; ALenum new_state; - if(Source->lOffset != -1) + if((Source->state == AL_PLAYING || Source->state == AL_PAUSED) && + Source->lOffset != -1) ApplyOffset(Source); new_state = ExchangeInt(&Source->new_state, AL_NONE); |