From c4ed14aa53967f39684f72c5121c3ebe39bc9d9a 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;