protected override void Dispose(bool disposing)
 {
     captureSession.Dispose();
     captureDeviceInput.Dispose();
     stillImageOutput.Dispose();
     base.Dispose(disposing);
 }
Exemplo n.º 2
0
        protected override void Dispose(bool disposing)
        {
            if (captureDeviceInput != null && captureSession != null)
            {
                captureSession.RemoveInput(captureDeviceInput);
            }

            if (captureDeviceInput != null)
            {
                captureDeviceInput.Dispose();
                captureDeviceInput = null;
            }

            if (captureSession != null)
            {
                captureSession.StopRunning();
                captureSession.Dispose();
                captureSession = null;
            }

            if (stillImageOutput != null)
            {
                stillImageOutput.Dispose();
                stillImageOutput = null;
            }

            base.Dispose(disposing);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Cleanup the Resources.
        /// </summary>
        /// <param name="disposing">Is Disposing</param>
        protected override void Dispose(bool disposing)
        {
            captureSession?.Dispose();
            videoDeviceInput?.Dispose();
            videoDataOutput.Dispose();

            base.Dispose(disposing);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Stops the and dispose.
        /// </summary>
        public void StopAndDispose()
        {
            if (_device != null)
            {
                // if flash is on turn off
                if (_device.TorchMode == AVCaptureTorchMode.On)
                {
                    SwitchFlash(false);
                }
            }

            _captureSession.StopRunning();
            // dispose output elements
            _input.Dispose();
            _output.Dispose();
        }
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                if (captureSession.Running)
                {
                    captureSession.StopRunning();
                }

                isDisposing = true;
                videoPreviewLayer.Dispose();
                captureDeviceInput.Dispose();
                tesseract.Dispose();
                targetOverlayView.Dispose();
                captureSession.Dispose();
            }
            base.Dispose(disposing);
        }
Exemplo n.º 6
0
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                RemoveObservers();
                if (_session != null)
                {
                    if (_session.Running)
                    {
                        _session.StopRunning();
                    }

                    PreviewLayer.Session = null;

                    if (_videoDeviceInput != null)
                    {
                        _session.RemoveInput(_videoDeviceInput);
                        _videoDeviceInput.Dispose();
                        _videoDeviceInput = null;
                    }

                    if (_movieFileOutput != null)
                    {
                        _session.RemoveOutput(_movieFileOutput);
                        _movieFileOutput.Dispose();
                        _movieFileOutput = null;
                    }

                    if (_stillImageOutput != null)
                    {
                        _session.RemoveOutput(_stillImageOutput);
                        _stillImageOutput.Dispose();
                        _stillImageOutput = null;
                    }

                    _session.Dispose();
                }
            }

            base.Dispose(disposing);
        }
 public override void ViewDidUnload()
 {
     base.ViewDidUnload();
     try
     {
         cancellationTokenSource.Cancel();
         cancellationTokenSource.Dispose();
     } catch (Exception) {}
     try {
         captureDeviceInput.Dispose();
     } catch (Exception) { }
     try {
         videoDataOutput.Dispose();
     } catch (Exception) { }
     try {
         captureSession.StopRunning();
     } catch (Exception) { }
     try {
         captureSession.Dispose();
     } catch (Exception) { }
 }