From 16a58e87a05dda2c8b804dcb14b8815917434fa8 Mon Sep 17 00:00:00 2001 From: Christopher Snowhill Date: Wed, 19 Jan 2022 14:38:48 -0800 Subject: [PATCH] Core Audio output: Attempt to fix deadlock near track transitions when buffer resets occur --- Audio/Output/OutputCoreAudio.m | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Audio/Output/OutputCoreAudio.m b/Audio/Output/OutputCoreAudio.m index 160f2bffd..52a1d97dd 100644 --- a/Audio/Output/OutputCoreAudio.m +++ b/Audio/Output/OutputCoreAudio.m @@ -221,6 +221,9 @@ default_device_changed(AudioObjectID inObjectID, UInt32 inNumberAddresses, const } if ([outputController shouldReset]) { + size_t length = [[outputController buffer] bufferedLength]; + atomic_fetch_add(&bytesRendered, length); + [outputController incrementAmountPlayed:length]; [[outputController buffer] empty]; [outputController setShouldReset:NO]; }