                 session.addInput(input)
                 
                 if input.device.hasMediaType(AVMediaType.video) {
-                    self.addKeyValueObservers(input.device)
+                    self.addDeviceObservers(input.device)
                     self.updateVideoOutputSettings()
                     self._videoInput = input
                 } else {

            for input in inputs {
                session.removeInput(input)
                if input.device.hasMediaType(AVMediaType.video) {
                    self.removeKeyValueObservers(input.device)
                }
            }
            self._videoInput = nil


extension NextLevel {
    
    internal func addDeviceObservers(_ currentDevice: AVCaptureDevice) {
        
        self._observers.append(currentDevice.observe(\.isAdjustingFocus, options: [.new]) { [weak self] (object, change) in
            if object.isAdjustingFocus {
