# API sunset notice (/en/api-reference/api-ref/rtc/api-sunset/ios)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

This page lists the deprecated and removed APIs in the SDK and their suggested alternatives.

## Deprecated APIs

A deprecated API is expected to be officially removed in about one year from deprecation. Agora recommends using the alternate API as soon as possible to avoid impacting your online business.

| Deprecated API                                                                                                                                                                                                                                 | Description                                                                                        | Alternate API                                                                                                                                                                                                                                                                                             | Deprecating version |
| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------ |
| [`setDirectCdnStreamingAudioConfiguration(_:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/setdirectcdnstreamingaudioconfiguration%28_:%29)                                                       | Sets the audio profile of the audio streams directly pushed to the CDN by the host.                | Use [Media Push](/en/api-reference/api-ref/media-push) instead.                                                                                                                                                                                                                                           | v4.6.0              |
| [`setDirectCdnStreamingVideoConfiguration(_:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/setdirectcdnstreamingvideoconfiguration%28_:%29)                                                       | Sets the video profile of the media streams directly pushed to the CDN by the host.                | Use [Media Push](/en/api-reference/api-ref/media-push) instead.                                                                                                                                                                                                                                           | v4.6.0              |
| [`startDirectCdnStreaming(_:publishUrl:mediaOptions:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/startdirectcdnstreaming%28_\:publishurl\:mediaoptions:%29)                                     | Starts pushing media streams to the CDN directly.                                                  | Use [Media Push](/en/api-reference/api-ref/media-push) instead.                                                                                                                                                                                                                                           | v4.6.0              |
| [`stopDirectCdnStreaming()`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/stopdirectcdnstreaming%28%29)                                                                                             | Stops pushing media streams to the CDN directly.                                                   | Use [Media Push](/en/api-reference/api-ref/media-push) instead.                                                                                                                                                                                                                                           | v4.6.0              |
| [`onDirectCdnStreamingStateChanged(_:reason:message:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agoradirectcdnstreamingeventdelegate/ondirectcdnstreamingstatechanged%28_\:reason\:message:%29)                  | CDN streaming state changed callback.                                                              | Use [Media Push](/en/api-reference/api-ref/media-push) instead.                                                                                                                                                                                                                                           | v4.6.0              |
| [`AgoraDirectCdnStreamingMediaOptions`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agoradirectcdnstreamingmediaoptions)                                                                                           | The media setting options for the host.                                                            | Use [Media Push](/en/api-reference/api-ref/media-push) instead.                                                                                                                                                                                                                                           | v4.6.0              |
| [`AgoraDirectCdnStreamingStats`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agoradirectcdnstreamingstats)                                                                                                         | The statistics of the current CDN streaming.                                                       | Use [Media Push](/en/api-reference/api-ref/media-push) instead.                                                                                                                                                                                                                                           | v4.6.0              |
| [`AgoraDirectCdnStreamingState`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agoradirectcdnstreamingstate)                                                                                                         | The current CDN streaming state.                                                                   | Use [Media Push](/en/api-reference/api-ref/media-push) instead.                                                                                                                                                                                                                                           | v4.6.0              |
| [`AgoraDirectCdnStreamingReason`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agoradirectcdnstreamingreason)                                                                                                       | Reasons for the changes in CDN streaming status.                                                   | Use [Media Push](/en/api-reference/api-ref/media-push) instead.                                                                                                                                                                                                                                           | v4.6.0              |
| [`startRhythmPlayer(_:sound2:config:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/startrhythmplayer%28_\:sound2\:config:%29)                                                                     | Enables the virtual metronome.                                                                     | -                                                                                                                                                                                                                                                                                                         | v4.6.0              |
| [`configRhythmPlayer(_:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/configrhythmplayer%28_:%29)                                                                                                 | Configures the virtual metronome.                                                                  | -                                                                                                                                                                                                                                                                                                         | v4.6.0              |
| [`rtcEngine(_:didRhythmPlayerStateChanged:reason:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginedelegate/rtcengine%28_\:didrhythmplayerstatechanged\:reason:%29)                                      | Occurs when the state of virtual metronome changes.                                                | -                                                                                                                                                                                                                                                                                                         | v4.6.0              |
| [`addVideoWatermark(_:options:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/addvideowatermark%28_\:options:%29)                                                                                  | Adds a watermark image to the local video.                                                         | Use `addVideoWatermarkWithImageUrl:options:` instead.                                                                                                                                                                                                                                                     | v4.6.0              |
| [`addVideoWatermarkEx(_:options:connection:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/addvideowatermarkex%28_\:options\:connection:%29)                                                       | Adds a watermark image to the local video.                                                         | Use `addVideoWatermarkWithImageUrlEx:options:connection:` instead.                                                                                                                                                                                                                                        | v4.6.0              |
| [`pushExternalAudioFrameSampleBuffer(_:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/pushexternalaudioframesamplebuffer%28_:%29)                                                                 | Push external CMSampleBuffer audio frames.                                                         | [`pushExternalAudioFrameSampleBuffer(_:sampleRate:channels:trackId:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/pushexternalaudioframesamplebuffer%28_\:samplerate\:channels\:trackid:%29)                                                                 | v4.3.1              |
| [`enableDualStreamMode(_:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/enabledualstreammode%28_:%29)                                                                                             | Sets the dual-stream mode on the sender side.                                                      | [`setDualStreamMode(_:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/setdualstreammode%28_:%29)                                                                                                                                                              | v4.2.0              |
| [`enableDualStreamMode(_:streamConfig:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/enabledualstreammode%28_\:streamconfig:%29)                                                                  | Sets dual-stream mode configuration on the sender side.                                            | [`setDualStreamMode(_:streamConfig:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/setdualstreammode%28_\:streamconfig:%29)                                                                                                                                   | v4.2.0              |
| [`enableDualStreamModeEx(_:streamConfig:connection:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/enabledualstreammodeex%28_\:streamconfig\:connection:%29)                                       | Sets the dual-stream mode on the sender side.                                                      | [`setDualStreamModeEx(_:streamConfig:connection:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/setdualstreammodeex%28_\:streamconfig\:connection:%29)                                                                                                        | v4.2.0              |
| [`enableWebSdkInteroperability(_:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/enablewebsdkinteroperability%28_:%29)                                                                             | Enables interoperability with the Agora Web SDK (applicable only in the live streaming use-cases). | -                                                                                                                                                                                                                                                                                                         | v4.0.0              |
| [`setLogFileSize(_:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/setlogfilesize%28_:%29)                                                                                                         | Set the size of the log file output by the SDK.                                                    | Use the `logConfig` parameter in [`sharedEngine(with:delegate:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/sharedengine%28with\:delegate:%29)                                                                                                              | v4.0.0              |
| [`setExternalAudioSource(_:sampleRate:channels:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/setexternalaudiosource%28_\:samplerate\:channels:%29)                                               | Set external audio acquisition parameters.                                                         | [`createCustomAudioTrack(_:config:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/createcustomaudiotrack%28_\:config:%29)                                                                                                                                     | v4.0.0              |
| [`setExternalAudioSource(_:sampleRate:channels:localPlayback:publish:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/setexternalaudiosource%28_\:samplerate\:channels\:localplayback\:publish:%29) | Set external audio acquisition parameters.                                                         | [`createCustomAudioTrack(_:config:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/createcustomaudiotrack%28_\:config:%29)                                                                                                                                     | v4.0.0              |
| [`createDataStreamEx(_:reliable:ordered:connection:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/createdatastreamex%28_\:reliable\:ordered\:connection:%29)                                      | Create a data flow.                                                                                | [`createDataStreamEx(_:config:connection:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/createdatastreamex%28_\:config\:connection:%29)                                                                                                                      | v4.0.0              |
| [`setLocalVideoMirrorMode(_:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/setlocalvideomirrormode%28_:%29)                                                                                       | Set up local video mirroring.                                                                      | [`setupLocalVideo(_:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/setuplocalvideo%28_:%29) or [`setLocalRenderMode(_:mirror:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/setlocalrendermode%28_\:mirror:%29) | v4.0.0              |
| [`setLogFile(_:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/setlogfile%28_:%29)                                                                                                                 | Setting up log files.                                                                              | Use the `logConfig` parameter in [`sharedEngine(with:delegate:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/sharedengine%28with\:delegate:%29)                                                                                                              | v4.0.0              |
| [`setAudioProfile(_:scenario:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/setaudioprofile%28_\:scenario:%29)                                                                                    | Set audio encoding properties and audio scene.                                                     | [`setAudioProfile(_:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/setaudioprofile%28_:%29) or [`setAudioScenario(_:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/setaudioscenario%28_:%29)                    | v4.0.0              |
| [`preload(songCode:jsonOption:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agoramusiccontentcenter/preload%28songcode\:jsonoption:%29)                                                                            | Preload music resources.                                                                           | [`preload(songCode:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agoramusiccontentcenter/preload%28songcode:%29)                                                                                                                                                              | v4.0.0              |
| [`addVideoWatermark(_:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/addvideowatermark%28_:%29)                                                                                                   | Add local video watermark.                                                                         | [`addVideoWatermark(_:options:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/addvideowatermark%28_\:options:%29)                                                                                                                                             | v4.0.0              |

## Removed APIs

The following APIs have been removed from the SDK. Please use the recommended alternative to implement related functions.

| Removed API                                                              | Description                                                                              | Alternate API                                                                                                                                                                                              | Deleting version |
| :----------------------------------------------------------------------- | :--------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------- |
| `setLocalPublishFallbackOption(_:)`                                      | Sets the fallback option for the published video stream based on the network conditions. |                                                                                                                                                                                                            | v4.6.0           |
| `rtcEngine(_:didLocalPublishFallbackToAudioOnly:)`                       | Occurs when the published media stream falls back to an audio-only stream.               |                                                                                                                                                                                                            | v4.6.0           |
| `rtcEngine(_:downlinkNetworkInfoUpdate:)`                                | Occurs when the downlink network information changes.                                    |                                                                                                                                                                                                            | v4.6.0           |
| `wlAccStats`                                                             | Wi-Fi acceleration stats.                                                                |                                                                                                                                                                                                            | v4.6.0           |
| `AgoraWlAccReason`                                                       |                                                                                          |                                                                                                                                                                                                            | v4.6.0           |
| `AgoraWlAccAction`                                                       |                                                                                          |                                                                                                                                                                                                            | v4.6.0           |
| `rtcEngine(_:wlAccStats:averageStats:)`                                  |                                                                                          |                                                                                                                                                                                                            | v4.6.0           |
| `rtcEngine(_:wlAccMessage:action:wlAccMsg:)`                             |                                                                                          |                                                                                                                                                                                                            | v4.6.0           |
| `enableWirelessAccelerate`                                               | Enables or disable Wi-Fi acceleration.                                                   |                                                                                                                                                                                                            | v4.6.0           |
| `receivedFrameRate` (removed from `AgoraRtcRemoteVideoStats`)            |                                                                                          |                                                                                                                                                                                                            | v4.6.0           |
| `setVideoProfile(_:swapWidthAndHeight:)`                                 | Set the video encoding configuration.                                                    | [`setVideoEncoderConfiguration(_:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/setvideoencoderconfiguration%28_:%29)                                         | v4.4.0           |
| `setRemoteRenderMode(_:mode:)`                                           | Set the remote view display mode.                                                        | [`setRemoteRenderMode(_:mode:mirror:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/setremoterendermode%28_\:mode\:mirror:%29)                                 | v4.4.0           |
| `openWithCustomSource(atStartPos:withPlayerOnReadData:andPlayerOnSeek:)` | Open the custom media resource file.                                                     | [`open(with:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcmediaplayerprotocol/open%28with:%29)                                                                         | v4.4.0           |
| `setVideoQualityParameters(_:preferFrameRateOverImageQuality:)`          | Set video optimization options (only available for live streaming).                      | Use the `degradationPreference` parameter in the [`AgoraVideoEncoderConfiguration`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agoravideoencoderconfiguration) class.         | v4.4.0           |
| `startEchoTest(_:)`                                                      | Start the voice call loop test.                                                          | [`startEchoTest(withConfig:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/startechotest%28withconfig:%29)                                                     | v4.4.0           |
| `startEchoTestWithInterval(_:successBlock:)`                             | Start the voice call loop test.                                                          | [`startEchoTest(withConfig:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/startechotest%28withconfig:%29)                                                     | v4.4.0           |
| `setEncryptionMode(_:)`                                                  | Enable the built-in encryption scheme.                                                   | [`enableEncryption(_:encryptionConfig:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/enableencryption%28_\:encryptionconfig:%29)                              | v4.4.0           |
| `setEncryptionSecret(_:)`                                                | Enable built-in encryption, and set a data encryption password.                          | [`enableEncryption(_:encryptionConfig:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agorartcenginekit/enableencryption%28_\:encryptionconfig:%29)                              | v4.4.0           |
| `onEvent(provider:extension:key:value:)`                                 | Plugin event callback.                                                                   | [`onEventWithContext(_:key:value:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agoramediafiltereventdelegate/oneventwithcontext%28_\:key\:value:%29)                           | v4.4.0           |
| `onExtensionStarted(provider:extension:)`                                | Plugin enable callback.                                                                  | [`onExtensionStartedWithContext(_:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agoramediafiltereventdelegate/onextensionstartedwithcontext%28_:%29)                           | v4.4.0           |
| `onExtensionStopped(provider:extension:)`                                | Plugin disable callback.                                                                 | [`onExtensionStoppedWithContext(_:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agoramediafiltereventdelegate/onextensionstoppedwithcontext%28_:%29)                           | v4.4.0           |
| `onExtensionError(provider:extension:error:message:)`                    | Plugin error callback.                                                                   | [`onExtensionErrorWithContext(_:error:message:)`](https://api-ref.agora.io/en/video-sdk/ios/4.x/documentation/agorartckit/agoramediafiltereventdelegate/onextensionerrorwithcontext%28_\:error\:message:%29) | v4.4.0           |

    
  
      
  
