This page contains information on major API changes during release v2.0.8 and v2.3.2 for Agora SDK for Windows.
The Dynamic key is improved and updated in v2.1.0. If you are using an Agora SDK version below v2.1.0 and wish to migrate to the latest version, read the following contents thoroughly before migrating.
Major changes
renewToken
.unixTs/Ts
(The authorized timestamp) is removed.Related API Reference
Feature | v2.0.2 | v2.1.0 and Later |
---|---|---|
Join a channel | public int joinChannel(const char* channelKey, const char* channel, const char* info, uid_t uid) |
virtual int joinChannel(const char* token, const char* channelId, const char* info, uid_t uid) = 0; |
Set the client role | public int setClientRole(CLIENT_ROLE_TYPE role, const char* permissionKey); |
virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0; |
Notify the Token has expired | public virtual void onRequestChannelKey(); |
virtual void onRequestToken(); |
Renew the Token | public int renewChannelKey(const char* channelKey); |
virtual int renewToken(const char* token) = 0; |
For more information on Token migration and use guide, see:
To support scenarios with video rotation and enable better quality for the custom video source, v2.3.2 deprecates the setVideoProfile
method and uses the setVideoEncoderConfiguration
method instead to set the video encoding configurations. You can still use the setVideoProfile
method, but Agora recommends using the setVideoEncoderConfiguration
method to set the video profile.
For more information, see the following documents:
v2.3.2 deprecates the onAudioQuality
callback and replaces it with the onRemoteAudioStats
callback to improve the accuracy of the call quality statistics. The onRemoteAudioStats
callback uses more comprehensive algorithm and is more closely linked to the real user experience.
In addition, v2.3.2 optimizes the algorithm of the last mile network quality of the local user before the user joins a channel, and improves the accuracy of the onLastmileQuality
and the onNetworkQuality
callbacks statistics.
v2.3.2 adds the getConnectionState
method and the onConnectionStateChanged
callback to get the current network connection state and reason for a connection state change, and deprecates the onConnectionInterrupted
and onConnectionBanned
callbacks.
v2.2.0 improves the function of enableAudioVolumeIndication
. The method, once enabled, sends the audio volume indication of the speaker in its callback onAudioVolumeIndication
at set intervals, regardless of whether any one is speaking in the channel
enableLoopbackRecording
API to enable Local audio recoding.setLocalVoiceEqualization
and the setLocalVoiceReverb
APIs to enable voice equalization and reverberation respectively.addInjectStreamUrl
API to enble adding a voice or video stream HTTP/HTTPS URL address to the interactive live streaming.getEffectsVolume
: Retrieves the volume of the audio effects.setEffectsVolume
: Sets the volume of the audio effects.setVolumeofEffect
: Sets the volume of a specified audio effect.playEffect
: Plays a specified audio effect.stopEffect
: Stops playing a specified audio effect.stopAllEffects
: Stops playing all audio effects.preloadEffect
: Preloads a specified audio effect file into the memory.unloadEffect
: Releases a specified preloaded audio effect from the memory.pauseEffect
: Pauses a specified audio effect.pauseAllEffects
: Pauses all audio effects.resumeEffect
: Resumes playing a specified audio effect.resumeAllEffects
: Resumes playing all audio effects.onRemoteVideoStateChanged
to get the remote video state.addVideoWatermark
API and watermark
of the setLiveTranscoding
API to enable adding a PNG file to the local or Media Push as a watermark respectively.setExternalVideoSource
and the pushVideoFrame
APIs to enable external video data (Push Mode).setExternalAudioSink
and the pullAudioFrame
APIs to enable external audio sink (Pull Mode).adjustAudioMixingPlayoutVolume
and the adjustAudioMixingPublishVolume
APIs to enable independent audio mixing volume adjustments for local playback and remote publishing respectively.setLocalPublishFallbackOption
: Sets the fallback option for the locally published video stream based on the network conditions.setRemoteSubscribeFallbackOption
: Sets the fallback option for the remotely subscribed stream based on the network conditions.onLocalPublishFallbackToAudioOnly
: Occurs when the locally published media stream falls back to an audio-only stream due to poor network conditions or switches back to the video after the network conditions improve.onRemoteSubscribeFallbackToAudioOnly
: Occurs when the remotely subscribed media stream falls back to audio-only due to poor network conditions or switches back to the video after the network conditions improve.onRemoteAudioTransportStats
and the onRemoteVideoTransportStats
callbacks to enable upstream and downstream statistics of each remote user/host.