enableRemoteSuperResolution abstract method
Enables/Disables the super resolution algorithm for a remote user's video stream. 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 you call this method, the SDK triggers the userSuperResolutionEnabled callback to report whether you have successfully enabled super resolution. After calling this method, you can confirm whether super resolution is successfully enabled through the remote video stream statistics ( RemoteVideoStats ) in the remoteVideoStats callback: If the parameter superResolutionType >0: Super resolution is enabled. If parameter superResolutionType =0: Super resolution is not enabled. The super resolution feature requires extra system resources. To balance the visual experience and system consumption, this feature can only be enabled for a single remote user. If the local user uses super resolution on Android, the original resolution of the remote user's video cannot exceed 640 × 360 pixels; if the local user uses super resolution on iOS, the original resolution of the remote user's video cannot exceed 640 × 480 pixels. If you exceed these limitations, the SDK triggers the warning callback and returns all corresponding warning codes: SuperResolutionStreamOverLimitation: 1610. The origin resolution of the remote video is beyond the range where super resolution can be applied. SuperResolutionUserCountOverLimitation: 1611. Super resolution is already being used on another remote user's video. SuperResolutionDeviceNotSupported: 1612. The device does not support using super resolution. This method applies to Android and iOS only. Before calling this method, ensure that you have integrated the following dynamic libraries: Android: libagora_super_resolution_extension.so iOS: AgoraSuperResolutionExtension.xcframework Because this method has certain system performance requirements, Agora recommends that you use the following devices 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 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 3 (3rd generation) iPad Air 3 (4th generation)
Param userId
The user ID of the remote user.
Param enable
Whether to enable super resolution for the remote user’s video: true: Enable super resolution.
false: Disable super resolution.
Implementation
Future<void> enableRemoteSuperResolution(int userId, bool enable);