9#ifndef __AGORA_RTC_API_H__
10#define __AGORA_RTC_API_H__
22#if defined(__BUILDING_AGORA_SDK__)
23#define __agora_api__ __declspec(dllexport)
25#define __agora_api__ __declspec(dllimport)
31#define AGORA_RTC_CHANNEL_NAME_MAX_LEN (64)
32#define AGORA_RTC_PRODUCT_ID_MAX_LEN (63)
33#define AGORA_RTC_USER_ACCOUNT_MAX_LEN (256)
34#define AGORA_RTC_DATA_STREAM_MAX_LEN (1024)
35#define AGORA_RTM_UID_MAX_LEN (64)
36#define AGORA_RTM_DATA_MAX_LEN (31 * 1024)
37#define AGORA_CREDENTIAL_MAX_LEN (256)
38#define AGORA_CERTIFICATE_MAX_LEN (1024)
39#define AGORA_LICENSE_VALUE_LEN (32)
92 ERR_CUSTOM_PACKET_LENGTH_FAILED = 32,
627 AREA_CODE_OC = 0x00000040,
629 AREA_CODE_SA = 0x00000080,
631 AREA_CODE_AF = 0x00000100,
633 AREA_CODE_KR = 0x00000200,
635 AREA_CODE_HKMC = 0x00000400,
637 AREA_CODE_US = 0x00000800,
639 AREA_CODE_RU = 0x00001000,
641 AREA_CODE_OVS = 0xFFFFFFFE,
722#ifdef CONFIG_RTC_STRING_UID
764#ifdef CONFIG_RTC_CRYPT
828 RTC_PACKET_TYPE_AUDIO = 1,
830 RTC_PACKET_TYPE_VIDEO,
836 RTC_PACKET_TYPE_STREAM_MESSAGE,
844 rtc_packet_type_e type;
895 bool enable_audio_ai_qos;
914#ifdef CONFIG_RTC_CRYPT
933 bool enable_lan_accelerate;
940#ifdef CONFIG_RTC_PROXY
950 CLOUD_PROXY_NONE = 0,
962 CLOUD_PROXY_AUTO = 100,
975 NETWORK_EVENT_DOWN = 0,
983 NETWORK_EVENT_CHANGE,
1070#define CONNECTION_ID_ALL ((connection_id_t)0)
1074#define CONNECTION_ID_INVALID ((connection_id_t)-1)
1089#ifdef CONFIG_RTC_STRING_UID
1113typedef struct rtc_stats_s {
1114 uint16_t tx_audio_kbitrate;
1115 uint16_t tx_video_kbitrate;
1116 uint16_t rx_audio_kbitrate;
1117 uint16_t rx_video_kbitrate;
1118 uint16_t tx_video_input_kbitrate;
1119 uint16_t lastmile_delay;
1120 uint16_t user_count;
1121 bool lan_accelerate_state;
1215#ifdef CONFIG_RTC_STRING_UID
1301#ifndef CONFIG_AUDIO_ONLY
1360#ifdef CONFIG_RTC_STRING_UID
1416#ifdef CONFIG_DATA_STREAM
1443 void (*on_packet_incoming)(
connection_id_t conn_id, rtc_packet_info_t *pkt_info);
1452 void (*on_packet_outgoing)(
connection_id_t conn_id, rtc_packet_info_t *pkt_info);
1473#ifdef CONFIG_AHPL_MEM_STAT
1484#ifdef CONFIG_AHPL_MEM_DUMP
1497#ifdef CONFIG_LICENSE
1535 int credential_len);
1623#ifdef CONFIG_RTC_STRING_UID
1682#ifdef CONFIG_RTC_STRING_UID
1713 const char *user_account,
const char *token,
1749extern __agora_api__ int agora_rtc_notify_network_event(network_event_e event);
1764#ifndef CONFIG_AUDIO_ONLY
1792#ifndef CONFIG_AUDIO_ONLY
1838#ifndef CONFIG_AUDIO_ONLY
1866 uint32_t start_bps);
1869#ifdef CONFIG_FEC_ENABLE
1891#ifdef CONFIG_RTC_PROXY
1898extern __agora_api__ int agora_rtc_set_cloud_proxy(cloud_proxy_type_e type);
1937 const void *payload,
size_t length);
1972 const void *msg,
size_t length);
1994#ifdef CONFIG_DATA_STREAM
2123#ifdef CONFIG_RTM_STAT
2128typedef struct rtm_stats_s {
2130 uint32_t connection_lost_cnt;
2131 uint16_t connection_delay_min;
2132 uint16_t connection_delay_max;
2133 uint16_t connection_delay_avg;
2138 uint32_t tx_cnts_received;
2139 uint32_t tx_cnts_unreachable;
2140 uint32_t tx_cnts_timeout;
2142 float tx_ratio_received;
2143 float tx_ratio_unreachable;
2144 float tx_ratio_timeout;
2146 uint16_t tx_delay_min;
2147 uint16_t tx_delay_max;
2148 uint16_t tx_delay_avg;
2157 uint32_t tx_cnts_received;
2158 uint32_t tx_cnts_unreachable;
2159 uint32_t tx_cnts_timeout;
2162 uint32_t tx_kbps_received;
2163 uint32_t tx_kbps_unreachable;
2164 uint32_t tx_kbps_timeout;
2166 float tx_ratio_received;
2167 float tx_ratio_unreachable;
2168 float tx_ratio_timeout;
2170 uint16_t tx_delay_min;
2171 uint16_t tx_delay_max;
2172 uint16_t tx_delay_avg;
2201 void (*
on_rtm_data)(
const char *rtm_uid,
const void *msg,
size_t msg_len);
2212#ifdef CONFIG_RTM_STAT
2218 void (*on_rtm_stats)(rtm_stats_t stats);
__agora_api__ int agora_rtc_send_rdt_msg(connection_id_t conn_id, uint32_t remote_uid, rdt_stream_type_e type, const void *msg, size_t length)
__agora_api__ int agora_rtc_send_video_data(connection_id_t conn_id, const void *data_ptr, size_t data_len, video_frame_info_t *info_ptr)
Send a video frame to all channels OR specific channel. All remote users in the channel will receive ...
__agora_api__ int agora_rtc_fini(void)
__agora_api__ int agora_rtc_send_audio_data(connection_id_t conn_id, const void *data_ptr, size_t data_len, audio_frame_info_t *info_ptr)
Send an audio frame to all channels OR specific channel. All remote users in this channel will receiv...
enum rdt_stream_type rdt_stream_type_e
area_code_e
Definition agora_rtc_api.h:583
@ AREA_CODE_JP
Definition agora_rtc_api.h:607
@ AREA_CODE_GLOB
Definition agora_rtc_api.h:615
@ AREA_CODE_EU
Definition agora_rtc_api.h:599
@ AREA_CODE_CN
Definition agora_rtc_api.h:591
@ AREA_CODE_IN
Definition agora_rtc_api.h:611
@ AREA_CODE_AS
Definition agora_rtc_api.h:603
@ AREA_CODE_NA
Definition agora_rtc_api.h:595
@ AREA_CODE_DEFAULT
Definition agora_rtc_api.h:587
video_data_type_e
Definition agora_rtc_api.h:292
@ VIDEO_DATA_TYPE_YUV420
Definition agora_rtc_api.h:296
@ VIDEO_DATA_TYPE_H264
Definition agora_rtc_api.h:300
@ VIDEO_DATA_TYPE_H265
Definition agora_rtc_api.h:304
@ VIDEO_DATA_TYPE_GENERIC_JPEG
Definition agora_rtc_api.h:312
@ VIDEO_DATA_TYPE_GENERIC
Definition agora_rtc_api.h:308
crypto_mode_e
Definition agora_rtc_api.h:770
@ AES_256_GCM2
Definition agora_rtc_api.h:786
@ AES_128_GCM2
Definition agora_rtc_api.h:784
@ AES_128_GCM
Definition agora_rtc_api.h:780
@ CRYPTO_MODE_END
Definition agora_rtc_api.h:788
@ SM4_128_ECB
Definition agora_rtc_api.h:778
@ AES_256_GCM
Definition agora_rtc_api.h:782
@ AES_128_XTS
Definition agora_rtc_api.h:772
@ AES_128_ECB
Definition agora_rtc_api.h:774
@ AES_256_XTS
Definition agora_rtc_api.h:776
__agora_api__ int agora_rtc_send_rtm_data(const char *rtm_uid, const void *msg, size_t msg_len, uint32_t msg_id)
__agora_api__ int agora_rtc_mute_local_audio(connection_id_t conn_id, bool mute)
rdt_state
Definition agora_rtc_api.h:1011
@ RDT_STATE_BROKEN
Definition agora_rtc_api.h:1033
@ RDT_STATE_CLOSED
Definition agora_rtc_api.h:1015
@ RDT_STATE_OPENED
Definition agora_rtc_api.h:1019
@ RDT_STATE_PENDING
Definition agora_rtc_api.h:1029
@ RDT_STATE_BLOCKED
Definition agora_rtc_api.h:1023
uint16_t video_frame_rate_e
Definition agora_rtc_api.h:337
audio_codec_type_e
Definition agora_rtc_api.h:407
@ AUDIO_CODEC_TYPE_G722
Definition agora_rtc_api.h:419
@ AUDIO_CODEC_TYPE_OPUS
Definition agora_rtc_api.h:415
@ AUDIO_CODEC_TYPE_G711U
Definition agora_rtc_api.h:427
@ AUDIO_CODEC_DISABLED
Definition agora_rtc_api.h:411
@ AUDIO_CODEC_TYPE_G711A
Definition agora_rtc_api.h:423
#define AGORA_RTC_PRODUCT_ID_MAX_LEN
Definition agora_rtc_api.h:32
__agora_api__ int agora_rtc_config_log(int size_per_file, int max_file_count)
Sets the log file configuration.
rdt_stream_type
Definition agora_rtc_api.h:993
@ RDT_STREAM_DATA
Definition agora_rtc_api.h:1001
@ RDT_STREAM_CMD
Definition agora_rtc_api.h:997
@ RDT_STREAM_COUNT
Definition agora_rtc_api.h:1005
__agora_api__ int agora_rtc_set_params(connection_id_t conn_id, const char *params)
__agora_api__ int agora_rtc_mute_local_video(connection_id_t conn_id, bool mute)
#define AGORA_RTC_USER_ACCOUNT_MAX_LEN
Definition agora_rtc_api.h:33
__agora_api__ const char * agora_rtc_err_2_str(int err)
Convert error code to const static string.
__agora_api__ int agora_rtc_login_rtm(const char *rtm_uid, const char *rtm_token, const agora_rtm_handler_t *handler)
struct user_info_s user_info_t
audio_data_type_e
Definition agora_rtc_api.h:433
@ AUDIO_DATA_TYPE_AACLC_8K_2CH
Definition agora_rtc_api.h:477
@ AUDIO_DATA_TYPE_OPUS
Definition agora_rtc_api.h:437
@ AUDIO_DATA_TYPE_PCMA
Definition agora_rtc_api.h:445
@ AUDIO_DATA_TYPE_AACLC_16K_2CH
Definition agora_rtc_api.h:481
@ AUDIO_DATA_TYPE_AACLC1
Definition agora_rtc_api.h:497
@ AUDIO_DATA_TYPE_GENERIC
Definition agora_rtc_api.h:521
@ AUDIO_DATA_TYPE_AACLC1_2CH
Definition agora_rtc_api.h:501
@ AUDIO_DATA_TYPE_OPUSFB_2CH
Definition agora_rtc_api.h:513
@ AUDIO_DATA_TYPE_PCM
Definition agora_rtc_api.h:517
@ AUDIO_DATA_TYPE_HEAAC
Definition agora_rtc_api.h:469
@ AUDIO_DATA_TYPE_HEAAC_2CH
Definition agora_rtc_api.h:489
@ AUDIO_DATA_TYPE_AACLC_2CH
Definition agora_rtc_api.h:485
@ AUDIO_DATA_TYPE_HEAAC2_2CH
Definition agora_rtc_api.h:493
@ AUDIO_DATA_TYPE_HEAAC2
Definition agora_rtc_api.h:473
@ AUDIO_DATA_TYPE_G722
Definition agora_rtc_api.h:453
@ AUDIO_DATA_TYPE_AACLC_8K
Definition agora_rtc_api.h:457
@ AUDIO_DATA_TYPE_UNKNOW
Definition agora_rtc_api.h:525
@ AUDIO_DATA_TYPE_PCMU
Definition agora_rtc_api.h:449
@ AUDIO_DATA_TYPE_HWAAC
Definition agora_rtc_api.h:505
@ AUDIO_DATA_TYPE_AACLC
Definition agora_rtc_api.h:465
@ AUDIO_DATA_TYPE_OPUSSWB
Definition agora_rtc_api.h:509
@ AUDIO_DATA_TYPE_OPUSFB
Definition agora_rtc_api.h:441
@ AUDIO_DATA_TYPE_AACLC_16K
Definition agora_rtc_api.h:461
video_frame_type_e
Definition agora_rtc_api.h:318
@ VIDEO_FRAME_KEY
Definition agora_rtc_api.h:327
@ VIDEO_FRAME_AUTO_DETECT
Definition agora_rtc_api.h:323
@ VIDEO_FRAME_DELTA
Definition agora_rtc_api.h:331
__agora_api__ int agora_rtc_init(const char *app_id, const agora_rtc_event_handler_t *event_handler, rtc_service_option_t *option)
license_err_reason_e
Definition agora_rtc_api.h:244
@ ERR_LICENSE_DIFF_DEVICES
Definition agora_rtc_api.h:264
@ ERR_LICENSE_EXPIRE
Definition agora_rtc_api.h:252
@ ERR_LICENSE_INVALID
Definition agora_rtc_api.h:248
@ ERR_LICENSE_INTERNAL
Definition agora_rtc_api.h:268
@ ERR_LICENSE_MINUTES_EXCEED
Definition agora_rtc_api.h:256
@ ERR_LICENSE_LIMITED_PERIOD
Definition agora_rtc_api.h:260
__agora_api__ int agora_rtc_join_channel_with_user_account(connection_id_t conn_id, const char *channel_name, const char *user_account, const char *token, rtc_channel_options_t *options)
video_stream_type_e
Definition agora_rtc_api.h:342
@ VIDEO_STREAM_HIGH
Definition agora_rtc_api.h:346
@ VIDEO_STREAM_LOW
Definition agora_rtc_api.h:350
__agora_api__ int agora_rtc_set_log_level(rtc_log_level_e level)
rtm_err_code_e
Definition agora_rtc_api.h:2091
@ ERR_RTM_INVALID_RTM_UID
Definition agora_rtc_api.h:2099
@ ERR_RTM_TOKEN_EXPIRED
Definition agora_rtc_api.h:2117
@ ERR_RTM_LOCAL_INTERRUPT
Definition agora_rtc_api.h:2107
@ ERR_RTM_LOGIN_INVALID_TOKEN
Definition agora_rtc_api.h:2101
@ ERR_RTM_LOCAL_TIMEOUT
Definition agora_rtc_api.h:2109
@ ERR_RTM_SERVER_TIMEOUT
Definition agora_rtc_api.h:2111
@ ERR_RTM_INVALID_APP_ID
Definition agora_rtc_api.h:2113
@ ERR_RTM_INVALID_TOKEN
Definition agora_rtc_api.h:2119
@ ERR_RTM_LOGIN_REJECTED
Definition agora_rtc_api.h:2097
@ ERR_RTM_FAILED
Definition agora_rtc_api.h:2095
@ WARN_RTM_LOOKUP_CHANNEL_REJECTED
Definition agora_rtc_api.h:2115
@ ERR_RTM_LOGIN_NOT_AUTHORIZED
Definition agora_rtc_api.h:2103
@ ERR_RTM_OK
Definition agora_rtc_api.h:2093
@ ERR_RTM_LOCAL_NETDOWN
Definition agora_rtc_api.h:2105
__agora_api__ int agora_rtc_get_user_info_by_user_account(connection_id_t conn_id, const char *user_account, user_info_t *user)
#define AGORA_LICENSE_VALUE_LEN
Definition agora_rtc_api.h:39
__agora_api__ int agora_rtc_join_channel(connection_id_t conn_id, const char *channel_name, uint32_t uid, const char *token, rtc_channel_options_t *options)
__agora_api__ int agora_rtc_license_gen_credential(char *credential, unsigned int *credential_len)
__agora_api__ int agora_rtc_request_video_key_frame(connection_id_t conn_id, uint32_t remote_uid, video_stream_type_e stream_type)
__agora_api__ int agora_rtc_get_rdt_status_info(connection_id_t conn_id, uint32_t remote_uid, rdt_status_info_t *info)
__agora_api__ int agora_rtc_send_media_ctrl_msg(connection_id_t conn_id, uint32_t remote_uid, const void *payload, size_t length)
__agora_api__ int agora_rtc_renew_token(connection_id_t conn_id, const char *token)
__agora_api__ int agora_rtc_mute_remote_video(connection_id_t conn_id, uint32_t remote_uid, bool mute)
#define AGORA_RTC_CHANNEL_NAME_MAX_LEN
Definition agora_rtc_api.h:31
__agora_api__ int agora_rtc_mute_remote_audio(connection_id_t conn_id, uint32_t remote_uid, bool mute)
__agora_api__ int agora_rtc_license_verify(const char *certificate, int certificate_len, const char *credential, int credential_len)
__agora_api__ int agora_rtc_leave_channel(connection_id_t conn_id)
__agora_api__ const char * agora_rtc_license_strerror(int err)
__agora_api__ int agora_rtc_get_connection_info(connection_id_t conn_id, connection_info_t *conn_info)
__agora_api__ int agora_rtc_create_data_stream(connection_id_t conn_id, int *stream_id, bool reliable, bool ordered)
struct rdt_status_info rdt_status_info_t
user_offline_reason_e
Definition agora_rtc_api.h:274
@ USER_OFFLINE_DROPPED
Definition agora_rtc_api.h:282
@ USER_OFFLINE_QUIT
Definition agora_rtc_api.h:278
@ USER_OFFLINE_BECOME_AUDIENCE
Definition agora_rtc_api.h:286
rtm_event_type_e
Definition agora_rtc_api.h:2045
@ RTM_EVENT_TYPE_KICKOFF
Definition agora_rtc_api.h:2053
@ RTM_EVENT_TYPE_EXIT
Definition agora_rtc_api.h:2063
@ RTM_EVENT_TYPE_LOGIN
Definition agora_rtc_api.h:2049
__agora_api__ int agora_rtc_logout_rtm(void)
enum rdt_state rdt_state_e
video_orientation_e
Definition agora_rtc_api.h:356
@ VIDEO_ORIENTATION_180
Definition agora_rtc_api.h:368
@ VIDEO_ORIENTATION_0
Definition agora_rtc_api.h:360
@ VIDEO_ORIENTATION_90
Definition agora_rtc_api.h:364
@ VIDEO_ORIENTATION_270
Definition agora_rtc_api.h:372
rtc_log_level_e
Definition agora_rtc_api.h:541
@ RTC_LOG_DEFAULT
Definition agora_rtc_api.h:545
@ RTC_LOG_ALERT
Definition agora_rtc_api.h:553
@ RTC_LOG_WARNING
Definition agora_rtc_api.h:565
@ RTC_LOG_EMERG
Definition agora_rtc_api.h:549
@ RTC_LOG_DEBUG
Definition agora_rtc_api.h:577
@ RTC_LOG_ERROR
Definition agora_rtc_api.h:561
@ RTC_LOG_INFO
Definition agora_rtc_api.h:573
@ RTC_LOG_NOTICE
Definition agora_rtc_api.h:569
@ RTC_LOG_CRIT
Definition agora_rtc_api.h:557
__agora_api__ int agora_rtc_destroy_connection(connection_id_t conn_id)
const char * agora_rtc_get_version(void)
Get SDK version.
#define __agora_api__
Definition agora_rtc_api.h:28
__agora_api__ int agora_rtc_get_user_info_by_uid(connection_id_t conn_id, uint32_t uid, user_info_t *user)
uint32_t connection_id_t
Definition agora_rtc_api.h:1066
__agora_api__ int agora_rtc_create_connection(connection_id_t *conn_id)
__agora_api__ int agora_rtc_set_bwe_param(connection_id_t conn_id, uint32_t min_bps, uint32_t max_bps, uint32_t start_bps)
agora_err_code_e
Definition agora_rtc_api.h:41
@ ERR_RTM_EXCEED_MSG_SIZE
Definition agora_rtc_api.h:232
@ ERR_DATA_STREAM_BITRATE_LIMIT
Definition agora_rtc_api.h:210
@ ERR_ENCRYPTION
Definition agora_rtc_api.h:87
@ ERR_OPEN_CHANNEL_TRY_NEXT_VOS
Definition agora_rtc_api.h:146
@ ERR_INVALID_TOKEN
Definition agora_rtc_api.h:127
@ ERR_INVALID_APP_ID
Definition agora_rtc_api.h:102
@ ERR_RDT_DATA_BLOCKED
Definition agora_rtc_api.h:184
@ ERR_JOIN_CHANNEL_REJECTED
Definition agora_rtc_api.h:78
@ ERR_RTM_SEND_TO_SELF
Definition agora_rtc_api.h:230
@ ERR_AUDIO_INVALID_CODEC_PARAM
Definition agora_rtc_api.h:160
@ ERR_RTM_EXCEED_SND_BUFFER
Definition agora_rtc_api.h:236
@ ERR_LICENSE_VERIFICATION_FAILURE
Definition agora_rtc_api.h:85
@ ERR_TIMEDOUT
Definition agora_rtc_api.h:67
@ ERR_NOT_IN_CHANNEL
Definition agora_rtc_api.h:57
@ ERR_NO_MEMORY
Definition agora_rtc_api.h:69
@ ERR_RDT_USER_NOT_EXIST
Definition agora_rtc_api.h:180
@ ERR_DATA_STREAM_SIZE_TOO_LARGE
Definition agora_rtc_api.h:202
@ ERR_SET_CLIENT_ROLE_NOT_AUTHORIZED
Definition agora_rtc_api.h:134
@ ERR_RTM_HAD_LOGINED
Definition agora_rtc_api.h:228
@ ERR_FAILED
Definition agora_rtc_api.h:49
@ ERR_RDT_USER_NOT_READY
Definition agora_rtc_api.h:182
@ ERR_VIDEO_SEND_OVER_BANDWIDTH_LIMIT
Definition agora_rtc_api.h:170
@ ERR_AUDIO_CODEC_NOT_SUPPORT
Definition agora_rtc_api.h:156
@ ERR_RTM_NOT_LOGINED
Definition agora_rtc_api.h:226
@ ERR_DECRYPTION
Definition agora_rtc_api.h:89
@ ERR_DECRYPTION_FAILED
Definition agora_rtc_api.h:138
@ ERR_NOT_SUPPORTED
Definition agora_rtc_api.h:55
@ ERR_TOO_MANY_DATA_STREAMS
Definition agora_rtc_api.h:198
@ ERR_TOKEN_EXPIRED
Definition agora_rtc_api.h:118
@ ERR_OPEN_CHANNEL_REJECTED
Definition agora_rtc_api.h:110
@ ERR_DATA_STREAM_TIME_OUT
Definition agora_rtc_api.h:218
@ ERR_CALL_FAILED
Definition agora_rtc_api.h:71
@ ERR_OKAY
Definition agora_rtc_api.h:47
@ ERR_OPEN_CHANNEL_INVALID_TICKET
Definition agora_rtc_api.h:142
@ ERR_VIDEO_SEND_PACKETIZE_FAILED
Definition agora_rtc_api.h:172
@ ERR_INVALID_PARAM
Definition agora_rtc_api.h:51
@ ERR_INVALID_STATE
Definition agora_rtc_api.h:53
@ ERR_INVALID_CHANNEL_NAME
Definition agora_rtc_api.h:104
@ ERR_NOT_EXIST_STREAM_ID
Definition agora_rtc_api.h:206
@ ERR_RTM_EXCEED_MSG_CNT
Definition agora_rtc_api.h:234
@ ERR_RDT_DATA_EXCEED_LIMIT
Definition agora_rtc_api.h:188
@ ERR_NO_SERVER_RESOURCES
Definition agora_rtc_api.h:106
@ ERR_AUDIO_INVALID_PCM_LEN
Definition agora_rtc_api.h:158
@ ERR_DYNAMIC_TOKEN_BUT_USE_STATIC_KEY
Definition agora_rtc_api.h:131
@ ERR_NOT_INITIALIZED
Definition agora_rtc_api.h:59
@ ERR_DATA_STREAM_SEND_TOO_OFTEN
Definition agora_rtc_api.h:214
@ ERR_NOT_EXIST_CONNECTION
Definition agora_rtc_api.h:61
@ ERR_LOOKUP_CHANNEL_REJECTED
Definition agora_rtc_api.h:108
@ ERR_NET_DOWN
Definition agora_rtc_api.h:73
@ ERR_RDT_CMD_EXCEED_LIMIT
Definition agora_rtc_api.h:186
@ ERR_LEAVE_CHANNEL_REJECTED
Definition agora_rtc_api.h:83
@ ERR_CLIENT_IS_BANNED_BY_SERVER
Definition agora_rtc_api.h:148
__agora_api__ int agora_rtc_send_stream_message(connection_id_t conn_id, int stream_id, const char *data, size_t length)
rtm_msg_state_e
Definition agora_rtc_api.h:2069
@ RTM_MSG_STATE_TIMEOUT
Definition agora_rtc_api.h:2085
@ RTM_MSG_STATE_INIT
Definition agora_rtc_api.h:2073
@ RTM_MSG_STATE_RECEIVED
Definition agora_rtc_api.h:2077
@ RTM_MSG_STATE_UNREACHABLE
Definition agora_rtc_api.h:2081
Definition agora_rtc_api.h:1129
void(*) on_rejoin_channel_success(connection_id_t conn_id, uint32_t uid, int elapsed_ms)
Definition agora_rtc_api.h:1173
void(*) on_local_user_registered(const char *uname, uint32_t uid)
Definition agora_rtc_api.h:1374
void(*) on_target_bitrate_changed(connection_id_t conn_id, uint32_t target_bps)
Definition agora_rtc_api.h:1321
void(*) on_media_ctrl_msg(connection_id_t conn_id, uint32_t uid, const void *payload, size_t length)
Definition agora_rtc_api.h:1356
void(*) on_user_info_updated(connection_id_t conn_id, const user_info_t *user)
Definition agora_rtc_api.h:1252
void(*) on_user_mute_audio(connection_id_t conn_id, uint32_t uid, bool muted)
Definition agora_rtc_api.h:1264
void(*) on_remote_user_registered(const char *uname, uint32_t uid)
Definition agora_rtc_api.h:1388
void(*) on_stream_message(connection_id_t conn_id, uint32_t uid, int stream_id, const char *data, size_t length, uint64_t sent_ts)
Definition agora_rtc_api.h:1432
void(*) on_reconnecting(connection_id_t conn_id)
Definition agora_rtc_api.h:1156
void(*) on_key_frame_gen_req(connection_id_t conn_id, uint32_t uid, video_stream_type_e stream_type)
Definition agora_rtc_api.h:1330
void(*) on_token_privilege_will_expire(connection_id_t conn_id, const char *token)
Definition agora_rtc_api.h:1192
void(*) on_user_joined(connection_id_t conn_id, uint32_t uid, int elapsed_ms)
Definition agora_rtc_api.h:1203
void(*) on_error(connection_id_t conn_id, int code, const char *msg)
Definition agora_rtc_api.h:1139
void(*) on_rdt_msg(connection_id_t conn_id, uint32_t uid, rdt_stream_type_e type, const void *msg, size_t len)
Definition agora_rtc_api.h:1413
void(*) on_connection_lost(connection_id_t conn_id)
Definition agora_rtc_api.h:1162
void(*) on_mixed_audio_data(connection_id_t conn_id, const void *data_ptr, size_t data_len, const audio_frame_info_t *info_ptr)
Definition agora_rtc_api.h:1298
void(*) on_user_joined_with_user_account(connection_id_t conn_id, const user_info_t *user, int elapsed_ms)
Definition agora_rtc_api.h:1230
void(*) on_user_offline_with_user_account(connection_id_t conn_id, const user_info_t *user, int reason)
Definition agora_rtc_api.h:1239
void(*) on_user_offline(connection_id_t conn_id, uint32_t uid, int reason)
Definition agora_rtc_api.h:1213
void(*) on_video_data(connection_id_t conn_id, uint32_t uid, uint16_t sent_ts, const void *data_ptr, size_t data_len, const video_frame_info_t *info_ptr)
Definition agora_rtc_api.h:1312
void(*) on_user_mute_video(connection_id_t conn_id, uint32_t uid, bool muted)
Definition agora_rtc_api.h:1275
void(*) on_join_channel_success(connection_id_t conn_id, uint32_t uid, int elapsed_ms)
Definition agora_rtc_api.h:1148
void(*) on_license_validation_failure(connection_id_t conn_id, int error)
Definition agora_rtc_api.h:1182
void(*) on_audio_data(connection_id_t conn_id, uint32_t uid, uint16_t sent_ts, const void *data_ptr, size_t data_len, const audio_frame_info_t *info_ptr)
Definition agora_rtc_api.h:1287
void(*) on_rdt_state(connection_id_t conn_id, uint32_t uid, rdt_state_e state)
Definition agora_rtc_api.h:1402
Definition agora_rtc_api.h:2186
void(*) on_rtm_send_data_result(const char *rtm_uid, uint32_t msg_id, rtm_msg_state_e state)
Definition agora_rtc_api.h:2209
void(*) on_rtm_event(const char *rtm_uid, rtm_event_type_e event_type, rtm_err_code_e err_code)
Definition agora_rtc_api.h:2193
void(*) on_rtm_data(const char *rtm_uid, const void *msg, size_t msg_len)
Definition agora_rtc_api.h:2201
Definition agora_rtc_api.h:737
int pcm_duration
Definition agora_rtc_api.h:761
int pcm_channel_num
Definition agora_rtc_api.h:757
int pcm_sample_rate
Definition agora_rtc_api.h:751
audio_codec_type_e audio_codec_type
Definition agora_rtc_api.h:744
Definition agora_rtc_api.h:531
audio_data_type_e data_type
Definition agora_rtc_api.h:535
Definition agora_rtc_api.h:1079
connection_id_t conn_id
Definition agora_rtc_api.h:1081
uint32_t uid
Definition agora_rtc_api.h:1083
char channel_name[AGORA_RTC_CHANNEL_NAME_MAX_LEN+1]
Definition agora_rtc_api.h:1085
Definition agora_rtc_api.h:794
crypto_mode_e mode
Definition agora_rtc_api.h:804
uint8_t salt[32]
Definition agora_rtc_api.h:816
bool enable
Definition agora_rtc_api.h:800
char key[128+1]
Definition agora_rtc_api.h:810
Definition agora_rtc_api.h:648
int(*) log_printf(const char *fmt,...)
Definition agora_rtc_api.h:681
bool log_disable_desensitize
Definition agora_rtc_api.h:660
const char * log_path
Definition agora_rtc_api.h:668
bool log_disable
Definition agora_rtc_api.h:654
rtc_log_level_e log_level
Definition agora_rtc_api.h:664
const char * log_tag
Definition agora_rtc_api.h:672
Definition agora_rtc_api.h:1039
int recv_queue_size[RDT_STREAM_COUNT]
Definition agora_rtc_api.h:1059
uint32_t peer_uid
Definition agora_rtc_api.h:1047
uint32_t conn_id
Definition agora_rtc_api.h:1043
rdt_state_e state
Definition agora_rtc_api.h:1051
int send_queue_size[RDT_STREAM_COUNT]
Definition agora_rtc_api.h:1055
Definition agora_rtc_api.h:856
bool auto_subscribe_video
Definition agora_rtc_api.h:868
bool auto_subscribe_audio
Definition agora_rtc_api.h:862
bool enable_audio_decode
Definition agora_rtc_api.h:889
audio_codec_option_t audio_codec_opt
Definition agora_rtc_api.h:912
bool enable_audio_mixer
Definition agora_rtc_api.h:883
bool enable_audio_jitter_buffer
Definition agora_rtc_api.h:875
bool enable_audio_downlink_aec_pcm_dump
Definition agora_rtc_api.h:908
bool enable_audio_downlink_aec
Definition agora_rtc_api.h:902
bool enable_rdt
Definition agora_rtc_api.h:927
crypto_option_t crypto_opt
Definition agora_rtc_api.h:918
Definition agora_rtc_api.h:687
uint32_t area_code
Definition agora_rtc_api.h:693
bool domain_limit
Definition agora_rtc_api.h:720
char license_value[AGORA_LICENSE_VALUE_LEN+1]
Definition agora_rtc_api.h:708
log_config_t log_cfg
Definition agora_rtc_api.h:701
char product_id[AGORA_RTC_PRODUCT_ID_MAX_LEN+1]
Definition agora_rtc_api.h:697
bool use_string_uid
Definition agora_rtc_api.h:730
Definition agora_rtc_api.h:1095
uint32_t uid
Definition agora_rtc_api.h:1099
char user_account[AGORA_RTC_USER_ACCOUNT_MAX_LEN]
Definition agora_rtc_api.h:1103
Definition agora_rtc_api.h:378
video_frame_type_e frame_type
Definition agora_rtc_api.h:390
video_frame_rate_e frame_rate
Definition agora_rtc_api.h:397
video_stream_type_e stream_type
Definition agora_rtc_api.h:386
video_data_type_e data_type
Definition agora_rtc_api.h:382
video_orientation_e rotation
Definition agora_rtc_api.h:401