From a98f190828e1aed3c52baf5d7c2cd466fab9f2db Mon Sep 17 00:00:00 2001 From: Andrew Walz Date: Fri, 25 Aug 2017 15:36:27 -0600 Subject: [PATCH] Added new delegate function --- Source/SwiftyCamViewController.swift | 3 +++ Source/SwiftyCamViewControllerDelegate.swift | 15 ++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/Source/SwiftyCamViewController.swift b/Source/SwiftyCamViewController.swift index 7055f1f..0a3749f 100644 --- a/Source/SwiftyCamViewController.swift +++ b/Source/SwiftyCamViewController.swift @@ -1049,6 +1049,9 @@ extension SwiftyCamViewController : AVCaptureFileOutputRecordingDelegate { } if error != nil { print("[SwiftyCam]: Movie file finishing error: \(error)") + DispatchQueue.main.async { + self.cameraDelegate?.swiftyCam(self, didFailToRecordVideo: error) + } } else { //Call delegate function with the URL of the outputfile DispatchQueue.main.async { diff --git a/Source/SwiftyCamViewControllerDelegate.swift b/Source/SwiftyCamViewControllerDelegate.swift index c98e364..8102f06 100644 --- a/Source/SwiftyCamViewControllerDelegate.swift +++ b/Source/SwiftyCamViewControllerDelegate.swift @@ -58,6 +58,15 @@ public protocol SwiftyCamViewControllerDelegate: class { func swiftyCam(_ swiftyCam: SwiftyCamViewController, didFinishProcessVideoAt url: URL) + + /** + SwiftyCamViewControllerDelegate function called when SwiftyCamViewController fails to record a video. + + - Parameter swiftyCam: Current SwiftyCamViewController session + - Parameter error: An error object that describes the problem + */ + func swiftyCam(_ swiftyCam: SwiftyCamViewController, didFailToRecordVideo error: Error) + /** SwiftyCamViewControllerDelegate function called when SwiftyCamViewController switches between front or rear camera. @@ -65,6 +74,7 @@ public protocol SwiftyCamViewControllerDelegate: class { - Parameter camera: Current camera selection */ + func swiftyCam(_ swiftyCam: SwiftyCamViewController, didSwitchCameras camera: SwiftyCamViewController.CameraSelection) /** @@ -107,7 +117,10 @@ public extension SwiftyCamViewControllerDelegate { func swiftyCam(_ swiftyCam: SwiftyCamViewController, didFinishProcessVideoAt url: URL) { // Optional } - + + func swiftyCam(_ swiftyCam: SwiftyCamViewController, didFailToRecordVideo error: Error) { + // Optional + } func swiftyCam(_ swiftyCam: SwiftyCamViewController, didSwitchCameras camera: SwiftyCamViewController.CameraSelection) { // Optional