From 50427668a32d1612d67ce986ebb24ef997e488a0 Mon Sep 17 00:00:00 2001 From: Jordan Rose Date: Wed, 8 Mar 2023 16:19:20 -0800 Subject: [PATCH] Improve audio source debug log descriptions --- Signal/src/Calls/AudioSource.swift | 20 +++++++++++++++++++- Signal/src/Calls/CallAudioService.swift | 2 +- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/Signal/src/Calls/AudioSource.swift b/Signal/src/Calls/AudioSource.swift index b1619ad608..58a5f4e4cc 100644 --- a/Signal/src/Calls/AudioSource.swift +++ b/Signal/src/Calls/AudioSource.swift @@ -7,7 +7,7 @@ import Foundation import AVFoundation import SignalServiceKit -public struct AudioSource: Hashable { +public struct AudioSource: Hashable, CustomDebugStringConvertible { public let localizedName: String public let portDescription: AVAudioSessionPortDescription? @@ -82,4 +82,22 @@ public struct AudioSource: Hashable { hasher.combine(portDescription.uid) } + + public var debugDescription: String { + guard let portDescription = self.portDescription else { + assert(self.isBuiltInSpeaker) + return "" + } + return portDescription.logSafeDescription + } +} + +extension AVAudioSessionPortDescription { + var logSafeDescription: String { + let portName = self.portName + if portName.dropFirst(4).isEmpty { + return "<\(portType): \(portName)>" + } + return "<\(portType): \(portName.prefix(2))..\(portName.suffix(2))>" + } } diff --git a/Signal/src/Calls/CallAudioService.swift b/Signal/src/Calls/CallAudioService.swift index faac268ad3..294baf0f4e 100644 --- a/Signal/src/Calls/CallAudioService.swift +++ b/Signal/src/Calls/CallAudioService.swift @@ -452,7 +452,7 @@ class CallAudioService: NSObject, CallObserver { return [AudioSource.builtInSpeaker] } - Logger.info("availableInputs: \(availableInputs)") + Logger.info("availableInputs: \(availableInputs.map(\.logSafeDescription))") return [AudioSource.builtInSpeaker] + availableInputs.map { portDescription in return AudioSource(portDescription: portDescription) }