From 46af6042472d0f6033676274f15867f55f83ec5a Mon Sep 17 00:00:00 2001 From: dochoi Date: Tue, 2 Dec 2025 13:25:22 +0900 Subject: [PATCH] Expand lock scope to ensure thread safety and prevent race conditions --- .../Processors/AudioPlayerRenderProcessor.swift | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/AudioStreaming/Streaming/AudioPlayer/Processors/AudioPlayerRenderProcessor.swift b/AudioStreaming/Streaming/AudioPlayer/Processors/AudioPlayerRenderProcessor.swift index 08e2a27..aa8b4d3 100644 --- a/AudioStreaming/Streaming/AudioPlayer/Processors/AudioPlayerRenderProcessor.swift +++ b/AudioStreaming/Streaming/AudioPlayer/Processors/AudioPlayerRenderProcessor.swift @@ -101,7 +101,6 @@ final class AudioPlayerRenderProcessor: NSObject { } } } - rendererContext.lock.unlock() var totalFramesCopied: UInt32 = 0 if used > 0 && !waitForBuffer && playingEntry != nil && state.contains(.running) && state != .paused { @@ -121,10 +120,8 @@ final class AudioPlayerRenderProcessor: NSObject { } totalFramesCopied = framesToCopy - rendererContext.lock.lock() bufferContext.frameStartIndex = (bufferContext.frameStartIndex + totalFramesCopied) % bufferContext.totalFrameCount bufferContext.frameUsedCount -= totalFramesCopied - rendererContext.lock.unlock() } else { let frameToCopy = min(inNumberFrames, bufferContext.totalFrameCount - start) @@ -159,10 +156,8 @@ final class AudioPlayerRenderProcessor: NSObject { } totalFramesCopied = frameToCopy + moreFramesToCopy - rendererContext.lock.lock() bufferContext.frameStartIndex = (bufferContext.frameStartIndex + totalFramesCopied) % bufferContext.totalFrameCount bufferContext.frameUsedCount -= totalFramesCopied - rendererContext.lock.unlock() } if playerContext.internalState != .playing { @@ -171,7 +166,7 @@ final class AudioPlayerRenderProcessor: NSObject { }) } } - + rendererContext.lock.unlock() if totalFramesCopied < inNumberFrames { let delta = inNumberFrames - totalFramesCopied if let mData = bufferList.mBuffers.mData {