From 23be3b7f0313c167e7b70763e13d25853e74c801 Mon Sep 17 00:00:00 2001 From: Christopher Snowhill Date: Wed, 11 Jun 2025 19:01:53 -0700 Subject: [PATCH] Bug Fix: Prevent track transition race condition A race on the source queue setter could cause a crash. Prevent that by not attempting to set a nil input node. Signed-off-by: Christopher Snowhill --- Audio/Chain/OutputNode.m | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Audio/Chain/OutputNode.m b/Audio/Chain/OutputNode.m index a2baa5801..c52edb748 100644 --- a/Audio/Chain/OutputNode.m +++ b/Audio/Chain/OutputNode.m @@ -176,7 +176,9 @@ Node *finalNode = nil; if(rubberbandNode) { finalNode = [[controller bufferChain] finalNode]; - [rubberbandNode setPreviousNode:finalNode]; + if(finalNode) { + [rubberbandNode setPreviousNode:finalNode]; + } } return !!finalNode; @@ -186,7 +188,9 @@ Node *finalNode = nil; if(rubberbandNode) { finalNode = [[controller bufferChain] finalNode]; - [rubberbandNode setPreviousNode:finalNode]; + if(finalNode) { + [rubberbandNode setPreviousNode:finalNode]; + } } NSArray *DSPs = [self DSPs];