62 lines
1.2 KiB
Swift
62 lines
1.2 KiB
Swift
//
|
|
// 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.")
|
|
}
|
|
}
|
|
}
|