From db0144cbaba460564f9da64e3f57c6a781bb85a1 Mon Sep 17 00:00:00 2001 From: Maksim Lin Date: Wed, 25 Mar 2026 13:16:44 +1100 Subject: [PATCH] prevent race cond crash on preview playback (#1392) --- sources/Application/Player/PlayerMixer.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/sources/Application/Player/PlayerMixer.cpp b/sources/Application/Player/PlayerMixer.cpp index ac7a74a25..d779119dc 100644 --- a/sources/Application/Player/PlayerMixer.cpp +++ b/sources/Application/Player/PlayerMixer.cpp @@ -181,14 +181,25 @@ bool PlayerMixer::IsChannelMuted(int channel) { } void PlayerMixer::StartStreaming(const char *name, int startSample) { + MixerService *ms = MixerService::GetInstance(); + ms->Lock(); fileStreamer_.Start(name, startSample); + ms->Unlock(); }; void PlayerMixer::StartLoopingStreaming(const char *name) { + MixerService *ms = MixerService::GetInstance(); + ms->Lock(); fileStreamer_.Start(name, 0, true); + ms->Unlock(); }; -void PlayerMixer::StopStreaming() { fileStreamer_.Stop(); }; +void PlayerMixer::StopStreaming() { + MixerService *ms = MixerService::GetInstance(); + ms->Lock(); + fileStreamer_.Stop(); + ms->Unlock(); +}; void PlayerMixer::StartRecordStreaming(uint16_t *srcBuffer, uint32_t size, bool stereo) {