         self.previewLayer.session = nil
             
         self._currentDevice = nil
-        self.cicontext = nil
+        self._ciContext = nil
         
         self._recordingSession = nil
         self._captureSession = nil

    internal func uiimageFromSampleBuffer(sampleBuffer: CMSampleBuffer) -> UIImage? {
        var sampleBufferImage: UIImage? = nil
        if let pixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer) {
            if self.cicontext == nil {
                if let device = MTLCreateSystemDefaultDevice() {
                    self.cicontext = CIContext(mtlDevice: device)
                } else {
                    self.cicontext = CIContext(eaglContext: EAGLContext(api: .openGLES2))
                }
            }
            if let context = self.cicontext {
                let ciimage = CIImage(cvPixelBuffer: pixelBuffer)
                if let cgimage = context.createCGImage(ciimage, from: CGRect(x: 0, y: 0, width: CVPixelBufferGetWidth(pixelBuffer), height: CVPixelBufferGetHeight(pixelBuffer))) {
                    sampleBufferImage = UIImage(cgImage: cgimage)

    internal var _recordingSession: NextLevelSession?
    internal var _lastVideoFrameTimeInterval: TimeInterval
    
    internal var _videoCustomContextRenderingEnabled: Bool
    internal var _sessionVideoCustomContextImageBuffer: CVPixelBuffer?
    internal var _ciContext: CIContext?
    
    // MARK: - singleton
    
