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.")
|
||
|
}
|
||
|
}
|
||
|
}
|