From 4c3a2c8f47f45006544909e7e778b3ef5442a734 Mon Sep 17 00:00:00 2001 From: Andrew Walz Date: Wed, 11 Jan 2017 15:07:11 -0700 Subject: [PATCH] Refactored switching camera to not remove outputs --- Source/SwiftyCamViewController.swift | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Source/SwiftyCamViewController.swift b/Source/SwiftyCamViewController.swift index 4ecb90b..2ba08f5 100644 --- a/Source/SwiftyCamViewController.swift +++ b/Source/SwiftyCamViewController.swift @@ -453,11 +453,8 @@ open class SwiftyCamViewController: UIViewController { for input in self.session.inputs { self.session.removeInput(input as! AVCaptureInput) } - for output in self.session.outputs { - self.session.removeOutput(output as! AVCaptureOutput) - } - self.configureSession() + self.addInputs() self.cameraDelegate?.SwiftyCamDidSwitchCameras(camera: self.currentCamera) self.session.startRunning() } @@ -518,6 +515,17 @@ open class SwiftyCamViewController: UIViewController { session.commitConfiguration() } + /// Add inputs after changing camera() + + fileprivate func addInputs() { + session.beginConfiguration() + configureVideoPreset() + addVideoInput() + addAudioInput() + session.commitConfiguration() + } + + // Front facing camera will always be set to VideoQuality.high // If set video quality is not supported, videoQuality variable will be set to VideoQuality.high /// Configure image quality preset