From 72ed975d56ffee7aaa15aa354c1ebcb61c17d7fe Mon Sep 17 00:00:00 2001 From: Christopher Snowhill Date: Fri, 15 Jul 2022 22:52:46 -0700 Subject: [PATCH] [Audio Output] Remove renderer from synchronizer Remove the renderer from the synchronizer on stop, before releasing the objects, if possible. Signed-off-by: Christopher Snowhill --- Audio/Output/OutputAVFoundation.m | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Audio/Output/OutputAVFoundation.m b/Audio/Output/OutputAVFoundation.m index bf8c9a45f..eb9587639 100644 --- a/Audio/Output/OutputAVFoundation.m +++ b/Audio/Output/OutputAVFoundation.m @@ -1219,6 +1219,13 @@ current_device_listener(AudioObjectID inObjectID, UInt32 inNumberAddresses, cons } [self removeSynchronizerBlock]; [renderSynchronizer setRate:0]; + if(audioRenderer) { + [renderSynchronizer removeRenderer:audioRenderer atTime:kCMTimeZero completionHandler:^(BOOL didRemoveRenderer) { + if(!didRemoveRenderer) { + DLog(@"Error removing renderer!"); + } + }]; + } } if(audioRenderer) { [audioRenderer stopRequestingMediaData];