2021-02-19 16:28:05 +01:00
|
|
|
//
|
|
|
|
// AVCaptureVideoStabilizationMode+descriptor.swift
|
2021-06-21 22:42:46 +02:00
|
|
|
// mrousavy
|
2021-02-19 16:28:05 +01:00
|
|
|
//
|
|
|
|
// Created by Marc Rousavy on 29.12.20.
|
2021-06-01 13:07:57 +02:00
|
|
|
// Copyright © 2020 mrousavy. All rights reserved.
|
2021-02-19 16:28:05 +01:00
|
|
|
//
|
|
|
|
|
|
|
|
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 {
|
2023-09-29 21:54:35 +02:00
|
|
|
self = .cinematic
|
|
|
|
return
|
2021-02-19 16:28:05 +01:00
|
|
|
}
|
|
|
|
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.")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|