dispose method

Future<void> dispose()

Dispose resources

Implementation

Future<void> dispose() async {
  stopFrameInjection();

  if (_virtualTrackId != null) {
    try {
      await _channel.invokeMethod('dispose', {'trackId': _virtualTrackId});
    } catch (e) {
      // Ignore disposal errors
    }
  }

  if (_virtualStream != null) {
    _virtualStream!.getTracks().forEach((track) => track.stop());
    await _virtualStream!.dispose();
    _virtualStream = null;
  }

  _virtualTrackId = null;
  debugPrint('VirtualBackgroundChannel: Disposed');
}