From 023d7e2ba7f0627522e562b0871560f68b65a7f4 Mon Sep 17 00:00:00 2001 From: Christopher Snowhill Date: Sun, 16 Feb 2025 14:19:43 -0800 Subject: [PATCH] Bug Fix: Hopefully fix flickering visualizations Now buffer twice as much audio as would be requested for a single visualization PCM/FFT chunk, which should hopefully prevent it from flickering due to running out of audio because of too low latency. Now it buffers up to two chunks at the current hard coded visualization sample rate, which works out to about 186 milliseconds. Signed-off-by: Christopher Snowhill --- Audio/Chain/BufferChain.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Audio/Chain/BufferChain.m b/Audio/Chain/BufferChain.m index 0ba716c0b..aa4dce9b1 100644 --- a/Audio/Chain/BufferChain.m +++ b/Audio/Chain/BufferChain.m @@ -69,8 +69,8 @@ downmixNode = [[DSPDownmixNode alloc] initWithController:self previous:hrtfNode latency:0.03]; if(!downmixNode) return NO; - // Approximately five frames - visualizationNode = [[VisualizationNode alloc] initWithController:self previous:downmixNode latency:5.0 / 60.0]; + // Approximately double the chunk size for Vis at 44100Hz + visualizationNode = [[VisualizationNode alloc] initWithController:self previous:downmixNode latency:8192.0 / 44100.0]; if(!visualizationNode) return NO; finalNode = visualizationNode;