     }
 
     /// Property to change camera output quality.
-    public var cameraOutputQuality: CameraOutputQuality {
-        get {
-            return _cameraOutputQuality
-        }
-        set(newCameraOutputQuality) {
-            if newCameraOutputQuality != _cameraOutputQuality {
-                _cameraOutputQuality = newCameraOutputQuality
-                _updateCameraQualityMode(newCameraOutputQuality)
+    public var cameraOutputQuality = CameraOutputQuality.High {
+        didSet {
+            if cameraOutputQuality != oldValue {
+                _updateCameraQualityMode(cameraOutputQuality)
             }
         }
     }

            if let validCaptureSession = self.captureSession {
                validCaptureSession.beginConfiguration()
                validCaptureSession.sessionPreset = AVCaptureSessionPresetHigh
                self._updateCameraDevice(.Back)
                self._setupOutputs()
                self._setupOutputMode(self._cameraOutputMode)
                self.cameraOutputQuality = self._cameraOutputQuality
                self._setupPreviewLayer()
                validCaptureSession.commitConfiguration()
                self._updateFlasMode(self.flashMode)

    /// Property to change camera device between front and back.
    public var cameraDevice = CameraDevice.Back {
        didSet {
            if cameraDevice != oldValue {
                _updateCameraDevice(cameraDevice)
            }
        }
    }

