dispose method

void dispose()

Dispose of all resources.

Implementation

void dispose() {
  stopCapture();

  // Stop cloned video
  if (_screenVideo != null) {
    _screenVideo!.pause();
    _screenVideo!.srcObject = null;
    _screenVideo!.remove();
    _screenVideo = null;
  }

  // Stop cloned stream tracks
  if (_clonedScreenStream != null) {
    for (final track in _clonedScreenStream!.getTracks().toDart) {
      track.stop();
    }
    _clonedScreenStream = null;
  }

  // Remove canvases
  _mainCanvas?.remove();
  _mainCanvas = null;
  _mainCtx = null;

  _annotationCanvas?.remove();
  _annotationCanvas = null;

  debugPrint('ScreenAnnotationCapture: Disposed');
}