diff --git a/lib/src/track/options.dart b/lib/src/track/options.dart index 7dfd5d7..a483de2 100644 --- a/lib/src/track/options.dart +++ b/lib/src/track/options.dart @@ -19,20 +19,34 @@ extension CameraPositionExt on CameraPosition { /// Options used when creating a [LocalVideoTrack] that captures the camera. class CameraCaptureOptions extends VideoCaptureOptions { + /// The deviceId of the capture device to use. + /// Available deviceIds can be obtained through `flutter_webrtc`: + ///
+ /// import 'package:flutter_webrtc/flutter_webrtc.dart' as rtc; + /// + /// List+ final String? deviceId; final CameraPosition cameraPosition; const CameraCaptureOptions({ + this.deviceId, this.cameraPosition = CameraPosition.front, VideoParameters params = VideoParametersPresets.h540_169, }) : super(params: params); CameraCaptureOptions.from({required VideoCaptureOptions captureOptions}) - : cameraPosition = CameraPosition.front, + : deviceId = null, + cameraPosition = CameraPosition.front, super(params: captureOptions.params); @override Mapdevices = await rtc.navigator.mediaDevices.enumerateDevices(); + ///
+ /// import 'package:flutter_webrtc/flutter_webrtc.dart' as rtc; + /// + /// List+ final String? deviceId; + /// Attempt to use noiseSuppression option (if supported by the platform) /// See https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackSettings/noiseSuppression /// Defaults to true. @@ -105,6 +128,7 @@ class AudioCaptureOptions extends LocalTrackOptions { final bool typingNoiseDetection; const AudioCaptureOptions({ + this.deviceId, this.noiseSuppression = true, this.echoCancellation = true, this.autoGainControl = true, @@ -114,7 +138,9 @@ class AudioCaptureOptions extends LocalTrackOptions { @override Mapdevices = await rtc.navigator.mediaDevices.enumerateDevices(); + ///