19#include "AgoraRefPtr.h"
22#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
23 #define AGORA_DEPRECATED __attribute__((deprecated))
24#elif defined(_MSC_VER)
25 #define AGORA_DEPRECATED __declspec(deprecated)
27 #define AGORA_DEPRECATED
30#define MAX_PATH_260 (260)
34#ifndef WIN32_LEAN_AND_MEAN
35#define WIN32_LEAN_AND_MEAN
37#if defined(__aarch64__)
42#if defined(AGORARTC_EXPORT)
43#define AGORA_API extern "C" __declspec(dllexport)
45#define AGORA_API extern "C" __declspec(dllimport)
48#define AGORA_CALL __cdecl
50#elif defined(__APPLE__)
52#include <TargetConditionals.h>
54#define AGORA_API extern "C" __attribute__((visibility("default")))
57#elif defined(__ANDROID__) || defined(__linux__)
59#define AGORA_API extern "C" __attribute__((visibility("default")))
64#define AGORA_API extern "C"
69#ifndef OPTIONAL_ENUM_SIZE_T
70#if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1800)
71#define OPTIONAL_ENUM_SIZE_T enum : size_t
73#define OPTIONAL_ENUM_SIZE_T enum
77#ifndef OPTIONAL_NULLPTR
78#if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1800)
79#define OPTIONAL_NULLPTR nullptr
81#define OPTIONAL_NULLPTR NULL
123 operator bool()
const {
return (ptr_ != NULL); }
138 if (ptr != ptr_ && ptr_) {
145 template <
class C1,
class C2>
148 if (c && !c->queryInterface(iid,
reinterpret_cast<void**
>(&p))) {
175 if (!this->
get())
return NULL;
176 return this->
get()->clone();
184 virtual const char*
data() = 0;
204 virtual size_t size()
const = 0;
256 AList() : container(NULL), owner(false) {}
260 if (owner && container) container->
release();
262 owner = take_ownership;
307 CHANNEL_PROFILE_COMMUNICATION_1v1 = 4,
314 CHANNEL_PROFILE_LIVE_BROADCASTING_2 = 5,
328 WARN_INVALID_VIEW = 8,
333 WARN_INIT_VIDEO = 16,
343 WARN_NO_AVAILABLE_CHANNEL = 103,
349 WARN_LOOKUP_CHANNEL_TIMEOUT = 104,
354 WARN_LOOKUP_CHANNEL_REJECTED = 105,
360 WARN_OPEN_CHANNEL_TIMEOUT = 106,
365 WARN_OPEN_CHANNEL_REJECTED = 107,
371 WARN_SWITCH_LIVE_VIDEO_TIMEOUT = 111,
375 WARN_SET_CLIENT_ROLE_TIMEOUT = 118,
379 WARN_OPEN_CHANNEL_INVALID_TICKET = 121,
383 WARN_OPEN_CHANNEL_TRY_NEXT_VOS = 122,
387 WARN_CHANNEL_CONNECTION_UNRECOVERABLE = 131,
391 WARN_CHANNEL_CONNECTION_IP_CHANGED = 132,
395 WARN_CHANNEL_CONNECTION_PORT_CHANGED = 133,
398 WARN_CHANNEL_SOCKET_ERROR = 134,
402 WARN_AUDIO_MIXING_OPEN_ERROR = 701,
406 WARN_ADM_RUNTIME_PLAYOUT_WARNING = 1014,
410 WARN_ADM_RUNTIME_RECORDING_WARNING = 1016,
414 WARN_ADM_RECORD_AUDIO_SILENCE = 1019,
418 WARN_ADM_PLAYOUT_MALFUNCTION = 1020,
422 WARN_ADM_RECORD_MALFUNCTION = 1021,
429 WARN_ADM_IOS_CATEGORY_NOT_PLAYANDRECORD = 1029,
433 WARN_ADM_IOS_SAMPLERATE_CHANGE = 1030,
437 WARN_ADM_RECORD_AUDIO_LOWLEVEL = 1031,
441 WARN_ADM_PLAYOUT_AUDIO_LOWLEVEL = 1032,
449 WARN_ADM_WINDOWS_NO_DATA_READY_EVENT = 1040,
453 WARN_APM_HOWLING = 1051,
457 WARN_ADM_GLITCH_STATE = 1052,
461 WARN_ADM_IMPROPER_SETTINGS = 1053,
465 WARN_ADM_WIN_CORE_NO_RECORDING_DEVICE = 1322,
470 WARN_ADM_WIN_CORE_NO_PLAYOUT_DEVICE = 1323,
478 WARN_ADM_WIN_CORE_IMPROPER_CAPTURE_RELEASE = 1324,
485enum ERROR_CODE_TYPE {
499 ERR_INVALID_ARGUMENT = 2,
510 ERR_NOT_SUPPORTED = 4,
518 ERR_BUFFER_TOO_SMALL = 6,
522 ERR_NOT_INITIALIZED = 7,
526 ERR_INVALID_STATE = 8,
531 ERR_NO_PERMISSION = 9,
554 ERR_BIND_SOCKET = 13,
571 ERR_JOIN_CHANNEL_REJECTED = 17,
578 ERR_LEAVE_CHANNEL_REJECTED = 18,
582 ERR_ALREADY_IN_USE = 19,
592 ERR_INIT_NET_ENGINE = 21,
597 ERR_RESOURCE_LIMITED = 22,
603 ERR_INVALID_APP_ID = 101,
608 ERR_INVALID_CHANNEL_NAME = 102,
614 ERR_NO_SERVER_RESOURCES = 103,
627 ERR_TOKEN_EXPIRED = 109,
644 ERR_INVALID_TOKEN = 110,
649 ERR_CONNECTION_INTERRUPTED = 111,
654 ERR_CONNECTION_LOST = 112,
659 ERR_NOT_IN_CHANNEL = 113,
664 ERR_SIZE_TOO_LARGE = 114,
669 ERR_BITRATE_LIMIT = 115,
674 ERR_TOO_MANY_DATA_STREAMS = 116,
678 ERR_STREAM_MESSAGE_TIMEOUT = 117,
682 ERR_SET_CLIENT_ROLE_NOT_AUTHORIZED = 119,
687 ERR_DECRYPTION_FAILED = 120,
691 ERR_INVALID_USER_ID = 121,
695 ERR_CLIENT_IS_BANNED_BY_SERVER = 123,
699 ERR_WATERMARK_PARAM = 124,
703 ERR_WATERMARK_PATH = 125,
707 ERR_WATERMARK_PNG = 126,
711 ERR_WATERMARKR_INFO = 127,
715 ERR_WATERMARK_ARGB = 128,
719 ERR_WATERMARK_READ = 129,
725 ERR_ENCRYPTED_STREAM_NOT_ALLOWED_PUBLISH = 130,
730 ERR_LICENSE_CREDENTIAL_INVALID = 131,
734 ERR_CERT_JSON_PART = 158,
735 ERR_CERT_JSON_INVAL = 159,
736 ERR_CERT_JSON_NOMEM = 160,
737 ERR_CERT_CUSTOM = 161,
738 ERR_CERT_CREDENTIAL = 162,
743 ERR_CERT_DUEDATE = 167,
744 ERR_CERT_REQUEST = 168,
747 ERR_PCMSEND_FORMAT =200,
748 ERR_PCMSEND_BUFFEROVERFLOW = 201,
751 ERR_LOGOUT_OTHER = 400,
752 ERR_LOGOUT_USER = 401,
753 ERR_LOGOUT_NET = 402,
754 ERR_LOGOUT_KICKED = 403,
755 ERR_LOGOUT_PACKET = 404,
756 ERR_LOGOUT_TOKEN_EXPIRED = 405,
757 ERR_LOGOUT_OLDVERSION = 406,
758 ERR_LOGOUT_TOKEN_WRONG = 407,
759 ERR_LOGOUT_ALREADY_LOGOUT = 408,
760 ERR_LOGIN_OTHER = 420,
762 ERR_LOGIN_FAILED = 422,
763 ERR_LOGIN_CANCELED = 423,
764 ERR_LOGIN_TOKEN_EXPIRED = 424,
765 ERR_LOGIN_OLD_VERSION = 425,
766 ERR_LOGIN_TOKEN_WRONG = 426,
767 ERR_LOGIN_TOKEN_KICKED = 427,
768 ERR_LOGIN_ALREADY_LOGIN = 428,
769 ERR_JOIN_CHANNEL_OTHER = 440,
770 ERR_SEND_MESSAGE_OTHER = 440,
771 ERR_SEND_MESSAGE_TIMEOUT = 441,
772 ERR_QUERY_USERNUM_OTHER = 450,
773 ERR_QUERY_USERNUM_TIMEOUT = 451,
774 ERR_QUERY_USERNUM_BYUSER = 452,
775 ERR_LEAVE_CHANNEL_OTHER = 460,
776 ERR_LEAVE_CHANNEL_KICKED = 461,
777 ERR_LEAVE_CHANNEL_BYUSER = 462,
778 ERR_LEAVE_CHANNEL_LOGOUT = 463,
779 ERR_LEAVE_CHANNEL_DISCONNECTED = 464,
780 ERR_INVITE_OTHER = 470,
781 ERR_INVITE_REINVITE = 471,
782 ERR_INVITE_NET = 472,
783 ERR_INVITE_PEER_OFFLINE = 473,
784 ERR_INVITE_TIMEOUT = 474,
785 ERR_INVITE_CANT_RECV = 475,
791 ERR_LOAD_MEDIA_ENGINE = 1001,
795 ERR_START_CALL = 1002,
799 ERR_START_CAMERA = 1003,
803 ERR_START_VIDEO_RENDER = 1004,
809 ERR_ADM_GENERAL_ERROR = 1005,
813 ERR_ADM_JAVA_RESOURCE = 1006,
817 ERR_ADM_SAMPLE_RATE = 1007,
822 ERR_ADM_INIT_PLAYOUT = 1008,
826 ERR_ADM_START_PLAYOUT = 1009,
830 ERR_ADM_STOP_PLAYOUT = 1010,
835 ERR_ADM_INIT_RECORDING = 1011,
839 ERR_ADM_START_RECORDING = 1012,
843 ERR_ADM_STOP_RECORDING = 1013,
848 ERR_ADM_RUNTIME_PLAYOUT_ERROR = 1015,
852 ERR_ADM_RUNTIME_RECORDING_ERROR = 1017,
856 ERR_ADM_RECORD_AUDIO_FAILED = 1018,
861 ERR_ADM_INIT_LOOPBACK = 1022,
866 ERR_ADM_START_LOOPBACK = 1023,
871 ERR_ADM_NO_PERMISSION = 1027,
875 ERR_ADM_RECORD_AUDIO_IS_ACTIVE = 1033,
879 ERR_ADM_ANDROID_JNI_JAVA_RESOURCE = 1101,
885 ERR_ADM_ANDROID_JNI_NO_RECORD_FREQUENCY = 1108,
891 ERR_ADM_ANDROID_JNI_NO_PLAYBACK_FREQUENCY = 1109,
899 ERR_ADM_ANDROID_JNI_JAVA_START_RECORD = 1111,
907 ERR_ADM_ANDROID_JNI_JAVA_START_PLAYBACK = 1112,
912 ERR_ADM_ANDROID_JNI_JAVA_RECORD_ERROR = 1115,
914 ERR_ADM_ANDROID_OPENSL_CREATE_ENGINE = 1151,
916 ERR_ADM_ANDROID_OPENSL_CREATE_AUDIO_RECORDER = 1153,
918 ERR_ADM_ANDROID_OPENSL_START_RECORDER_THREAD = 1156,
920 ERR_ADM_ANDROID_OPENSL_CREATE_AUDIO_PLAYER = 1157,
922 ERR_ADM_ANDROID_OPENSL_START_PLAYER_THREAD = 1160,
929 ERR_ADM_IOS_INPUT_NOT_AVAILABLE = 1201,
933 ERR_ADM_IOS_ACTIVATE_SESSION_FAIL = 1206,
938 ERR_ADM_IOS_VPIO_INIT_FAIL = 1210,
943 ERR_ADM_IOS_VPIO_REINIT_FAIL = 1213,
948 ERR_ADM_IOS_VPIO_RESTART_FAIL = 1214,
949 ERR_ADM_IOS_SET_RENDER_CALLBACK_FAIL = 1219,
951 ERR_ADM_IOS_SESSION_SAMPLERATR_ZERO = 1221,
959 ERR_ADM_WIN_CORE_INIT = 1301,
966 ERR_ADM_WIN_CORE_INIT_RECORDING = 1303,
973 ERR_ADM_WIN_CORE_INIT_PLAYOUT = 1306,
979 ERR_ADM_WIN_CORE_INIT_PLAYOUT_NULL = 1307,
986 ERR_ADM_WIN_CORE_START_RECORDING = 1309,
993 ERR_ADM_WIN_CORE_CREATE_REC_THREAD = 1311,
1002 ERR_ADM_WIN_CORE_CAPTURE_NOT_STARTUP = 1314,
1009 ERR_ADM_WIN_CORE_CREATE_RENDER_THREAD = 1319,
1018 ERR_ADM_WIN_CORE_RENDER_NOT_STARTUP = 1320,
1024 ERR_ADM_WIN_CORE_NO_RECORDING_DEVICE = 1322,
1030 ERR_ADM_WIN_CORE_NO_PLAYOUT_DEVICE = 1323,
1040 ERR_ADM_WIN_WAVE_INIT = 1351,
1049 ERR_ADM_WIN_WAVE_INIT_RECORDING = 1353,
1058 ERR_ADM_WIN_WAVE_INIT_MICROPHONE = 1354,
1067 ERR_ADM_WIN_WAVE_INIT_PLAYOUT = 1355,
1076 ERR_ADM_WIN_WAVE_INIT_SPEAKER = 1356,
1085 ERR_ADM_WIN_WAVE_START_RECORDING = 1357,
1094 ERR_ADM_WIN_WAVE_START_PLAYOUT = 1358,
1098 ERR_ADM_NO_RECORDING_DEVICE = 1359,
1102 ERR_ADM_NO_PLAYOUT_DEVICE = 1360,
1108 ERR_VDM_CAMERA_NOT_AUTHORIZED = 1501,
1114 ERR_VDM_WIN_DEVICE_IN_USE = 1502,
1120 ERR_VCM_UNKNOWN_ERROR = 1600,
1125 ERR_VCM_ENCODER_INIT_ERROR = 1601,
1129 ERR_VCM_ENCODER_ENCODE_ERROR = 1602,
1133 ERR_VCM_ENCODER_SET_ERROR = 1603,
1140enum AUDIO_SESSION_OPERATION_RESTRICTION {
1144 AUDIO_SESSION_OPERATION_RESTRICTION_NONE = 0,
1148 AUDIO_SESSION_OPERATION_RESTRICTION_SET_CATEGORY = 1,
1152 AUDIO_SESSION_OPERATION_RESTRICTION_CONFIGURE_SESSION = 1 << 1,
1157 AUDIO_SESSION_OPERATION_RESTRICTION_DEACTIVATE_SESSION = 1 << 2,
1162 AUDIO_SESSION_OPERATION_RESTRICTION_ALL = 1 << 7,
1218enum INTERFACE_ID_TYPE {
1219 AGORA_IID_AUDIO_DEVICE_MANAGER = 1,
1220 AGORA_IID_VIDEO_DEVICE_MANAGER = 2,
1221 AGORA_IID_PARAMETER_ENGINE = 3,
1222 AGORA_IID_MEDIA_ENGINE = 4,
1223 AGORA_IID_AUDIO_ENGINE = 5,
1224 AGORA_IID_VIDEO_ENGINE = 6,
1225 AGORA_IID_RTC_CONNECTION = 7,
1226 AGORA_IID_SIGNALING_ENGINE = 8,
1227 AGORA_IID_MEDIA_ENGINE_REGULATOR = 9,
1228 AGORA_IID_CLOUD_SPATIAL_AUDIO = 10,
1229 AGORA_IID_LOCAL_SPATIAL_AUDIO = 11,
1272 QUALITY_UNSUPPORTED = 7,
1493const int DEFAULT_MIN_BITRATE = -1;
1498const int DEFAULT_MIN_BITRATE_EQUAL_TO_TARGET_BITRATE = -2;
1579 AUDIO_CODEC_JC1 = 10,
1589 AUDIO_CODEC_LPCNET = 12,
1597enum AUDIO_ENCODING_TYPE {
1601 AUDIO_ENCODING_TYPE_AAC_16000_LOW = 0x010101,
1605 AUDIO_ENCODING_TYPE_AAC_16000_MEDIUM = 0x010102,
1609 AUDIO_ENCODING_TYPE_AAC_32000_LOW = 0x010201,
1613 AUDIO_ENCODING_TYPE_AAC_32000_MEDIUM = 0x010202,
1617 AUDIO_ENCODING_TYPE_AAC_32000_HIGH = 0x010203,
1621 AUDIO_ENCODING_TYPE_AAC_48000_MEDIUM = 0x010302,
1625 AUDIO_ENCODING_TYPE_AAC_48000_HIGH = 0x010303,
1630 AUDIO_ENCODING_TYPE_OPUS_16000_LOW = 0x020101,
1634 AUDIO_ENCODING_TYPE_OPUS_16000_MEDIUM = 0x020102,
1638 AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM = 0x020302,
1642 AUDIO_ENCODING_TYPE_OPUS_48000_HIGH = 0x020303,
1648enum WATERMARK_FIT_MODE {
1653 FIT_MODE_COVER_POSITION,
1658 FIT_MODE_USE_IMAGE_RATIO
1728struct AudioPcmDataInfo {
1729 AudioPcmDataInfo() : samplesPerChannel(0), channelNum(0), samplesOut(0), elapsedTimeMs(0), ntpTimeMs(0) {}
1731 AudioPcmDataInfo(
const AudioPcmDataInfo& rhs)
1732 : samplesPerChannel(rhs.samplesPerChannel),
1733 channelNum(rhs.channelNum),
1734 samplesOut(rhs.samplesOut),
1735 elapsedTimeMs(rhs.elapsedTimeMs),
1736 ntpTimeMs(rhs.ntpTimeMs) {}
1741 size_t samplesPerChannel;
1753 int64_t elapsedTimeMs;
1762enum H264PacketizeMode {
1845 if (
this == &rhs)
return *
this;
2041 if (
this == &rhs)
return *
this;
2056struct DataStreamConfig {
2354enum AUDIENCE_LATENCY_LEVEL_TYPE
2357 AUDIENCE_LATENCY_LEVEL_LOW_LATENCY = 1,
2359 AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY = 2,
2363 AUDIENCE_LATENCY_LEVEL_HIGH_LATENCY = 3,
2368struct ClientRoleOptions
2373 AUDIENCE_LATENCY_LEVEL_TYPE audienceLatencyLevel;
2375 : audienceLatencyLevel(AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY) {}
2382struct RemoteAudioStats
2395 int networkTransportDelay;
2399 int jitterBufferDelay;
2411 int receivedSampleRate;
2416 int receivedBitrate;
2423 int totalFrozenTime;
2450 int totalActiveTime;
2454 int publishDuration;
2456 RemoteAudioStats() :
2459 networkTransportDelay(0),
2460 jitterBufferDelay(0),
2463 receivedSampleRate(0),
2469 publishDuration(0){}
2511 AUDIO_PROFILE_NUM = 7
2556 kMaxWidthInPixels = 3840,
2558 kMaxHeightInPixels = 2160,
2577 uint32_t pixelFormat;
2580 VideoFormat(
int w,
int h,
int f, uint32_t fmt = 0) : width(w), height(h), fps(f), pixelFormat(fmt) {}
2588enum VIDEO_CONTENT_HINT {
2599 CONTENT_HINT_MOTION,
2605 CONTENT_HINT_DETAILS
2701 LOCAL_VIDEO_STREAM_ERROR_BACKGROUD = 6,
2703 LOCAL_VIDEO_STREAM_ERROR_MULTIPLE_FOREGROUND_APPS = 7,
2705 LOCAL_VIDEO_STREAM_ERROR_SYSTEM_PRESSURE = 8,
2707 LOCAL_VIDEO_STREAM_ERROR_SCREEN_CAPTURE_WINDOW_MINIMIZED = 11,
2709 LOCAL_VIDEO_STREAM_ERROR_SCREEN_CAPTURE_WINDOW_CLOSED = 12
2874 REMOTE_VIDEO_STATE_REASON_VIDEO_STREAM_TYPE_CHANGE_TO_LOW = 10,
2878 REMOTE_VIDEO_STATE_REASON_VIDEO_STREAM_TYPE_CHANGE_TO_HIGH = 11,
2933 uint32_t observationPosition;
2966struct AudioVolumeInfo {
2975 unsigned int volume;
2987 AudioVolumeInfo() : uid(0), volume(0), vad(0), voicePitch(0.0) {}
2993class IPacketObserver {
2995 virtual ~IPacketObserver() {}
3003 const unsigned char* buffer;
3009 Packet() : buffer(NULL), size(0) {}
3018 virtual bool onSendAudioPacket(Packet& packet) = 0;
3026 virtual bool onSendVideoPacket(Packet& packet) = 0;
3034 virtual bool onReceiveAudioPacket(Packet& packet) = 0;
3042 virtual bool onReceiveVideoPacket(Packet& packet) = 0;
3068enum AUDIO_SAMPLE_RATE_TYPE {
3072 AUDIO_SAMPLE_RATE_32000 = 32000,
3076 AUDIO_SAMPLE_RATE_44100 = 44100,
3080 AUDIO_SAMPLE_RATE_48000 = 48000,
3085enum VIDEO_CODEC_PROFILE_TYPE {
3089 VIDEO_CODEC_PROFILE_BASELINE = 66,
3093 VIDEO_CODEC_PROFILE_MAIN = 77,
3097 VIDEO_CODEC_PROFILE_HIGH = 100,
3103enum AUDIO_CODEC_PROFILE_TYPE {
3107 AUDIO_CODEC_PROFILE_LC_AAC = 0,
3111 AUDIO_CODEC_PROFILE_HE_AAC = 1,
3145enum RTMP_STREAM_PUBLISH_STATE {
3152 RTMP_STREAM_PUBLISH_STATE_IDLE = 0,
3158 RTMP_STREAM_PUBLISH_STATE_CONNECTING = 1,
3163 RTMP_STREAM_PUBLISH_STATE_RUNNING = 2,
3173 RTMP_STREAM_PUBLISH_STATE_RECOVERING = 3,
3178 RTMP_STREAM_PUBLISH_STATE_FAILURE = 4,
3184enum RTMP_STREAM_PUBLISH_ERROR {
3188 RTMP_STREAM_PUBLISH_ERROR_FAILED = -1,
3192 RTMP_STREAM_PUBLISH_ERROR_OK = 0,
3198 RTMP_STREAM_PUBLISH_ERROR_INVALID_ARGUMENT = 1,
3202 RTMP_STREAM_PUBLISH_ERROR_ENCRYPTED_STREAM_NOT_ALLOWED = 2,
3207 RTMP_STREAM_PUBLISH_ERROR_CONNECTION_TIMEOUT = 3,
3212 RTMP_STREAM_PUBLISH_ERROR_INTERNAL_SERVER_ERROR = 4,
3216 RTMP_STREAM_PUBLISH_ERROR_RTMP_SERVER_ERROR = 5,
3220 RTMP_STREAM_PUBLISH_ERROR_TOO_OFTEN = 6,
3224 RTMP_STREAM_PUBLISH_ERROR_REACH_LIMIT = 7,
3228 RTMP_STREAM_PUBLISH_ERROR_NOT_AUTHORIZED = 8,
3232 RTMP_STREAM_PUBLISH_ERROR_STREAM_NOT_FOUND = 9,
3236 RTMP_STREAM_PUBLISH_ERROR_FORMAT_NOT_SUPPORTED = 10,
3241 RTMP_STREAM_PUBLISH_ERROR_CDN_ERROR = 11,
3245 RTMP_STREAM_PUBLISH_ERROR_ALREADY_IN_USE = 12,
3251 RTMP_STREAM_UNPUBLISH_ERROR_OK = 100,
3504struct BeautyOptions {
3507 enum LIGHTENING_CONTRAST_LEVEL {
3509 LIGHTENING_CONTRAST_LOW = 0,
3511 LIGHTENING_CONTRAST_NORMAL,
3513 LIGHTENING_CONTRAST_HIGH
3518 LIGHTENING_CONTRAST_LEVEL lighteningContrastLevel;
3522 float lighteningLevel;
3526 float smoothnessLevel;
3534 float sharpnessLevel;
3536 BeautyOptions(LIGHTENING_CONTRAST_LEVEL contrastLevel,
float lightening,
float smoothness,
float redness,
float sharpness) : lighteningContrastLevel(contrastLevel), lighteningLevel(lightening), smoothnessLevel(smoothness), rednessLevel(redness), sharpnessLevel(sharpness) {}
3538 BeautyOptions() : lighteningContrastLevel(LIGHTENING_CONTRAST_NORMAL), lighteningLevel(0), smoothnessLevel(0), rednessLevel(0), sharpnessLevel(0) {}
3542struct VirtualBackgroundSource {
3545 enum BACKGROUND_SOURCE_TYPE {
3549 BACKGROUND_COLOR = 1,
3560 enum BACKGROUND_BLUR_DEGREE {
3562 BLUR_DEGREE_LOW = 1,
3571 BACKGROUND_SOURCE_TYPE background_source_type;
3592 BACKGROUND_BLUR_DEGREE blur_degree;
3594 VirtualBackgroundSource() : background_source_type(BACKGROUND_COLOR), color(0xffffff), source(NULL), blur_degree(BLUR_DEGREE_HIGH) {}
3597struct SegmentationProperty {
3599 enum SEG_MODEL_TYPE {
3601 SEG_MODEL_AGORA_AI_ONE = 0,
3602 SEG_MODEL_AGORA_GREEN = 2
3605 SEG_MODEL_TYPE modelType;
3609 float greenCapacity;
3612 SegmentationProperty() : modelType(SEG_MODEL_AGORA_AI_ONE), preferVelocity(1), greenCapacity(0.5){}
3636enum VOICE_BEAUTIFIER_PRESET {
3639 VOICE_BEAUTIFIER_OFF = 0x00000000,
3645 CHAT_BEAUTIFIER_MAGNETIC = 0x01010100,
3651 CHAT_BEAUTIFIER_FRESH = 0x01010200,
3657 CHAT_BEAUTIFIER_VITALITY = 0x01010300,
3671 SINGING_BEAUTIFIER = 0x01020100,
3674 TIMBRE_TRANSFORMATION_VIGOROUS = 0x01030100,
3677 TIMBRE_TRANSFORMATION_DEEP = 0x01030200,
3680 TIMBRE_TRANSFORMATION_MELLOW = 0x01030300,
3683 TIMBRE_TRANSFORMATION_FALSETTO = 0x01030400,
3686 TIMBRE_TRANSFORMATION_FULL = 0x01030500,
3689 TIMBRE_TRANSFORMATION_CLEAR = 0x01030600,
3692 TIMBRE_TRANSFORMATION_RESOUNDING = 0x01030700,
3695 TIMBRE_TRANSFORMATION_RINGING = 0x01030800,
3697 ULTRA_HIGH_QUALITY_VOICE = 0x01040100
3702enum AUDIO_EFFECT_PRESET {
3705 AUDIO_EFFECT_OFF = 0x00000000,
3713 ROOM_ACOUSTICS_KTV = 0x02010100,
3721 ROOM_ACOUSTICS_VOCAL_CONCERT = 0x02010200,
3729 ROOM_ACOUSTICS_STUDIO = 0x02010300,
3737 ROOM_ACOUSTICS_PHONOGRAPH = 0x02010400,
3744 ROOM_ACOUSTICS_VIRTUAL_STEREO = 0x02010500,
3752 ROOM_ACOUSTICS_SPACIAL = 0x02010600,
3760 ROOM_ACOUSTICS_ETHEREAL = 0x02010700,
3772 ROOM_ACOUSTICS_3D_VOICE = 0x02010800,
3783 VOICE_CHANGER_EFFECT_UNCLE = 0x02020100,
3794 VOICE_CHANGER_EFFECT_OLDMAN = 0x02020200,
3805 VOICE_CHANGER_EFFECT_BOY = 0x02020300,
3816 VOICE_CHANGER_EFFECT_SISTER = 0x02020400,
3827 VOICE_CHANGER_EFFECT_GIRL = 0x02020500,
3836 VOICE_CHANGER_EFFECT_PIGKING = 0x02020600,
3844 VOICE_CHANGER_EFFECT_HULK = 0x02020700,
3852 STYLE_TRANSFORMATION_RNB = 0x02030100,
3860 STYLE_TRANSFORMATION_POPULAR = 0x02030200,
3870 PITCH_CORRECTION = 0x02040100
3879enum VOICE_CONVERSION_PRESET {
3882 VOICE_CONVERSION_OFF = 0x00000000,
3885 VOICE_CHANGER_NEUTRAL = 0x03010100,
3888 VOICE_CHANGER_SWEET = 0x03010200,
3891 VOICE_CHANGER_SOLID = 0x03010300,
3894 VOICE_CHANGER_BASS = 0x03010400
3898enum AUDIO_REVERB_PRESET {
3902 AUDIO_REVERB_OFF = 0,
3906 AUDIO_REVERB_FX_KTV = 0x02010100,
3910 AUDIO_REVERB_FX_VOCAL_CONCERT = 0x02010200,
3914 AUDIO_REVERB_FX_UNCLE = 0x02020100,
3918 AUDIO_REVERB_FX_SISTER = 0x02020400,
3922 AUDIO_REVERB_FX_STUDIO = 0x02010300,
3926 AUDIO_REVERB_FX_POPULAR = 0x02030200,
3930 AUDIO_REVERB_FX_RNB = 0x02030100,
3934 AUDIO_REVERB_FX_PHONOGRAPH = 0x02010400
3940enum AUDIO_RECORDING_QUALITY_TYPE {
3944 AUDIO_RECORDING_QUALITY_LOW = 0,
3948 AUDIO_RECORDING_QUALITY_MEDIUM = 1,
3952 AUDIO_RECORDING_QUALITY_HIGH = 2,
3958enum AUDIO_FILE_RECORDING_TYPE {
3962 AUDIO_FILE_RECORDING_MIC = 1,
3966 AUDIO_FILE_RECORDING_PLAYBACK = 2,
3970 AUDIO_FILE_RECORDING_MIXED = 3,
3976enum AUDIO_ENCODED_FRAME_OBSERVER_POSITION {
3980 AUDIO_ENCODED_FRAME_OBSERVER_POSITION_RECORD = 1,
3984 AUDIO_ENCODED_FRAME_OBSERVER_POSITION_PLAYBACK = 2,
3988 AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIXED = 3,
3994struct AudioRecordingConfiguration {
3999 const char* filePath;
4014 AUDIO_FILE_RECORDING_TYPE fileRecordingType;
4018 AUDIO_RECORDING_QUALITY_TYPE quality;
4020 AudioRecordingConfiguration()
4024 fileRecordingType(AUDIO_FILE_RECORDING_MIXED),
4025 quality(AUDIO_RECORDING_QUALITY_LOW) {}
4027 AudioRecordingConfiguration(
const char* file_path,
int sample_rate, AUDIO_RECORDING_QUALITY_TYPE quality_type)
4028 : filePath(file_path),
4030 sampleRate(sample_rate),
4031 fileRecordingType(AUDIO_FILE_RECORDING_MIXED),
4032 quality(quality_type) {}
4034 AudioRecordingConfiguration(
const char* file_path,
bool enc,
int sample_rate, AUDIO_FILE_RECORDING_TYPE type, AUDIO_RECORDING_QUALITY_TYPE quality_type)
4035 : filePath(file_path),
4037 sampleRate(sample_rate),
4038 fileRecordingType(type),
4039 quality(quality_type) {}
4041 AudioRecordingConfiguration(
const AudioRecordingConfiguration &rhs)
4042 : filePath(rhs.filePath),
4044 sampleRate(rhs.sampleRate),
4045 fileRecordingType(rhs.fileRecordingType),
4046 quality(rhs.quality) {}
4053struct AudioEncodedFrameObserverConfig {
4057 AUDIO_ENCODED_FRAME_OBSERVER_POSITION postionType;
4061 AUDIO_ENCODING_TYPE encodingType;
4063 AudioEncodedFrameObserverConfig()
4064 : postionType(AUDIO_ENCODED_FRAME_OBSERVER_POSITION_PLAYBACK),
4065 encodingType(AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM){}
4069class IAudioEncodedFrameObserver {
4078virtual void OnRecordAudioEncodedFrame(
const uint8_t* frameBuffer,
int length,
const EncodedAudioFrameInfo& audioEncodedFrameInfo) = 0;
4087virtual void OnPlaybackAudioEncodedFrame(
const uint8_t* frameBuffer,
int length,
const EncodedAudioFrameInfo& audioEncodedFrameInfo) = 0;
4096virtual void OnMixedAudioEncodedFrame(
const uint8_t* frameBuffer,
int length,
const EncodedAudioFrameInfo& audioEncodedFrameInfo) = 0;
4098virtual ~IAudioEncodedFrameObserver () {}
4105enum VOICE_CHANGER_PRESET {
4109 VOICE_CHANGER_OFF = 0,
4113 VOICE_CHANGER_OLDMAN = 0x02020200,
4117 VOICE_CHANGER_BABYBOY = 0x02020300,
4121 VOICE_CHANGER_BABYGIRL = 0x02020500,
4126 VOICE_CHANGER_ZHUBAJIE = 0x02020600,
4130 VOICE_CHANGER_ETHEREAL = 0x02010700,
4134 VOICE_CHANGER_HULK = 0x02020700,
4138 VOICE_BEAUTY_VIGOROUS = 0x01030100,
4142 VOICE_BEAUTY_DEEP = 0x01030200,
4146 VOICE_BEAUTY_MELLOW = 0x01030300,
4150 VOICE_BEAUTY_FALSETTO = 0x01030400,
4154 VOICE_BEAUTY_FULL = 0x01030500,
4158 VOICE_BEAUTY_CLEAR = 0x01030600,
4162 VOICE_BEAUTY_RESOUNDING = 0x01030700,
4166 VOICE_BEAUTY_RINGING = 0x01030800,
4170 VOICE_BEAUTY_SPACIAL = 0x02010600,
4175 GENERAL_BEAUTY_VOICE_MALE = 0x01010100,
4180 GENERAL_BEAUTY_VOICE_FEMALE_FRESH = 0x01010200,
4185 GENERAL_BEAUTY_VOICE_FEMALE_VITALITY = 0x01010300
4230 AREA_CODE_OC = 0x00000040,
4234 AREA_CODE_SA = 0x00000080,
4238 AREA_CODE_AF = 0x00000100,
4242 AREA_CODE_KR = 0x00000200,
4246 AREA_CODE_OVS = 0xFFFFFFFE
4249enum CHANNEL_MEDIA_RELAY_ERROR {
4255 RELAY_ERROR_SERVER_ERROR_RESPONSE = 1,
4260 RELAY_ERROR_SERVER_NO_RESPONSE = 2,
4264 RELAY_ERROR_NO_RESOURCE_AVAILABLE = 3,
4267 RELAY_ERROR_FAILED_JOIN_SRC = 4,
4270 RELAY_ERROR_FAILED_JOIN_DEST = 5,
4273 RELAY_ERROR_FAILED_PACKET_RECEIVED_FROM_SRC = 6,
4276 RELAY_ERROR_FAILED_PACKET_SENT_TO_DEST = 7,
4281 RELAY_ERROR_SERVER_CONNECTION_LOST = 8,
4284 RELAY_ERROR_INTERNAL_ERROR = 9,
4287 RELAY_ERROR_SRC_TOKEN_EXPIRED = 10,
4290 RELAY_ERROR_DEST_TOKEN_EXPIRED = 11,
4294enum CHANNEL_MEDIA_RELAY_EVENT {
4298 RELAY_EVENT_NETWORK_DISCONNECTED = 0,
4301 RELAY_EVENT_NETWORK_CONNECTED = 1,
4304 RELAY_EVENT_PACKET_JOINED_SRC_CHANNEL = 2,
4307 RELAY_EVENT_PACKET_JOINED_DEST_CHANNEL = 3,
4310 RELAY_EVENT_PACKET_SENT_TO_DEST_CHANNEL = 4,
4313 RELAY_EVENT_PACKET_RECEIVED_VIDEO_FROM_SRC = 5,
4316 RELAY_EVENT_PACKET_RECEIVED_AUDIO_FROM_SRC = 6,
4319 RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL = 7,
4322 RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_REFUSED = 8,
4326 RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_NOT_CHANGE = 9,
4329 RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_IS_NULL = 10,
4332 RELAY_EVENT_VIDEO_PROFILE_UPDATE = 11,
4335 RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS = 12,
4338 RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_FAILED = 13,
4341 RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS = 14,
4344 RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_FAILED = 15,
4347enum CHANNEL_MEDIA_RELAY_STATE {
4350 RELAY_STATE_IDLE = 0,
4353 RELAY_STATE_CONNECTING = 1,
4357 RELAY_STATE_RUNNING = 2,
4360 RELAY_STATE_FAILURE = 3,
4365struct ChannelMediaInfo {
4369 const char* channelName;
4381struct ChannelMediaRelayConfiguration {
4393 ChannelMediaInfo *srcInfo;
4400 ChannelMediaInfo *destInfos;
4408 ChannelMediaRelayConfiguration()
4460 if (
this == &rhs)
return *
this;
4466 char* temp =
new char[strlen(rhs.
uid) + 1];
4467 strcpy(temp, rhs.
uid);
4474 if (
uid) {
delete []
uid; }
4519 if (
this == &rhs)
return *
this;
4596 const char* getEncryptionString()
const {
4599 return "aes-128-xts";
4601 return "aes-128-ecb";
4603 return "aes-256-xts";
4605 return "sm4-128-ecb";
4607 return "aes-128-gcm";
4609 return "aes-256-gcm";
4611 return "aes-128-gcm-2";
4613 return "aes-256-gcm-2";
4615 return "aes-128-gcm-2";
4617 return "aes-128-gcm-2";
4643enum UPLOAD_ERROR_REASON
4646 UPLOAD_NET_ERROR = 1,
4647 UPLOAD_SERVER_ERROR = 2,
4652enum PERMISSION_TYPE {
4733enum EAR_MONITORING_FILTER_TYPE {
4737 EAR_MONITORING_FILTER_NONE = (1<<0),
4741 EAR_MONITORING_FILTER_BUILT_IN_AUDIO_FILTERS = (1<<1),
4745 EAR_MONITORING_FILTER_NOISE_SUPPRESSION = (1<<2)
4753enum THREAD_PRIORITY_TYPE {
4812 if (engine && !engine->
queryInterface(rtc::AGORA_IID_PARAMETER_ENGINE, (
void**)&p))
reset(p);
4831struct SpatialAudioParams {
4898 const char *certificate_buf,
int certificate_len);
#define AGORA_CALL
Definition: AgoraBase.h:65
AGORA_API const char *AGORA_CALL getAgoraSdkVersion(int *build)
AGORA_API int AGORA_CALL createAgoraCredential(agora::util::AString &credential)
#define AGORA_API
Definition: AgoraBase.h:64
AGORA_API int AGORA_CALL getAgoraCertificateVerifyResult(const char *credential_buf, int credential_len, const char *certificate_buf, int certificate_len)
AGORA_API void setAgoraLicenseCallback(agora::base::LicenseCallback *callback)
Implement the agora::base::LicenseCallback, create a LicenseCallback object to receive callbacks of l...
AGORA_API int AGORA_CALL setAgoraSdkExternalSymbolLoader(void *(*func)(const char *symname))
AGORA_API agora::base::LicenseCallback * getAgoraLicenseCallback()
Get the LicenseCallback pointer if already setup, otherwise, return null.
AGORA_API const char *AGORA_CALL getAgoraSdkErrorDescription(int err)
#define OPTIONAL_NULLPTR
Definition: AgoraBase.h:81
Definition: AgoraOptional.h:413
Definition: AgoraBase.h:4803
AParameter(IEngineBase &engine)
Definition: AgoraBase.h:4805
AParameter(IEngineBase *engine)
Definition: AgoraBase.h:4806
AParameter(IAgoraParameter *p)
Definition: AgoraBase.h:4807
Definition: IAgoraParameter.h:226
Definition: AgoraBase.h:4797
virtual ~IEngineBase()
Definition: AgoraBase.h:4800
virtual int queryInterface(rtc::INTERFACE_ID_TYPE iid, void **inter)=0
Definition: AgoraBase.h:97
virtual int setParameters(const char *parameters)=0
virtual int getParameters(const char *key, any_document_t &result)=0
virtual ~IParameterEngine()
Definition: AgoraBase.h:101
Definition: AgoraBase.h:4817
virtual void onLicenseRequest()=0
virtual ~LicenseCallback()
Definition: AgoraBase.h:4819
virtual void onLicenseValidated()=0
virtual void onCertificateRequired()=0
virtual void onLicenseError(int result)=0
Definition: AgoraBase.h:3048
virtual bool OnEncodedVideoImageReceived(const uint8_t *imageBuffer, size_t length, const EncodedVideoFrameInfo &videoEncodedFrameInfo)=0
virtual ~IVideoEncodedImageReceiver()
Definition: AgoraBase.h:3062
Definition: AgoraBase.h:241
iterator begin()
Definition: AgoraBase.h:264
AList(IContainer *c, bool take_ownership)
Definition: AgoraBase.h:257
~AList()
Definition: AgoraBase.h:258
const AOutputIterator< value_type > const_iterator
Definition: AgoraBase.h:253
value_type * pointer
Definition: AgoraBase.h:249
void reset(IContainer *c=NULL, bool take_ownership=false)
Definition: AgoraBase.h:259
AOutputIterator< value_type > iterator
Definition: AgoraBase.h:252
iterator end()
Definition: AgoraBase.h:265
value_type & reference
Definition: AgoraBase.h:247
AList()
Definition: AgoraBase.h:256
T value_type
Definition: AgoraBase.h:246
bool empty() const
Definition: AgoraBase.h:267
const value_type * const_pointer
Definition: AgoraBase.h:250
size_t size_type
Definition: AgoraBase.h:251
size_type size() const
Definition: AgoraBase.h:266
const value_type & const_reference
Definition: AgoraBase.h:248
Definition: AgoraBase.h:210
AOutputIterator & operator++()
Definition: AgoraBase.h:224
value_type & reference
Definition: AgoraBase.h:215
bool operator!=(const AOutputIterator &rhs) const
Definition: AgoraBase.h:234
reference operator*()
Definition: AgoraBase.h:235
AOutputIterator(const AOutputIterator &rhs)
Definition: AgoraBase.h:223
~AOutputIterator()
Definition: AgoraBase.h:220
bool operator==(const AOutputIterator &rhs) const
Definition: AgoraBase.h:228
T value_type
Definition: AgoraBase.h:214
value_type * pointer
Definition: AgoraBase.h:217
const value_type & const_reference
Definition: AgoraBase.h:216
const value_type * const_pointer
Definition: AgoraBase.h:218
const_reference operator*() const
Definition: AgoraBase.h:236
AOutputIterator(IIterator *it=NULL)
Definition: AgoraBase.h:219
bool valid() const
Definition: AgoraBase.h:237
Definition: AgoraBase.h:108
void reset(pointer_type ptr=NULL)
Definition: AgoraBase.h:137
value_type & operator*() const
Definition: AgoraBase.h:125
bool queryInterface(C1 *c, C2 iid)
Definition: AgoraBase.h:146
pointer_type get() const
Definition: AgoraBase.h:129
~AutoPtr()
Definition: AgoraBase.h:116
T value_type
Definition: AgoraBase.h:110
pointer_type release()
Definition: AgoraBase.h:131
pointer_type operator->() const
Definition: AgoraBase.h:127
AutoPtr(pointer_type p=NULL)
Definition: AgoraBase.h:114
T * pointer_type
Definition: AgoraBase.h:111
Definition: AgoraBase.h:164
CopyableAutoPtr(const CopyableAutoPtr &rhs)
Definition: AgoraBase.h:169
pointer_type clone() const
Definition: AgoraBase.h:174
CopyableAutoPtr & operator=(const CopyableAutoPtr &rhs)
Definition: AgoraBase.h:170
CopyableAutoPtr(pointer_type p=0)
Definition: AgoraBase.h:168
Definition: AgoraBase.h:201
virtual size_t size() const =0
virtual ~IContainer()
Definition: AgoraBase.h:206
virtual IIterator * begin()=0
Definition: AgoraBase.h:192
virtual const void * const_current() const =0
virtual void * current()=0
virtual ~IIterator()
Definition: AgoraBase.h:198
Definition: AgoraBase.h:180
virtual const char * c_str()=0
virtual bool empty() const =0
virtual IString * clone()=0
virtual size_t length()=0
virtual const char * data()=0
virtual ~IString()
Definition: AgoraBase.h:188
LOCAL_AUDIO_STREAM_STATE
Definition: AgoraBase.h:2612
@ LOCAL_AUDIO_STREAM_STATE_FAILED
Definition: AgoraBase.h:2628
@ LOCAL_AUDIO_STREAM_STATE_RECORDING
Definition: AgoraBase.h:2620
@ LOCAL_AUDIO_STREAM_STATE_STOPPED
Definition: AgoraBase.h:2616
@ LOCAL_AUDIO_STREAM_STATE_ENCODING
Definition: AgoraBase.h:2624
FRAME_HEIGHT
Definition: AgoraBase.h:1367
@ FRAME_HEIGHT_360
Definition: AgoraBase.h:1371
AUDIO_SCENARIO_TYPE
Definition: AgoraBase.h:2518
@ AUDIO_SCENARIO_NUM
Definition: AgoraBase.h:2546
@ AUDIO_SCENARIO_GAME_STREAMING
Definition: AgoraBase.h:2528
@ AUDIO_SCENARIO_CHORUS
Definition: AgoraBase.h:2542
@ AUDIO_SCENARIO_HIGH_DEFINITION
Definition: AgoraBase.h:2538
@ AUDIO_SCENARIO_CHATROOM
Definition: AgoraBase.h:2534
@ AUDIO_SCENARIO_DEFAULT
Definition: AgoraBase.h:2522
FRAME_WIDTH
Definition: AgoraBase.h:1358
@ FRAME_WIDTH_640
Definition: AgoraBase.h:1362
CONNECTION_CHANGED_REASON_TYPE
Definition: AgoraBase.h:3388
@ CONNECTION_CHANGED_INVALID_TOKEN
Definition: AgoraBase.h:3424
@ CONNECTION_CHANGED_BANNED_BY_SERVER
Definition: AgoraBase.h:3404
@ CONNECTION_CHANGED_REJOIN_SUCCESS
Definition: AgoraBase.h:3453
@ CONNECTION_CHANGED_ECHO_TEST
Definition: AgoraBase.h:3461
@ CONNECTION_CHANGED_INVALID_CHANNEL_NAME
Definition: AgoraBase.h:3420
@ CONNECTION_CHANGED_JOIN_SUCCESS
Definition: AgoraBase.h:3396
@ CONNECTION_CHANGED_INTERRUPTED
Definition: AgoraBase.h:3400
@ CONNECTION_CHANGED_LEAVE_CHANNEL
Definition: AgoraBase.h:3412
@ CONNECTION_CHANGED_CONNECTING
Definition: AgoraBase.h:3392
@ CONNECTION_CHANGED_SETTING_PROXY_SERVER
Definition: AgoraBase.h:3436
@ CONNECTION_CHANGED_LOST
Definition: AgoraBase.h:3457
@ CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED
Definition: AgoraBase.h:3445
@ CONNECTION_CHANGED_JOIN_FAILED
Definition: AgoraBase.h:3408
@ CONNECTION_CHANGED_RENEW_TOKEN
Definition: AgoraBase.h:3440
@ CONNECTION_CHANGED_TOKEN_EXPIRED
Definition: AgoraBase.h:3428
@ CONNECTION_CHANGED_KEEP_ALIVE_TIMEOUT
Definition: AgoraBase.h:3449
@ CONNECTION_CHANGED_REJECTED_BY_SERVER
Definition: AgoraBase.h:3432
@ CONNECTION_CHANGED_INVALID_APP_ID
Definition: AgoraBase.h:3416
@ CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED_BY_USER
Definition: AgoraBase.h:3465
ENCRYPTION_ERROR_TYPE
Definition: AgoraBase.h:4624
@ ENCRYPTION_ERROR_ENCRYPTION_FAILURE
Definition: AgoraBase.h:4636
@ ENCRYPTION_ERROR_DECRYPTION_FAILURE
Definition: AgoraBase.h:4632
@ ENCRYPTION_ERROR_INTERNAL_FAILURE
Definition: AgoraBase.h:4628
FRAME_RATE
Definition: AgoraBase.h:1325
@ FRAME_RATE_FPS_24
Definition: AgoraBase.h:1345
@ FRAME_RATE_FPS_15
Definition: AgoraBase.h:1341
@ FRAME_RATE_FPS_1
Definition: AgoraBase.h:1329
@ FRAME_RATE_FPS_10
Definition: AgoraBase.h:1337
@ FRAME_RATE_FPS_30
Definition: AgoraBase.h:1349
@ FRAME_RATE_FPS_7
Definition: AgoraBase.h:1333
@ FRAME_RATE_FPS_60
Definition: AgoraBase.h:1353
LOCAL_AUDIO_STREAM_ERROR
Definition: AgoraBase.h:2634
@ LOCAL_AUDIO_STREAM_ERROR_FAILURE
Definition: AgoraBase.h:2642
@ LOCAL_AUDIO_STREAM_ERROR_DEVICE_BUSY
Definition: AgoraBase.h:2650
@ LOCAL_AUDIO_STREAM_ERROR_ENCODE_FAILURE
Definition: AgoraBase.h:2659
@ LOCAL_AUDIO_STREAM_ERROR_RECORD_FAILURE
Definition: AgoraBase.h:2655
@ LOCAL_AUDIO_STREAM_ERROR_DEVICE_NO_PERMISSION
Definition: AgoraBase.h:2646
@ LOCAL_AUDIO_STREAM_ERROR_OK
Definition: AgoraBase.h:2638
CLIENT_ROLE_TYPE
Definition: AgoraBase.h:2330
@ CLIENT_ROLE_AUDIENCE
Definition: AgoraBase.h:2338
@ CLIENT_ROLE_BROADCASTER
Definition: AgoraBase.h:2334
CONNECTION_STATE_TYPE
Definition: AgoraBase.h:3259
@ CONNECTION_STATE_DISCONNECTED
Definition: AgoraBase.h:3263
@ CONNECTION_STATE_RECONNECTING
Definition: AgoraBase.h:3277
@ CONNECTION_STATE_CONNECTING
Definition: AgoraBase.h:3267
@ CONNECTION_STATE_FAILED
Definition: AgoraBase.h:3281
@ CONNECTION_STATE_CONNECTED
Definition: AgoraBase.h:3272
const int COMPATIBLE_BITRATE
Definition: AgoraBase.h:1488
REMOTE_AUDIO_STATE_REASON
Definition: AgoraBase.h:2752
@ REMOTE_AUDIO_REASON_REMOTE_UNMUTED
Definition: AgoraBase.h:2784
@ REMOTE_AUDIO_REASON_REMOTE_MUTED
Definition: AgoraBase.h:2779
@ REMOTE_AUDIO_REASON_LOCAL_MUTED
Definition: AgoraBase.h:2769
@ REMOTE_AUDIO_REASON_REMOTE_OFFLINE
Definition: AgoraBase.h:2788
@ REMOTE_AUDIO_REASON_NETWORK_CONGESTION
Definition: AgoraBase.h:2760
@ REMOTE_AUDIO_REASON_NETWORK_RECOVERY
Definition: AgoraBase.h:2764
@ REMOTE_AUDIO_REASON_LOCAL_UNMUTED
Definition: AgoraBase.h:2774
@ REMOTE_AUDIO_REASON_INTERNAL
Definition: AgoraBase.h:2756
TCcMode
Definition: AgoraBase.h:4783
@ CC_DISABLED
Definition: AgoraBase.h:4791
@ CC_ENABLED
Definition: AgoraBase.h:4787
USER_OFFLINE_REASON_TYPE
Definition: AgoraBase.h:1200
@ USER_OFFLINE_BECOME_AUDIENCE
Definition: AgoraBase.h:1214
@ USER_OFFLINE_QUIT
Definition: AgoraBase.h:1204
@ USER_OFFLINE_DROPPED
Definition: AgoraBase.h:1210
STREAM_PUBLISH_STATE
Definition: AgoraBase.h:4692
@ PUB_STATE_IDLE
Definition: AgoraBase.h:4696
@ PUB_STATE_PUBLISHED
Definition: AgoraBase.h:4708
@ PUB_STATE_PUBLISHING
Definition: AgoraBase.h:4704
@ PUB_STATE_NO_PUBLISHED
Definition: AgoraBase.h:4700
VIDEO_STREAM_TYPE
Definition: AgoraBase.h:1776
@ VIDEO_STREAM_HIGH
Definition: AgoraBase.h:1780
@ VIDEO_STREAM_LOW
Definition: AgoraBase.h:1784
unsigned int track_id_t
Definition: AgoraMediaBase.h:26
AUDIO_PROFILE_TYPE
Definition: AgoraBase.h:2476
@ AUDIO_PROFILE_MUSIC_STANDARD_STEREO
Definition: AgoraBase.h:2497
@ AUDIO_PROFILE_IOT
Definition: AgoraBase.h:2509
@ AUDIO_PROFILE_MUSIC_HIGH_QUALITY
Definition: AgoraBase.h:2501
@ AUDIO_PROFILE_DEFAULT
Definition: AgoraBase.h:2484
@ AUDIO_PROFILE_MUSIC_STANDARD
Definition: AgoraBase.h:2492
@ AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO
Definition: AgoraBase.h:2505
@ AUDIO_PROFILE_SPEECH_STANDARD
Definition: AgoraBase.h:2488
VIDEO_CODEC_TYPE
Definition: AgoraBase.h:1504
@ VIDEO_CODEC_GENERIC_H264
Definition: AgoraBase.h:1532
@ VIDEO_CODEC_H265
Definition: AgoraBase.h:1520
@ VIDEO_CODEC_GENERIC_JPEG
Definition: AgoraBase.h:1540
@ VIDEO_CODEC_VP9
Definition: AgoraBase.h:1524
@ VIDEO_CODEC_AV1
Definition: AgoraBase.h:1536
@ VIDEO_CODEC_H264
Definition: AgoraBase.h:1516
@ VIDEO_CODEC_GENERIC
Definition: AgoraBase.h:1528
@ VIDEO_CODEC_NONE
Definition: AgoraBase.h:1508
@ VIDEO_CODEC_VP8
Definition: AgoraBase.h:1512
LOCAL_VIDEO_STREAM_STATE
Definition: AgoraBase.h:2664
@ LOCAL_VIDEO_STREAM_STATE_ENCODING
Definition: AgoraBase.h:2676
@ LOCAL_VIDEO_STREAM_STATE_FAILED
Definition: AgoraBase.h:2680
@ LOCAL_VIDEO_STREAM_STATE_STOPPED
Definition: AgoraBase.h:2668
@ LOCAL_VIDEO_STREAM_STATE_CAPTURING
Definition: AgoraBase.h:2672
REMOTE_VIDEO_STATE
Definition: AgoraBase.h:2792
@ REMOTE_VIDEO_STATE_FAILED
Definition: AgoraBase.h:2817
@ REMOTE_VIDEO_STATE_DECODING
Definition: AgoraBase.h:2808
@ REMOTE_VIDEO_STATE_FROZEN
Definition: AgoraBase.h:2813
@ REMOTE_VIDEO_STATE_STARTING
Definition: AgoraBase.h:2801
@ REMOTE_VIDEO_STATE_STOPPED
Definition: AgoraBase.h:2798
AREA_CODE
Definition: AgoraBase.h:4191
@ AREA_CODE_NA
Definition: AgoraBase.h:4199
@ AREA_CODE_AS
Definition: AgoraBase.h:4207
@ AREA_CODE_EU
Definition: AgoraBase.h:4203
@ AREA_CODE_JP
Definition: AgoraBase.h:4211
@ AREA_CODE_GLOB
Definition: AgoraBase.h:4219
@ AREA_CODE_IN
Definition: AgoraBase.h:4215
@ AREA_CODE_CN
Definition: AgoraBase.h:4195
MAX_USER_ACCOUNT_LENGTH_TYPE
Definition: AgoraBase.h:4661
@ MAX_USER_ACCOUNT_LENGTH
Definition: AgoraBase.h:4664
VIDEO_MIRROR_MODE_TYPE
Definition: AgoraBase.h:1923
@ VIDEO_MIRROR_MODE_AUTO
Definition: AgoraBase.h:1927
@ VIDEO_MIRROR_MODE_ENABLED
Definition: AgoraBase.h:1931
@ VIDEO_MIRROR_MODE_DISABLED
Definition: AgoraBase.h:1935
ENCRYPTION_MODE
Definition: AgoraBase.h:4540
@ SM4_128_ECB
Definition: AgoraBase.h:4554
REMOTE_VIDEO_DOWNSCALE_LEVEL
Definition: AgoraBase.h:2940
@ REMOTE_VIDEO_DOWNSCALE_LEVEL_1
Definition: AgoraBase.h:2948
@ REMOTE_VIDEO_DOWNSCALE_LEVEL_3
Definition: AgoraBase.h:2956
@ REMOTE_VIDEO_DOWNSCALE_LEVEL_4
Definition: AgoraBase.h:2960
@ REMOTE_VIDEO_DOWNSCALE_LEVEL_NONE
Definition: AgoraBase.h:2944
@ REMOTE_VIDEO_DOWNSCALE_LEVEL_2
Definition: AgoraBase.h:2952
const int STANDARD_BITRATE
Definition: AgoraBase.h:1479
LASTMILE_PROBE_RESULT_STATE
Definition: AgoraBase.h:3317
@ LASTMILE_PROBE_RESULT_COMPLETE
Definition: AgoraBase.h:3321
@ LASTMILE_PROBE_RESULT_INCOMPLETE_NO_BWE
Definition: AgoraBase.h:3326
@ LASTMILE_PROBE_RESULT_UNAVAILABLE
Definition: AgoraBase.h:3331
REMOTE_AUDIO_STATE
Definition: AgoraBase.h:2717
@ REMOTE_AUDIO_STATE_FAILED
Definition: AgoraBase.h:2745
@ REMOTE_AUDIO_STATE_STARTING
Definition: AgoraBase.h:2728
@ REMOTE_AUDIO_STATE_STOPPED
Definition: AgoraBase.h:2724
@ REMOTE_AUDIO_STATE_FROZEN
Definition: AgoraBase.h:2740
@ REMOTE_AUDIO_STATE_DECODING
Definition: AgoraBase.h:2735
NETWORK_TYPE
Definition: AgoraBase.h:3471
@ NETWORK_TYPE_DISCONNECTED
Definition: AgoraBase.h:3479
@ NETWORK_TYPE_MOBILE_3G
Definition: AgoraBase.h:3495
@ NETWORK_TYPE_MOBILE_4G
Definition: AgoraBase.h:3499
@ NETWORK_TYPE_UNKNOWN
Definition: AgoraBase.h:3475
@ NETWORK_TYPE_LAN
Definition: AgoraBase.h:3483
@ NETWORK_TYPE_WIFI
Definition: AgoraBase.h:3487
@ NETWORK_TYPE_MOBILE_2G
Definition: AgoraBase.h:3491
unsigned int uid_t
Definition: AgoraMediaBase.h:25
QUALITY_ADAPT_INDICATION
Definition: AgoraBase.h:2343
@ ADAPT_NONE
Definition: AgoraBase.h:2345
@ ADAPT_UP_BANDWIDTH
Definition: AgoraBase.h:2347
@ ADAPT_DOWN_BANDWIDTH
Definition: AgoraBase.h:2349
AUDIO_CODEC_TYPE
Definition: AgoraBase.h:1546
@ AUDIO_CODEC_G722
Definition: AgoraBase.h:1563
@ AUDIO_CODEC_HEAAC
Definition: AgoraBase.h:1574
@ AUDIO_CODEC_PCMU
Definition: AgoraBase.h:1559
@ AUDIO_CODEC_OPUS
Definition: AgoraBase.h:1550
@ AUDIO_CODEC_HEAAC2
Definition: AgoraBase.h:1584
@ AUDIO_CODEC_AACLC
Definition: AgoraBase.h:1570
@ AUDIO_CODEC_PCMA
Definition: AgoraBase.h:1555
STREAM_SUBSCRIBE_STATE
Definition: AgoraBase.h:4670
@ SUB_STATE_IDLE
Definition: AgoraBase.h:4674
@ SUB_STATE_NO_SUBSCRIBED
Definition: AgoraBase.h:4678
@ SUB_STATE_SUBSCRIBING
Definition: AgoraBase.h:4682
@ SUB_STATE_SUBSCRIBED
Definition: AgoraBase.h:4686
VIDEO_SOURCE_TYPE
Definition: AgoraBase.h:2273
@ VIDEO_SOURCE_CAMERA_PRIMARY
Definition: AgoraBase.h:2276
@ VIDEO_SOURCE_RTC_IMAGE_JPEG
Definition: AgoraBase.h:2312
@ VIDEO_SOURCE_CUSTOM
Definition: AgoraBase.h:2301
@ VIDEO_SOURCE_RTC_IMAGE_GIF
Definition: AgoraBase.h:2315
@ VIDEO_SOURCE_CAMERA
Definition: AgoraBase.h:2282
@ VIDEO_SOURCE_SCREEN_PRIMARY
Definition: AgoraBase.h:2289
@ VIDEO_SOURCE_REMOTE
Definition: AgoraBase.h:2318
@ VIDEO_SOURCE_CAMERA_SECONDARY
Definition: AgoraBase.h:2285
@ VIDEO_SOURCE_SCREEN_SECONDARY
Definition: AgoraBase.h:2297
@ VIDEO_SOURCE_UNKNOWN
Definition: AgoraBase.h:2324
@ VIDEO_SOURCE_MEDIA_PLAYER
Definition: AgoraBase.h:2305
@ VIDEO_SOURCE_SCREEN
Definition: AgoraBase.h:2293
@ VIDEO_SOURCE_TRANSCODED
Definition: AgoraBase.h:2321
@ VIDEO_SOURCE_RTC_IMAGE_PNG
Definition: AgoraBase.h:2309
LOCAL_VIDEO_STREAM_ERROR
Definition: AgoraBase.h:2686
@ LOCAL_VIDEO_STREAM_ERROR_DEVICE_NO_PERMISSION
Definition: AgoraBase.h:2692
@ LOCAL_VIDEO_STREAM_ERROR_OK
Definition: AgoraBase.h:2688
@ LOCAL_VIDEO_STREAM_ERROR_CAPTURE_FAILURE
Definition: AgoraBase.h:2696
@ LOCAL_VIDEO_STREAM_ERROR_DEVICE_BUSY
Definition: AgoraBase.h:2694
@ LOCAL_VIDEO_STREAM_ERROR_FAILURE
Definition: AgoraBase.h:2690
@ LOCAL_VIDEO_STREAM_ERROR_ENCODE_FAILURE
Definition: AgoraBase.h:2698
DEGRADATION_PREFERENCE
Definition: AgoraBase.h:1426
@ MAINTAIN_FRAMERATE
Definition: AgoraBase.h:1434
@ MAINTAIN_BALANCED
Definition: AgoraBase.h:1438
@ MAINTAIN_QUALITY
Definition: AgoraBase.h:1430
@ MAINTAIN_RESOLUTION
Definition: AgoraBase.h:1442
REMOTE_VIDEO_STATE_REASON
Definition: AgoraBase.h:2820
@ REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION
Definition: AgoraBase.h:2829
@ REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED
Definition: AgoraBase.h:2854
@ REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED
Definition: AgoraBase.h:2849
@ REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED
Definition: AgoraBase.h:2844
@ REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK
Definition: AgoraBase.h:2864
@ REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY
Definition: AgoraBase.h:2834
@ REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE
Definition: AgoraBase.h:2859
@ REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY
Definition: AgoraBase.h:2869
@ REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED
Definition: AgoraBase.h:2839
@ REMOTE_VIDEO_STATE_REASON_INTERNAL
Definition: AgoraBase.h:2824
QUALITY_TYPE
Definition: AgoraBase.h:1236
@ QUALITY_BAD
Definition: AgoraBase.h:1258
@ QUALITY_POOR
Definition: AgoraBase.h:1254
@ QUALITY_GOOD
Definition: AgoraBase.h:1250
@ QUALITY_UNKNOWN
Definition: AgoraBase.h:1241
@ QUALITY_VBAD
Definition: AgoraBase.h:1262
@ QUALITY_EXCELLENT
Definition: AgoraBase.h:1245
@ QUALITY_DOWN
Definition: AgoraBase.h:1266
VIDEO_FRAME_TYPE
Definition: AgoraBase.h:1378
@ VIDEO_FRAME_TYPE_B_FRAME
Definition: AgoraBase.h:1386
@ VIDEO_FRAME_TYPE_DROPPABLE_FRAME
Definition: AgoraBase.h:1388
@ VIDEO_FRAME_TYPE_UNKNOW
Definition: AgoraBase.h:1390
@ VIDEO_FRAME_TYPE_KEY_FRAME
Definition: AgoraBase.h:1382
@ VIDEO_FRAME_TYPE_BLANK_FRAME
Definition: AgoraBase.h:1380
@ VIDEO_FRAME_TYPE_DELTA_FRAME
Definition: AgoraBase.h:1384
VIDEO_ORIENTATION
Definition: AgoraBase.h:1303
@ VIDEO_ORIENTATION_270
Definition: AgoraBase.h:1319
@ VIDEO_ORIENTATION_0
Definition: AgoraBase.h:1307
@ VIDEO_ORIENTATION_90
Definition: AgoraBase.h:1311
@ VIDEO_ORIENTATION_180
Definition: AgoraBase.h:1315
ORIENTATION_MODE
Definition: AgoraBase.h:1396
@ ORIENTATION_MODE_FIXED_PORTRAIT
Definition: AgoraBase.h:1420
@ ORIENTATION_MODE_ADAPTIVE
Definition: AgoraBase.h:1404
@ ORIENTATION_MODE_FIXED_LANDSCAPE
Definition: AgoraBase.h:1412
CopyableAutoPtr< IString > AString
Definition: AgoraBase.h:190
Definition: AgoraBase.h:85
void * view_t
Definition: AgoraBase.h:1166
util::AList< UserInfo > UserList
Definition: AgoraBase.h:1192
commons::cjson::JsonWrapper any_document_t
Definition: AgoraBase.h:92
const char * user_id_t
Definition: AgoraBase.h:1165
CHANNEL_PROFILE_TYPE
Definition: AgoraBase.h:275
@ CHANNEL_PROFILE_COMMUNICATION
Definition: AgoraBase.h:281
@ CHANNEL_PROFILE_CLOUD_GAMING
Definition: AgoraBase.h:299
@ CHANNEL_PROFILE_LIVE_BROADCASTING
Definition: AgoraBase.h:287
@ CHANNEL_PROFILE_GAME
Definition: AgoraBase.h:292
Definition: AgoraBase.h:1171
UserInfo()
Definition: AgoraBase.h:1189
bool hasAudio
Definition: AgoraBase.h:1181
bool hasVideo
Definition: AgoraBase.h:1187
util::AString userId
Definition: AgoraBase.h:1175
Definition: AgoraBase.h:4435
~PeerDownlinkInfo()
Definition: AgoraBase.h:4473
PeerDownlinkInfo()
Definition: AgoraBase.h:4453
REMOTE_VIDEO_DOWNSCALE_LEVEL current_downscale_level
Definition: AgoraBase.h:4447
int expected_bitrate_bps
Definition: AgoraBase.h:4451
PeerDownlinkInfo & operator=(const PeerDownlinkInfo &rhs)
Definition: AgoraBase.h:4459
const char * uid
Definition: AgoraBase.h:4439
VIDEO_STREAM_TYPE stream_type
Definition: AgoraBase.h:4443
Definition: AgoraBase.h:4434
int total_downscale_level_count
Definition: AgoraBase.h:4489
~DownlinkNetworkInfo()
Definition: AgoraBase.h:4533
int total_received_video_count
Definition: AgoraBase.h:4497
DownlinkNetworkInfo & operator=(const DownlinkNetworkInfo &rhs)
Definition: AgoraBase.h:4518
int lastmile_buffer_delay_time_ms
Definition: AgoraBase.h:4481
int bandwidth_estimation_bps
Definition: AgoraBase.h:4485
PeerDownlinkInfo * peer_downlink_info
Definition: AgoraBase.h:4493
DownlinkNetworkInfo(const DownlinkNetworkInfo &info)
Definition: AgoraBase.h:4506
DownlinkNetworkInfo()
Definition: AgoraBase.h:4499
Definition: AgoraBase.h:1665
bool sendEvenIfEmpty
Definition: AgoraBase.h:1681
bool speech
Definition: AgoraBase.h:1675
EncodedAudioFrameAdvancedSettings()
Definition: AgoraBase.h:1666
Definition: AgoraBase.h:1688
int sampleRateHz
Definition: AgoraBase.h:1708
EncodedAudioFrameInfo(const EncodedAudioFrameInfo &rhs)
Definition: AgoraBase.h:1695
EncodedAudioFrameAdvancedSettings advancedSettings
Definition: AgoraBase.h:1722
EncodedAudioFrameInfo()
Definition: AgoraBase.h:1689
int samplesPerChannel
Definition: AgoraBase.h:1714
AUDIO_CODEC_TYPE codec
Definition: AgoraBase.h:1704
int numberOfChannels
Definition: AgoraBase.h:1718
Definition: AgoraBase.h:1817
VIDEO_STREAM_TYPE streamType
Definition: AgoraBase.h:1917
int height
Definition: AgoraBase.h:1870
VIDEO_CODEC_TYPE codecType
Definition: AgoraBase.h:1862
int trackId
Definition: AgoraBase.h:1889
int framesPerSecond
Definition: AgoraBase.h:1877
uid_t uid
Definition: AgoraBase.h:1913
EncodedVideoFrameInfo & operator=(const EncodedVideoFrameInfo &rhs)
Definition: AgoraBase.h:1844
uint64_t internalSendTs
Definition: AgoraBase.h:1909
EncodedVideoFrameInfo(const EncodedVideoFrameInfo &rhs)
Definition: AgoraBase.h:1831
VIDEO_FRAME_TYPE frameType
Definition: AgoraBase.h:1881
int width
Definition: AgoraBase.h:1866
int64_t renderTimeMs
Definition: AgoraBase.h:1899
EncodedVideoFrameInfo()
Definition: AgoraBase.h:1818
VIDEO_ORIENTATION rotation
Definition: AgoraBase.h:1885
Definition: AgoraBase.h:4575
const char * encryptionKey
Definition: AgoraBase.h:4585
EncryptionConfig()
Definition: AgoraBase.h:4588
uint8_t encryptionKdfSalt[32]
Definition: AgoraBase.h:4586
ENCRYPTION_MODE encryptionMode
Definition: AgoraBase.h:4579
Definition: AgoraBase.h:3287
bool probeUplink
Definition: AgoraBase.h:3294
bool probeDownlink
Definition: AgoraBase.h:3300
unsigned int expectedUplinkBitrate
Definition: AgoraBase.h:3306
unsigned int expectedDownlinkBitrate
Definition: AgoraBase.h:3311
Definition: AgoraBase.h:3338
LastmileProbeOneWayResult()
Definition: AgoraBase.h:3352
unsigned int packetLossRate
Definition: AgoraBase.h:3342
unsigned int availableBandwidth
Definition: AgoraBase.h:3350
unsigned int jitter
Definition: AgoraBase.h:3346
Definition: AgoraBase.h:3361
LastmileProbeOneWayResult downlinkReport
Definition: AgoraBase.h:3373
unsigned int rtt
Definition: AgoraBase.h:3377
LastmileProbeOneWayResult uplinkReport
Definition: AgoraBase.h:3369
LastmileProbeResult()
Definition: AgoraBase.h:3379
LASTMILE_PROBE_RESULT_STATE state
Definition: AgoraBase.h:3365
Definition: AgoraBase.h:3120
int sentSampleRate
Definition: AgoraBase.h:3128
int numChannels
Definition: AgoraBase.h:3124
int sentBitrate
Definition: AgoraBase.h:3132
Definition: AgoraBase.h:2091
unsigned short rxVideoKBitRate
Definition: AgoraBase.h:2139
int firstVideoPacketDurationAfterUnmute
Definition: AgoraBase.h:2210
int firstVideoKeyFrameDecodedDurationAfterUnmute
Definition: AgoraBase.h:2220
unsigned short rxAudioKBitRate
Definition: AgoraBase.h:2131
int memoryAppUsageInKbytes
Definition: AgoraBase.h:2175
unsigned int rxBytes
Definition: AgoraBase.h:2103
unsigned short txAudioKBitRate
Definition: AgoraBase.h:2135
unsigned short lastmileDelay
Definition: AgoraBase.h:2147
unsigned int userCount
Definition: AgoraBase.h:2151
unsigned int txVideoBytes
Definition: AgoraBase.h:2111
unsigned short rxKBitRate
Definition: AgoraBase.h:2127
int gatewayRtt
Definition: AgoraBase.h:2163
unsigned int duration
Definition: AgoraBase.h:2095
int firstVideoPacketDuration
Definition: AgoraBase.h:2190
unsigned int rxAudioBytes
Definition: AgoraBase.h:2115
unsigned short txKBitRate
Definition: AgoraBase.h:2123
int packetsBeforeFirstKeyFramePacket
Definition: AgoraBase.h:2200
int rxPacketLossRate
Definition: AgoraBase.h:2233
int firstAudioPacketDuration
Definition: AgoraBase.h:2185
int firstAudioPacketDurationAfterUnmute
Definition: AgoraBase.h:2205
int firstVideoKeyFramePacketDurationAfterUnmute
Definition: AgoraBase.h:2215
int txPacketLossRate
Definition: AgoraBase.h:2229
RtcStats()
Definition: AgoraBase.h:2234
double cpuTotalUsage
Definition: AgoraBase.h:2159
int firstVideoKeyFrameRenderedDurationAfterUnmute
Definition: AgoraBase.h:2225
double memoryAppUsageRatio
Definition: AgoraBase.h:2167
int connectTimeMs
Definition: AgoraBase.h:2180
double memoryTotalUsageRatio
Definition: AgoraBase.h:2171
unsigned short txVideoKBitRate
Definition: AgoraBase.h:2143
unsigned int txAudioBytes
Definition: AgoraBase.h:2107
unsigned int txBytes
Definition: AgoraBase.h:2099
unsigned int rxVideoBytes
Definition: AgoraBase.h:2119
int firstVideoKeyFramePacketDuration
Definition: AgoraBase.h:2195
double cpuAppUsage
Definition: AgoraBase.h:2155
Definition: AgoraBase.h:2069
bool operator==(const SimulcastStreamConfig &rhs) const
Definition: AgoraBase.h:2083
SimulcastStreamConfig()
Definition: AgoraBase.h:2082
int framerate
Definition: AgoraBase.h:2081
int bitrate
Definition: AgoraBase.h:2077
VideoDimensions dimensions
Definition: AgoraBase.h:2073
Definition: AgoraBase.h:4418
bool operator==(const UplinkNetworkInfo &rhs) const
Definition: AgoraBase.h:4426
int video_encoder_target_bitrate_bps
Definition: AgoraBase.h:4422
UplinkNetworkInfo()
Definition: AgoraBase.h:4424
Definition: AgoraBase.h:4714
char userAccount[MAX_USER_ACCOUNT_LENGTH]
Definition: AgoraBase.h:4722
UserInfo()
Definition: AgoraBase.h:4723
uid_t uid
Definition: AgoraBase.h:4718
Definition: AgoraBase.h:1454
VideoDimensions()
Definition: AgoraBase.h:1463
bool operator==(const VideoDimensions &rhs) const
Definition: AgoraBase.h:1465
int height
Definition: AgoraBase.h:1462
int width
Definition: AgoraBase.h:1458
VideoDimensions(int w, int h)
Definition: AgoraBase.h:1464
Definition: AgoraBase.h:1941
VIDEO_MIRROR_MODE_TYPE mirrorMode
Definition: AgoraBase.h:2001
DEGRADATION_PREFERENCE degradationPreference
Definition: AgoraBase.h:1996
VideoEncoderConfiguration & operator=(const VideoEncoderConfiguration &rhs)
Definition: AgoraBase.h:2040
VIDEO_CODEC_TYPE codecType
Definition: AgoraBase.h:1945
VideoEncoderConfiguration()
Definition: AgoraBase.h:2030
int minBitrate
Definition: AgoraBase.h:1987
VideoEncoderConfiguration(int width, int height, int f, int b, ORIENTATION_MODE m, VIDEO_MIRROR_MODE_TYPE mirror=VIDEO_MIRROR_MODE_DISABLED)
Definition: AgoraBase.h:2012
VideoEncoderConfiguration(const VideoDimensions &d, int f, int b, ORIENTATION_MODE m, VIDEO_MIRROR_MODE_TYPE mirror=VIDEO_MIRROR_MODE_DISABLED)
Definition: AgoraBase.h:2003
ORIENTATION_MODE orientationMode
Definition: AgoraBase.h:1991
int frameRate
Definition: AgoraBase.h:1953
VideoEncoderConfiguration(const VideoEncoderConfiguration &config)
Definition: AgoraBase.h:2021
int bitrate
Definition: AgoraBase.h:1970
VideoDimensions dimensions
Definition: AgoraBase.h:1949
Definition: AgoraBase.h:1789
VIDEO_STREAM_TYPE type
Definition: AgoraBase.h:1796
VideoSubscriptionOptions(VIDEO_STREAM_TYPE streamtype)
Definition: AgoraBase.h:1807
bool encodedFrameOnly
Definition: AgoraBase.h:1802
VideoSubscriptionOptions()
Definition: AgoraBase.h:1804
VideoSubscriptionOptions(VIDEO_STREAM_TYPE streamtype, bool encoded_only)
Definition: AgoraBase.h:1810
Definition: AgoraBase.h:2886
VIDEO_CODEC_TYPE codecType
Definition: AgoraBase.h:2918
uid_t ownerUid
Definition: AgoraBase.h:2901
track_id_t trackId
Definition: AgoraBase.h:2906
VIDEO_SOURCE_TYPE sourceType
Definition: AgoraBase.h:2928
bool isLocal
Definition: AgoraBase.h:2897
bool encodedFrameOnly
Definition: AgoraBase.h:2924
VideoTrackInfo()
Definition: AgoraBase.h:2887
const char * channelId
Definition: AgoraBase.h:2910
VIDEO_STREAM_TYPE streamType
Definition: AgoraBase.h:2914