|
Agora C++ API Reference for All Platforms
|
Namespaces | |
| namespace | protocol |
Typedefs | |
| using | PipelineBuilder = std::shared_ptr<webrtc::Call> |
| using | WeakPipelineBuilder = std::weak_ptr<webrtc::Call> |
| template<typename T> | |
| using | ExtRefCountedObject = agora::RefCountedObject<T, ExtProviderDeleter> |
| using | StreamsFecStatsMap = std::map<uint8_t, std::pair<uint16_t, uint32_t>> |
| using | SharedSAudioFrame = std::shared_ptr<SAudioFrame> |
| template<typename STATE_TYPE, typename REASON_TYPE> | |
| using | StateEvent = std::pair<uint64_t, std::pair<STATE_TYPE, REASON_TYPE>> |
| template<typename STATE_TYPE, typename REASON_TYPE> | |
| using | StateEvents = std::vector<StateEvent<STATE_TYPE, REASON_TYPE>> |
| using | CameraInfoList = std::vector<CameraInfo> |
| typedef int32_t | VideoSourceType |
| typedef struct agora::rtc::RtcImage | RtcImage |
| typedef unsigned int | uid_t |
| typedef unsigned int | track_id_t |
| typedef unsigned int | conn_id_t |
| typedef unsigned int | video_track_id_t |
| using | RtcEngineReleaseCallback = void(*)() |
Functions | |
| template<typename T> | |
| static T | MinPositive (T a, T b) |
| template<typename T> | |
| static void | SetFrom (Optional< T > *s, const Optional< T > &o) |
| template<typename T> | |
| static void | ReplaceBy (Optional< T > *s, const Optional< T > &o) |
| AGORA_API bool AGORA_CALL | decode_sei_layout (const void *data, unsigned size, layout_info *layout) |
| AGORA_API agora::rtc::IRtcEngineInternal *AGORA_CALL | getInternalAgoraRtcEngine () |
Variables | |
| static const int | kNoSourceValidForDownlink = -1379 |
| const std::string | AUDIO_PIPELINE_POS_RECORD_ORIGIN |
| const std::string | AUDIO_PIPELINE_POS_APM |
| const std::string | AUDIO_PIPELINE_POS_PRE_SEND_PROC |
| const std::string | AUDIO_PIPELINE_POS_ENC |
| const std::string | AUDIO_PIPELINE_POS_TX_MIXER |
| const std::string | AUDIO_PIPELINE_POS_AT_RECORD |
| const std::string | AUDIO_PIPELINE_POS_ATW_RECORD |
| const std::string | AUDIO_PIPELINE_POS_DEC |
| const std::string | AUDIO_PIPELINE_POS_PLAY |
| const std::string | AUDIO_PIPELINE_POS_RX_MIXER |
| const std::string | AUDIO_PIPELINE_POS_PLAYBACK_MIXER |
| const std::string | AUDIO_PIPELINE_POS_PCM_SOURCE_PLAYBAC_MIXER |
| const std::string | AUDIO_PIPELINE_POS_PRE_PLAY_PROC |
| const std::string | AUDIO_PIPELINE_POS_AT_PLAYOUT |
| const std::string | AUDIO_PIPELINE_POS_ATW_PLAYOUT |
| const int64_t | AUDIO_FRAME_DUMP_MIN_DURATION_MS = 0 |
| const int64_t | AUDIO_FRAME_DUMP_MAX_DURATION_MS = 150000 |
| static const uint8_t | kVideoEngineFlagHasIntraRequest = 0x10 |
| static const uint8_t | kVideoEngineFlagStdCodec = 0x8 |
| static const uint8_t | kVideoEngineFlagNasa = 0x40 |
| static const uint8_t | kVideoEngineFlagScalableDelta = 0x80 |
| static const uint8_t | kVideoEngineFlagMajorStreamOnly = 0x01 |
| static const uint8_t | kAgoraHeaderLength = 3 |
| static const uint8_t | kAgoraAudioExtendLength = 5 |
| static const uint8_t | AUDIO_MEDIA_PACKET_PAYLOAD_TYPE = 127 |
| static const char *const | BUILT_IN_SOURCE_FILTER = "built-in-source-filter" |
| static const char *const | BUILT_IN_METADATA_OBSERVER = "built-in-metadata-observer" |
| static const char *const | BUILT_IN_ADAPTER = "built-in-adapter" |
| static const char *const | BUILT_IN_REMOTE_ADAPTER = "built-in-remote-adapter" |
| static const char *const | BUILT_IN_PRE_ENCODER_WATERMARK_FILTER = "built-in-pre-encoder-watermarker" |
| static const char *const | BUILT_IN_POST_CAPTURER_WATERMARK_FILTER = "built-in-post-capturer-watermarker" |
| static const char *const | BUILT_IN_PRE_ENCODER_FACEDETECE_FILTER = "built-in-pre-encoder-facedetect" |
| static const char *const | BUILT_IN_SOURCE_TEE = "built-in-source-tee" |
| static const char *const | BUILT_IN_PREVIEW_TEE = "built-in-preview-tee" |
| static const char *const | BUILT_IN_MAJOR_TEE = "built-in-major-tee" |
| static const char *const | BUILT_IN_SIMULCAST_TEE = "built-in-simulcast-tee" |
| static const char *const | BUILT_IN_MINOR_ADAPTER = "built-in-minor-adapter" |
| static const char *const | BUILT_IN_POST_CAPTURER_FILTER_OBSERVER = "built-in-post-capturer-filter-observer" |
| static const char *const | BUILT_IN_PRE_ENCODER_FILTER_OBSERVER = "built-in-pre-encoder-filter-observer" |
| static const char *const | BUILT_IN_POST_CAPTURER_FILTER_FRAME_OBSERVER = "CaptureFilterModeObserver" |
| static const char *const | BUILT_IN_PRE_ENCODER_FILTER_FRAME_OBSERVER = "PreEncoderFilterModeObserver" |
| static const char *const | BUILT_IN_STITCH_FRAME = "built-in-stitch-frame" |
| static const char *const | BUILT_IN_SCREEN_CAPTURE_FILTER = "built-in-screen-capture-filter" |
| static const char *const | GLFW_RESOURCE = "glfw_resource" |
| static const int | kAdmMaxDeviceNameSize = 128 |
| static const int | kAdmMaxGuidSize = 128 |
| static const int | kIntervalInMillseconds = 200 |
| static const int | kDeviceIdSize = 128 |
| static const int | kVdmMaxDeviceSize = 260 |
| OPTIONAL_ENUM_CLASS | VideoFrameMetaDataType |
| OPTIONAL_ENUM_CLASS | VideoFrameGravityRotation |
| const int | STANDARD_BITRATE = 0 |
| const int | COMPATIBLE_BITRATE = -1 |
| const int | DEFAULT_MIN_BITRATE = -1 |
| const int | DEFAULT_MIN_BITRATE_EQUAL_TO_TARGET_BITRATE = -2 |
| static const unsigned int | INVALID_TRACK_ID = 0xffffffff |
| static const unsigned int | DEFAULT_CONNECTION_ID = 0 |
| static const unsigned int | DUMMY_CONNECTION_ID = (std::numeric_limits<unsigned int>::max)() |
| using agora::rtc::PipelineBuilder = std::shared_ptr<webrtc::Call> |
| using agora::rtc::WeakPipelineBuilder = std::weak_ptr<webrtc::Call> |
| using agora::rtc::ExtRefCountedObject = agora::RefCountedObject<T, ExtProviderDeleter> |
| using agora::rtc::StreamsFecStatsMap = std::map<uint8_t, std::pair<uint16_t, uint32_t>> |
| using agora::rtc::SharedSAudioFrame = std::shared_ptr<SAudioFrame> |
| using agora::rtc::StateEvent = std::pair<uint64_t, std::pair<STATE_TYPE, REASON_TYPE>> |
| using agora::rtc::StateEvents = std::vector<StateEvent<STATE_TYPE, REASON_TYPE>> |
| using agora::rtc::CameraInfoList = std::vector<CameraInfo> |
| typedef int32_t agora::rtc::VideoSourceType |
| typedef struct agora::rtc::RtcImage agora::rtc::RtcImage |
Image properties.
This class sets the properties of the watermark and background images in the live video.
| typedef unsigned int agora::rtc::uid_t |
| typedef unsigned int agora::rtc::track_id_t |
| typedef unsigned int agora::rtc::conn_id_t |
| typedef unsigned int agora::rtc::video_track_id_t |
| using agora::rtc::RtcEngineReleaseCallback = void(*)() |
Callback triggered when IRtcEngine is released.
This callback is triggered when the release method is called to asynchronously release the IRtcEngine object. Call timing: This callback is triggered when the release method is called to asynchronously release the IRtcEngine object.
|
strong |
ADM Android mode
|
strong |
The connection state between the SDK and the RTMP server.
| Enumerator | |
|---|---|
| STATE_DISCONNECTED | 1: The SDK is disconnected from the RTMP server. This is the initial state when an RTMP Connetion is created by the createRtmpConnection method. The RTMP Connection also enters this state if you call the disconnect method when the SDK is in the STATE_CONNECTING(2), STATE_CONNECTED(3), STATE_RECONNECTING(4) or STATE_FAILED(5) state. |
| STATE_CONNECTING | 2: The SDK is connecting to the RTMP server. The SDK goes to this state after you call the connect method, indicating that the SDK is in the process of establishing a connection to the RTMP server. Once successfully connected, it enters the STATE_CONNECTED(3) state. If the SDK fails to connect to RTMP server, the SDK goes to STATE_FAILED(5). |
| STATE_CONNECTED | 3: The SDK is connected to the RTMP server. This state indicates that the SDK has established a connection to the RTMP server, and you can publish media streams through this connection. Once the connection is interrupted, for example, due to network deterioration or network type change, the SDK tries to reconnect to the RTMP server and enters the STATE_RECONNECTING(4) state. |
| STATE_RECONNECTING | 4: The SDK is reconnecting to the RTMP server. This state indicates that the connection is interrupted by some network issue. The SDK keeps trying connecting to the server. If the SDK fails to reconnect, the SDK goes to STATE_FAILED(5). |
| STATE_FAILED | 5: The SDK fails to connect to the RTMP server. In this state, SDK stops connecting to the server. Call the
|
| STATE_RECONNECTED | 6: The SDK is reconnected to the RTMP server. This state indicates that the connection is interrupted by some network issue. The SDK keeps trying connecting to the server. If the SDK reconnected to server, the SDK goes to STATE_RECONNECTED(6). |
Reasons for a user being offline.
The interface class.
| Enumerator | |
|---|---|
| AGORA_IID_AUDIO_DEVICE_MANAGER | 1: The |
| AGORA_IID_VIDEO_DEVICE_MANAGER | 2: The |
| AGORA_IID_PARAMETER_ENGINE | This interface class is deprecated. |
| AGORA_IID_MEDIA_ENGINE | 4: The |
| AGORA_IID_AUDIO_ENGINE | |
| AGORA_IID_VIDEO_ENGINE | |
| AGORA_IID_RTC_CONNECTION | |
| AGORA_IID_SIGNALING_ENGINE | This interface class is deprecated. |
| AGORA_IID_MEDIA_ENGINE_REGULATOR | |
| AGORA_IID_LOCAL_SPATIAL_AUDIO | |
| AGORA_IID_STATE_SYNC | |
| AGORA_IID_META_SERVICE | |
| AGORA_IID_MUSIC_CONTENT_CENTER | |
| AGORA_IID_H265_TRANSCODER | |
Network quality types.
| Enumerator | |
|---|---|
| __deprecated | 0: The network quality is unknown.
3: The request is timed out. Agora recommends you prompt the user to check the network connection and try to switch their user role again.
4: The SDK is disconnected from the Agora edge server. You can troubleshoot the failure through the
|
| QUALITY_EXCELLENT | 1: The network quality is excellent. |
| QUALITY_GOOD | 2: The network quality is quite good, but the bitrate may be slightly lower than excellent. |
| QUALITY_POOR | 3: Users can feel the communication is slightly impaired. |
| QUALITY_BAD | 4: Users cannot communicate smoothly. |
| QUALITY_VBAD | 5: The quality is so bad that users can barely communicate. |
| QUALITY_DOWN | 6: The network is down and users cannot communicate at all. |
| QUALITY_UNSUPPORTED | 7: (For future use) The network quality cannot be detected. |
| QUALITY_DETECTING | 8: The last-mile network probe test is in progress. |
Content fit modes.
Video output orientation mode.
Video degradation preferences when the bandwidth is a constraint.
The highest frame rate supported by the screen sharing device.
The level of the codec capability.
Video codec types.
| Enumerator | |
|---|---|
| VIDEO_CODEC_NONE | 0: (Default) Unspecified codec format. The SDK automatically matches the appropriate codec format based on the current video stream's resolution and device performance. |
| VIDEO_CODEC_VP8 | 1: Standard VP8. |
| VIDEO_CODEC_H264 | 2: Standard H.264. |
| VIDEO_CODEC_H265 | 3: Standard H.265. |
| VIDEO_CODEC_GENERIC | 6: Generic. This type is used for transmitting raw video data, such as encrypted video frames. The SDK returns this type of video frames in callbacks, and you need to decode and render the frames yourself. |
| VIDEO_CODEC_GENERIC_H264 | 7: Generic H264.
|
| VIDEO_CODEC_AV1 | 12: AV1. @technical preview |
| VIDEO_CODEC_VP9 | 13: VP9. |
| VIDEO_CODEC_GENERIC_JPEG | 20: Generic JPEG. This type consumes minimum computing resources and applies to IoT devices. |
The camera focal length types.
| enum agora::rtc::TCcMode |
The codec type of audio.
Audio encoding type.
The adaptation mode of the watermark.
| Enumerator | |
|---|---|
| FIT_MODE_COVER_POSITION | 0: Use the |
| FIT_MODE_USE_IMAGE_RATIO | 1: Use the value you set in |
The type of video streams.
Compression preference for video encoding.
Video encoder preference.
Video mirror mode.
The bit mask of the codec type.
The mode in which the video stream is sent.
Type of watermark source.
The transmission mode of data over multiple network paths.
Quality change of the local video in terms of target frame rate and target bit rate since last count.
Reasons why the QoE of the local user when receiving a remote audio stream is poor.
AI noise suppression modes.
The audio profile.
| Enumerator | |
|---|---|
| AUDIO_PROFILE_DEFAULT | 0: The default audio profile.
|
| AUDIO_PROFILE_SPEECH_STANDARD | 1: A sample rate of 32 kHz, audio encoding, mono, and a bitrate of up to 18 Kbps. |
| AUDIO_PROFILE_MUSIC_STANDARD | 2: A sample rate of 48 kHz, music encoding, mono, and a bitrate of up to 64 Kbps. |
| AUDIO_PROFILE_MUSIC_STANDARD_STEREO | 3: A sample rate of 48 kHz, music encoding, stereo, and a bitrate of up to 80 Kbps. To implement stereo audio, you also need to call |
| AUDIO_PROFILE_MUSIC_HIGH_QUALITY | 4: A sample rate of 48 kHz, music encoding, mono, and a bitrate of up to 96 Kbps. |
| AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO | 5: A sample rate of 48 kHz, music encoding, stereo, and a bitrate of up to 128 Kbps. To implement stereo audio, you also need to call |
| AUDIO_PROFILE_IOT | 6: A sample rate of 16 kHz, audio encoding, mono, and Acoustic Echo Cancellation (AEC) enabled. |
| AUDIO_PROFILE_NUM | Enumerator boundary. |
The audio scenarios.
The content hint for screen sharing.
The screen sharing scenario.
The video application scenarios.
| Enumerator | |
|---|---|
| APPLICATION_SCENARIO_GENERAL | 0: (Default) The general scenario. |
| APPLICATION_SCENARIO_MEETING | 1: The meeting scenario.
|
| APPLICATION_SCENARIO_1V1 | 2: 1v1 video call scenario.
|
| APPLICATION_SCENARIO_LIVESHOW |
|
The video QoE preference type.
The brightness level of the video image captured by the local camera.
Camera stabilization modes.
The camera stabilization effect increases in the order of 1 < 2 < 3, and the latency will also increase accordingly.
The state of the local audio.
Reasons for local audio state changes.
Local video state types.
The local video event type.
Reasons for local video state changes.
Remote audio states.
The reason for the remote audio state change.
The state of the remote video stream.
The reason for the remote video state change.
The remote user state information.
The downscale level of the remote video stream . The higher the downscale level, the more the video downscales.
Video codec profile types.
States of the Media Push.
Reasons for changes in the status of RTMP or RTMPS streaming.
Events during the Media Push.
Connection states.
| Enumerator | |
|---|---|
| CONNECTION_STATE_DISCONNECTED | 1: The SDK is disconnected from the Agora edge server. The state indicates the SDK is in one of the following phases:
|
| CONNECTION_STATE_CONNECTING | 2: The SDK is connecting to the Agora edge server. This state indicates that the SDK is establishing a connection with the specified channel after the app calls
|
| CONNECTION_STATE_CONNECTED | 3: The SDK is connected to the Agora edge server. This state also indicates that the user has joined a channel and can now publish or subscribe to a media stream in the channel. If the connection to the channel is lost because, for example, if the network is down or switched, the SDK automatically tries to reconnect and triggers |
| CONNECTION_STATE_RECONNECTING | 4: The SDK keeps reconnecting to the Agora edge server. The SDK keeps rejoining the channel after being disconnected from a joined channel because of network issues.
|
| CONNECTION_STATE_FAILED | 5: The SDK fails to connect to the Agora edge server or join the channel. This state indicates that the SDK stops trying to rejoin the channel. You must call
|
The error code of the local video mixing failure.
The status of the last-mile probe test.
Reasons causing the change of the connection state.
| Enumerator | |
|---|---|
| CONNECTION_CHANGED_CONNECTING | 0: The SDK is connecting to the Agora edge server. |
| CONNECTION_CHANGED_JOIN_SUCCESS | 1: The SDK has joined the channel successfully. |
| CONNECTION_CHANGED_INTERRUPTED | 2: The connection between the SDK and the Agora edge server is interrupted. |
| CONNECTION_CHANGED_BANNED_BY_SERVER | 3: The connection between the SDK and the Agora edge server is banned by the Agora edge server. For example, when a user is kicked out of the channel, this status will be returned. |
| CONNECTION_CHANGED_JOIN_FAILED | 4: The SDK fails to join the channel. When the SDK fails to join the channel for more than 20 minutes, this code will be returned and the SDK stops reconnecting to the channel. You need to prompt the user to try to switch to another network and rejoin the channel. |
| CONNECTION_CHANGED_LEAVE_CHANNEL | 5: The SDK has left the channel. |
| CONNECTION_CHANGED_INVALID_APP_ID | 6: The App ID is invalid. You need to rejoin the channel with a valid APP ID and make sure the App ID you are using is consistent with the one generated in the Agora Console. |
| CONNECTION_CHANGED_INVALID_CHANNEL_NAME | 7: Invalid channel name. Rejoin the channel with a valid channel name. A valid channel name is a string of up to 64 bytes in length. Supported characters (89 characters in total):
|
| CONNECTION_CHANGED_INVALID_TOKEN | 8: Invalid token. Possible reasons are as follows:
|
| CONNECTION_CHANGED_TOKEN_EXPIRED | 9: The token currently being used has expired. You need to generate a new token on your server and rejoin the channel with the new token. |
| CONNECTION_CHANGED_REJECTED_BY_SERVER | 10: The connection is rejected by server. Possible reasons are as follows:
|
| CONNECTION_CHANGED_SETTING_PROXY_SERVER | 11: The connection state changed to reconnecting because the SDK has set a proxy server. |
| CONNECTION_CHANGED_RENEW_TOKEN | 12: The connection state changed because the token is renewed. |
| CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED | 13: Client IP address changed. If you receive this code multiple times, You need to prompt the user to switch networks and try joining the channel again. |
| CONNECTION_CHANGED_KEEP_ALIVE_TIMEOUT | 14: Timeout for the keep-alive of the connection between the SDK and the Agora edge server. The SDK tries to reconnect to the server automatically. |
| CONNECTION_CHANGED_REJOIN_SUCCESS | 15: The user has rejoined the channel successfully. |
| CONNECTION_CHANGED_LOST | 16: The connection between the SDK and the server is lost. |
| CONNECTION_CHANGED_ECHO_TEST | 17: The connection state changes due to the echo test. |
| CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED_BY_USER | 18: The local IP address was changed by the user. |
| CONNECTION_CHANGED_SAME_UID_LOGIN | 19: The user joined the same channel from different devices with the same UID. |
| CONNECTION_CHANGED_TOO_MANY_BROADCASTERS | 20: The number of hosts in the channel has reached the upper limit. |
| CONNECTION_CHANGED_LICENSE_VALIDATION_FAILURE | 21: The connection is failed due to license validation failure. |
| CONNECTION_CHANGED_CERTIFICATION_VERYFY_FAILURE | |
| CONNECTION_CHANGED_STREAM_CHANNEL_NOT_AVAILABLE | 23: The connection is failed due to the lack of granting permission to the stream channel. |
| CONNECTION_CHANGED_INCONSISTENT_APPID | 24: The connection is failed due to join channel with an inconsistent appid. |
The reason for a user role switch failure.
| Enumerator | |
|---|---|
| CLIENT_ROLE_CHANGE_FAILED_TOO_MANY_BROADCASTERS | 1: The number of hosts in the channel exceeds the limit.
|
| CLIENT_ROLE_CHANGE_FAILED_NOT_AUTHORIZED | 2: The request is rejected by the Agora server. Agora recommends you prompt the user to try to switch their user role again. |
| __deprecated | 0: The network quality is unknown.
3: The request is timed out. Agora recommends you prompt the user to check the network connection and try to switch their user role again.
4: The SDK is disconnected from the Agora edge server. You can troubleshoot the failure through the
|
| __deprecated | 0: The network quality is unknown.
3: The request is timed out. Agora recommends you prompt the user to check the network connection and try to switch their user role again.
4: The SDK is disconnected from the Agora edge server. You can troubleshoot the failure through the
|
Network type.
Setting mode of the view.
The type of the audio track.
| Enumerator | |
|---|---|
| AUDIO_TRACK_INVALID | -1: Invalid audio track |
| AUDIO_TRACK_MIXABLE | 0: Mixable audio tracks. This type of audio track supports mixing with other audio streams (such as audio streams captured by microphone) and playing locally or publishing to channels after mixing. The latency of mixable audio tracks is higher than that of direct audio tracks. |
| AUDIO_TRACK_DIRECT | 1: Direct audio tracks. This type of audio track will replace the audio streams captured by the microphone and does not support mixing with other audio streams. The latency of direct audio tracks is lower than that of mixable audio tracks.
|
The options for SDK preset voice beautifier effects.
Preset local voice reverberation options. bitmap allocation:
| bit31 | bit30 - bit24 | bit23 - bit16 | bit15 - bit8 | bit7 - bit0 |
|---|---|---|---|---|
| reserved | 0x1: voice beauty | 0x1: chat beautification | effect types | effect settings |
| 0x2: singing beautification | ||||
| 0x3: timbre transform | ||||
| 0x4: ultra high_quality | ||||
| -----------------— | --------------------------— | |||
| 0x2: audio effect | 0x1: space construction | |||
| 0x2: voice changer effect | ||||
| 0x3: style transform | ||||
| 0x4: electronic sound | ||||
| 0x5: magic tone | ||||
| -----------------— | --------------------------— | |||
| 0x3: voice changer | 0x1: voice transform |
Preset audio effects.
To get better audio effects, Agora recommends calling setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) and setting the profile parameter as recommended below before using the preset audio effects.
| Preset audio effects | profile |
|---|---|
| - ROOM_ACOUSTICS_VIRTUAL_STEREO - ROOM_ACOUSTICS_3D_VOICE - ROOM_ACOUSTICS_VIRTUAL_SURROUND_SOUND | AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO or AUDIO_PROFILE_MUSIC_STANDARD_STEREO |
Other preset audio effects (except for AUDIO_EFFECT_OFF ) | AUDIO_PROFILE_MUSIC_HIGH_QUALITY or AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO |
The options for SDK preset voice conversion effects.
Voice AI tuner sound types.
Recording quality.
Audio profile.
The error code of the channel media relay.
| Enumerator | |
|---|---|
| RELAY_OK | 0: No error. |
| RELAY_ERROR_SERVER_ERROR_RESPONSE | 1: An error occurs in the server response. |
| RELAY_ERROR_SERVER_NO_RESPONSE | 2: No server response. This error may be caused by poor network connections. If this error occurs when initiating a channel media relay, you can try again later; if this error occurs during channel media relay, you can call |
| RELAY_ERROR_NO_RESOURCE_AVAILABLE | 3: The SDK fails to access the service, probably due to limited resources of the server. |
| RELAY_ERROR_FAILED_JOIN_SRC | 4: Fails to send the relay request. |
| RELAY_ERROR_FAILED_JOIN_DEST | 5: Fails to accept the relay request. |
| RELAY_ERROR_FAILED_PACKET_RECEIVED_FROM_SRC | 6: The server fails to receive the media stream. |
| RELAY_ERROR_FAILED_PACKET_SENT_TO_DEST | 7: The server fails to send the media stream. |
| RELAY_ERROR_SERVER_CONNECTION_LOST | 8: The SDK disconnects from the server due to poor network connections. You can call |
| RELAY_ERROR_INTERNAL_ERROR | 9: An internal error occurs in the server. |
| RELAY_ERROR_SRC_TOKEN_EXPIRED | 10: The token of the source channel has expired. |
| RELAY_ERROR_DEST_TOKEN_EXPIRED | 11: The token of the destination channel has expired. |
The state code of the channel media relay.
The built-in encryption mode.
Agora recommends using AES_128_GCM2 or AES_256_GCM2 encrypted mode. These two modes support the use of salt for higher security.
Encryption error type.
Represents the error codes after calling renewToken.
The subscribing state.
The publishing state.
The audio filter types of in-ear monitoring.
Reliable Data Transmission Tunnel message stream type.
@technical preview
| enum agora::rtc::RdtState |
Reliable Data Transmission tunnel state.
@technical preview
The type of the video source.
The audio source type.
The type of the audio route.
The use mode of the audio data.
The error code of streaming source.
The state machine of Streaming Source.
The result of IH265Transcoder interface invoking.
Media device types.
The playback state of the music file.
The reason why the playback state of the music file changes. Reported in the onAudioMixingStateChanged callback.
The status of importing an external video stream in a live broadcast.
The midrange frequency for audio equalization.
Audio reverberation types.
Options for handling audio and video stream fallback when network conditions are weak.
| Enumerator | |
|---|---|
| STREAM_FALLBACK_OPTION_DISABLED | 0: No fallback processing is performed on audio and video streams, the quality of the audio and video streams cannot be guaranteed. |
| STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW | 1: Only receive low-quality (low resolution, low bitrate) video stream. |
| STREAM_FALLBACK_OPTION_AUDIO_ONLY | 2: When the network conditions are weak, try to receive the low-quality video stream first. If the video cannot be displayed due to extremely weak network environment, then fall back to receiving audio-only stream. |
| STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_1 | 3~8: If the receiver SDK uses RtcEngineParameters::setRemoteSubscribeFallbackOption,it will receive one of the streams from agora::rtc::VIDEO_STREAM_LAYER_1 to agora::rtc::VIDEO_STREAM_LAYER_6 if the related layer exists when the network condition is poor. The lower bound of fallback depends on the STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_X. |
| STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_2 | |
| STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_3 | |
| STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_4 | |
| STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_5 | |
| STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_6 | |
Lifecycle of the CDN live video stream.
The cloud proxy type.
The type of the shared target. Set in ScreenCaptureSourceInfo.
The cloud proxy type.
Reasons for the changes in CDN streaming status.
The current CDN streaming state.
Media device states.
|
strong |
| enum agora::rtc::APP_TYPE |
The development type of app
|
strong |
|
static |
|
static |
|
static |
| AGORA_API bool AGORA_CALL agora::rtc::decode_sei_layout | ( | const void * | data, |
| unsigned | size, | ||
| layout_info * | layout ) |
| AGORA_API agora::rtc::IRtcEngineInternal *AGORA_CALL agora::rtc::getInternalAgoraRtcEngine | ( | ) |
|
static |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
| const int64_t agora::rtc::AUDIO_FRAME_DUMP_MIN_DURATION_MS = 0 |
| const int64_t agora::rtc::AUDIO_FRAME_DUMP_MAX_DURATION_MS = 150000 |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
The maximum size of the device name and ID.
| OPTIONAL_ENUM_CLASS agora::rtc::VideoFrameMetaDataType |
| OPTIONAL_ENUM_CLASS agora::rtc::VideoFrameGravityRotation |
| const int agora::rtc::STANDARD_BITRATE = 0 |
(Recommended) 0: Standard bitrate mode.
In this mode, the video bitrate is twice the base bitrate.
| const int agora::rtc::COMPATIBLE_BITRATE = -1 |
-1: Compatible bitrate mode.
In this mode, the video bitrate is the same as the base bitrate.. If you choose this mode in the live-broadcast profile, the video frame rate may be lower than the set value.
| const int agora::rtc::DEFAULT_MIN_BITRATE = -1 |
-1: (For future use) The default minimum bitrate.
| const int agora::rtc::DEFAULT_MIN_BITRATE_EQUAL_TO_TARGET_BITRATE = -2 |
-2: (For future use) Set minimum bitrate the same as target bitrate.
|
static |
|
static |
|
static |