From 150787971a6234362d09e306dfd10954666b07ca Mon Sep 17 00:00:00 2001 From: Lynix Date: Wed, 29 Nov 2023 22:26:19 +0100 Subject: [PATCH] Audio/Music: Fix possible data-race in GetPlayingOffset --- src/Nazara/Audio/Music.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Nazara/Audio/Music.cpp b/src/Nazara/Audio/Music.cpp index c70c59988..34a0f5092 100644 --- a/src/Nazara/Audio/Music.cpp +++ b/src/Nazara/Audio/Music.cpp @@ -131,12 +131,12 @@ namespace Nz { NazaraAssert(m_stream, "Music not created"); - if (!m_streaming) - return Time::Zero(); - // Prevent music thread from enqueuing new buffers while we're getting the count std::lock_guard lock(m_sourceLock); + if (!m_streaming) + return Time::Zero(); + Time playingOffset = m_source->GetPlayingOffset(); Time processedTime = Time::Microseconds(1'000'000ll * m_processedSamples / (GetChannelCount(m_stream->GetFormat()) * m_sampleRate)); playingOffset += processedTime;