From 7b702d23a61caba08694b3024d99dd3d4c7f4647 Mon Sep 17 00:00:00 2001 From: Christopher Snowhill Date: Thu, 27 Feb 2025 00:53:50 -0800 Subject: [PATCH] Bug Fix: Do not perform cascading reset on DSPs DSPs should not be performing a cascading reset when resetting just their own buffers, for example, on init or shutdown of just that one DSP filter. Signed-off-by: Christopher Snowhill --- Audio/Chain/DSP/DSPDownmixNode.m | 4 ++-- Audio/Chain/DSP/DSPEqualizerNode.m | 2 +- Audio/Chain/DSP/DSPFSurroundNode.m | 2 +- Audio/Chain/DSP/DSPHRTFNode.m | 2 +- Audio/Chain/DSP/DSPRubberbandNode.m | 2 +- Audio/Chain/VisualizationNode.m | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Audio/Chain/DSP/DSPDownmixNode.m b/Audio/Chain/DSP/DSPDownmixNode.m index ad4db569f..435b3b328 100644 --- a/Audio/Chain/DSP/DSPDownmixNode.m +++ b/Audio/Chain/DSP/DSPDownmixNode.m @@ -76,7 +76,7 @@ while(processEntered) { usleep(500); } - [super resetBuffer]; + [buffer reset]; paused = NO; } @@ -87,7 +87,7 @@ while(processEntered) { usleep(500); } - [super resetBuffer]; + [buffer reset]; [self fullShutdown]; paused = NO; } diff --git a/Audio/Chain/DSP/DSPEqualizerNode.m b/Audio/Chain/DSP/DSPEqualizerNode.m index 4a8cd109e..7b2fd8ce7 100644 --- a/Audio/Chain/DSP/DSPEqualizerNode.m +++ b/Audio/Chain/DSP/DSPEqualizerNode.m @@ -331,7 +331,7 @@ static OSStatus eqRenderCallback(void *inRefCon, AudioUnitRenderActionFlags *ioA while(processEntered) { usleep(500); } - [super resetBuffer]; + [buffer reset]; [self fullShutdown]; paused = NO; } diff --git a/Audio/Chain/DSP/DSPFSurroundNode.m b/Audio/Chain/DSP/DSPFSurroundNode.m index 7311b043f..d506cb1dc 100644 --- a/Audio/Chain/DSP/DSPFSurroundNode.m +++ b/Audio/Chain/DSP/DSPFSurroundNode.m @@ -127,7 +127,7 @@ static void * kDSPFSurroundNodeContext = &kDSPFSurroundNodeContext; while(processEntered) { usleep(500); } - [super resetBuffer]; + [buffer reset]; [self fullShutdown]; paused = NO; } diff --git a/Audio/Chain/DSP/DSPHRTFNode.m b/Audio/Chain/DSP/DSPHRTFNode.m index bb169a7ef..2b64b01a0 100644 --- a/Audio/Chain/DSP/DSPHRTFNode.m +++ b/Audio/Chain/DSP/DSPHRTFNode.m @@ -252,7 +252,7 @@ static void unregisterMotionListener(void) { while(processEntered) { usleep(500); } - [super resetBuffer]; + [buffer reset]; [self fullShutdown]; paused = NO; } diff --git a/Audio/Chain/DSP/DSPRubberbandNode.m b/Audio/Chain/DSP/DSPRubberbandNode.m index 9b13500fe..5abc14d37 100644 --- a/Audio/Chain/DSP/DSPRubberbandNode.m +++ b/Audio/Chain/DSP/DSPRubberbandNode.m @@ -338,7 +338,7 @@ static void * kDSPRubberbandNodeContext = &kDSPRubberbandNodeContext; while(processEntered) { usleep(500); } - [super resetBuffer]; + [buffer reset]; [self fullShutdown]; paused = NO; } diff --git a/Audio/Chain/VisualizationNode.m b/Audio/Chain/VisualizationNode.m index 0a6ec69e7..24515e898 100644 --- a/Audio/Chain/VisualizationNode.m +++ b/Audio/Chain/VisualizationNode.m @@ -174,7 +174,7 @@ static VisualizationCollection *theCollection = nil; while(processEntered) { usleep(500); } - [super resetBuffer]; + [buffer reset]; [self fullShutdown]; paused = NO; }