toMediaConstraintsMap method

  1. @override
Map<String, dynamic> toMediaConstraintsMap()
override

Implementation

@override
Map<String, dynamic> toMediaConstraintsMap() {
  final constraints = <String, dynamic>{
    ...super.toMediaConstraintsMap(),
    if (deviceId == null) 'facingMode': cameraPosition == CameraPosition.front ? 'user' : 'environment'
  };
  if (deviceId != null && deviceId!.isNotEmpty) {
    if (kIsWeb) {
      if (isChrome129OrLater()) {
        constraints['deviceId'] = {'exact': deviceId};
      } else {
        constraints['deviceId'] = {'ideal': deviceId};
      }
    } else {
      constraints['optional'] = [
        {'sourceId': deviceId}
      ];
    }
  }
  if (maxFrameRate != null) {
    constraints['frameRate'] = {'max': maxFrameRate};
  }
  return constraints;
}