From 5018f355f88a5bc1f361f18b0b5b3bf1cc5cb108 Mon Sep 17 00:00:00 2001 From: CloudWebRTC Date: Wed, 15 Feb 2023 09:59:31 +0800 Subject: [PATCH] feat: support fast switch camera for LocalVideoTrack. (#239) * feat: support fast switch camera for LocalVideoTrack. * remove unused import. --- lib/src/track/local/video.dart | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/src/track/local/video.dart b/lib/src/track/local/video.dart index f1dad06..c4d200c 100644 --- a/lib/src/track/local/video.dart +++ b/lib/src/track/local/video.dart @@ -116,13 +116,18 @@ extension LocalVideoTrackExt on LocalVideoTrack { ); } - Future switchCamera(String deviceId) async { + Future switchCamera(String deviceId, {bool fastSwitch = false}) async { final options = currentOptions; if (options is! CameraCaptureOptions) { logger.warning('Not a camera track'); return; } + if (fastSwitch) { + await rtc.Helper.switchCamera(mediaStreamTrack, deviceId, mediaStream); + return; + } + await restartTrack( options.copyWith(deviceId: deviceId), );