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), );