# API sunset notice (/en/api-reference/api-ref/voice/api-sunset/macos)

> 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 [#deprecated-apis-2]

    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 |
    | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------ |
    | [`pushExternalAudioFrameSampleBuffer(_:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/pushexternalaudioframesamplebuffer\(_:\))                                                                 | Push external CMSampleBuffer audio frames.                                                         | [`pushExternalAudioFrameSampleBuffer(_:sampleRate:channels:trackId:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/pushexternalaudioframesamplebuffer\(_\:samplerate\:channels\:trackid:\))                                                                   | v4.3.1              |
    | [`enableDualStreamMode(_:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/enabledualstreammode\(_:\))                                                                                             | Sets the dual-stream mode on the sender side.                                                      | [`setDualStreamMode(_:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/setdualstreammode\(_:\))                                                                                                                                                                | v4.2.0              |
    | [`enableDualStreamMode(_:streamConfig:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/enabledualstreammode\(_\:streamconfig:\))                                                                  | Sets dual-stream mode configuration on the sender side.                                            | [`setDualStreamMode(_:streamConfig:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/setdualstreammode\(_\:streamconfig:\))                                                                                                                                     | v4.2.0              |
    | [`enableDualStreamModeEx(_:streamConfig:connection:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/enabledualstreammodeex\(_\:streamconfig\:connection:\))                                       | Sets the dual-stream mode on the sender side.                                                      | [`setDualStreamModeEx(_:streamConfig:connection:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/setdualstreammodeex\(_\:streamconfig\:connection:\))                                                                                                          | v4.2.0              |
    | [`enableWebSdkInteroperability(_:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/enablewebsdkinteroperability\(_:\))                                                                             | 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/macos/4.x/documentation/agorartckit/agorartcenginekit/setlogfilesize\(_:\))                                                                                                         | 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/macos/4.x/documentation/agorartckit/agorartcenginekit/sharedengine\(with\:delegate:\))                                                                                                                | v4.0.0              |
    | [`setExternalAudioSource(_:sampleRate:channels:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/setexternalaudiosource\(_\:samplerate\:channels:\))                                               | Set external audio acquisition parameters.                                                         | [`createCustomAudioTrack(_:config:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/createcustomaudiotrack\(_\:config:\))                                                                                                                                       | v4.0.0              |
    | [`setExternalAudioSource(_:sampleRate:channels:localPlayback:publish:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/setexternalaudiosource\(_\:samplerate\:channels\:localplayback\:publish:\)) | Set external audio acquisition parameters.                                                         | [`createCustomAudioTrack(_:config:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/createcustomaudiotrack\(_\:config:\))                                                                                                                                       | v4.0.0              |
    | [`createDataStreamEx(_:reliable:ordered:connection:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/createdatastreamex\(_\:reliable\:ordered\:connection:\))                                      | Create a data flow                                                                                 | [`createDataStreamEx(_:config:connection:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/createdatastreamex\(_\:config\:connection:\))                                                                                                                        | v4.0.0              |
    | [`setLocalVideoMirrorMode(_:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/setlocalvideomirrormode\(_:\))                                                                                       | Set up local video mirroring.                                                                      | [`setupLocalVideo(_:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/setuplocalvideo\(_:\)) or [`setLocalRenderMode(_:mirror:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/setlocalrendermode\(_\:mirror:\)) | v4.0.0              |
    | [`setLogFile(_:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/setlogfile\(_:\))                                                                                                                 | Setting up log files.                                                                              | Use the `logConfig` parameter in [`sharedEngine(with:delegate:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/sharedengine\(with\:delegate:\))                                                                                                                | v4.0.0              |
    | [`setAudioProfile(_:scenario:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/setaudioprofile\(_\:scenario:\))                                                                                    | Set audio encoding properties and audio scene.                                                     | [`setAudioProfile(_:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/setaudioprofile\(_:\)) or [`setAudioScenario(_:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/setaudioscenario\(_:\))                    | v4.0.0              |
    | [`preload(songCode:jsonOption:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agoramusiccontentcenter/preload\(songcode\:jsonoption:\))                                                                            | Preload music resources.                                                                           | [`preload(songCode:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agoramusiccontentcenter/preload\(songcode:\))                                                                                                                                                                | v4.0.0              |
    | [`addVideoWatermark(_:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/addvideowatermark\(_:\))                                                                                                   | Add local video watermark.                                                                         | [`addVideoWatermark(_:options:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/addvideowatermark\(_\:options:\))                                                                                                                                               | v4.0.0              |

    ## Removed APIs [#removed-apis-2]

    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 |
    | :----------------------------------------------------------------------- | :------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------- |
    | `setVideoProfile(_:swapWidthAndHeight:)`                                 | Set the video encoding configuration.                               | [`setVideoEncoderConfiguration(_:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/setvideoencoderconfiguration\(_:\))                                         | v4.4.0           |
    | `setRemoteRenderMode(_:mode:)`                                           | Set the remote view display mode.                                   | [`setRemoteRenderMode(_:mode:mirror:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/setremoterendermode\(_\:mode\:mirror:\))                                 | v4.4.0           |
    | `openWithCustomSource(atStartPos:withPlayerOnReadData:andPlayerOnSeek:)` | Open the custom media resource file.                                | [`open(with:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcmediaplayerprotocol/open\(with:\))                                                                         | 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/macos/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/macos/4.x/documentation/agorartckit/agorartcenginekit/startechotest\(withconfig:\))                                                     | v4.4.0           |
    | `startEchoTestWithInterval(_:successBlock:)`                             | Start the voice call loop test.                                     | [`startEchoTest(withConfig:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/startechotest\(withconfig:\))                                                     | v4.4.0           |
    | `setEncryptionMode(_:)`                                                  | Enable the built-in encryption scheme.                              | [`enableEncryption(_:encryptionConfig:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/enableencryption\(_\:encryptionconfig:\))                              | v4.4.0           |
    | `setEncryptionSecret(_:)`                                                | Enable built-in encryption, and set a data encryption password.     | [`enableEncryption(_:encryptionConfig:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agorartcenginekit/enableencryption\(_\:encryptionconfig:\))                              | v4.4.0           |
    | `onEvent(provider:extension:key:value:)`                                 | Plugin event callback.                                              | [`onEventWithContext(_:key:value:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agoramediafiltereventdelegate/oneventwithcontext\(_\:key\:value:\))                           | v4.4.0           |
    | `onExtensionStarted(provider:extension:)`                                | Plugin enable callback.                                             | [`onExtensionStartedWithContext(_:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agoramediafiltereventdelegate/onextensionstartedwithcontext\(_:\))                           | v4.4.0           |
    | `onExtensionStopped(provider:extension:)`                                | Plugin disable callback.                                            | [`onExtensionStoppedWithContext(_:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agoramediafiltereventdelegate/onextensionstoppedwithcontext\(_:\))                           | v4.4.0           |
    | `onExtensionError(provider:extension:error:message:)`                    | Plugin error callback.                                              | [`onExtensionErrorWithContext(_:error:message:)`](https://api-ref.agora.io/en/video-sdk/macos/4.x/documentation/agorartckit/agoramediafiltereventdelegate/onextensionerrorwithcontext\(_\:error\:message:\)) | v4.4.0           |

    
  
      
  
      
  
      
  
      
  
      
  
      
  
      
  
      
  
      
  
      
  
