fix: Fix Video Recording delay and improve startRecording()
performance (#2192)
* fix: Add more logs * perf: Init audio AVAssetWriter in parallel * chore: Log Audio Session activation * perf: Init Audio Session asynchronously * chore: Log when category changed * fix: Revert lazy audio initialization * Update Podfile.lock * Pass `sourceFormatHint` to video and audio AVAssetWriter * fix: Remove `sourceFormatHint` from Video Asset Writer * Use default options for Audio Asset Writer * Update Podfile.lock * Revert "Use default options for Audio Asset Writer" This reverts commit e575a14c5342ddc7f9db557d5e3915328ed9e798. * Add time logs * fix: Don't synchronize audio buffers, they are already in sync * shouldOptimizeForNetworkUse = false * fix: Only update `latestTimestamp` once video buffer has been written * perf: Use `AVAssetWriterInput` instead of `AVAssetWriterInputPixelBufferAdaptor` * fix: Fix Audio not being synchronized with Video * Remove logs add comments * Format * feat: Set `.videoRecording` AVAudioSession mode * Refactor `startRecording()` a bit * Format * chore: Throw error directly instead of double-checking
This commit is contained in:
@@ -10,7 +10,7 @@ import AVFoundation
|
||||
import Foundation
|
||||
|
||||
extension AVVideoCodecType {
|
||||
init?(withString string: String) {
|
||||
init(withString string: String) throws {
|
||||
switch string {
|
||||
case "h264":
|
||||
self = .h264
|
||||
@@ -19,7 +19,7 @@ extension AVVideoCodecType {
|
||||
self = .hevc
|
||||
return
|
||||
default:
|
||||
return nil
|
||||
throw CameraError.parameter(.invalid(unionName: "codec", receivedValue: string))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user