From cb8d873b5b1dde790cd142d6a82cf927cb9a1ec9 Mon Sep 17 00:00:00 2001 From: Christopher Snowhill Date: Tue, 11 Feb 2025 17:50:07 -0800 Subject: [PATCH] Rubberband DSP: Guard non-restart config function This should be guarded, so that no other thread tries to free the DSP while it is potentially writing to the Rubber Band instance. Signed-off-by: Christopher Snowhill --- Audio/Chain/DSPRubberbandNode.m | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Audio/Chain/DSPRubberbandNode.m b/Audio/Chain/DSPRubberbandNode.m index f031dd120..e4ed12206 100644 --- a/Audio/Chain/DSPRubberbandNode.m +++ b/Audio/Chain/DSPRubberbandNode.m @@ -252,6 +252,8 @@ static void * kDSPRubberbandNodeContext = &kDSPRubberbandNodeContext; - (void)partialInit { if(stopping || paused || !ts) return; + processEntered = YES; + RubberBandOptions changed = tslastoptions ^ tsnewoptions; if(changed) { @@ -286,6 +288,8 @@ static void * kDSPRubberbandNodeContext = &kDSPRubberbandNodeContext; } tsapplynewoptions = NO; + + processEntered = NO; } - (void)fullShutdown {