From 6bf620d459238bc96ae5a7bb4a09eca9b70f065f Mon Sep 17 00:00:00 2001 From: Marc Rousavy Date: Tue, 21 Nov 2023 15:27:21 +0100 Subject: [PATCH] fix: Revert lazy audio initialization --- package/ios/Core/CameraSession+Video.swift | 36 ++++++++++------------ 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/package/ios/Core/CameraSession+Video.swift b/package/ios/Core/CameraSession+Video.swift index 207a674885..bc4d25db7a 100644 --- a/package/ios/Core/CameraSession+Video.swift +++ b/package/ios/Core/CameraSession+Video.swift @@ -107,25 +107,6 @@ extension CameraSession { } self.recordingSession = recordingSession - // Init Audio + Activate Audio Session (optional) - if enableAudio { - if let audioOutput = self.audioOutput { - ReactLogger.log(level: .trace, message: "Enabling Audio for Recording...") - // Activate Audio Session asynchronously - CameraQueues.audioQueue.async { - do { - // Initialize audio asset writer - let audioSettings = audioOutput.recommendedAudioSettingsForAssetWriter(writingTo: options.fileType) - recordingSession.initializeAudioWriter(withSettings: audioSettings) - - try self.activateAudioSession() - } catch { - self.onConfigureError(error) - } - } - } - } - // Init Video guard var videoSettings = self.recommendedVideoSettings(videoOutput: videoOutput, fileType: options.fileType, @@ -150,6 +131,23 @@ extension CameraSession { recordingSession.initializeVideoWriter(withSettings: videoSettings, pixelFormat: pixelFormat) + // Init Audio + Activate Audio Session (optional) + if enableAudio, let audioOutput = self.audioOutput { + ReactLogger.log(level: .trace, message: "Enabling Audio for Recording...") + // Activate Audio Session asynchronously + CameraQueues.audioQueue.async { + do { + // Initialize audio asset writer + let audioSettings = audioOutput.recommendedAudioSettingsForAssetWriter(writingTo: options.fileType) + recordingSession.initializeAudioWriter(withSettings: audioSettings) + + try self.activateAudioSession() + } catch { + self.onConfigureError(error) + } + } + } + // start recording session with or without audio. do { try recordingSession.startAssetWriter()