     open var exposureMode: AVCaptureDevice.ExposureMode = .continuousAutoExposure
     
     /// Property to set video stabilisation mode during a video record session
-    open var videoStabilisationMode: AVCaptureVideoStabilizationMode = .auto
+    open var videoStabilisationMode: AVCaptureVideoStabilizationMode = .auto {
+        didSet {
+            if oldValue != videoStabilisationMode {
+                _setupVideoConnection()
+            }
+        }
+    }
     
     // MARK: - Private properties
     

    
    fileprivate func _getMovieOutput() -> AVCaptureMovieFileOutput {
        if movieOutput == nil {
            let newMoviewOutput = AVCaptureMovieFileOutput()
            newMoviewOutput.movieFragmentInterval = CMTime.invalid
            movieOutput = newMoviewOutput
            if let captureSession = captureSession {
                if captureSession.canAddOutput(newMoviewOutput) {
                    captureSession.beginConfiguration()
                    captureSession.addOutput(newMoviewOutput)
                    captureSession.commitConfiguration()
                }
            }
        }
        
        return movieOutput!
    }

    

    
        let videoOutput = _getMovieOutput()
        
        if shouldUseLocationServices {
            
            let specs = [kCMMetadataFormatDescriptionMetadataSpecificationKey_Identifier as String: AVMetadataIdentifier.quickTimeMetadataLocationISO6709,
