react-native-vision-camera/ios/Extensions/AVAudioSession+updateCategory.swift
Marc Rousavy 5919d46a46
fix: Make recorder less error-prone (#189)
* Abort recording if failed to start or empty frames

* Activate Audio Session on `cameraQueue`

* Double-check stop recording in callback

* Only call callback once

* Format

* Add description to `.aborted` error

* Update RecordingSession.swift

* Update AVAudioSession+updateCategory.swift

* Rename serial dispatch queues
2021-06-09 14:56:56 +02:00

25 lines
810 B
Swift

//
// AVAudioSession+updateCategory.swift
// VisionCamera
//
// Created by Marc Rousavy on 01.06.21.
// Copyright © 2021 mrousavy. All rights reserved.
//
import AVFoundation
import Foundation
extension AVAudioSession {
/**
Calls [setCategory] if the given category or options are not equal to the currently set category and options.
*/
func updateCategory(_ category: AVAudioSession.Category, options: AVAudioSession.CategoryOptions = []) throws {
if self.category != category || categoryOptions.rawValue != options.rawValue {
ReactLogger.log(level: .info,
message: "Changing AVAudioSession category from \(self.category.rawValue) -> \(category.rawValue)",
alsoLogToJS: true)
try setCategory(category, options: options)
}
}
}