setVideoEnabled method

Future<void> setVideoEnabled(
  1. bool enabled, {
  2. MediaSourceKind source = MediaSourceKind.device,
})

Sets the inbound video of this CallMember as enabled.

Implementation

Future<void> setVideoEnabled(
  bool enabled, {
  MediaSourceKind source = MediaSourceKind.device,
}) async {
  Log.debug('setVideoEnabled($enabled, $source)', '$runtimeType');

  if (_videoGuard.isLocked) {
    return;
  }

  await _videoGuard.protect(() async {
    final bool previous = hasVideo.value;

    try {
      hasVideo.value = enabled;

      if (enabled) {
        await _connection?.enableRemoteVideo(source);
      } else {
        await _connection?.disableRemoteVideo(source);
      }
    } catch (e) {
      hasVideo.value = previous;
    }
  });
}