From 5cbebd0c43fced1f519bdd022358a2ce9d653de8 Mon Sep 17 00:00:00 2001 From: Christopher Snowhill Date: Tue, 1 Jul 2025 04:55:24 -0700 Subject: [PATCH] Visualization: Correct possible race condition It's safer to ignore an out of range latency value before it's actually assigned, rather than letting it slip through before gating it with the control variable. So, assign the ignore latency state before assigning latency itself, since neither side is synchronization locked, because it used to just be one variable, which was fairly safe to leave unsynced, but now it's two. Signed-off-by: Christopher Snowhill --- Audio/Visualization/VisualizationController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Audio/Visualization/VisualizationController.m b/Audio/Visualization/VisualizationController.m index 8211a0157..3baee7c3b 100644 --- a/Audio/Visualization/VisualizationController.m +++ b/Audio/Visualization/VisualizationController.m @@ -101,8 +101,8 @@ static VisualizationController *_sharedController = nil; } - (void)postLatency:(double)latency { - self->latency = latency; ignoreLatency = (latency >= 45.0) || (latency < 0.0); + self->latency = latency; } - (double)readSampleRate {