@@ -61,8 +61,8 @@ public final class NoiseCancellationFilter: AudioFilter, @unchecked Sendable, Ob
6161 public func initialize( sampleRate: Int , channels: Int ) {
6262 serialQueue. addTaskOperation { @MainActor [ weak self] in
6363 guard let self, !isActive else { return }
64- self . initializeClosure ( sampleRate, channels)
65- self . isActive = true
64+ initializeClosure ( sampleRate, channels)
65+ isActive = true
6666 log. debug ( " AudioFilter: \( id) initialize sampleRate: \( sampleRate) channels: \( channels) . " )
6767 }
6868 }
@@ -85,7 +85,7 @@ public final class NoiseCancellationFilter: AudioFilter, @unchecked Sendable, Ob
8585 /// Releases the filter by stopping noise cancellation for the active call.
8686 public func release( ) {
8787 serialQueue. addTaskOperation { [ weak self] in
88- guard let self, let activeCall = self . activeCall else {
88+ guard let self, let activeCall else {
8989 return
9090 }
9191 await stopNoiseCancellation ( for: activeCall)
@@ -128,9 +128,12 @@ public final class NoiseCancellationFilter: AudioFilter, @unchecked Sendable, Ob
128128 }
129129
130130 private func stopNoiseCancellation( for call: Call ? ) async {
131- Task ( disposableBag : disposableBag ) { @ MainActor [ weak self ] in
132- self ? . isActive = false
131+ guard isActive else {
132+ return
133133 }
134+ _ = await Task ( disposableBag: disposableBag) { @MainActor [ weak self] in
135+ self ? . isActive = false
136+ } . result
134137 releaseClosure ( ) // Invoke the release closure.
135138 log. debug ( " AudioFilter: \( id) is now inactive 🔴. " )
136139
0 commit comments