updateMediaConfig method

  1. @override
Future<void> updateMediaConfig(
  1. MediaConfig setting
)
override

Implementation

@override
Future<void> updateMediaConfig(MediaConfig setting) async {
  if (_currentCallSetting.videoConfig.videoQuality ==
      setting.videoConfig.videoQuality) {
    if (_currentCallSetting.e2eeEnabled != setting.e2eeEnabled) {
      await _applyEncryption(setting.e2eeEnabled);
    }

    _currentCallSetting = setting;

    return;
  }

  _currentCallSetting = setting;

  if (_localCameraStream == null || _mParticipant == null) return;

  final MediaStream? newStream = await _getUserMedia(onlyStream: true);

  await _replaceMediaStream(newStream);

  if (!(_mParticipant?.isVideoEnabled ?? true)) {
    await toggleVideoInput(forceValue: _mParticipant?.isVideoEnabled);
  }

  if (!(_mParticipant?.isAudioEnabled ?? true)) {
    await toggleAudioInput(forceValue: _mParticipant?.isAudioEnabled);
  }
}