removeVideoTrack method
接続中の 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);
});
}