Note: Please update this file for every Agora API change you do. Simply fill in your updates in the Working section below.
Agora High Level APIs (Working)
API (yyyy-mm-dd)
Purpose of this change
API file name #1
Add: Short description
Modified: Short description
- Changes Foo() to Foo1()
- Changes Bar() to Bar1()
Deleted: Short description
API (2021-08-05)
Add a non-const version of operator->
Add:
- T* Optional::operator->()
API (2021-07-29)
Add types of enum REMOTE_VIDEO_STATE_REASON
Add:
- REMOTE_VIDEO_STATE_REASON_VIDEO_STREAM_TYPE_CHANGE_TO_LOW = 10,
- REMOTE_VIDEO_STATE_REASON_VIDEO_STREAM_TYPE_CHANGE_TO_HIGH = 11,
API (2021-07-20)
Add:
- Add struct BeautyOptions for Beauty Parameter Setting
API (2021-07-19)
Modified:
- onPlaybackAudioFrameBeforeMixing(uid_t uid, AudioFrame& audioFrame) to onPlaybackAudioFrameBeforeMixing(base::user_id_t userId, AudioFrame& audioFrame)
API (2021-07-06)
Modified:
- void onFrame(AudioPcmFrame* frame)
API (2021-06-18)
Add methods for media player source
Add:
- add method muteAudio()
- add method isAudioMuted()
- add method muteVideo()
- add method isVideoMuted()
API (2021-06-15)
Add methods for streaming source interfance and observer
Add:
- add method IMediaStreamingSource::parseMediaInfo()
- add method IMediaStreamingSourceObserver::onOpenDone()
- add method IMediaStreamingSourceObserver::onSeekDone()
API (2021-08-16)
Add:
Delete:
- RtcStats.connectionId
- VideoTrackInfo.connectionId
- TranscodingVideoStream.connectionId
Modified:
- bool onRenderVideoFrame(rtc::uid_t uid, rtc::conn_id_t connectionId, VideoFrame& videoFrame) to bool onRenderVideoFrame(const char* channelId, rtc::uid_t remoteUid, VideoFrame& videoFrame)
API (2021-07-21)
Add:
- add ERR_NO_SERVER_RESOURCES to ERROR_CODE_TYPE
API (2021-07-21)
Add:
- class IAudioFrameObserverBase
- onPlaybackAudioFrameBeforeMixing(base::user_id_t userId, AudioFrame& audioFrame)
API (2021-06-07)
Rename AES-GCM to AES-GCM2
API (2021-07-06)
Add:
- Add AudioRoute::ROUTE_HDMI
- Add AudioRoute::ROUTE_USB
Modified:
- rename ENCRYPTION_MODE::AES_128_GCM to ENCRYPTION_MODE::AES_128_GCM2
- rename ENCRYPTION_MODE::AES_256_GCM to ENCRYPTION_MODE::AES_256_GCM2
API (2020-05-31)
Parse media info from url.
Add:
API (2021-05-25)
adding operator== function for VideoDimensions and SimulcastStreamConfig
Add:
- bool operator==(const VideoDimensions& rhs) const
- bool operator==(const SimulcastStreamConfig& rhs) const
API (2020-05-24)
Support compute audio spectrum.
Modified:
API (2021-05-22)
Modify note of AUDIO_SCENARIO_TYPE::AUDIO_SCENARIO_CHATROOM
Modified:
- note of AUDIO_SCENARIO_TYPE::AUDIO_SCENARIO_CHATROOM
API (2021-06-02)
Add new configurable keys
Add:
- Add new key KEY_RTC_ENABLE_BUILT_IN_MEDIA_ENCRYPTION
API (2020-05-15)
Add new configurable keys
Add:
- Add new key KEY_RTC_AUDIO_INPUT_SAMPLE_RATE
API (2020-05-13)
Support compute audio spectrum.
Modified:
- struct UserAudioSpectrumInfo
- IAudioSpectrumObserver
API (2021-05-12)
Add: Add parameter key KEY_RTC_AUDIO_MAX_TARGET_DELAY
API (2020-05-11)
Support Freeze check on media player based ffmpeg.
Add: Add in definition of MEDIA_PLAYER_EVENT
- PLAYER_EVENT_FREEZE_START
- PLAYER_EVENT_FREEZE_STOP
API (2021-05-10)
Add some protection
Modified:
API (2021-05-06)
Add switches for c++11 features
API (2020-05-05)
Support R/W recording audio frame observer.
Modified: Move in definition of RAW_AUDIO_FRAME_OP_MODE_TYPE
API (2021-05-06)
Delete RemoteVideoStreamInfo and refine DownlinkNetworkInfo.
Deleted:
Modified:
- refine DownlinkNetworkInfo.
API (2020-04-30)
Add new configurable keys
Add:
- Add new key KEY_RTC_AUDIO_OPENSL_MODE
API (2020-04-29)
Add:
- AUDIO_SCENARIO_TYPE::AUDIO_SCENARIO_CHORUS
API (2021-04-30)
Add:
- LOCAL_VIDEO_STREAM_ERROR::LOCAL_VIDEO_STREAM_ERROR_BACKGROUD
- LOCAL_VIDEO_STREAM_ERROR::LOCAL_VIDEO_STREAM_ERROR_MULTIPLE_FOREGROUND_APPS
- LOCAL_VIDEO_STREAM_ERROR::LOCAL_VIDEO_STREAM_ERROR_SYSTEM_PRESSURE
API (2021-04-28)
Add:
- Add field mosValue for struct RemoteAudioStats
API (2021-04-20)
Support AES-GCM encryption for media packet
Add:
- ENCRYPTION_MODE::AES_128_GCM
- ENCRYPTION_MODE::AES_256_GCM
- EncryptionConfig::encryptionKdfSalt
API (2020-04-19)
Add copy assignment for AudioPcmFrame.
Add: Add AudioPcmFrame & operator=(const AudioPcmFrame & src)
API (2020-04-19)
Add audio effect preset enum.
Add: Add VOICE_BEAUTIFIER_PRESET, AUDIO_EFFECT_PRESET, VOICE_CONVERSION_PRESET
API (2021-04-16)
Add:
- Add new struct AudioSpectrumInfo
- Add new interface IAudioSpectrumObserver
API (2021-04-07)
Add:
- add AudioEncodedFrameObserverConfig
- add IAudioEncodedFrameObserver
API (2021-04-15)
Add support for win arm64
Add:
- Add support for win arm64
Deleted:
- ENCRYPTION_MODE::AES_128_XTS
- ENCRYPTION_MODE::AES_128_ECB
- ENCRYPTION_MODE::AES_256_XTS
API (2021-04-15)
add chatroom audio scenario
Deleted:
- Deleted enum AUDIO_SCENARIO_TYPE::AUDIO_SCENARIO_CHATROOM_ENTERTAINMENT
- Deleted enum AUDIO_SCENARIO_TYPE::AUDIO_SCENARIO_EDUCATION
- Deleted enum AUDIO_SCENARIO_TYPE::AUDIO_SCENARIO_SHOWROOM
Modify:
- modify enum AUDIO_SCENARIO_TYPE::AUDIO_SCENARIO_CHATROOM_GAMING to AUDIO_SCENARIO_TYPE::AUDIO_SCENARIO_CHATROOM
API (2021-04-06)
Add:
- Add new interface IVideoEncodedFrameObserver
API (2021-03-31)
Add:
- add interface IMediaStreamingSource
API (2021-03-26)
Add new parameters in ScreenCaptureParameters
Add:
- Add new parameter
bool captureMouseCursor
- Add new parameter
bool windowFocus
API (2021-03-24)
Add:
- add struct EAR_MONITORING_FILTER_TYPE
API file name #2
API (2021-04-22)
Add:
- Add new enum value MEDIA_PLAYER_ERROR::PLAYER_ERROR_NO_PERMISSION
- Add new enum value MEDIA_PLAYER_ERROR::PLAYER_ERROR_INTERRUPTED
API (2020-04-01)
add MEDIA_PLAYER_EVENT enum and api in AgoraMediaPlayerTypes.h
Add:
- add PLAYER_EVENT_BUFFER_LOW and PLAYER_EVENT_BUFFER_RECOVER
Add:
- setPlayerOption
- onPlayBufferUpdated
API (2020-03-26)
modify struct VideoTrackInfo
API (2021-03-25)
Add:
API (2020-03-19)
modify to adapt c++ 11
API (2021-03-11)
Add:
- add err_num : ERR_PCMSEND_FORMAT and ERR_PCMSEND_BUFFEROVERFLOW
API (2021-03-09)
Modify PLAYER_STATE_STOPPED
Modify:
API (2021-03-09)
Add new parameters in ScreenCaptureParameters
Add:
- Add new parameter
view_t *excludeWindowList
- Add new parameter
int excludeWindowCount
API (2021-02-19)
Add VIDEO_CODEC_GENERIC_JPEG enum Add parameter key
Add:
- Add VIDEO_CODEC_GENERIC_JPEG
Add: Add parameter key KEY_RTC_VIDEO_CODEC_TYPE
API (2021-01-28)
Add new configurable keys
Add:
- Add new key KEY_RTC_VIDEO_HW_ENCODER_PROVIDER
API (2021-01-12)
Change definition of bytes_per_sample without channel
Add:
Modified:
- change param type of AudioFrame::bytesPerSample from size_t to enum BYTES_PER_SAMPLE
API (2021-01-21)
Change enum order
Modified:
- Change the order of VIDEO_SOURCE_CUSTOM and VIDEO_SOURCE_MEDIA_PLAYER
API file name #2
API (2021-03-03)
API (2020-12-24)
Add:
- enum MAX_METADATA_SIZE_TYPE
- Add metadata_buffer and metadata_size for struct ExternalVideoFrame
API (2020-12-11)
Modified: getAograCertificateVerifyResult —> getAgoraCertificateVerifyResult
API (2020-12-07)
Add:
- int createAgoraCredential(agora::util::AString &credential);
- int AGORA_CALL getAograCertificateVerifyResult(const char <em>credential_buf, int credential_len, const char *certificate_buf, int certificate_len);
- void setAgoraLicenseCallback(agora::base::LicenseCallback *callback);
- agora::base::LicenseCallback getAgoraLicenseCallback();
Deleted: License's API
- int agora_genCredential(agora::util::AString &credential, const char <em>path)
- int agora_verifyCertificate(const char *cert, const char *path);
- void agora_registerLicenseCallback(agora::base::LicenseCallback callback);
- void agora_unregisterLicenseCallback();
API (2020-12-21)
Add:
- Add enum STREAM_SUBSCRIBE_STATE
- Add enum STREAM_PUBLISH_STATE
API (2020-10-16)
Modify the comments of DEGRADATION_PREFERENCE.
Modify:
- enum DEGRADATION_PREFERENCE
API (2020-10-12)
Add camera direction for configuration.
Add:
- enum CAMERA_DIRECTION
- struct CameraCapturerConfiguration
API (2020-09-28)
Add mirror mode to VideoEncoderConfiguration.
Add:
- Mirror mode (VIDEO_MIRROR_MODE_TYPE) in VideoEncoderConfiguration
API (2020-09-27)
Add mirror mode to VideoCanvas.
Add:
- Mirror mode (VIDEO_MIRROR_MODE_TYPE) in VideoCanvas
API (2021-02-02)
Add DownlinkNetworkInfo and modify NetworkInfo
Add:
- struct DownlinkNetworkInfo
Modified:
- Changes struct NetworkInfo to struct UplinkNetworkInfo
API (2020-09-23)
Add:
- Add VIDEO_SOURCE_MEDIA_PLAYER for enum VIDEO_SOURCE_TYPE
- Add field priv_size for struct VideoCanvas
Add:
- Add onMediaPlayerVideoFrame() member function for IVideoFrameObserver
API (2020-11-25)
Modify REMOTE_VIDEO_STREAM_TYPE.
Add:
Deleted:
- Deleted enum REMOTE_VIDEO_STREAM_TYPE
Modified:
- Changes Add VIDEO_STREAM_TYPE streamType to EncodedVideoFrameInfo
API (2020-11-24)
Add tx/rxPacketLossRate in RtcStats.
Add:
- RtcStats::txPacketLossRate
- RtcStats::rxPacketLossRate
API (2020-11-14)
Add:
- MEDIA_PLAYER_STATE::PLAYER_STATE_PLAYBACK_ALL_LOOPS_COMPLETED
API (2020-11-12)
- CHANNEL_PROFILE_TYPE::CHANNEL_PROFILE_LIVE_BROADCASTING2
CHANNEL_PROFILE_TYPE::CHANNEL_PROFILE_LIVE_BROADCASTING2
API (2020-11-09)
Add: License's API
- int agora_genCredential(agora::util::AString &credential, const char <em>path)
- int agora_verifyCertificate(const char *cert, const char *path);
- void agora_registerLicenseCallback(agora::base::LicenseCallback callback);
- void agora_unregisterLicenseCallback();
License's Callback
Modified: License's Error Code Types
- ERR_LICENSE_CREDENTIAL_INVALID = 131,
- ERR_CERT_RAW = 157,
- ERR_CERT_JSON_PART = 158,
- ERR_CERT_JSON_INVAL = 159,
- ERR_CERT_JSON_NOMEM = 160,
- ERR_CERT_CUSTOM = 161,
- ERR_CERT_CREDENTIAL = 162,
- ERR_CERT_SIGN = 163,
- ERR_CERT_FAIL = 164,
- ERR_CERT_BUF = 165,
- ERR_CERT_NULL = 166,
- ERR_CERT_DUEDATE = 167,
- ERR_CERT_REQUEST = 168,
API (2020-09-04)
Modified: Refine AGORA_API definitions to keep aligned with agora_api.h
Modified: Add operator*().
Modified: Add log related constants.
Modified: Change the 'int' parameters to 'int64_t' to keep aligned with the other APIs.
API (2020-09-09)
Modify EncodedVideoFrameInfo.
Modify: Modify EncodedVideoFrameInfo.
- Remove packetizationMode.
API (2020-09-11)
Add enum NETWORK_TYPE.
Add:
API (2020-09-04)
Add more methods to IVideoFrameObserver.
Modified:
- Changes Add getVideoFormatPreference/getRotationApplied/getMirrorApplied to IVideoFrameObserver
API (2020-09-03)
Modified: add members of RtcStats
- packetsBeforeFirstKeyFramePacket
- firstAudioPacketDurationAfterUnmute
- firstVideoPacketDurationAfterUnmute
- firstVideoKeyFramePacketDurationAfterUnmute
- firstVideoKeyFrameDecodedDurationAfterUnmute
- firstVideoKeyFrameRenderedDurationAfterUnmute
API (2020-08-19)
Add: OpenGL type
Add: Video Buffer types
- VIDEO_BUFFER_TYPE::VIDEO_BUFFER_ARRAY
- VIDEO_BUFFER_TYPE::VIDEO_BUFFER_TEXTURE
Add: Texture related parameter
- ExternalVideoFrame::eglContext
- ExternalVideoFrame::eglType
- ExternalVideoFrame::textureId
API (2020-08-14)
Add enum
Add: Add enum
API (2020-08-04)
Add:
- AUDIO_CODEC_TYPE::AUDIO_CODEC_G722
- AUDIO_PROFILE_TYPE::AUDIO_PROFILE_IOT
API (2020-07-29)
Add struct AudioParameters
Rename some fields of struct AudioPcmFrame
API (2020-07-14)
Modify: Change include dir.
API (2020-07-06)
Modify: Change include dir.
API (2020-07-01)
Modify: Remove string UID.
API (2020-06-27)
Make include path correct
API (2020-06-18)
Modify EncodedVideoFrameInfo.
Modify: Modify EncodedVideoFrameInfo.
- Remove packetizationMode.
API (2020-06-17) Change namespace to avoid confliect with media_server_library
Modified: Change namespace
- Changes base::Optional to base_utils::Optional
API (2020-06-17)
Fix header file macro
Add: Add string_value to Optional
Modified:
BASE_OPTIONAL_H_
to AGORA_OPTIONAL_H_
API (2020-05-29)
Updated docs for the following header files:
API (2020-06-22)
Modified:
- setLooping(bool looping) to setLoopCount(int loopCount)
API (2020-06-10)
Add NetworkInfo for feedback to user
Add: Add NetworkInfo
API (2020-06-08)
Add: Add new Api in Media Player
- takeScreenshot()
- selectInternalSubtitle()
- setExternalSubtitle()
API (2020-06-08)
Modified:
- REMOTE_VIDEO_STREAM_STATE rename to REMOTE_VIDEO_STATE
- Changes REMOTE_VIDEO_STATE_PLAYING to REMOTE_VIDEO_STATE_DECODING
REMOTE_VIDEO_STATE_REASON
- REMOTE_VIDEO_STATE_REASON_INTERNAL
- REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION
- REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY
- REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED
- REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED
- REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED
- REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED
- REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE
- REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK
- REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY
API (2020-06-03)
Move IAgoraMediaPlayerSource.h from api2 to here, and add getSourceId() for IMediaPlayerSource
Add:
Add enum MEDIA_PLAYER_SOURCE_TYPE.
API (2020-05-31)
Add:
- Add enum MEDIA_PLAYER_PLAYBACK_SPEED.
IAgoraMeidaPlayerSource.h
Add: Add new Api in Media Player
- changePlaybackSpeed()
- selectAudioTrack()
- setPlayerOption()
AgoraMeidaPlayerTypes.h
Add: Move Media Player related declaration from AgoraMediaBase.h to AgoraMeidaPlayerTypes.h
- enum MEDIA_PLAYER_STATE
- enum MEDIA_PLAYER_ERROR
- enum MEDIA_PLAYER_PLAYBACK_SPEED
- enum MEDIA_STREAM_TYPE
- enum MEDIA_PLAYER_EVENT
- struct MediaStreamInfo
- enum MEDIA_PLAYER_METADATA_TYPE
Delete: Move Media Player related declaration from AgoraMediaBase.h to AgoraMeidaPlayerTypes.h
- enum MEDIA_PLAYER_STATE
- enum MEDIA_PLAYER_ERROR
- enum MEDIA_PLAYER_PLAYBACK_SPEED
- enum MEDIA_STREAM_TYPE
- enum MEDIA_PLAYER_EVENT
- struct MediaStreamInfo
- enum MEDIA_PLAYER_METADATA_TYPE
API (2020-06-09)
Modify PacketOptions.
Modified: Add audioLevelIndication into PacketOptions.
- PacketOptions: Add member audioLevelIndication
API (2020-05-28)
Modify VideoEncoderConfiguration and VIDEO_CODEC_TYPE
Modified:
- Add member enableGenericH264 for VideoEncoderConfiguration
- Add new type VIDEO_CODEC_GENERIC(6) for enum VIDEO_CODEC_TYPE
- Add new type VIDEO_FRAME_TYPE_DROPPABLE_FRAME(6) for enum VIDEO_FRAME_TYPE
API (2020-05-22)
Add:
Add enum VIDEO_OBSERVER_POSITION.
API (2020-05-12)
Add:
Add data member videoRotation in struct MediaStreamInfo.
API (2020-05-12)
Add lastmile and connection state enum
Add: Add lastmile and connection state enum
- enum LASTMILE_PROBE_RESULT_STATE
- struct LastmileProbeOneWayResult
- struct LastmileProbeResult
- struct LastmileProbeConfig
- enum CONNECTION_CHANGED_REASON_TYPE
- struct LastmileProbeConfig
- enum AUDIO_REVERB_PRESET
- struct ScreenCaptureParameters
- enum VOICE_CHANGER_PRESET
API (2020-05-09)
Add: Add AUDIO_SCENARIO_HIGH_DEFINITION for AUDIO_SCENARIO_TYPE
API (2021-05-26)
Add:
Add enum DISABLE to disable VQC to DEGRADATION_PREFERENCE