removeVideoTrack method

Future<void> removeVideoTrack(
  1. LocalMediaStream stream
)

接続中の video sender から track を外す。

Implementation

Future<void> removeVideoTrack(LocalMediaStream stream) {
  _ensureNotDisposed();
  _validateRemoveVideoTrack(stream);
  // remove は進行中の ReplayKit start をキャンセルする意図を持つため、
  // 待ち行列へ入る前に世代だけ無効化する。実際の sender 更新は直列化
  // された本体で行う。
  _invalidateVideoCaptureOperation();
  final pendingStop = _stopPendingVideoCaptureOperation();
  return _runVideoMutation(() async {
    try {
      await pendingStop;
    } catch (_) {
      // 本体でも停止を再試行し、失敗時は pending ownership を保持する。
    }
    return _removeVideoTrackInternal(stream);
  });
}