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
132 operator bool()
const {
return (ptr_ != NULL); }
149 if (ptr != ptr_ && ptr_)
157 template <
class C1,
class C2>
161 if (c && !c->queryInterface(iid,
reinterpret_cast<void **
>(&p)))
195 return this->
get()->clone();
204 virtual const char *
data() = 0;
226 virtual size_t size()
const = 0;
284 AList() : container(NULL), owner(false) {}
289 if (owner && container)
292 owner = take_ownership;
339 CHANNEL_PROFILE_COMMUNICATION_1v1 = 4,
346 CHANNEL_PROFILE_LIVE_BROADCASTING_2 = 5,
361 WARN_INVALID_VIEW = 8,
366 WARN_INIT_VIDEO = 16,
376 WARN_NO_AVAILABLE_CHANNEL = 103,
382 WARN_LOOKUP_CHANNEL_TIMEOUT = 104,
387 WARN_LOOKUP_CHANNEL_REJECTED = 105,
393 WARN_OPEN_CHANNEL_TIMEOUT = 106,
398 WARN_OPEN_CHANNEL_REJECTED = 107,
404 WARN_SWITCH_LIVE_VIDEO_TIMEOUT = 111,
408 WARN_SET_CLIENT_ROLE_TIMEOUT = 118,
412 WARN_OPEN_CHANNEL_INVALID_TICKET = 121,
416 WARN_OPEN_CHANNEL_TRY_NEXT_VOS = 122,
420 WARN_CHANNEL_CONNECTION_UNRECOVERABLE = 131,
424 WARN_CHANNEL_CONNECTION_IP_CHANGED = 132,
428 WARN_CHANNEL_CONNECTION_PORT_CHANGED = 133,
431 WARN_CHANNEL_SOCKET_ERROR = 134,
435 WARN_AUDIO_MIXING_OPEN_ERROR = 701,
439 WARN_ADM_RUNTIME_PLAYOUT_WARNING = 1014,
443 WARN_ADM_RUNTIME_RECORDING_WARNING = 1016,
447 WARN_ADM_RECORD_AUDIO_SILENCE = 1019,
451 WARN_ADM_PLAYOUT_MALFUNCTION = 1020,
455 WARN_ADM_RECORD_MALFUNCTION = 1021,
462 WARN_ADM_IOS_CATEGORY_NOT_PLAYANDRECORD = 1029,
466 WARN_ADM_IOS_SAMPLERATE_CHANGE = 1030,
470 WARN_ADM_RECORD_AUDIO_LOWLEVEL = 1031,
474 WARN_ADM_PLAYOUT_AUDIO_LOWLEVEL = 1032,
482 WARN_ADM_WINDOWS_NO_DATA_READY_EVENT = 1040,
486 WARN_APM_HOWLING = 1051,
490 WARN_ADM_GLITCH_STATE = 1052,
494 WARN_ADM_IMPROPER_SETTINGS = 1053,
498 WARN_ADM_WIN_CORE_NO_RECORDING_DEVICE = 1322,
503 WARN_ADM_WIN_CORE_NO_PLAYOUT_DEVICE = 1323,
511 WARN_ADM_WIN_CORE_IMPROPER_CAPTURE_RELEASE = 1324,
532 ERR_INVALID_ARGUMENT = 2,
543 ERR_NOT_SUPPORTED = 4,
551 ERR_BUFFER_TOO_SMALL = 6,
555 ERR_NOT_INITIALIZED = 7,
559 ERR_INVALID_STATE = 8,
564 ERR_NO_PERMISSION = 9,
587 ERR_BIND_SOCKET = 13,
604 ERR_JOIN_CHANNEL_REJECTED = 17,
611 ERR_LEAVE_CHANNEL_REJECTED = 18,
615 ERR_ALREADY_IN_USE = 19,
625 ERR_INIT_NET_ENGINE = 21,
630 ERR_RESOURCE_LIMITED = 22,
636 ERR_INVALID_APP_ID = 101,
641 ERR_INVALID_CHANNEL_NAME = 102,
647 ERR_NO_SERVER_RESOURCES = 103,
660 ERR_TOKEN_EXPIRED = 109,
677 ERR_INVALID_TOKEN = 110,
682 ERR_CONNECTION_INTERRUPTED = 111,
687 ERR_CONNECTION_LOST = 112,
692 ERR_NOT_IN_CHANNEL = 113,
697 ERR_SIZE_TOO_LARGE = 114,
702 ERR_BITRATE_LIMIT = 115,
707 ERR_TOO_MANY_DATA_STREAMS = 116,
711 ERR_STREAM_MESSAGE_TIMEOUT = 117,
715 ERR_SET_CLIENT_ROLE_NOT_AUTHORIZED = 119,
720 ERR_DECRYPTION_FAILED = 120,
724 ERR_INVALID_USER_ID = 121,
728 ERR_CLIENT_IS_BANNED_BY_SERVER = 123,
732 ERR_WATERMARK_PARAM = 124,
736 ERR_WATERMARK_PATH = 125,
740 ERR_WATERMARK_PNG = 126,
744 ERR_WATERMARKR_INFO = 127,
748 ERR_WATERMARK_ARGB = 128,
752 ERR_WATERMARK_READ = 129,
758 ERR_ENCRYPTED_STREAM_NOT_ALLOWED_PUBLISH = 130,
763 ERR_LICENSE_CREDENTIAL_INVALID = 131,
767 ERR_CERT_JSON_PART = 158,
768 ERR_CERT_JSON_INVAL = 159,
769 ERR_CERT_JSON_NOMEM = 160,
770 ERR_CERT_CUSTOM = 161,
771 ERR_CERT_CREDENTIAL = 162,
776 ERR_CERT_DUEDATE = 167,
777 ERR_CERT_REQUEST = 168,
780 ERR_PCMSEND_FORMAT = 200,
781 ERR_PCMSEND_BUFFEROVERFLOW = 201,
784 ERR_LOGOUT_OTHER = 400,
785 ERR_LOGOUT_USER = 401,
786 ERR_LOGOUT_NET = 402,
787 ERR_LOGOUT_KICKED = 403,
788 ERR_LOGOUT_PACKET = 404,
789 ERR_LOGOUT_TOKEN_EXPIRED = 405,
790 ERR_LOGOUT_OLDVERSION = 406,
791 ERR_LOGOUT_TOKEN_WRONG = 407,
792 ERR_LOGOUT_ALREADY_LOGOUT = 408,
793 ERR_LOGIN_OTHER = 420,
795 ERR_LOGIN_FAILED = 422,
796 ERR_LOGIN_CANCELED = 423,
797 ERR_LOGIN_TOKEN_EXPIRED = 424,
798 ERR_LOGIN_OLD_VERSION = 425,
799 ERR_LOGIN_TOKEN_WRONG = 426,
800 ERR_LOGIN_TOKEN_KICKED = 427,
801 ERR_LOGIN_ALREADY_LOGIN = 428,
802 ERR_JOIN_CHANNEL_OTHER = 440,
803 ERR_SEND_MESSAGE_OTHER = 440,
804 ERR_SEND_MESSAGE_TIMEOUT = 441,
805 ERR_QUERY_USERNUM_OTHER = 450,
806 ERR_QUERY_USERNUM_TIMEOUT = 451,
807 ERR_QUERY_USERNUM_BYUSER = 452,
808 ERR_LEAVE_CHANNEL_OTHER = 460,
809 ERR_LEAVE_CHANNEL_KICKED = 461,
810 ERR_LEAVE_CHANNEL_BYUSER = 462,
811 ERR_LEAVE_CHANNEL_LOGOUT = 463,
812 ERR_LEAVE_CHANNEL_DISCONNECTED = 464,
813 ERR_INVITE_OTHER = 470,
814 ERR_INVITE_REINVITE = 471,
815 ERR_INVITE_NET = 472,
816 ERR_INVITE_PEER_OFFLINE = 473,
817 ERR_INVITE_TIMEOUT = 474,
818 ERR_INVITE_CANT_RECV = 475,
824 ERR_LOAD_MEDIA_ENGINE = 1001,
828 ERR_START_CALL = 1002,
832 ERR_START_CAMERA = 1003,
836 ERR_START_VIDEO_RENDER = 1004,
842 ERR_ADM_GENERAL_ERROR = 1005,
846 ERR_ADM_JAVA_RESOURCE = 1006,
850 ERR_ADM_SAMPLE_RATE = 1007,
855 ERR_ADM_INIT_PLAYOUT = 1008,
859 ERR_ADM_START_PLAYOUT = 1009,
863 ERR_ADM_STOP_PLAYOUT = 1010,
868 ERR_ADM_INIT_RECORDING = 1011,
872 ERR_ADM_START_RECORDING = 1012,
876 ERR_ADM_STOP_RECORDING = 1013,
881 ERR_ADM_RUNTIME_PLAYOUT_ERROR = 1015,
885 ERR_ADM_RUNTIME_RECORDING_ERROR = 1017,
889 ERR_ADM_RECORD_AUDIO_FAILED = 1018,
894 ERR_ADM_INIT_LOOPBACK = 1022,
899 ERR_ADM_START_LOOPBACK = 1023,
904 ERR_ADM_NO_PERMISSION = 1027,
908 ERR_ADM_RECORD_AUDIO_IS_ACTIVE = 1033,
912 ERR_ADM_ANDROID_JNI_JAVA_RESOURCE = 1101,
918 ERR_ADM_ANDROID_JNI_NO_RECORD_FREQUENCY = 1108,
924 ERR_ADM_ANDROID_JNI_NO_PLAYBACK_FREQUENCY = 1109,
932 ERR_ADM_ANDROID_JNI_JAVA_START_RECORD = 1111,
940 ERR_ADM_ANDROID_JNI_JAVA_START_PLAYBACK = 1112,
945 ERR_ADM_ANDROID_JNI_JAVA_RECORD_ERROR = 1115,
947 ERR_ADM_ANDROID_OPENSL_CREATE_ENGINE = 1151,
949 ERR_ADM_ANDROID_OPENSL_CREATE_AUDIO_RECORDER = 1153,
951 ERR_ADM_ANDROID_OPENSL_START_RECORDER_THREAD = 1156,
953 ERR_ADM_ANDROID_OPENSL_CREATE_AUDIO_PLAYER = 1157,
955 ERR_ADM_ANDROID_OPENSL_START_PLAYER_THREAD = 1160,
962 ERR_ADM_IOS_INPUT_NOT_AVAILABLE = 1201,
966 ERR_ADM_IOS_ACTIVATE_SESSION_FAIL = 1206,
971 ERR_ADM_IOS_VPIO_INIT_FAIL = 1210,
976 ERR_ADM_IOS_VPIO_REINIT_FAIL = 1213,
981 ERR_ADM_IOS_VPIO_RESTART_FAIL = 1214,
982 ERR_ADM_IOS_SET_RENDER_CALLBACK_FAIL = 1219,
984 ERR_ADM_IOS_SESSION_SAMPLERATR_ZERO = 1221,
992 ERR_ADM_WIN_CORE_INIT = 1301,
999 ERR_ADM_WIN_CORE_INIT_RECORDING = 1303,
1006 ERR_ADM_WIN_CORE_INIT_PLAYOUT = 1306,
1012 ERR_ADM_WIN_CORE_INIT_PLAYOUT_NULL = 1307,
1019 ERR_ADM_WIN_CORE_START_RECORDING = 1309,
1026 ERR_ADM_WIN_CORE_CREATE_REC_THREAD = 1311,
1035 ERR_ADM_WIN_CORE_CAPTURE_NOT_STARTUP = 1314,
1042 ERR_ADM_WIN_CORE_CREATE_RENDER_THREAD = 1319,
1051 ERR_ADM_WIN_CORE_RENDER_NOT_STARTUP = 1320,
1057 ERR_ADM_WIN_CORE_NO_RECORDING_DEVICE = 1322,
1063 ERR_ADM_WIN_CORE_NO_PLAYOUT_DEVICE = 1323,
1073 ERR_ADM_WIN_WAVE_INIT = 1351,
1082 ERR_ADM_WIN_WAVE_INIT_RECORDING = 1353,
1091 ERR_ADM_WIN_WAVE_INIT_MICROPHONE = 1354,
1100 ERR_ADM_WIN_WAVE_INIT_PLAYOUT = 1355,
1109 ERR_ADM_WIN_WAVE_INIT_SPEAKER = 1356,
1118 ERR_ADM_WIN_WAVE_START_RECORDING = 1357,
1127 ERR_ADM_WIN_WAVE_START_PLAYOUT = 1358,
1131 ERR_ADM_NO_RECORDING_DEVICE = 1359,
1135 ERR_ADM_NO_PLAYOUT_DEVICE = 1360,
1141 ERR_VDM_CAMERA_NOT_AUTHORIZED = 1501,
1147 ERR_VDM_WIN_DEVICE_IN_USE = 1502,
1153 ERR_VCM_UNKNOWN_ERROR = 1600,
1158 ERR_VCM_ENCODER_INIT_ERROR = 1601,
1162 ERR_VCM_ENCODER_ENCODE_ERROR = 1602,
1166 ERR_VCM_ENCODER_SET_ERROR = 1603,
1172 enum AUDIO_SESSION_OPERATION_RESTRICTION
1177 AUDIO_SESSION_OPERATION_RESTRICTION_NONE = 0,
1181 AUDIO_SESSION_OPERATION_RESTRICTION_SET_CATEGORY = 1,
1185 AUDIO_SESSION_OPERATION_RESTRICTION_CONFIGURE_SESSION = 1 << 1,
1190 AUDIO_SESSION_OPERATION_RESTRICTION_DEACTIVATE_SESSION = 1 << 2,
1195 AUDIO_SESSION_OPERATION_RESTRICTION_ALL = 1 << 7,
1254 enum INTERFACE_ID_TYPE
1256 AGORA_IID_AUDIO_DEVICE_MANAGER = 1,
1257 AGORA_IID_VIDEO_DEVICE_MANAGER = 2,
1258 AGORA_IID_PARAMETER_ENGINE = 3,
1259 AGORA_IID_MEDIA_ENGINE = 4,
1260 AGORA_IID_AUDIO_ENGINE = 5,
1261 AGORA_IID_VIDEO_ENGINE = 6,
1262 AGORA_IID_RTC_CONNECTION = 7,
1263 AGORA_IID_SIGNALING_ENGINE = 8,
1264 AGORA_IID_MEDIA_ENGINE_REGULATOR = 9,
1265 AGORA_IID_CLOUD_SPATIAL_AUDIO = 10,
1266 AGORA_IID_LOCAL_SPATIAL_AUDIO = 11,
1310 QUALITY_UNSUPPORTED = 7,
1540 const int DEFAULT_MIN_BITRATE = -1;
1545 const int DEFAULT_MIN_BITRATE_EQUAL_TO_TARGET_BITRATE = -2;
1628 AUDIO_CODEC_JC1 = 10,
1638 AUDIO_CODEC_LPCNET = 12,
1646 enum AUDIO_ENCODING_TYPE
1651 AUDIO_ENCODING_TYPE_AAC_16000_LOW = 0x010101,
1655 AUDIO_ENCODING_TYPE_AAC_16000_MEDIUM = 0x010102,
1659 AUDIO_ENCODING_TYPE_AAC_32000_LOW = 0x010201,
1663 AUDIO_ENCODING_TYPE_AAC_32000_MEDIUM = 0x010202,
1667 AUDIO_ENCODING_TYPE_AAC_32000_HIGH = 0x010203,
1671 AUDIO_ENCODING_TYPE_AAC_48000_MEDIUM = 0x010302,
1675 AUDIO_ENCODING_TYPE_AAC_48000_HIGH = 0x010303,
1680 AUDIO_ENCODING_TYPE_OPUS_16000_LOW = 0x020101,
1684 AUDIO_ENCODING_TYPE_OPUS_16000_MEDIUM = 0x020102,
1688 AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM = 0x020302,
1692 AUDIO_ENCODING_TYPE_OPUS_48000_HIGH = 0x020303,
1698 enum WATERMARK_FIT_MODE
1704 FIT_MODE_COVER_POSITION,
1709 FIT_MODE_USE_IMAGE_RATIO
1786 struct AudioPcmDataInfo
1788 AudioPcmDataInfo() : samplesPerChannel(0), channelNum(0), samplesOut(0), elapsedTimeMs(0), ntpTimeMs(0) {}
1790 AudioPcmDataInfo(
const AudioPcmDataInfo &rhs)
1791 : samplesPerChannel(rhs.samplesPerChannel),
1792 channelNum(rhs.channelNum),
1793 samplesOut(rhs.samplesOut),
1794 elapsedTimeMs(rhs.elapsedTimeMs),
1795 ntpTimeMs(rhs.ntpTimeMs) {}
1800 size_t samplesPerChannel;
1812 int64_t elapsedTimeMs;
1821 enum H264PacketizeMode
2115 struct DataStreamConfig
2477 enum AUDIENCE_LATENCY_LEVEL_TYPE
2480 AUDIENCE_LATENCY_LEVEL_LOW_LATENCY = 1,
2482 AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY = 2,
2486 AUDIENCE_LATENCY_LEVEL_HIGH_LATENCY = 3,
2491 struct ClientRoleOptions
2496 AUDIENCE_LATENCY_LEVEL_TYPE audienceLatencyLevel;
2498 : audienceLatencyLevel(AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY) {}
2505 struct RemoteAudioStats
2518 int networkTransportDelay;
2522 int jitterBufferDelay;
2534 int receivedSampleRate;
2539 int receivedBitrate;
2546 int totalFrozenTime;
2573 int totalActiveTime;
2577 int publishDuration;
2579 RemoteAudioStats() : uid(0),
2581 networkTransportDelay(0),
2582 jitterBufferDelay(0),
2585 receivedSampleRate(0),
2591 publishDuration(0) {}
2673 kMaxWidthInPixels = 3840,
2675 kMaxHeightInPixels = 2160,
2694 uint32_t pixelFormat;
2697 VideoFormat(
int w,
int h,
int f, uint32_t fmt = 0) : width(w), height(h), fps(f), pixelFormat(fmt) {}
2705 enum VIDEO_CONTENT_HINT
2717 CONTENT_HINT_MOTION,
2723 CONTENT_HINT_DETAILS
2823 LOCAL_VIDEO_STREAM_ERROR_BACKGROUD = 6,
2825 LOCAL_VIDEO_STREAM_ERROR_MULTIPLE_FOREGROUND_APPS = 7,
2827 LOCAL_VIDEO_STREAM_ERROR_SYSTEM_PRESSURE = 8,
2829 LOCAL_VIDEO_STREAM_ERROR_SCREEN_CAPTURE_WINDOW_MINIMIZED = 11,
2831 LOCAL_VIDEO_STREAM_ERROR_SCREEN_CAPTURE_WINDOW_CLOSED = 12
2998 REMOTE_VIDEO_STATE_REASON_VIDEO_STREAM_TYPE_CHANGE_TO_LOW = 10,
3002 REMOTE_VIDEO_STATE_REASON_VIDEO_STREAM_TYPE_CHANGE_TO_HIGH = 11,
3055 uint32_t observationPosition;
3089 struct AudioVolumeInfo
3099 unsigned int volume;
3111 AudioVolumeInfo() : uid(0), volume(0), vad(0), voicePitch(0.0) {}
3117 class IPacketObserver
3120 virtual ~IPacketObserver() {}
3129 const unsigned char *buffer;
3135 Packet() : buffer(NULL), size(0) {}
3144 virtual bool onSendAudioPacket(Packet &packet) = 0;
3152 virtual bool onSendVideoPacket(Packet &packet) = 0;
3160 virtual bool onReceiveAudioPacket(Packet &packet) = 0;
3168 virtual bool onReceiveVideoPacket(Packet &packet) = 0;
3195 enum AUDIO_SAMPLE_RATE_TYPE
3200 AUDIO_SAMPLE_RATE_32000 = 32000,
3204 AUDIO_SAMPLE_RATE_44100 = 44100,
3208 AUDIO_SAMPLE_RATE_48000 = 48000,
3213 enum VIDEO_CODEC_PROFILE_TYPE
3218 VIDEO_CODEC_PROFILE_BASELINE = 66,
3222 VIDEO_CODEC_PROFILE_MAIN = 77,
3226 VIDEO_CODEC_PROFILE_HIGH = 100,
3232 enum AUDIO_CODEC_PROFILE_TYPE
3237 AUDIO_CODEC_PROFILE_LC_AAC = 0,
3241 AUDIO_CODEC_PROFILE_HE_AAC = 1,
3275 enum RTMP_STREAM_PUBLISH_STATE
3283 RTMP_STREAM_PUBLISH_STATE_IDLE = 0,
3289 RTMP_STREAM_PUBLISH_STATE_CONNECTING = 1,
3294 RTMP_STREAM_PUBLISH_STATE_RUNNING = 2,
3304 RTMP_STREAM_PUBLISH_STATE_RECOVERING = 3,
3309 RTMP_STREAM_PUBLISH_STATE_FAILURE = 4,
3315 enum RTMP_STREAM_PUBLISH_ERROR
3320 RTMP_STREAM_PUBLISH_ERROR_FAILED = -1,
3324 RTMP_STREAM_PUBLISH_ERROR_OK = 0,
3330 RTMP_STREAM_PUBLISH_ERROR_INVALID_ARGUMENT = 1,
3334 RTMP_STREAM_PUBLISH_ERROR_ENCRYPTED_STREAM_NOT_ALLOWED = 2,
3339 RTMP_STREAM_PUBLISH_ERROR_CONNECTION_TIMEOUT = 3,
3344 RTMP_STREAM_PUBLISH_ERROR_INTERNAL_SERVER_ERROR = 4,
3348 RTMP_STREAM_PUBLISH_ERROR_RTMP_SERVER_ERROR = 5,
3352 RTMP_STREAM_PUBLISH_ERROR_TOO_OFTEN = 6,
3356 RTMP_STREAM_PUBLISH_ERROR_REACH_LIMIT = 7,
3360 RTMP_STREAM_PUBLISH_ERROR_NOT_AUTHORIZED = 8,
3364 RTMP_STREAM_PUBLISH_ERROR_STREAM_NOT_FOUND = 9,
3368 RTMP_STREAM_PUBLISH_ERROR_FORMAT_NOT_SUPPORTED = 10,
3373 RTMP_STREAM_PUBLISH_ERROR_CDN_ERROR = 11,
3377 RTMP_STREAM_PUBLISH_ERROR_ALREADY_IN_USE = 12,
3383 RTMP_STREAM_UNPUBLISH_ERROR_OK = 100,
3641 struct BeautyOptions
3645 enum LIGHTENING_CONTRAST_LEVEL
3648 LIGHTENING_CONTRAST_LOW = 0,
3650 LIGHTENING_CONTRAST_NORMAL,
3652 LIGHTENING_CONTRAST_HIGH
3657 LIGHTENING_CONTRAST_LEVEL lighteningContrastLevel;
3661 float lighteningLevel;
3665 float smoothnessLevel;
3673 float sharpnessLevel;
3675 BeautyOptions(LIGHTENING_CONTRAST_LEVEL contrastLevel,
float lightening,
float smoothness,
float redness,
float sharpness) : lighteningContrastLevel(contrastLevel), lighteningLevel(lightening), smoothnessLevel(smoothness), rednessLevel(redness), sharpnessLevel(sharpness) {}
3677 BeautyOptions() : lighteningContrastLevel(LIGHTENING_CONTRAST_NORMAL), lighteningLevel(0), smoothnessLevel(0), rednessLevel(0), sharpnessLevel(0) {}
3680 struct VirtualBackgroundSource
3684 enum BACKGROUND_SOURCE_TYPE
3689 BACKGROUND_COLOR = 1,
3700 enum BACKGROUND_BLUR_DEGREE
3703 BLUR_DEGREE_LOW = 1,
3712 BACKGROUND_SOURCE_TYPE background_source_type;
3733 BACKGROUND_BLUR_DEGREE blur_degree;
3735 VirtualBackgroundSource() : background_source_type(BACKGROUND_COLOR), color(0xffffff), source(NULL), blur_degree(BLUR_DEGREE_HIGH) {}
3738 struct SegmentationProperty
3744 SEG_MODEL_AGORA_AI_ONE = 0,
3745 SEG_MODEL_AGORA_GREEN = 2
3748 SEG_MODEL_TYPE modelType;
3752 float greenCapacity;
3754 SegmentationProperty() : modelType(SEG_MODEL_AGORA_AI_ONE), preferVelocity(1), greenCapacity(0.5) {}
3778 enum VOICE_BEAUTIFIER_PRESET
3782 VOICE_BEAUTIFIER_OFF = 0x00000000,
3788 CHAT_BEAUTIFIER_MAGNETIC = 0x01010100,
3794 CHAT_BEAUTIFIER_FRESH = 0x01010200,
3800 CHAT_BEAUTIFIER_VITALITY = 0x01010300,
3814 SINGING_BEAUTIFIER = 0x01020100,
3817 TIMBRE_TRANSFORMATION_VIGOROUS = 0x01030100,
3820 TIMBRE_TRANSFORMATION_DEEP = 0x01030200,
3823 TIMBRE_TRANSFORMATION_MELLOW = 0x01030300,
3826 TIMBRE_TRANSFORMATION_FALSETTO = 0x01030400,
3829 TIMBRE_TRANSFORMATION_FULL = 0x01030500,
3832 TIMBRE_TRANSFORMATION_CLEAR = 0x01030600,
3835 TIMBRE_TRANSFORMATION_RESOUNDING = 0x01030700,
3838 TIMBRE_TRANSFORMATION_RINGING = 0x01030800,
3840 ULTRA_HIGH_QUALITY_VOICE = 0x01040100
3845 enum AUDIO_EFFECT_PRESET
3849 AUDIO_EFFECT_OFF = 0x00000000,
3857 ROOM_ACOUSTICS_KTV = 0x02010100,
3865 ROOM_ACOUSTICS_VOCAL_CONCERT = 0x02010200,
3873 ROOM_ACOUSTICS_STUDIO = 0x02010300,
3881 ROOM_ACOUSTICS_PHONOGRAPH = 0x02010400,
3888 ROOM_ACOUSTICS_VIRTUAL_STEREO = 0x02010500,
3896 ROOM_ACOUSTICS_SPACIAL = 0x02010600,
3904 ROOM_ACOUSTICS_ETHEREAL = 0x02010700,
3916 ROOM_ACOUSTICS_3D_VOICE = 0x02010800,
3927 VOICE_CHANGER_EFFECT_UNCLE = 0x02020100,
3938 VOICE_CHANGER_EFFECT_OLDMAN = 0x02020200,
3949 VOICE_CHANGER_EFFECT_BOY = 0x02020300,
3960 VOICE_CHANGER_EFFECT_SISTER = 0x02020400,
3971 VOICE_CHANGER_EFFECT_GIRL = 0x02020500,
3980 VOICE_CHANGER_EFFECT_PIGKING = 0x02020600,
3988 VOICE_CHANGER_EFFECT_HULK = 0x02020700,
3996 STYLE_TRANSFORMATION_RNB = 0x02030100,
4004 STYLE_TRANSFORMATION_POPULAR = 0x02030200,
4014 PITCH_CORRECTION = 0x02040100
4023 enum VOICE_CONVERSION_PRESET
4027 VOICE_CONVERSION_OFF = 0x00000000,
4030 VOICE_CHANGER_NEUTRAL = 0x03010100,
4033 VOICE_CHANGER_SWEET = 0x03010200,
4036 VOICE_CHANGER_SOLID = 0x03010300,
4039 VOICE_CHANGER_BASS = 0x03010400
4043 enum AUDIO_REVERB_PRESET
4048 AUDIO_REVERB_OFF = 0,
4052 AUDIO_REVERB_FX_KTV = 0x02010100,
4056 AUDIO_REVERB_FX_VOCAL_CONCERT = 0x02010200,
4060 AUDIO_REVERB_FX_UNCLE = 0x02020100,
4064 AUDIO_REVERB_FX_SISTER = 0x02020400,
4068 AUDIO_REVERB_FX_STUDIO = 0x02010300,
4072 AUDIO_REVERB_FX_POPULAR = 0x02030200,
4076 AUDIO_REVERB_FX_RNB = 0x02030100,
4080 AUDIO_REVERB_FX_PHONOGRAPH = 0x02010400
4086 enum AUDIO_RECORDING_QUALITY_TYPE
4091 AUDIO_RECORDING_QUALITY_LOW = 0,
4095 AUDIO_RECORDING_QUALITY_MEDIUM = 1,
4099 AUDIO_RECORDING_QUALITY_HIGH = 2,
4105 enum AUDIO_FILE_RECORDING_TYPE
4110 AUDIO_FILE_RECORDING_MIC = 1,
4114 AUDIO_FILE_RECORDING_PLAYBACK = 2,
4118 AUDIO_FILE_RECORDING_MIXED = 3,
4124 enum AUDIO_ENCODED_FRAME_OBSERVER_POSITION
4129 AUDIO_ENCODED_FRAME_OBSERVER_POSITION_RECORD = 1,
4133 AUDIO_ENCODED_FRAME_OBSERVER_POSITION_PLAYBACK = 2,
4137 AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIXED = 3,
4143 struct AudioRecordingConfiguration
4149 const char *filePath;
4164 AUDIO_FILE_RECORDING_TYPE fileRecordingType;
4168 AUDIO_RECORDING_QUALITY_TYPE quality;
4170 AudioRecordingConfiguration()
4174 fileRecordingType(AUDIO_FILE_RECORDING_MIXED),
4175 quality(AUDIO_RECORDING_QUALITY_LOW) {}
4177 AudioRecordingConfiguration(
const char *file_path,
int sample_rate, AUDIO_RECORDING_QUALITY_TYPE quality_type)
4178 : filePath(file_path),
4180 sampleRate(sample_rate),
4181 fileRecordingType(AUDIO_FILE_RECORDING_MIXED),
4182 quality(quality_type) {}
4184 AudioRecordingConfiguration(
const char *file_path,
bool enc,
int sample_rate, AUDIO_FILE_RECORDING_TYPE type, AUDIO_RECORDING_QUALITY_TYPE quality_type)
4185 : filePath(file_path),
4187 sampleRate(sample_rate),
4188 fileRecordingType(type),
4189 quality(quality_type) {}
4191 AudioRecordingConfiguration(
const AudioRecordingConfiguration &rhs)
4192 : filePath(rhs.filePath),
4194 sampleRate(rhs.sampleRate),
4195 fileRecordingType(rhs.fileRecordingType),
4196 quality(rhs.quality) {}
4203 struct AudioEncodedFrameObserverConfig
4208 AUDIO_ENCODED_FRAME_OBSERVER_POSITION postionType;
4212 AUDIO_ENCODING_TYPE encodingType;
4214 AudioEncodedFrameObserverConfig()
4215 : postionType(AUDIO_ENCODED_FRAME_OBSERVER_POSITION_PLAYBACK),
4216 encodingType(AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM) {}
4219 class IAudioEncodedFrameObserver
4229 virtual void OnRecordAudioEncodedFrame(
const uint8_t *frameBuffer,
int length,
const EncodedAudioFrameInfo &audioEncodedFrameInfo) = 0;
4238 virtual void OnPlaybackAudioEncodedFrame(
const uint8_t *frameBuffer,
int length,
const EncodedAudioFrameInfo &audioEncodedFrameInfo) = 0;
4247 virtual void OnMixedAudioEncodedFrame(
const uint8_t *frameBuffer,
int length,
const EncodedAudioFrameInfo &audioEncodedFrameInfo) = 0;
4249 virtual ~IAudioEncodedFrameObserver() {}
4256 enum VOICE_CHANGER_PRESET
4261 VOICE_CHANGER_OFF = 0,
4265 VOICE_CHANGER_OLDMAN = 0x02020200,
4269 VOICE_CHANGER_BABYBOY = 0x02020300,
4273 VOICE_CHANGER_BABYGIRL = 0x02020500,
4278 VOICE_CHANGER_ZHUBAJIE = 0x02020600,
4282 VOICE_CHANGER_ETHEREAL = 0x02010700,
4286 VOICE_CHANGER_HULK = 0x02020700,
4290 VOICE_BEAUTY_VIGOROUS = 0x01030100,
4294 VOICE_BEAUTY_DEEP = 0x01030200,
4298 VOICE_BEAUTY_MELLOW = 0x01030300,
4302 VOICE_BEAUTY_FALSETTO = 0x01030400,
4306 VOICE_BEAUTY_FULL = 0x01030500,
4310 VOICE_BEAUTY_CLEAR = 0x01030600,
4314 VOICE_BEAUTY_RESOUNDING = 0x01030700,
4318 VOICE_BEAUTY_RINGING = 0x01030800,
4322 VOICE_BEAUTY_SPACIAL = 0x02010600,
4327 GENERAL_BEAUTY_VOICE_MALE = 0x01010100,
4332 GENERAL_BEAUTY_VOICE_FEMALE_FRESH = 0x01010200,
4337 GENERAL_BEAUTY_VOICE_FEMALE_VITALITY = 0x01010300
4384 AREA_CODE_OC = 0x00000040,
4388 AREA_CODE_SA = 0x00000080,
4392 AREA_CODE_AF = 0x00000100,
4396 AREA_CODE_KR = 0x00000200,
4400 AREA_CODE_OVS = 0xFFFFFFFE
4403 enum CHANNEL_MEDIA_RELAY_ERROR
4410 RELAY_ERROR_SERVER_ERROR_RESPONSE = 1,
4415 RELAY_ERROR_SERVER_NO_RESPONSE = 2,
4419 RELAY_ERROR_NO_RESOURCE_AVAILABLE = 3,
4422 RELAY_ERROR_FAILED_JOIN_SRC = 4,
4425 RELAY_ERROR_FAILED_JOIN_DEST = 5,
4428 RELAY_ERROR_FAILED_PACKET_RECEIVED_FROM_SRC = 6,
4431 RELAY_ERROR_FAILED_PACKET_SENT_TO_DEST = 7,
4436 RELAY_ERROR_SERVER_CONNECTION_LOST = 8,
4439 RELAY_ERROR_INTERNAL_ERROR = 9,
4442 RELAY_ERROR_SRC_TOKEN_EXPIRED = 10,
4445 RELAY_ERROR_DEST_TOKEN_EXPIRED = 11,
4449 enum CHANNEL_MEDIA_RELAY_EVENT
4454 RELAY_EVENT_NETWORK_DISCONNECTED = 0,
4457 RELAY_EVENT_NETWORK_CONNECTED = 1,
4460 RELAY_EVENT_PACKET_JOINED_SRC_CHANNEL = 2,
4463 RELAY_EVENT_PACKET_JOINED_DEST_CHANNEL = 3,
4466 RELAY_EVENT_PACKET_SENT_TO_DEST_CHANNEL = 4,
4469 RELAY_EVENT_PACKET_RECEIVED_VIDEO_FROM_SRC = 5,
4472 RELAY_EVENT_PACKET_RECEIVED_AUDIO_FROM_SRC = 6,
4475 RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL = 7,
4478 RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_REFUSED = 8,
4482 RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_NOT_CHANGE = 9,
4485 RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_IS_NULL = 10,
4488 RELAY_EVENT_VIDEO_PROFILE_UPDATE = 11,
4491 RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS = 12,
4494 RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_FAILED = 13,
4497 RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS = 14,
4500 RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_FAILED = 15,
4503 enum CHANNEL_MEDIA_RELAY_STATE
4507 RELAY_STATE_IDLE = 0,
4510 RELAY_STATE_CONNECTING = 1,
4514 RELAY_STATE_RUNNING = 2,
4517 RELAY_STATE_FAILURE = 3,
4522 struct ChannelMediaInfo
4527 const char *channelName;
4539 struct ChannelMediaRelayConfiguration
4552 ChannelMediaInfo *srcInfo;
4559 ChannelMediaInfo *destInfos;
4567 ChannelMediaRelayConfiguration()
4633 char *temp =
new char[strlen(rhs.
uid) + 1];
4634 strcpy(temp, rhs.
uid);
4776 const char *getEncryptionString()
const
4781 return "aes-128-xts";
4783 return "aes-128-ecb";
4785 return "aes-256-xts";
4787 return "sm4-128-ecb";
4789 return "aes-128-gcm";
4791 return "aes-256-gcm";
4793 return "aes-128-gcm-2";
4795 return "aes-256-gcm-2";
4797 return "aes-128-gcm-2";
4799 return "aes-128-gcm-2";
4826 enum UPLOAD_ERROR_REASON
4829 UPLOAD_NET_ERROR = 1,
4830 UPLOAD_SERVER_ERROR = 2,
4835 enum PERMISSION_TYPE
4921 enum EAR_MONITORING_FILTER_TYPE
4926 EAR_MONITORING_FILTER_NONE = (1 << 0),
4930 EAR_MONITORING_FILTER_BUILT_IN_AUDIO_FILTERS = (1 << 1),
4934 EAR_MONITORING_FILTER_NOISE_SUPPRESSION = (1 << 2)
4942 enum THREAD_PRIORITY_TYPE
4993 virtual int queryInterface(rtc::INTERFACE_ID_TYPE iid,
void **inter) = 0;
4994 virtual ~IEngineBase() {}
5000 AParameter(IEngineBase &engine) { initialize(&engine); }
5001 AParameter(IEngineBase *engine) { initialize(engine); }
5002 AParameter(IAgoraParameter *p) :
agora::util::AutoPtr<IAgoraParameter>(p) {}
5005 bool initialize(IEngineBase *engine)
5007 IAgoraParameter *p = NULL;
5008 if (engine && !engine->queryInterface(rtc::AGORA_IID_PARAMETER_ENGINE, (
void **)&p))
5014 class LicenseCallback
5017 virtual ~LicenseCallback() {}
5018 virtual void onCertificateRequired() = 0;
5019 virtual void onLicenseRequest() = 0;
5020 virtual void onLicenseValidated() = 0;
5021 virtual void onLicenseError(
int result) = 0;
5031 struct SpatialAudioParams
5036 Optional<double> speaker_azimuth;
5040 Optional<double> speaker_elevation;
5044 Optional<double> speaker_distance;
5048 Optional<int> speaker_orientation;
5052 Optional<bool> enable_blur;
5056 Optional<bool> enable_air_absorb;
5099 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: AgoraBase.h:102
virtual int setParameters(const char *parameters)=0
virtual int getParameters(const char *key, any_document_t &result)=0
virtual ~IParameterEngine()
Definition: AgoraBase.h:106
Definition: AgoraBase.h:3175
virtual bool OnEncodedVideoImageReceived(const uint8_t *imageBuffer, size_t length, const EncodedVideoFrameInfo &videoEncodedFrameInfo)=0
virtual ~IVideoEncodedImageReceiver()
Definition: AgoraBase.h:3189
Definition: AgoraBase.h:269
iterator begin()
Definition: AgoraBase.h:294
AList(IContainer *c, bool take_ownership)
Definition: AgoraBase.h:285
~AList()
Definition: AgoraBase.h:286
const AOutputIterator< value_type > const_iterator
Definition: AgoraBase.h:281
value_type * pointer
Definition: AgoraBase.h:277
void reset(IContainer *c=NULL, bool take_ownership=false)
Definition: AgoraBase.h:287
AOutputIterator< value_type > iterator
Definition: AgoraBase.h:280
iterator end()
Definition: AgoraBase.h:295
value_type & reference
Definition: AgoraBase.h:275
AList()
Definition: AgoraBase.h:284
T value_type
Definition: AgoraBase.h:274
bool empty() const
Definition: AgoraBase.h:297
const value_type * const_pointer
Definition: AgoraBase.h:278
size_t size_type
Definition: AgoraBase.h:279
size_type size() const
Definition: AgoraBase.h:296
const value_type & const_reference
Definition: AgoraBase.h:276
Definition: AgoraBase.h:233
AOutputIterator & operator++()
Definition: AgoraBase.h:249
value_type & reference
Definition: AgoraBase.h:238
bool operator!=(const AOutputIterator &rhs) const
Definition: AgoraBase.h:261
reference operator*()
Definition: AgoraBase.h:262
AOutputIterator(const AOutputIterator &rhs)
Definition: AgoraBase.h:248
~AOutputIterator()
Definition: AgoraBase.h:243
bool operator==(const AOutputIterator &rhs) const
Definition: AgoraBase.h:254
T value_type
Definition: AgoraBase.h:237
value_type * pointer
Definition: AgoraBase.h:240
const value_type & const_reference
Definition: AgoraBase.h:239
const value_type * const_pointer
Definition: AgoraBase.h:241
const_reference operator*() const
Definition: AgoraBase.h:263
AOutputIterator(IIterator *it=NULL)
Definition: AgoraBase.h:242
bool valid() const
Definition: AgoraBase.h:264
Definition: AgoraBase.h:115
void reset(pointer_type ptr=NULL)
Definition: AgoraBase.h:147
value_type & operator*() const
Definition: AgoraBase.h:134
bool queryInterface(C1 *c, C2 iid)
Definition: AgoraBase.h:158
pointer_type get() const
Definition: AgoraBase.h:138
~AutoPtr()
Definition: AgoraBase.h:123
T value_type
Definition: AgoraBase.h:117
pointer_type release()
Definition: AgoraBase.h:140
pointer_type operator->() const
Definition: AgoraBase.h:136
AutoPtr(pointer_type p=NULL)
Definition: AgoraBase.h:121
T * pointer_type
Definition: AgoraBase.h:118
Definition: AgoraBase.h:179
CopyableAutoPtr(const CopyableAutoPtr &rhs)
Definition: AgoraBase.h:184
pointer_type clone() const
Definition: AgoraBase.h:191
CopyableAutoPtr & operator=(const CopyableAutoPtr &rhs)
Definition: AgoraBase.h:185
CopyableAutoPtr(pointer_type p=0)
Definition: AgoraBase.h:183
Definition: AgoraBase.h:223
virtual size_t size() const =0
virtual ~IContainer()
Definition: AgoraBase.h:228
virtual IIterator * begin()=0
Definition: AgoraBase.h:213
virtual const void * const_current() const =0
virtual void * current()=0
virtual ~IIterator()
Definition: AgoraBase.h:219
Definition: AgoraBase.h:200
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:208
SIMULCAST_STREAM_MODE
Definition: AgoraBase.h:2130
@ ENABLE_SIMULCAST_STREAM
Definition: AgoraBase.h:2142
@ DISABLE_SIMULCAST_STREAM
Definition: AgoraBase.h:2138
@ AUTO_SIMULCAST_STREAM
Definition: AgoraBase.h:2134
LOCAL_AUDIO_STREAM_STATE
Definition: AgoraBase.h:2731
@ LOCAL_AUDIO_STREAM_STATE_FAILED
Definition: AgoraBase.h:2747
@ LOCAL_AUDIO_STREAM_STATE_RECORDING
Definition: AgoraBase.h:2739
@ LOCAL_AUDIO_STREAM_STATE_STOPPED
Definition: AgoraBase.h:2735
@ LOCAL_AUDIO_STREAM_STATE_ENCODING
Definition: AgoraBase.h:2743
FRAME_HEIGHT
Definition: AgoraBase.h:1410
@ FRAME_HEIGHT_360
Definition: AgoraBase.h:1414
AUDIO_SCENARIO_TYPE
Definition: AgoraBase.h:2634
@ AUDIO_SCENARIO_CHORUS
Definition: AgoraBase.h:2619
@ AUDIO_SCENARIO_GAME_STREAMING
Definition: AgoraBase.h:2608
@ AUDIO_SCENARIO_DEFAULT
Definition: AgoraBase.h:2604
@ AUDIO_SCENARIO_HIGH_DEFINITION
Definition: AgoraBase.h:2654
@ AUDIO_SCENARIO_NUM
Definition: AgoraBase.h:2627
@ AUDIO_SCENARIO_CHATROOM
Definition: AgoraBase.h:2614
FRAME_WIDTH
Definition: AgoraBase.h:1400
@ FRAME_WIDTH_640
Definition: AgoraBase.h:1404
CONNECTION_CHANGED_REASON_TYPE
Definition: AgoraBase.h:3524
@ CONNECTION_CHANGED_INVALID_TOKEN
Definition: AgoraBase.h:3560
@ CONNECTION_CHANGED_BANNED_BY_SERVER
Definition: AgoraBase.h:3540
@ CONNECTION_CHANGED_REJOIN_SUCCESS
Definition: AgoraBase.h:3589
@ CONNECTION_CHANGED_ECHO_TEST
Definition: AgoraBase.h:3597
@ CONNECTION_CHANGED_INVALID_CHANNEL_NAME
Definition: AgoraBase.h:3556
@ CONNECTION_CHANGED_JOIN_SUCCESS
Definition: AgoraBase.h:3532
@ CONNECTION_CHANGED_INTERRUPTED
Definition: AgoraBase.h:3536
@ CONNECTION_CHANGED_LEAVE_CHANNEL
Definition: AgoraBase.h:3548
@ CONNECTION_CHANGED_CONNECTING
Definition: AgoraBase.h:3528
@ CONNECTION_CHANGED_SETTING_PROXY_SERVER
Definition: AgoraBase.h:3572
@ CONNECTION_CHANGED_LOST
Definition: AgoraBase.h:3593
@ CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED
Definition: AgoraBase.h:3581
@ CONNECTION_CHANGED_JOIN_FAILED
Definition: AgoraBase.h:3544
@ CONNECTION_CHANGED_RENEW_TOKEN
Definition: AgoraBase.h:3576
@ CONNECTION_CHANGED_TOKEN_EXPIRED
Definition: AgoraBase.h:3564
@ CONNECTION_CHANGED_KEEP_ALIVE_TIMEOUT
Definition: AgoraBase.h:3585
@ CONNECTION_CHANGED_REJECTED_BY_SERVER
Definition: AgoraBase.h:3568
@ CONNECTION_CHANGED_INVALID_APP_ID
Definition: AgoraBase.h:3552
@ CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED_BY_USER
Definition: AgoraBase.h:3601
ENCRYPTION_ERROR_TYPE
Definition: AgoraBase.h:4807
@ ENCRYPTION_ERROR_ENCRYPTION_FAILURE
Definition: AgoraBase.h:4819
@ ENCRYPTION_ERROR_DECRYPTION_FAILURE
Definition: AgoraBase.h:4815
@ ENCRYPTION_ERROR_INTERNAL_FAILURE
Definition: AgoraBase.h:4811
FRAME_RATE
Definition: AgoraBase.h:1366
@ FRAME_RATE_FPS_24
Definition: AgoraBase.h:1386
@ FRAME_RATE_FPS_15
Definition: AgoraBase.h:1382
@ FRAME_RATE_FPS_1
Definition: AgoraBase.h:1370
@ FRAME_RATE_FPS_10
Definition: AgoraBase.h:1378
@ FRAME_RATE_FPS_30
Definition: AgoraBase.h:1390
@ FRAME_RATE_FPS_7
Definition: AgoraBase.h:1374
@ FRAME_RATE_FPS_60
Definition: AgoraBase.h:1394
LOCAL_AUDIO_STREAM_ERROR
Definition: AgoraBase.h:2754
@ LOCAL_AUDIO_STREAM_ERROR_FAILURE
Definition: AgoraBase.h:2762
@ LOCAL_AUDIO_STREAM_ERROR_DEVICE_BUSY
Definition: AgoraBase.h:2770
@ LOCAL_AUDIO_STREAM_ERROR_ENCODE_FAILURE
Definition: AgoraBase.h:2779
@ LOCAL_AUDIO_STREAM_ERROR_RECORD_FAILURE
Definition: AgoraBase.h:2775
@ LOCAL_AUDIO_STREAM_ERROR_DEVICE_NO_PERMISSION
Definition: AgoraBase.h:2766
@ LOCAL_AUDIO_STREAM_ERROR_OK
Definition: AgoraBase.h:2758
CLIENT_ROLE_TYPE
Definition: AgoraBase.h:2414
@ CLIENT_ROLE_AUDIENCE
Definition: AgoraBase.h:2422
@ CLIENT_ROLE_BROADCASTER
Definition: AgoraBase.h:2418
CONNECTION_STATE_TYPE
Definition: AgoraBase.h:3391
@ CONNECTION_STATE_DISCONNECTED
Definition: AgoraBase.h:3395
@ CONNECTION_STATE_RECONNECTING
Definition: AgoraBase.h:3409
@ CONNECTION_STATE_CONNECTING
Definition: AgoraBase.h:3399
@ CONNECTION_STATE_FAILED
Definition: AgoraBase.h:3413
@ CONNECTION_STATE_CONNECTED
Definition: AgoraBase.h:3404
const int COMPATIBLE_BITRATE
Definition: AgoraBase.h:1535
REMOTE_AUDIO_STATE_REASON
Definition: AgoraBase.h:2874
@ REMOTE_AUDIO_REASON_REMOTE_UNMUTED
Definition: AgoraBase.h:2906
@ REMOTE_AUDIO_REASON_REMOTE_MUTED
Definition: AgoraBase.h:2901
@ REMOTE_AUDIO_REASON_LOCAL_MUTED
Definition: AgoraBase.h:2891
@ REMOTE_AUDIO_REASON_REMOTE_OFFLINE
Definition: AgoraBase.h:2910
@ REMOTE_AUDIO_REASON_NETWORK_CONGESTION
Definition: AgoraBase.h:2882
@ REMOTE_AUDIO_REASON_NETWORK_RECOVERY
Definition: AgoraBase.h:2886
@ REMOTE_AUDIO_REASON_LOCAL_UNMUTED
Definition: AgoraBase.h:2896
@ REMOTE_AUDIO_REASON_INTERNAL
Definition: AgoraBase.h:2878
TCcMode
Definition: AgoraBase.h:4974
@ CC_DISABLED
Definition: AgoraBase.h:4982
@ CC_ENABLED
Definition: AgoraBase.h:4978
USER_OFFLINE_REASON_TYPE
Definition: AgoraBase.h:1236
@ USER_OFFLINE_BECOME_AUDIENCE
Definition: AgoraBase.h:1250
@ USER_OFFLINE_QUIT
Definition: AgoraBase.h:1240
@ USER_OFFLINE_DROPPED
Definition: AgoraBase.h:1246
STREAM_PUBLISH_STATE
Definition: AgoraBase.h:4878
@ PUB_STATE_IDLE
Definition: AgoraBase.h:4882
@ PUB_STATE_PUBLISHED
Definition: AgoraBase.h:4894
@ PUB_STATE_PUBLISHING
Definition: AgoraBase.h:4890
@ PUB_STATE_NO_PUBLISHED
Definition: AgoraBase.h:4886
VIDEO_STREAM_TYPE
Definition: AgoraBase.h:1837
@ VIDEO_STREAM_HIGH
Definition: AgoraBase.h:1841
@ VIDEO_STREAM_LOW
Definition: AgoraBase.h:1845
unsigned int track_id_t
Definition: AgoraMediaBase.h:26
AUDIO_PROFILE_TYPE
Definition: AgoraBase.h:2599
@ AUDIO_SCENARIO_MEETING
Definition: AgoraBase.h:2623
VIDEO_CODEC_TYPE
Definition: AgoraBase.h:1552
@ VIDEO_CODEC_GENERIC_H264
Definition: AgoraBase.h:1580
@ VIDEO_CODEC_H265
Definition: AgoraBase.h:1568
@ VIDEO_CODEC_GENERIC_JPEG
Definition: AgoraBase.h:1588
@ VIDEO_CODEC_VP9
Definition: AgoraBase.h:1572
@ VIDEO_CODEC_AV1
Definition: AgoraBase.h:1584
@ VIDEO_CODEC_H264
Definition: AgoraBase.h:1564
@ VIDEO_CODEC_GENERIC
Definition: AgoraBase.h:1576
@ VIDEO_CODEC_NONE
Definition: AgoraBase.h:1556
@ VIDEO_CODEC_VP8
Definition: AgoraBase.h:1560
LOCAL_VIDEO_STREAM_STATE
Definition: AgoraBase.h:2785
@ LOCAL_VIDEO_STREAM_STATE_ENCODING
Definition: AgoraBase.h:2797
@ LOCAL_VIDEO_STREAM_STATE_FAILED
Definition: AgoraBase.h:2801
@ LOCAL_VIDEO_STREAM_STATE_STOPPED
Definition: AgoraBase.h:2789
@ LOCAL_VIDEO_STREAM_STATE_CAPTURING
Definition: AgoraBase.h:2793
REMOTE_VIDEO_STATE
Definition: AgoraBase.h:2915
@ REMOTE_VIDEO_STATE_FAILED
Definition: AgoraBase.h:2940
@ REMOTE_VIDEO_STATE_DECODING
Definition: AgoraBase.h:2931
@ REMOTE_VIDEO_STATE_FROZEN
Definition: AgoraBase.h:2936
@ REMOTE_VIDEO_STATE_STARTING
Definition: AgoraBase.h:2924
@ REMOTE_VIDEO_STATE_STOPPED
Definition: AgoraBase.h:2921
EXPERIENCE_POOR_REASON
Definition: AgoraBase.h:2456
@ LOCAL_NETWORK_QUALITY_POOR
Definition: AgoraBase.h:2465
@ EXPERIENCE_REASON_NONE
Definition: AgoraBase.h:2459
@ WIRELESS_SIGNAL_POOR
Definition: AgoraBase.h:2468
@ WIFI_BLUETOOTH_COEXIST
Definition: AgoraBase.h:2472
@ REMOTE_NETWORK_QUALITY_POOR
Definition: AgoraBase.h:2462
AREA_CODE
Definition: AgoraBase.h:4344
@ AREA_CODE_NA
Definition: AgoraBase.h:4352
@ AREA_CODE_AS
Definition: AgoraBase.h:4360
@ AREA_CODE_EU
Definition: AgoraBase.h:4356
@ AREA_CODE_JP
Definition: AgoraBase.h:4364
@ AREA_CODE_GLOB
Definition: AgoraBase.h:4372
@ AREA_CODE_IN
Definition: AgoraBase.h:4368
@ AREA_CODE_CN
Definition: AgoraBase.h:4348
MAX_USER_ACCOUNT_LENGTH_TYPE
Definition: AgoraBase.h:4845
@ MAX_USER_ACCOUNT_LENGTH
Definition: AgoraBase.h:4848
EXPERIENCE_QUALITY_TYPE
Definition: AgoraBase.h:2441
@ EXPERIENCE_QUALITY_GOOD
Definition: AgoraBase.h:2445
@ EXPERIENCE_QUALITY_BAD
Definition: AgoraBase.h:2449
VIDEO_MIRROR_MODE_TYPE
Definition: AgoraBase.h:1979
@ VIDEO_MIRROR_MODE_AUTO
Definition: AgoraBase.h:1983
@ VIDEO_MIRROR_MODE_ENABLED
Definition: AgoraBase.h:1987
@ VIDEO_MIRROR_MODE_DISABLED
Definition: AgoraBase.h:1991
ENCRYPTION_MODE
Definition: AgoraBase.h:4719
@ SM4_128_ECB
Definition: AgoraBase.h:4733
REMOTE_VIDEO_DOWNSCALE_LEVEL
Definition: AgoraBase.h:3063
@ REMOTE_VIDEO_DOWNSCALE_LEVEL_1
Definition: AgoraBase.h:3071
@ REMOTE_VIDEO_DOWNSCALE_LEVEL_3
Definition: AgoraBase.h:3079
@ REMOTE_VIDEO_DOWNSCALE_LEVEL_4
Definition: AgoraBase.h:3083
@ REMOTE_VIDEO_DOWNSCALE_LEVEL_NONE
Definition: AgoraBase.h:3067
@ REMOTE_VIDEO_DOWNSCALE_LEVEL_2
Definition: AgoraBase.h:3075
const int STANDARD_BITRATE
Definition: AgoraBase.h:1526
LASTMILE_PROBE_RESULT_STATE
Definition: AgoraBase.h:3451
@ LASTMILE_PROBE_RESULT_COMPLETE
Definition: AgoraBase.h:3455
@ LASTMILE_PROBE_RESULT_INCOMPLETE_NO_BWE
Definition: AgoraBase.h:3460
@ LASTMILE_PROBE_RESULT_UNAVAILABLE
Definition: AgoraBase.h:3465
REMOTE_AUDIO_STATE
Definition: AgoraBase.h:2839
@ REMOTE_AUDIO_STATE_FAILED
Definition: AgoraBase.h:2867
@ REMOTE_AUDIO_STATE_STARTING
Definition: AgoraBase.h:2850
@ REMOTE_AUDIO_STATE_STOPPED
Definition: AgoraBase.h:2846
@ REMOTE_AUDIO_STATE_FROZEN
Definition: AgoraBase.h:2862
@ REMOTE_AUDIO_STATE_DECODING
Definition: AgoraBase.h:2857
NETWORK_TYPE
Definition: AgoraBase.h:3608
@ NETWORK_TYPE_DISCONNECTED
Definition: AgoraBase.h:3616
@ NETWORK_TYPE_MOBILE_3G
Definition: AgoraBase.h:3632
@ NETWORK_TYPE_MOBILE_4G
Definition: AgoraBase.h:3636
@ NETWORK_TYPE_UNKNOWN
Definition: AgoraBase.h:3612
@ NETWORK_TYPE_LAN
Definition: AgoraBase.h:3620
@ NETWORK_TYPE_WIFI
Definition: AgoraBase.h:3624
@ NETWORK_TYPE_MOBILE_2G
Definition: AgoraBase.h:3628
unsigned int uid_t
Definition: AgoraMediaBase.h:25
QUALITY_ADAPT_INDICATION
Definition: AgoraBase.h:2428
@ ADAPT_NONE
Definition: AgoraBase.h:2430
@ ADAPT_UP_BANDWIDTH
Definition: AgoraBase.h:2432
@ ADAPT_DOWN_BANDWIDTH
Definition: AgoraBase.h:2434
AUDIO_CODEC_TYPE
Definition: AgoraBase.h:1595
@ AUDIO_CODEC_G722
Definition: AgoraBase.h:1612
@ AUDIO_CODEC_HEAAC
Definition: AgoraBase.h:1623
@ AUDIO_CODEC_PCMU
Definition: AgoraBase.h:1608
@ AUDIO_CODEC_OPUS
Definition: AgoraBase.h:1599
@ AUDIO_CODEC_HEAAC2
Definition: AgoraBase.h:1633
@ AUDIO_CODEC_AACLC
Definition: AgoraBase.h:1619
@ AUDIO_CODEC_PCMA
Definition: AgoraBase.h:1604
STREAM_SUBSCRIBE_STATE
Definition: AgoraBase.h:4855
@ SUB_STATE_IDLE
Definition: AgoraBase.h:4859
@ SUB_STATE_NO_SUBSCRIBED
Definition: AgoraBase.h:4863
@ SUB_STATE_SUBSCRIBING
Definition: AgoraBase.h:4867
@ SUB_STATE_SUBSCRIBED
Definition: AgoraBase.h:4871
VIDEO_SOURCE_TYPE
Definition: AgoraBase.h:2356
@ VIDEO_SOURCE_CAMERA_PRIMARY
Definition: AgoraBase.h:2359
@ VIDEO_SOURCE_RTC_IMAGE_JPEG
Definition: AgoraBase.h:2395
@ VIDEO_SOURCE_CUSTOM
Definition: AgoraBase.h:2384
@ VIDEO_SOURCE_RTC_IMAGE_GIF
Definition: AgoraBase.h:2398
@ VIDEO_SOURCE_CAMERA
Definition: AgoraBase.h:2365
@ VIDEO_SOURCE_SCREEN_PRIMARY
Definition: AgoraBase.h:2372
@ VIDEO_SOURCE_REMOTE
Definition: AgoraBase.h:2401
@ VIDEO_SOURCE_CAMERA_SECONDARY
Definition: AgoraBase.h:2368
@ VIDEO_SOURCE_SCREEN_SECONDARY
Definition: AgoraBase.h:2380
@ VIDEO_SOURCE_UNKNOWN
Definition: AgoraBase.h:2407
@ VIDEO_SOURCE_MEDIA_PLAYER
Definition: AgoraBase.h:2388
@ VIDEO_SOURCE_SCREEN
Definition: AgoraBase.h:2376
@ VIDEO_SOURCE_TRANSCODED
Definition: AgoraBase.h:2404
@ VIDEO_SOURCE_RTC_IMAGE_PNG
Definition: AgoraBase.h:2392
LOCAL_VIDEO_STREAM_ERROR
Definition: AgoraBase.h:2808
@ LOCAL_VIDEO_STREAM_ERROR_DEVICE_NO_PERMISSION
Definition: AgoraBase.h:2814
@ LOCAL_VIDEO_STREAM_ERROR_OK
Definition: AgoraBase.h:2810
@ LOCAL_VIDEO_STREAM_ERROR_CAPTURE_FAILURE
Definition: AgoraBase.h:2818
@ LOCAL_VIDEO_STREAM_ERROR_DEVICE_BUSY
Definition: AgoraBase.h:2816
@ LOCAL_VIDEO_STREAM_ERROR_FAILURE
Definition: AgoraBase.h:2812
@ LOCAL_VIDEO_STREAM_ERROR_ENCODE_FAILURE
Definition: AgoraBase.h:2820
DEGRADATION_PREFERENCE
Definition: AgoraBase.h:1471
@ MAINTAIN_FRAMERATE
Definition: AgoraBase.h:1479
@ MAINTAIN_BALANCED
Definition: AgoraBase.h:1483
@ MAINTAIN_QUALITY
Definition: AgoraBase.h:1475
@ MAINTAIN_RESOLUTION
Definition: AgoraBase.h:1487
REMOTE_VIDEO_STATE_REASON
Definition: AgoraBase.h:2944
@ REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION
Definition: AgoraBase.h:2953
@ REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED
Definition: AgoraBase.h:2978
@ REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED
Definition: AgoraBase.h:2973
@ REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED
Definition: AgoraBase.h:2968
@ REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK
Definition: AgoraBase.h:2988
@ REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY
Definition: AgoraBase.h:2958
@ REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE
Definition: AgoraBase.h:2983
@ REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY
Definition: AgoraBase.h:2993
@ REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED
Definition: AgoraBase.h:2963
@ REMOTE_VIDEO_STATE_REASON_INTERNAL
Definition: AgoraBase.h:2948
QUALITY_TYPE
Definition: AgoraBase.h:1274
@ QUALITY_BAD
Definition: AgoraBase.h:1296
@ QUALITY_POOR
Definition: AgoraBase.h:1292
@ QUALITY_GOOD
Definition: AgoraBase.h:1288
@ QUALITY_UNKNOWN
Definition: AgoraBase.h:1279
@ QUALITY_VBAD
Definition: AgoraBase.h:1300
@ QUALITY_EXCELLENT
Definition: AgoraBase.h:1283
@ QUALITY_DOWN
Definition: AgoraBase.h:1304
VIDEO_FRAME_TYPE
Definition: AgoraBase.h:1421
@ VIDEO_FRAME_TYPE_B_FRAME
Definition: AgoraBase.h:1429
@ VIDEO_FRAME_TYPE_DROPPABLE_FRAME
Definition: AgoraBase.h:1431
@ VIDEO_FRAME_TYPE_UNKNOW
Definition: AgoraBase.h:1433
@ VIDEO_FRAME_TYPE_KEY_FRAME
Definition: AgoraBase.h:1425
@ VIDEO_FRAME_TYPE_BLANK_FRAME
Definition: AgoraBase.h:1423
@ VIDEO_FRAME_TYPE_DELTA_FRAME
Definition: AgoraBase.h:1427
VIDEO_ORIENTATION
Definition: AgoraBase.h:1343
@ VIDEO_ORIENTATION_270
Definition: AgoraBase.h:1359
@ VIDEO_ORIENTATION_0
Definition: AgoraBase.h:1347
@ VIDEO_ORIENTATION_90
Definition: AgoraBase.h:1351
@ VIDEO_ORIENTATION_180
Definition: AgoraBase.h:1355
ORIENTATION_MODE
Definition: AgoraBase.h:1440
@ ORIENTATION_MODE_FIXED_PORTRAIT
Definition: AgoraBase.h:1464
@ ORIENTATION_MODE_ADAPTIVE
Definition: AgoraBase.h:1448
@ ORIENTATION_MODE_FIXED_LANDSCAPE
Definition: AgoraBase.h:1456
CopyableAutoPtr< IString > AString
Definition: AgoraBase.h:210
Definition: AgoraBase.h:86
void * view_t
Definition: AgoraBase.h:1199
util::AList< UserInfo > UserList
Definition: AgoraBase.h:1226
commons::cjson::JsonWrapper any_document_t
Definition: AgoraBase.h:95
const char * user_id_t
Definition: AgoraBase.h:1198
@ POSITION_POST_CAPTURER
Definition: AgoraMediaBase.h:645
CHANNEL_PROFILE_TYPE
Definition: AgoraBase.h:306
@ __deprecated
Definition: AgoraBase.h:331
@ CHANNEL_PROFILE_COMMUNICATION
Definition: AgoraBase.h:312
@ CHANNEL_PROFILE_LIVE_BROADCASTING
Definition: AgoraBase.h:318
@ CHANNEL_PROFILE_GAME
Definition: AgoraBase.h:323
Definition: AgoraBase.h:1205
UserInfo()
Definition: AgoraBase.h:1223
bool hasAudio
Definition: AgoraBase.h:1215
bool hasVideo
Definition: AgoraBase.h:1221
util::AString userId
Definition: AgoraBase.h:1209
Definition: AgoraBase.h:4599
~PeerDownlinkInfo()
Definition: AgoraBase.h:4640
PeerDownlinkInfo()
Definition: AgoraBase.h:4617
REMOTE_VIDEO_DOWNSCALE_LEVEL current_downscale_level
Definition: AgoraBase.h:4611
int expected_bitrate_bps
Definition: AgoraBase.h:4615
PeerDownlinkInfo & operator=(const PeerDownlinkInfo &rhs)
Definition: AgoraBase.h:4623
const char * uid
Definition: AgoraBase.h:4603
VIDEO_STREAM_TYPE stream_type
Definition: AgoraBase.h:4607
Definition: AgoraBase.h:4597
int total_downscale_level_count
Definition: AgoraBase.h:4660
~DownlinkNetworkInfo()
Definition: AgoraBase.h:4709
int total_received_video_count
Definition: AgoraBase.h:4668
DownlinkNetworkInfo & operator=(const DownlinkNetworkInfo &rhs)
Definition: AgoraBase.h:4691
int lastmile_buffer_delay_time_ms
Definition: AgoraBase.h:4652
int bandwidth_estimation_bps
Definition: AgoraBase.h:4656
PeerDownlinkInfo * peer_downlink_info
Definition: AgoraBase.h:4664
DownlinkNetworkInfo(const DownlinkNetworkInfo &info)
Definition: AgoraBase.h:4677
DownlinkNetworkInfo()
Definition: AgoraBase.h:4670
Definition: AgoraBase.h:1717
bool sendEvenIfEmpty
Definition: AgoraBase.h:1733
bool speech
Definition: AgoraBase.h:1727
EncodedAudioFrameAdvancedSettings()
Definition: AgoraBase.h:1718
Definition: AgoraBase.h:1740
int sampleRateHz
Definition: AgoraBase.h:1762
EncodedAudioFrameInfo(const EncodedAudioFrameInfo &rhs)
Definition: AgoraBase.h:1748
EncodedAudioFrameAdvancedSettings advancedSettings
Definition: AgoraBase.h:1776
EncodedAudioFrameInfo()
Definition: AgoraBase.h:1741
int samplesPerChannel
Definition: AgoraBase.h:1768
AUDIO_CODEC_TYPE codec
Definition: AgoraBase.h:1758
int numberOfChannels
Definition: AgoraBase.h:1772
int64_t captureTimeMs
Definition: AgoraBase.h:1780
Definition: AgoraBase.h:1880
VIDEO_STREAM_TYPE streamType
Definition: AgoraBase.h:1972
int height
Definition: AgoraBase.h:1935
int64_t captureTimeMs
Definition: AgoraBase.h:1960
VIDEO_CODEC_TYPE codecType
Definition: AgoraBase.h:1927
int trackId
Definition: AgoraBase.h:1954
int framesPerSecond
Definition: AgoraBase.h:1942
uid_t uid
Definition: AgoraBase.h:1968
EncodedVideoFrameInfo & operator=(const EncodedVideoFrameInfo &rhs)
Definition: AgoraBase.h:1907
int64_t decodeTimeMs
Definition: AgoraBase.h:1964
EncodedVideoFrameInfo(const EncodedVideoFrameInfo &rhs)
Definition: AgoraBase.h:1894
VIDEO_FRAME_TYPE frameType
Definition: AgoraBase.h:1946
int width
Definition: AgoraBase.h:1931
EncodedVideoFrameInfo()
Definition: AgoraBase.h:1881
VIDEO_ORIENTATION rotation
Definition: AgoraBase.h:1950
Definition: AgoraBase.h:4755
const char * encryptionKey
Definition: AgoraBase.h:4765
EncryptionConfig()
Definition: AgoraBase.h:4768
uint8_t encryptionKdfSalt[32]
Definition: AgoraBase.h:4766
ENCRYPTION_MODE encryptionMode
Definition: AgoraBase.h:4759
Definition: AgoraBase.h:3420
bool probeUplink
Definition: AgoraBase.h:3427
bool probeDownlink
Definition: AgoraBase.h:3433
unsigned int expectedUplinkBitrate
Definition: AgoraBase.h:3439
unsigned int expectedDownlinkBitrate
Definition: AgoraBase.h:3444
Definition: AgoraBase.h:3473
LastmileProbeOneWayResult()
Definition: AgoraBase.h:3487
unsigned int packetLossRate
Definition: AgoraBase.h:3477
unsigned int availableBandwidth
Definition: AgoraBase.h:3485
unsigned int jitter
Definition: AgoraBase.h:3481
Definition: AgoraBase.h:3497
LastmileProbeOneWayResult downlinkReport
Definition: AgoraBase.h:3509
unsigned int rtt
Definition: AgoraBase.h:3513
LastmileProbeOneWayResult uplinkReport
Definition: AgoraBase.h:3505
LastmileProbeResult()
Definition: AgoraBase.h:3515
LASTMILE_PROBE_RESULT_STATE state
Definition: AgoraBase.h:3501
Definition: AgoraBase.h:3250
int sentSampleRate
Definition: AgoraBase.h:3258
int numChannels
Definition: AgoraBase.h:3254
int sentBitrate
Definition: AgoraBase.h:3262
Definition: AgoraBase.h:2173
unsigned short rxVideoKBitRate
Definition: AgoraBase.h:2221
int firstVideoPacketDurationAfterUnmute
Definition: AgoraBase.h:2292
int firstVideoKeyFrameDecodedDurationAfterUnmute
Definition: AgoraBase.h:2302
unsigned short rxAudioKBitRate
Definition: AgoraBase.h:2213
int memoryAppUsageInKbytes
Definition: AgoraBase.h:2257
unsigned int rxBytes
Definition: AgoraBase.h:2185
unsigned short txAudioKBitRate
Definition: AgoraBase.h:2217
unsigned short lastmileDelay
Definition: AgoraBase.h:2229
unsigned int userCount
Definition: AgoraBase.h:2233
unsigned int txVideoBytes
Definition: AgoraBase.h:2193
unsigned short rxKBitRate
Definition: AgoraBase.h:2209
int gatewayRtt
Definition: AgoraBase.h:2245
unsigned int duration
Definition: AgoraBase.h:2177
int firstVideoPacketDuration
Definition: AgoraBase.h:2272
unsigned int rxAudioBytes
Definition: AgoraBase.h:2197
unsigned short txKBitRate
Definition: AgoraBase.h:2205
int packetsBeforeFirstKeyFramePacket
Definition: AgoraBase.h:2282
int rxPacketLossRate
Definition: AgoraBase.h:2315
int firstAudioPacketDuration
Definition: AgoraBase.h:2267
int firstAudioPacketDurationAfterUnmute
Definition: AgoraBase.h:2287
int firstVideoKeyFramePacketDurationAfterUnmute
Definition: AgoraBase.h:2297
int txPacketLossRate
Definition: AgoraBase.h:2311
RtcStats()
Definition: AgoraBase.h:2316
double cpuTotalUsage
Definition: AgoraBase.h:2241
int firstVideoKeyFrameRenderedDurationAfterUnmute
Definition: AgoraBase.h:2307
double memoryAppUsageRatio
Definition: AgoraBase.h:2249
int connectTimeMs
Definition: AgoraBase.h:2262
double memoryTotalUsageRatio
Definition: AgoraBase.h:2253
unsigned short txVideoKBitRate
Definition: AgoraBase.h:2225
unsigned int txAudioBytes
Definition: AgoraBase.h:2189
unsigned int txBytes
Definition: AgoraBase.h:2181
unsigned int rxVideoBytes
Definition: AgoraBase.h:2201
int firstVideoKeyFramePacketDuration
Definition: AgoraBase.h:2277
double cpuAppUsage
Definition: AgoraBase.h:2237
Definition: AgoraBase.h:2149
bool operator==(const SimulcastStreamConfig &rhs) const
Definition: AgoraBase.h:2163
SimulcastStreamConfig()
Definition: AgoraBase.h:2162
int framerate
Definition: AgoraBase.h:2161
int bitrate
Definition: AgoraBase.h:2157
VideoDimensions dimensions
Definition: AgoraBase.h:2153
Definition: AgoraBase.h:4579
bool operator==(const UplinkNetworkInfo &rhs) const
Definition: AgoraBase.h:4587
int video_encoder_target_bitrate_bps
Definition: AgoraBase.h:4583
UplinkNetworkInfo()
Definition: AgoraBase.h:4585
Definition: AgoraBase.h:4901
char userAccount[MAX_USER_ACCOUNT_LENGTH]
Definition: AgoraBase.h:4909
UserInfo()
Definition: AgoraBase.h:4910
uid_t uid
Definition: AgoraBase.h:4905
Definition: AgoraBase.h:1500
VideoDimensions()
Definition: AgoraBase.h:1509
bool operator==(const VideoDimensions &rhs) const
Definition: AgoraBase.h:1511
int height
Definition: AgoraBase.h:1508
int width
Definition: AgoraBase.h:1504
VideoDimensions(int w, int h)
Definition: AgoraBase.h:1510
Definition: AgoraBase.h:1998
VIDEO_MIRROR_MODE_TYPE mirrorMode
Definition: AgoraBase.h:2058
DEGRADATION_PREFERENCE degradationPreference
Definition: AgoraBase.h:2053
VideoEncoderConfiguration & operator=(const VideoEncoderConfiguration &rhs)
Definition: AgoraBase.h:2097
VIDEO_CODEC_TYPE codecType
Definition: AgoraBase.h:2002
VideoEncoderConfiguration()
Definition: AgoraBase.h:2087
int minBitrate
Definition: AgoraBase.h:2044
VideoEncoderConfiguration(int width, int height, int f, int b, ORIENTATION_MODE m, VIDEO_MIRROR_MODE_TYPE mirror=VIDEO_MIRROR_MODE_DISABLED)
Definition: AgoraBase.h:2069
VideoEncoderConfiguration(const VideoDimensions &d, int f, int b, ORIENTATION_MODE m, VIDEO_MIRROR_MODE_TYPE mirror=VIDEO_MIRROR_MODE_DISABLED)
Definition: AgoraBase.h:2060
ORIENTATION_MODE orientationMode
Definition: AgoraBase.h:2048
int frameRate
Definition: AgoraBase.h:2010
VideoEncoderConfiguration(const VideoEncoderConfiguration &config)
Definition: AgoraBase.h:2078
int bitrate
Definition: AgoraBase.h:2027
VideoDimensions dimensions
Definition: AgoraBase.h:2006
Definition: AgoraBase.h:1851
VIDEO_STREAM_TYPE type
Definition: AgoraBase.h:1858
VideoSubscriptionOptions(VIDEO_STREAM_TYPE streamtype)
Definition: AgoraBase.h:1869
bool encodedFrameOnly
Definition: AgoraBase.h:1864
VideoSubscriptionOptions()
Definition: AgoraBase.h:1866
VideoSubscriptionOptions(VIDEO_STREAM_TYPE streamtype, bool encoded_only)
Definition: AgoraBase.h:1872
Definition: AgoraBase.h:3011
VIDEO_CODEC_TYPE codecType
Definition: AgoraBase.h:3040
uid_t ownerUid
Definition: AgoraBase.h:3023
track_id_t trackId
Definition: AgoraBase.h:3028
VIDEO_SOURCE_TYPE sourceType
Definition: AgoraBase.h:3050
bool isLocal
Definition: AgoraBase.h:3019
bool encodedFrameOnly
Definition: AgoraBase.h:3046
VideoTrackInfo()
Definition: AgoraBase.h:3012
const char * channelId
Definition: AgoraBase.h:3032
VIDEO_STREAM_TYPE streamType
Definition: AgoraBase.h:3036