aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--al/source.cpp6
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;