public void Close() { logger.Debug("VideoCaptureSource::Close()"); if (mediaSource != null) { //mediaSource?.Shutdown(); mediaSource.Dispose(); mediaSource = null; } if (sourceReader != null) { sourceReader.Dispose(); sourceReader = null; } if (device != null) { device.Dispose(); device = null; } if (SharedTexture != null) { SharedTexture.Dispose(); SharedTexture = null; } if (texture != null) { texture.Dispose(); texture = null; } if (processor != null) { processor.Close(); processor = null; } }