Agora Releases Native SDK v3.5.1
Tags: webrtc, ios, agora, programming
Published: 2021-10-18 09:29:05

> Agora Native SDK 3.5.1 was released on 14 October 2021.

## New Features ✨

### Super Resolution (beta) 🪟

Effectively boost the resolution of a remote user's video seen by the local user.

You can call [`enableRemoteSuperResolution`](https://docs.agora.io/en/Video/API%20Reference/oc/Classes/AgoraRtcEngineKit.html#//api/name/enableRemoteSuperResolution:enabled:) to enable super resolution, specifying the remote user's uid. Make sure the `AgoraSuperResolutionExtension` framework is also included in your project.

### Background Blurring 😶‍🌫️

Virtual backgrounds was added to the SDK since `3.5.0`, and now to further enrich that, there is an option to apply a blur to the background. Set the type of the custom background image to `AgoraVirtualBackgroundBlur`, apply a `blur_degree`, and the background will be blurred.

### Device Flash 📸

`isCameraTorchSupported` and `setCameraTorchOn` have been added to the C++ APIs for both iOS and Android.

### Media Stream Relay Pausing/Resuming ⏯

Methods have been added to quickly pause and resume cross-channel media stream relays; as well as additional delegate methods to check if the pause and resume commands were successful.

### Pushing External Audio to a Specified Position 🎤

`pushExternalAudioFrameRawData` and `pushExternalAudioFrameSampleBuffer` have been updated to have an additional parameter. This parameter, `sourcePos`, allows you to push the external audio frames to one of three positions: after audio capture, before audio encoding, or before local playback.

Additionally, `setExternalAudioSourceVolume` has also been added; allowing you to set the volume of external audio frames at a specified position.

### Music and Audio File Updates 🎶

Playback speed, audio track, and channel mode of a music file can be set in code.

This update deprecates `getAudioMixingDuration` method in favour of `getAudioFileInfo`. `getAudioFileInfo` still gets information such as duration, but returns it in an AgoraRtcAudioFileInfo object in the `didRequestAudioFileInfo` delegate method, found [here](https://docs.agora.io/en/Video/API%20Reference/oc/Protocols/AgoraRtcEngineDelegate.html#//api/name/rtcEngine:didRequestAudioFileInfo:error:).

## Improvements

### 5G Quality Testing ⚡️

When monitoring the connection quality of a device, a new property has been added to the `AgoraNetworkType` enum, `AgoraNetworkTypeMobile5G(6)`, or `.mobile5G` with Swift, and `NETWORK_TYPE_MOBILE_5G` on Android.

---

These are just a handful of the new features to the SDK in v3.5.0. To see the full release notes for the native platform you’re using, check out one of the following links: [iOS](https://docs.agora.io/en/Video/release_ios_video?platform=iOS#v351), [Android](https://docs.agora.io/en/Video/release_android_video?platform=Android#v351), [macOS](https://docs.agora.io/en/Video/release_mac_video?platform=macOS#v351), and [Windows](https://docs.agora.io/en/Video/release_windows_video?platform=Windows#v351). Head to Agora’s [downloads page](https://docs.agora.io/en/Video/downloads?platform=All%20Platforms) to get the latest SDK now.