// // AVCaptureVideoStabilizationMode+descriptor.swift // Cuvent // // Created by Marc Rousavy on 29.12.20. // Copyright © 2020 Facebook. All rights reserved. // import AVFoundation extension AVCaptureVideoStabilizationMode { init(withString string: String) throws { switch string { case "auto": self = .auto return case "cinematic": self = .cinematic return case "cinematic-extended": if #available(iOS 13.0, *) { self = .cinematicExtended return } else { throw EnumParserError.unsupportedOS(supportedOnOS: "iOS 13.0") } case "off": self = .off return case "standard": self = .standard return default: throw EnumParserError.invalidValue } } var descriptor: String { if #available(iOS 13.0, *) { switch self { case .cinematicExtended: return "cinematic-extended" default: break } } switch self { case .auto: return "auto" case .cinematic: return "cinematic" case .off: return "off" case .standard: return "standard" default: fatalError("AVCaptureVideoStabilizationMode has unknown state.") } } }