From 8c3d1bf61171c848a849b40f28458b26dabd071f Mon Sep 17 00:00:00 2001 From: jitspoe Date: Tue, 16 Nov 2021 22:07:29 -0500 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 c098a97906a3..2c782e7b3901 100644 --- a/servers/audio/audio_stream.cpp +++ b/servers/audio/audio_stream.cpp @@ -352,12 +352,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 {