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

            if let currentDeviceInput = AVCaptureDeviceInput.deviceInput(withMediaType: mediaType, captureSession: session) {
                session.removeInput(currentDeviceInput)
                if currentDeviceInput.device.hasMediaType(AVMediaType.video) {
                    self.removeKeyValueObservers(currentDeviceInput.device)
                }
            }
            

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