diff options
-rw-r--r-- | al/source.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/al/source.cpp b/al/source.cpp index 3020d63a..ace69310 100644 --- a/al/source.cpp +++ b/al/source.cpp @@ -2777,9 +2777,6 @@ START_API_FUNC auto vidx = static_cast<ALuint>(std::distance(context->mVoices.data(), voice)); - source->PropsClean.test_and_set(std::memory_order_acq_rel); - UpdateSourceProps(source, voice, context.get()); - /* A source that's not playing or paused has any offset applied when it * starts playing. */ @@ -2869,6 +2866,9 @@ START_API_FUNC } voice->mSourceID.store(source->id, std::memory_order_release); + source->PropsClean.test_and_set(std::memory_order_acq_rel); + UpdateSourceProps(source, voice, context.get()); + source->VoiceIdx = vidx; source->state = AL_PLAYING; |