         }
     }
     
+    open func canSetPresset(presset: AVCaptureSession.Preset) -> Bool? {
+        if let validCaptureSession = captureSession {
+            return validCaptureSession.canSetSessionPreset(presset)
+        }
+        return nil
+    }
+    
     /**
      Property to determine if manager should write the resources to the phone library.
      - note: Default value is **true**

    }
    
    /// Property to change camera output quality.
    open var cameraOutputQuality = CameraOutputQuality.high {
        didSet {
            if cameraIsSetup && cameraOutputQuality != oldValue {
                _updateCameraQualityMode(cameraOutputQuality)

        }
    }
    
    fileprivate func _updateCameraQualityMode(_ newCameraOutputQuality: AVCaptureSession.Preset) {
        
        
        if let validCaptureSession = captureSession {
            
            var sessionPreset = newCameraOutputQuality
            if newCameraOutputQuality == .high {
                if cameraOutputMode == .stillImage {
                    sessionPreset = AVCaptureSession.Preset.photo
                } else {
                    sessionPreset = AVCaptureSession.Preset.high
                }
            }
            
            if validCaptureSession.canSetSessionPreset(sessionPreset) {
                validCaptureSession.beginConfiguration()
                validCaptureSession.sessionPreset = sessionPreset
