From df74f146055ce53d8c337bd3eca2a664d52e288e Mon Sep 17 00:00:00 2001 From: jitspoe Date: Wed, 28 Aug 2024 23:46:57 -0400 Subject: [PATCH] Fix random multithreaded crash that happens when setting the audio stream on a AudioStreamRandomPitch stream. --- servers/audio/audio_stream.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/servers/audio/audio_stream.cpp b/servers/audio/audio_stream.cpp index a3f22160615..edf7f9451a4 100644 --- a/servers/audio/audio_stream.cpp +++ b/servers/audio/audio_stream.cpp @@ -231,12 +231,14 @@ AudioStreamPlaybackMicrophone::AudioStreamPlaybackMicrophone() { //////////////////////////////// void AudioStreamRandomPitch::set_audio_stream(const Ref &p_audio_stream) { + AudioServer::get_singleton()->lock(); audio_stream = p_audio_stream; if (audio_stream.is_valid()) { for (Set::Element *E = playbacks.front(); E; E = E->next()) { E->get()->playback = audio_stream->instance_playback(); } } + AudioServer::get_singleton()->unlock(); } Ref AudioStreamRandomPitch::get_audio_stream() const {