enableRemoteSuperResolution method

  1. @override
Future<void> enableRemoteSuperResolution(
  1. int uid,
  2. bool enabled
)

Enables/Disables the super resolution feature for a remote user’s video. (beta feature)

This feature effectively boosts the resolution of a remote user’s video seen by the local user. If the original resolution of a remote user’s video is a × b, the local user’s device can render the remote video at a resolution of 2a × 2b after you enable this feature. After calling this method, the SDK triggers the RtcEngineEventHandler.userSuperResolutionEnabled callback to report whether you have successfully enabled super resolution.

Since v4.2.0

Parameter uid The user ID of the remote user.

Parameter enabled Determines whether to enable super resolution for the remote user’s video:

  • true: Enable super-resolution.
  • false: Do not enable super resolution.

Warning

The super resolution feature requires extra system resources. To balance the visual experience and system consumption, the SDK poses the following restrictions:

  • This feature can only be enabled for a single remote user.

  • The original resolution of the remote user’s video cannot exceed 640 × 480 pixels.

  • If you exceed these limitations, the SDK triggers the WarningCallback callback and returns the corresponding warning codes:

  • SuperResolutionStreamOverLimitation(1610): The original resolution of the remote user’s video is beyond the range where super resolution can be applied.

  • SuperResolutionUserCountOverLimitation(1611): Super resolution is already being used to boost another remote user’s video.

  • SuperResolutionDeviceNotSupported(1612): The device does not support using super resolution.

Notes

Because this method has certain system performance requirements, Agora recommends that you use the following Android and iOS devices (iOS 12.0 or later) or better:

Android

  • VIVO: V1821A, NEX S, 1914A, 1916A, 1962A, 1824BA, X60, X60 Pro
  • OPPO: PCCM00, Find X3
  • OnePlus: A6000
  • Xiaomi: Mi 8, Mi 9, Mi 10, Mi 11, MIX3, Redmi K20 Pro
  • SAMSUNG: SM-G9600, SM-G9650, SM-N9600, SM-G9708, SM-G960U, SM-G9750, S20, S21
  • HUAWEI: SEA-AL00, ELE-AL00, VOG-AL00, YAL-AL10, HMA-AL00, EVR-AN00, nova 4, nova 5 Pro, nova 6 5G, nova 7 5G, Mate 30, Mate 30 Pro, Mate 40, Mate 40 Pro, P40 P40 Pro, HUAWEI MediaPad M6, MatePad 10.8

iOS

  • iPhone XR
  • iPhone XS
  • iPhone XS Max
  • iPhone 11
  • iPhone 11 Pro
  • iPhone 11 Pro Max
  • iPhone 12
  • iPhone 12 mini
  • iPhone 12 Pro
  • iPhone 12 Pro Max
  • iPhone 12 SE (2nd generation)
  • iPad Pro 11-inch (3rd generation)
  • iPad Pro 12.9-inch (3rd generation)
  • iPad Air (3rd generation)
  • iPad Air (4th generation)

Implementation

@override
Future<void> enableRemoteSuperResolution(int uid, bool enabled) {
  return _invokeMethod('enableRemoteSuperResolution', {
    'uid': uid,
    'enabled': enabled,
  });
}