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;
311 CHANNEL_PROFILE_LIVE_BROADCASTING_2 = 5,
325 WARN_INVALID_VIEW = 8,
330 WARN_INIT_VIDEO = 16,
340 WARN_NO_AVAILABLE_CHANNEL = 103,
346 WARN_LOOKUP_CHANNEL_TIMEOUT = 104,
351 WARN_LOOKUP_CHANNEL_REJECTED = 105,
357 WARN_OPEN_CHANNEL_TIMEOUT = 106,
362 WARN_OPEN_CHANNEL_REJECTED = 107,
368 WARN_SWITCH_LIVE_VIDEO_TIMEOUT = 111,
372 WARN_SET_CLIENT_ROLE_TIMEOUT = 118,
376 WARN_OPEN_CHANNEL_INVALID_TICKET = 121,
380 WARN_OPEN_CHANNEL_TRY_NEXT_VOS = 122,
384 WARN_CHANNEL_CONNECTION_UNRECOVERABLE = 131,
388 WARN_CHANNEL_CONNECTION_IP_CHANGED = 132,
392 WARN_CHANNEL_CONNECTION_PORT_CHANGED = 133,
395 WARN_CHANNEL_SOCKET_ERROR = 134,
399 WARN_AUDIO_MIXING_OPEN_ERROR = 701,
403 WARN_ADM_RUNTIME_PLAYOUT_WARNING = 1014,
407 WARN_ADM_RUNTIME_RECORDING_WARNING = 1016,
411 WARN_ADM_RECORD_AUDIO_SILENCE = 1019,
415 WARN_ADM_PLAYOUT_MALFUNCTION = 1020,
419 WARN_ADM_RECORD_MALFUNCTION = 1021,
426 WARN_ADM_IOS_CATEGORY_NOT_PLAYANDRECORD = 1029,
430 WARN_ADM_IOS_SAMPLERATE_CHANGE = 1030,
434 WARN_ADM_RECORD_AUDIO_LOWLEVEL = 1031,
438 WARN_ADM_PLAYOUT_AUDIO_LOWLEVEL = 1032,
446 WARN_ADM_WINDOWS_NO_DATA_READY_EVENT = 1040,
450 WARN_APM_HOWLING = 1051,
454 WARN_ADM_GLITCH_STATE = 1052,
458 WARN_ADM_IMPROPER_SETTINGS = 1053,
462 WARN_ADM_WIN_CORE_NO_RECORDING_DEVICE = 1322,
467 WARN_ADM_WIN_CORE_NO_PLAYOUT_DEVICE = 1323,
475 WARN_ADM_WIN_CORE_IMPROPER_CAPTURE_RELEASE = 1324,
482enum ERROR_CODE_TYPE {
496 ERR_INVALID_ARGUMENT = 2,
507 ERR_NOT_SUPPORTED = 4,
515 ERR_BUFFER_TOO_SMALL = 6,
519 ERR_NOT_INITIALIZED = 7,
523 ERR_INVALID_STATE = 8,
528 ERR_NO_PERMISSION = 9,
551 ERR_BIND_SOCKET = 13,
568 ERR_JOIN_CHANNEL_REJECTED = 17,
575 ERR_LEAVE_CHANNEL_REJECTED = 18,
579 ERR_ALREADY_IN_USE = 19,
589 ERR_INIT_NET_ENGINE = 21,
594 ERR_RESOURCE_LIMITED = 22,
600 ERR_INVALID_APP_ID = 101,
605 ERR_INVALID_CHANNEL_NAME = 102,
611 ERR_NO_SERVER_RESOURCES = 103,
624 ERR_TOKEN_EXPIRED = 109,
641 ERR_INVALID_TOKEN = 110,
646 ERR_CONNECTION_INTERRUPTED = 111,
651 ERR_CONNECTION_LOST = 112,
656 ERR_NOT_IN_CHANNEL = 113,
661 ERR_SIZE_TOO_LARGE = 114,
666 ERR_BITRATE_LIMIT = 115,
671 ERR_TOO_MANY_DATA_STREAMS = 116,
675 ERR_STREAM_MESSAGE_TIMEOUT = 117,
679 ERR_SET_CLIENT_ROLE_NOT_AUTHORIZED = 119,
684 ERR_DECRYPTION_FAILED = 120,
688 ERR_INVALID_USER_ID = 121,
692 ERR_CLIENT_IS_BANNED_BY_SERVER = 123,
696 ERR_WATERMARK_PARAM = 124,
700 ERR_WATERMARK_PATH = 125,
704 ERR_WATERMARK_PNG = 126,
708 ERR_WATERMARKR_INFO = 127,
712 ERR_WATERMARK_ARGB = 128,
716 ERR_WATERMARK_READ = 129,
722 ERR_ENCRYPTED_STREAM_NOT_ALLOWED_PUBLISH = 130,
727 ERR_LICENSE_CREDENTIAL_INVALID = 131,
731 ERR_CERT_JSON_PART = 158,
732 ERR_CERT_JSON_INVAL = 159,
733 ERR_CERT_JSON_NOMEM = 160,
734 ERR_CERT_CUSTOM = 161,
735 ERR_CERT_CREDENTIAL = 162,
740 ERR_CERT_DUEDATE = 167,
741 ERR_CERT_REQUEST = 168,
744 ERR_PCMSEND_FORMAT =200,
745 ERR_PCMSEND_BUFFEROVERFLOW = 201,
748 ERR_LOGOUT_OTHER = 400,
749 ERR_LOGOUT_USER = 401,
750 ERR_LOGOUT_NET = 402,
751 ERR_LOGOUT_KICKED = 403,
752 ERR_LOGOUT_PACKET = 404,
753 ERR_LOGOUT_TOKEN_EXPIRED = 405,
754 ERR_LOGOUT_OLDVERSION = 406,
755 ERR_LOGOUT_TOKEN_WRONG = 407,
756 ERR_LOGOUT_ALREADY_LOGOUT = 408,
757 ERR_LOGIN_OTHER = 420,
759 ERR_LOGIN_FAILED = 422,
760 ERR_LOGIN_CANCELED = 423,
761 ERR_LOGIN_TOKEN_EXPIRED = 424,
762 ERR_LOGIN_OLD_VERSION = 425,
763 ERR_LOGIN_TOKEN_WRONG = 426,
764 ERR_LOGIN_TOKEN_KICKED = 427,
765 ERR_LOGIN_ALREADY_LOGIN = 428,
766 ERR_JOIN_CHANNEL_OTHER = 440,
767 ERR_SEND_MESSAGE_OTHER = 440,
768 ERR_SEND_MESSAGE_TIMEOUT = 441,
769 ERR_QUERY_USERNUM_OTHER = 450,
770 ERR_QUERY_USERNUM_TIMEOUT = 451,
771 ERR_QUERY_USERNUM_BYUSER = 452,
772 ERR_LEAVE_CHANNEL_OTHER = 460,
773 ERR_LEAVE_CHANNEL_KICKED = 461,
774 ERR_LEAVE_CHANNEL_BYUSER = 462,
775 ERR_LEAVE_CHANNEL_LOGOUT = 463,
776 ERR_LEAVE_CHANNEL_DISCONNECTED = 464,
777 ERR_INVITE_OTHER = 470,
778 ERR_INVITE_REINVITE = 471,
779 ERR_INVITE_NET = 472,
780 ERR_INVITE_PEER_OFFLINE = 473,
781 ERR_INVITE_TIMEOUT = 474,
782 ERR_INVITE_CANT_RECV = 475,
788 ERR_LOAD_MEDIA_ENGINE = 1001,
792 ERR_START_CALL = 1002,
796 ERR_START_CAMERA = 1003,
800 ERR_START_VIDEO_RENDER = 1004,
806 ERR_ADM_GENERAL_ERROR = 1005,
810 ERR_ADM_JAVA_RESOURCE = 1006,
814 ERR_ADM_SAMPLE_RATE = 1007,
819 ERR_ADM_INIT_PLAYOUT = 1008,
823 ERR_ADM_START_PLAYOUT = 1009,
827 ERR_ADM_STOP_PLAYOUT = 1010,
832 ERR_ADM_INIT_RECORDING = 1011,
836 ERR_ADM_START_RECORDING = 1012,
840 ERR_ADM_STOP_RECORDING = 1013,
845 ERR_ADM_RUNTIME_PLAYOUT_ERROR = 1015,
849 ERR_ADM_RUNTIME_RECORDING_ERROR = 1017,
853 ERR_ADM_RECORD_AUDIO_FAILED = 1018,
858 ERR_ADM_INIT_LOOPBACK = 1022,
863 ERR_ADM_START_LOOPBACK = 1023,
868 ERR_ADM_NO_PERMISSION = 1027,
872 ERR_ADM_RECORD_AUDIO_IS_ACTIVE = 1033,
876 ERR_ADM_ANDROID_JNI_JAVA_RESOURCE = 1101,
882 ERR_ADM_ANDROID_JNI_NO_RECORD_FREQUENCY = 1108,
888 ERR_ADM_ANDROID_JNI_NO_PLAYBACK_FREQUENCY = 1109,
896 ERR_ADM_ANDROID_JNI_JAVA_START_RECORD = 1111,
904 ERR_ADM_ANDROID_JNI_JAVA_START_PLAYBACK = 1112,
909 ERR_ADM_ANDROID_JNI_JAVA_RECORD_ERROR = 1115,
911 ERR_ADM_ANDROID_OPENSL_CREATE_ENGINE = 1151,
913 ERR_ADM_ANDROID_OPENSL_CREATE_AUDIO_RECORDER = 1153,
915 ERR_ADM_ANDROID_OPENSL_START_RECORDER_THREAD = 1156,
917 ERR_ADM_ANDROID_OPENSL_CREATE_AUDIO_PLAYER = 1157,
919 ERR_ADM_ANDROID_OPENSL_START_PLAYER_THREAD = 1160,
926 ERR_ADM_IOS_INPUT_NOT_AVAILABLE = 1201,
930 ERR_ADM_IOS_ACTIVATE_SESSION_FAIL = 1206,
935 ERR_ADM_IOS_VPIO_INIT_FAIL = 1210,
940 ERR_ADM_IOS_VPIO_REINIT_FAIL = 1213,
945 ERR_ADM_IOS_VPIO_RESTART_FAIL = 1214,
946 ERR_ADM_IOS_SET_RENDER_CALLBACK_FAIL = 1219,
948 ERR_ADM_IOS_SESSION_SAMPLERATR_ZERO = 1221,
956 ERR_ADM_WIN_CORE_INIT = 1301,
963 ERR_ADM_WIN_CORE_INIT_RECORDING = 1303,
970 ERR_ADM_WIN_CORE_INIT_PLAYOUT = 1306,
976 ERR_ADM_WIN_CORE_INIT_PLAYOUT_NULL = 1307,
983 ERR_ADM_WIN_CORE_START_RECORDING = 1309,
990 ERR_ADM_WIN_CORE_CREATE_REC_THREAD = 1311,
999 ERR_ADM_WIN_CORE_CAPTURE_NOT_STARTUP = 1314,
1006 ERR_ADM_WIN_CORE_CREATE_RENDER_THREAD = 1319,
1015 ERR_ADM_WIN_CORE_RENDER_NOT_STARTUP = 1320,
1021 ERR_ADM_WIN_CORE_NO_RECORDING_DEVICE = 1322,
1027 ERR_ADM_WIN_CORE_NO_PLAYOUT_DEVICE = 1323,
1037 ERR_ADM_WIN_WAVE_INIT = 1351,
1046 ERR_ADM_WIN_WAVE_INIT_RECORDING = 1353,
1055 ERR_ADM_WIN_WAVE_INIT_MICROPHONE = 1354,
1064 ERR_ADM_WIN_WAVE_INIT_PLAYOUT = 1355,
1073 ERR_ADM_WIN_WAVE_INIT_SPEAKER = 1356,
1082 ERR_ADM_WIN_WAVE_START_RECORDING = 1357,
1091 ERR_ADM_WIN_WAVE_START_PLAYOUT = 1358,
1095 ERR_ADM_NO_RECORDING_DEVICE = 1359,
1099 ERR_ADM_NO_PLAYOUT_DEVICE = 1360,
1105 ERR_VDM_CAMERA_NOT_AUTHORIZED = 1501,
1111 ERR_VDM_WIN_DEVICE_IN_USE = 1502,
1117 ERR_VCM_UNKNOWN_ERROR = 1600,
1122 ERR_VCM_ENCODER_INIT_ERROR = 1601,
1126 ERR_VCM_ENCODER_ENCODE_ERROR = 1602,
1130 ERR_VCM_ENCODER_SET_ERROR = 1603,
1136enum AUDIO_SESSION_OPERATION_RESTRICTION {
1140 AUDIO_SESSION_OPERATION_RESTRICTION_NONE = 0,
1144 AUDIO_SESSION_OPERATION_RESTRICTION_SET_CATEGORY = 1,
1148 AUDIO_SESSION_OPERATION_RESTRICTION_CONFIGURE_SESSION = 1 << 1,
1153 AUDIO_SESSION_OPERATION_RESTRICTION_DEACTIVATE_SESSION = 1 << 2,
1158 AUDIO_SESSION_OPERATION_RESTRICTION_ALL = 1 << 7,
1164enum LICENSE_ERROR_TYPE {
1170 LICENSE_ERR_INVALID = 1,
1174 LICENSE_ERR_EXPIRE = 2,
1178 LICENSE_ERR_MINUTES_EXCEED = 3,
1182 LICENSE_ERR_LIMITED_PERIOD = 4,
1189 LICENSE_ERR_DIFF_DEVICES = 5,
1193 LICENSE_ERR_INTERNAL = 99,
1248enum INTERFACE_ID_TYPE {
1249 AGORA_IID_AUDIO_DEVICE_MANAGER = 1,
1250 AGORA_IID_VIDEO_DEVICE_MANAGER = 2,
1251 AGORA_IID_PARAMETER_ENGINE = 3,
1252 AGORA_IID_MEDIA_ENGINE = 4,
1253 AGORA_IID_AUDIO_ENGINE = 5,
1254 AGORA_IID_VIDEO_ENGINE = 6,
1255 AGORA_IID_RTC_CONNECTION = 7,
1256 AGORA_IID_SIGNALING_ENGINE = 8,
1257 AGORA_IID_MEDIA_ENGINE_REGULATOR = 9,
1258 AGORA_IID_CLOUD_SPATIAL_AUDIO = 10,
1259 AGORA_IID_LOCAL_SPATIAL_AUDIO = 11,
1300 QUALITY_UNSUPPORTED = 7,
1514const int DEFAULT_MIN_BITRATE = -1;
1519const int DEFAULT_MIN_BITRATE_EQUAL_TO_TARGET_BITRATE = -2;
1599 AUDIO_CODEC_JC1 = 10,
1609 AUDIO_CODEC_LPCNET = 12,
1617enum AUDIO_ENCODING_TYPE {
1621 AUDIO_ENCODING_TYPE_AAC_16000_LOW = 0x010101,
1625 AUDIO_ENCODING_TYPE_AAC_16000_MEDIUM = 0x010102,
1629 AUDIO_ENCODING_TYPE_AAC_32000_LOW = 0x010201,
1633 AUDIO_ENCODING_TYPE_AAC_32000_MEDIUM = 0x010202,
1637 AUDIO_ENCODING_TYPE_AAC_32000_HIGH = 0x010203,
1641 AUDIO_ENCODING_TYPE_AAC_48000_MEDIUM = 0x010302,
1645 AUDIO_ENCODING_TYPE_AAC_48000_HIGH = 0x010303,
1650 AUDIO_ENCODING_TYPE_OPUS_16000_LOW = 0x020101,
1654 AUDIO_ENCODING_TYPE_OPUS_16000_MEDIUM = 0x020102,
1658 AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM = 0x020302,
1662 AUDIO_ENCODING_TYPE_OPUS_48000_HIGH = 0x020303,
1668enum WATERMARK_FIT_MODE {
1673 FIT_MODE_COVER_POSITION,
1678 FIT_MODE_USE_IMAGE_RATIO
1753struct AudioPcmDataInfo {
1754 AudioPcmDataInfo() : samplesPerChannel(0), channelNum(0), samplesOut(0), elapsedTimeMs(0), ntpTimeMs(0) {}
1756 AudioPcmDataInfo(
const AudioPcmDataInfo& rhs)
1757 : samplesPerChannel(rhs.samplesPerChannel),
1758 channelNum(rhs.channelNum),
1759 samplesOut(rhs.samplesOut),
1760 elapsedTimeMs(rhs.elapsedTimeMs),
1761 ntpTimeMs(rhs.ntpTimeMs) {}
1766 size_t samplesPerChannel;
1778 int64_t elapsedTimeMs;
1787enum H264PacketizeMode {
1870 if (
this == &rhs)
return *
this;
2037 if (
this == &rhs)
return *
this;
2052struct DataStreamConfig {
2370enum AUDIENCE_LATENCY_LEVEL_TYPE
2373 AUDIENCE_LATENCY_LEVEL_LOW_LATENCY = 1,
2375 AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY = 2,
2379 AUDIENCE_LATENCY_LEVEL_HIGH_LATENCY = 3,
2384struct ClientRoleOptions
2389 AUDIENCE_LATENCY_LEVEL_TYPE audienceLatencyLevel;
2391 : audienceLatencyLevel(AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY) {}
2398struct RemoteAudioStats
2411 int networkTransportDelay;
2415 int jitterBufferDelay;
2427 int receivedSampleRate;
2432 int receivedBitrate;
2439 int totalFrozenTime;
2466 int totalActiveTime;
2470 int publishDuration;
2472 RemoteAudioStats() :
2475 networkTransportDelay(0),
2476 jitterBufferDelay(0),
2479 receivedSampleRate(0),
2485 publishDuration(0){}
2524 AUDIO_PROFILE_NUM = 7
2565 kMaxWidthInPixels = 3840,
2567 kMaxHeightInPixels = 2160,
2586 uint32_t pixelFormat;
2589 VideoFormat(
int w,
int h,
int f, uint32_t fmt = 0) : width(w), height(h), fps(f), pixelFormat(fmt) {}
2597enum VIDEO_CONTENT_HINT {
2608 CONTENT_HINT_MOTION,
2614 CONTENT_HINT_DETAILS
2710 LOCAL_VIDEO_STREAM_ERROR_BACKGROUD = 6,
2712 LOCAL_VIDEO_STREAM_ERROR_MULTIPLE_FOREGROUND_APPS = 7,
2714 LOCAL_VIDEO_STREAM_ERROR_SYSTEM_PRESSURE = 8,
2716 LOCAL_VIDEO_STREAM_ERROR_SCREEN_CAPTURE_WINDOW_MINIMIZED = 11,
2718 LOCAL_VIDEO_STREAM_ERROR_SCREEN_CAPTURE_WINDOW_CLOSED = 12
2872 REMOTE_VIDEO_STATE_REASON_VIDEO_STREAM_TYPE_CHANGE_TO_LOW = 10,
2875 REMOTE_VIDEO_STATE_REASON_VIDEO_STREAM_TYPE_CHANGE_TO_HIGH = 11,
2929 uint32_t observationPosition;
2962struct AudioVolumeInfo {
2971 unsigned int volume;
2983 AudioVolumeInfo() : uid(0), volume(0), vad(0), voicePitch(0.0) {}
2989class IPacketObserver {
2991 virtual ~IPacketObserver() {}
2999 const unsigned char* buffer;
3005 Packet() : buffer(NULL), size(0) {}
3014 virtual bool onSendAudioPacket(Packet& packet) = 0;
3022 virtual bool onSendVideoPacket(Packet& packet) = 0;
3030 virtual bool onReceiveAudioPacket(Packet& packet) = 0;
3038 virtual bool onReceiveVideoPacket(Packet& packet) = 0;
3064enum AUDIO_SAMPLE_RATE_TYPE {
3068 AUDIO_SAMPLE_RATE_32000 = 32000,
3072 AUDIO_SAMPLE_RATE_44100 = 44100,
3076 AUDIO_SAMPLE_RATE_48000 = 48000,
3081enum VIDEO_CODEC_PROFILE_TYPE {
3085 VIDEO_CODEC_PROFILE_BASELINE = 66,
3089 VIDEO_CODEC_PROFILE_MAIN = 77,
3093 VIDEO_CODEC_PROFILE_HIGH = 100,
3099enum AUDIO_CODEC_PROFILE_TYPE {
3103 AUDIO_CODEC_PROFILE_LC_AAC = 0,
3107 AUDIO_CODEC_PROFILE_HE_AAC = 1,
3140enum RTMP_STREAM_PUBLISH_STATE {
3147 RTMP_STREAM_PUBLISH_STATE_IDLE = 0,
3153 RTMP_STREAM_PUBLISH_STATE_CONNECTING = 1,
3158 RTMP_STREAM_PUBLISH_STATE_RUNNING = 2,
3168 RTMP_STREAM_PUBLISH_STATE_RECOVERING = 3,
3173 RTMP_STREAM_PUBLISH_STATE_FAILURE = 4,
3179enum RTMP_STREAM_PUBLISH_ERROR {
3183 RTMP_STREAM_PUBLISH_ERROR_FAILED = -1,
3187 RTMP_STREAM_PUBLISH_ERROR_OK = 0,
3193 RTMP_STREAM_PUBLISH_ERROR_INVALID_ARGUMENT = 1,
3197 RTMP_STREAM_PUBLISH_ERROR_ENCRYPTED_STREAM_NOT_ALLOWED = 2,
3202 RTMP_STREAM_PUBLISH_ERROR_CONNECTION_TIMEOUT = 3,
3207 RTMP_STREAM_PUBLISH_ERROR_INTERNAL_SERVER_ERROR = 4,
3211 RTMP_STREAM_PUBLISH_ERROR_RTMP_SERVER_ERROR = 5,
3215 RTMP_STREAM_PUBLISH_ERROR_TOO_OFTEN = 6,
3219 RTMP_STREAM_PUBLISH_ERROR_REACH_LIMIT = 7,
3223 RTMP_STREAM_PUBLISH_ERROR_NOT_AUTHORIZED = 8,
3227 RTMP_STREAM_PUBLISH_ERROR_STREAM_NOT_FOUND = 9,
3231 RTMP_STREAM_PUBLISH_ERROR_FORMAT_NOT_SUPPORTED = 10,
3236 RTMP_STREAM_PUBLISH_ERROR_CDN_ERROR = 11,
3240 RTMP_STREAM_PUBLISH_ERROR_ALREADY_IN_USE = 12,
3246 RTMP_STREAM_UNPUBLISH_ERROR_OK = 100,
3490struct BeautyOptions {
3493 enum LIGHTENING_CONTRAST_LEVEL {
3495 LIGHTENING_CONTRAST_LOW = 0,
3497 LIGHTENING_CONTRAST_NORMAL,
3499 LIGHTENING_CONTRAST_HIGH
3504 LIGHTENING_CONTRAST_LEVEL lighteningContrastLevel;
3508 float lighteningLevel;
3512 float smoothnessLevel;
3520 float sharpnessLevel;
3522 BeautyOptions(LIGHTENING_CONTRAST_LEVEL contrastLevel,
float lightening,
float smoothness,
float redness,
float sharpness) : lighteningContrastLevel(contrastLevel), lighteningLevel(lightening), smoothnessLevel(smoothness), rednessLevel(redness), sharpnessLevel(sharpness) {}
3524 BeautyOptions() : lighteningContrastLevel(LIGHTENING_CONTRAST_NORMAL), lighteningLevel(0), smoothnessLevel(0), rednessLevel(0), sharpnessLevel(0) {}
3528struct VirtualBackgroundSource {
3531 enum BACKGROUND_SOURCE_TYPE {
3535 BACKGROUND_COLOR = 1,
3546 enum BACKGROUND_BLUR_DEGREE {
3548 BLUR_DEGREE_LOW = 1,
3557 BACKGROUND_SOURCE_TYPE background_source_type;
3578 BACKGROUND_BLUR_DEGREE blur_degree;
3580 VirtualBackgroundSource() : background_source_type(BACKGROUND_COLOR), color(0xffffff), source(NULL), blur_degree(BLUR_DEGREE_HIGH) {}
3583struct SegmentationProperty {
3585 enum SEG_MODEL_TYPE {
3587 SEG_MODEL_AGORA_AI_ONE = 0,
3588 SEG_MODEL_AGORA_GREEN = 2
3591 SEG_MODEL_TYPE modelType;
3595 float greenCapacity;
3598 SegmentationProperty() : modelType(SEG_MODEL_AGORA_AI_ONE), preferVelocity(1), greenCapacity(0.5){}
3622enum VOICE_BEAUTIFIER_PRESET {
3625 VOICE_BEAUTIFIER_OFF = 0x00000000,
3631 CHAT_BEAUTIFIER_MAGNETIC = 0x01010100,
3637 CHAT_BEAUTIFIER_FRESH = 0x01010200,
3643 CHAT_BEAUTIFIER_VITALITY = 0x01010300,
3657 SINGING_BEAUTIFIER = 0x01020100,
3660 TIMBRE_TRANSFORMATION_VIGOROUS = 0x01030100,
3663 TIMBRE_TRANSFORMATION_DEEP = 0x01030200,
3666 TIMBRE_TRANSFORMATION_MELLOW = 0x01030300,
3669 TIMBRE_TRANSFORMATION_FALSETTO = 0x01030400,
3672 TIMBRE_TRANSFORMATION_FULL = 0x01030500,
3675 TIMBRE_TRANSFORMATION_CLEAR = 0x01030600,
3678 TIMBRE_TRANSFORMATION_RESOUNDING = 0x01030700,
3681 TIMBRE_TRANSFORMATION_RINGING = 0x01030800,
3683 ULTRA_HIGH_QUALITY_VOICE = 0x01040100
3688enum AUDIO_EFFECT_PRESET {
3691 AUDIO_EFFECT_OFF = 0x00000000,
3699 ROOM_ACOUSTICS_KTV = 0x02010100,
3707 ROOM_ACOUSTICS_VOCAL_CONCERT = 0x02010200,
3715 ROOM_ACOUSTICS_STUDIO = 0x02010300,
3723 ROOM_ACOUSTICS_PHONOGRAPH = 0x02010400,
3730 ROOM_ACOUSTICS_VIRTUAL_STEREO = 0x02010500,
3738 ROOM_ACOUSTICS_SPACIAL = 0x02010600,
3746 ROOM_ACOUSTICS_ETHEREAL = 0x02010700,
3758 ROOM_ACOUSTICS_3D_VOICE = 0x02010800,
3769 VOICE_CHANGER_EFFECT_UNCLE = 0x02020100,
3780 VOICE_CHANGER_EFFECT_OLDMAN = 0x02020200,
3791 VOICE_CHANGER_EFFECT_BOY = 0x02020300,
3802 VOICE_CHANGER_EFFECT_SISTER = 0x02020400,
3813 VOICE_CHANGER_EFFECT_GIRL = 0x02020500,
3822 VOICE_CHANGER_EFFECT_PIGKING = 0x02020600,
3830 VOICE_CHANGER_EFFECT_HULK = 0x02020700,
3838 STYLE_TRANSFORMATION_RNB = 0x02030100,
3846 STYLE_TRANSFORMATION_POPULAR = 0x02030200,
3856 PITCH_CORRECTION = 0x02040100
3865enum VOICE_CONVERSION_PRESET {
3868 VOICE_CONVERSION_OFF = 0x00000000,
3871 VOICE_CHANGER_NEUTRAL = 0x03010100,
3874 VOICE_CHANGER_SWEET = 0x03010200,
3877 VOICE_CHANGER_SOLID = 0x03010300,
3880 VOICE_CHANGER_BASS = 0x03010400
3884enum AUDIO_REVERB_PRESET {
3888 AUDIO_REVERB_OFF = 0,
3892 AUDIO_REVERB_FX_KTV = 0x02010100,
3896 AUDIO_REVERB_FX_VOCAL_CONCERT = 0x02010200,
3900 AUDIO_REVERB_FX_UNCLE = 0x02020100,
3904 AUDIO_REVERB_FX_SISTER = 0x02020400,
3908 AUDIO_REVERB_FX_STUDIO = 0x02010300,
3912 AUDIO_REVERB_FX_POPULAR = 0x02030200,
3916 AUDIO_REVERB_FX_RNB = 0x02030100,
3920 AUDIO_REVERB_FX_PHONOGRAPH = 0x02010400
3926enum AUDIO_RECORDING_QUALITY_TYPE {
3930 AUDIO_RECORDING_QUALITY_LOW = 0,
3934 AUDIO_RECORDING_QUALITY_MEDIUM = 1,
3938 AUDIO_RECORDING_QUALITY_HIGH = 2,
3944enum AUDIO_FILE_RECORDING_TYPE {
3948 AUDIO_FILE_RECORDING_MIC = 1,
3952 AUDIO_FILE_RECORDING_PLAYBACK = 2,
3956 AUDIO_FILE_RECORDING_MIXED = 3,
3962enum AUDIO_ENCODED_FRAME_OBSERVER_POSITION {
3966 AUDIO_ENCODED_FRAME_OBSERVER_POSITION_RECORD = 1,
3970 AUDIO_ENCODED_FRAME_OBSERVER_POSITION_PLAYBACK = 2,
3974 AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIXED = 3,
3980struct AudioRecordingConfiguration {
3985 const char* filePath;
4000 AUDIO_FILE_RECORDING_TYPE fileRecordingType;
4004 AUDIO_RECORDING_QUALITY_TYPE quality;
4006 AudioRecordingConfiguration()
4010 fileRecordingType(AUDIO_FILE_RECORDING_MIXED),
4011 quality(AUDIO_RECORDING_QUALITY_LOW) {}
4013 AudioRecordingConfiguration(
const char* file_path,
int sample_rate, AUDIO_RECORDING_QUALITY_TYPE quality_type)
4014 : filePath(file_path),
4016 sampleRate(sample_rate),
4017 fileRecordingType(AUDIO_FILE_RECORDING_MIXED),
4018 quality(quality_type) {}
4020 AudioRecordingConfiguration(
const char* file_path,
bool enc,
int sample_rate, AUDIO_FILE_RECORDING_TYPE type, AUDIO_RECORDING_QUALITY_TYPE quality_type)
4021 : filePath(file_path),
4023 sampleRate(sample_rate),
4024 fileRecordingType(type),
4025 quality(quality_type) {}
4027 AudioRecordingConfiguration(
const AudioRecordingConfiguration &rhs)
4028 : filePath(rhs.filePath),
4030 sampleRate(rhs.sampleRate),
4031 fileRecordingType(rhs.fileRecordingType),
4032 quality(rhs.quality) {}
4039struct AudioEncodedFrameObserverConfig {
4043 AUDIO_ENCODED_FRAME_OBSERVER_POSITION postionType;
4047 AUDIO_ENCODING_TYPE encodingType;
4049 AudioEncodedFrameObserverConfig()
4050 : postionType(AUDIO_ENCODED_FRAME_OBSERVER_POSITION_PLAYBACK),
4051 encodingType(AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM){}
4055class IAudioEncodedFrameObserver {
4064virtual void OnRecordAudioEncodedFrame(
const uint8_t* frameBuffer,
int length,
const EncodedAudioFrameInfo& audioEncodedFrameInfo) = 0;
4073virtual void OnPlaybackAudioEncodedFrame(
const uint8_t* frameBuffer,
int length,
const EncodedAudioFrameInfo& audioEncodedFrameInfo) = 0;
4082virtual void OnMixedAudioEncodedFrame(
const uint8_t* frameBuffer,
int length,
const EncodedAudioFrameInfo& audioEncodedFrameInfo) = 0;
4084virtual ~IAudioEncodedFrameObserver () {}
4091enum VOICE_CHANGER_PRESET {
4095 VOICE_CHANGER_OFF = 0,
4099 VOICE_CHANGER_OLDMAN = 0x02020200,
4103 VOICE_CHANGER_BABYBOY = 0x02020300,
4107 VOICE_CHANGER_BABYGIRL = 0x02020500,
4112 VOICE_CHANGER_ZHUBAJIE = 0x02020600,
4116 VOICE_CHANGER_ETHEREAL = 0x02010700,
4120 VOICE_CHANGER_HULK = 0x02020700,
4124 VOICE_BEAUTY_VIGOROUS = 0x01030100,
4128 VOICE_BEAUTY_DEEP = 0x01030200,
4132 VOICE_BEAUTY_MELLOW = 0x01030300,
4136 VOICE_BEAUTY_FALSETTO = 0x01030400,
4140 VOICE_BEAUTY_FULL = 0x01030500,
4144 VOICE_BEAUTY_CLEAR = 0x01030600,
4148 VOICE_BEAUTY_RESOUNDING = 0x01030700,
4152 VOICE_BEAUTY_RINGING = 0x01030800,
4156 VOICE_BEAUTY_SPACIAL = 0x02010600,
4161 GENERAL_BEAUTY_VOICE_MALE = 0x01010100,
4166 GENERAL_BEAUTY_VOICE_FEMALE_FRESH = 0x01010200,
4171 GENERAL_BEAUTY_VOICE_FEMALE_VITALITY = 0x01010300
4215 AREA_CODE_OC = 0x00000040,
4219 AREA_CODE_SA = 0x00000080,
4223 AREA_CODE_AF = 0x00000100,
4227 AREA_CODE_KR = 0x00000200,
4231 AREA_CODE_OVS = 0xFFFFFFFE
4234enum CHANNEL_MEDIA_RELAY_ERROR {
4240 RELAY_ERROR_SERVER_ERROR_RESPONSE = 1,
4245 RELAY_ERROR_SERVER_NO_RESPONSE = 2,
4249 RELAY_ERROR_NO_RESOURCE_AVAILABLE = 3,
4252 RELAY_ERROR_FAILED_JOIN_SRC = 4,
4255 RELAY_ERROR_FAILED_JOIN_DEST = 5,
4258 RELAY_ERROR_FAILED_PACKET_RECEIVED_FROM_SRC = 6,
4261 RELAY_ERROR_FAILED_PACKET_SENT_TO_DEST = 7,
4266 RELAY_ERROR_SERVER_CONNECTION_LOST = 8,
4269 RELAY_ERROR_INTERNAL_ERROR = 9,
4272 RELAY_ERROR_SRC_TOKEN_EXPIRED = 10,
4275 RELAY_ERROR_DEST_TOKEN_EXPIRED = 11,
4279enum CHANNEL_MEDIA_RELAY_EVENT {
4283 RELAY_EVENT_NETWORK_DISCONNECTED = 0,
4286 RELAY_EVENT_NETWORK_CONNECTED = 1,
4289 RELAY_EVENT_PACKET_JOINED_SRC_CHANNEL = 2,
4292 RELAY_EVENT_PACKET_JOINED_DEST_CHANNEL = 3,
4295 RELAY_EVENT_PACKET_SENT_TO_DEST_CHANNEL = 4,
4298 RELAY_EVENT_PACKET_RECEIVED_VIDEO_FROM_SRC = 5,
4301 RELAY_EVENT_PACKET_RECEIVED_AUDIO_FROM_SRC = 6,
4304 RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL = 7,
4307 RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_REFUSED = 8,
4311 RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_NOT_CHANGE = 9,
4314 RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_IS_NULL = 10,
4317 RELAY_EVENT_VIDEO_PROFILE_UPDATE = 11,
4320 RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS = 12,
4323 RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_FAILED = 13,
4326 RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS = 14,
4329 RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_FAILED = 15,
4332enum CHANNEL_MEDIA_RELAY_STATE {
4335 RELAY_STATE_IDLE = 0,
4338 RELAY_STATE_CONNECTING = 1,
4342 RELAY_STATE_RUNNING = 2,
4345 RELAY_STATE_FAILURE = 3,
4350struct ChannelMediaInfo {
4354 const char* channelName;
4366struct ChannelMediaRelayConfiguration {
4378 ChannelMediaInfo *srcInfo;
4385 ChannelMediaInfo *destInfos;
4393 ChannelMediaRelayConfiguration()
4449 if (
this == &rhs)
return *
this;
4455 char* temp =
new char[strlen(rhs.
uid) + 1];
4456 strcpy(temp, rhs.
uid);
4463 if (
uid) {
delete []
uid; }
4508 if (
this == &rhs)
return *
this;
4586 const char* getEncryptionString()
const {
4589 return "aes-128-xts";
4591 return "aes-128-ecb";
4593 return "aes-256-xts";
4595 return "sm4-128-ecb";
4597 return "aes-128-gcm";
4599 return "aes-256-gcm";
4601 return "aes-128-gcm-2";
4603 return "aes-256-gcm-2";
4605 return "aes-128-gcm-2";
4607 return "aes-128-gcm-2";
4634enum UPLOAD_ERROR_REASON
4637 UPLOAD_NET_ERROR = 1,
4638 UPLOAD_SERVER_ERROR = 2,
4643enum PERMISSION_TYPE {
4725enum EAR_MONITORING_FILTER_TYPE {
4729 EAR_MONITORING_FILTER_NONE = (1<<0),
4733 EAR_MONITORING_FILTER_BUILT_IN_AUDIO_FILTERS = (1<<1),
4737 EAR_MONITORING_FILTER_NOISE_SUPPRESSION = (1<<2)
4745enum THREAD_PRIORITY_TYPE {
4804 if (engine && !engine->
queryInterface(rtc::AGORA_IID_PARAMETER_ENGINE, (
void**)&p))
reset(p);
4823struct SpatialAudioParams {
4865AGORA_API int AGORA_CALL setAgoraSdkExternalSymbolLoader(
void* (*func)(
const char* symname));
4889AGORA_API int AGORA_CALL getAgoraCertificateVerifyResult(
const char *credential_buf,
int credential_len,
4890 const char *certificate_buf,
int certificate_len);
#define AGORA_CALL
Definition: AgoraBase.h:65
#define AGORA_API
Definition: AgoraBase.h:64
#define OPTIONAL_NULLPTR
Definition: AgoraBase.h:81
Definition: AgoraOptional.h:413
Definition: AgoraBase.h:4795
AParameter(IEngineBase &engine)
Definition: AgoraBase.h:4797
AParameter(IEngineBase *engine)
Definition: AgoraBase.h:4798
AParameter(IAgoraParameter *p)
Definition: AgoraBase.h:4799
Definition: IAgoraParameter.h:211
Definition: AgoraBase.h:4789
virtual ~IEngineBase()
Definition: AgoraBase.h:4792
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:4809
virtual void onLicenseRequest()=0
virtual ~LicenseCallback()
Definition: AgoraBase.h:4811
virtual void onLicenseValidated()=0
virtual void onCertificateRequired()=0
virtual void onLicenseError(int result)=0
Definition: AgoraBase.h:3044
virtual bool OnEncodedVideoImageReceived(const uint8_t *imageBuffer, size_t length, const EncodedVideoFrameInfo &videoEncodedFrameInfo)=0
virtual ~IVideoEncodedImageReceiver()
Definition: AgoraBase.h:3058
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:2621
@ LOCAL_AUDIO_STREAM_STATE_FAILED
Definition: AgoraBase.h:2637
@ LOCAL_AUDIO_STREAM_STATE_RECORDING
Definition: AgoraBase.h:2629
@ LOCAL_AUDIO_STREAM_STATE_STOPPED
Definition: AgoraBase.h:2625
@ LOCAL_AUDIO_STREAM_STATE_ENCODING
Definition: AgoraBase.h:2633
FRAME_HEIGHT
Definition: AgoraBase.h:1396
@ FRAME_HEIGHT_360
Definition: AgoraBase.h:1400
AUDIO_SCENARIO_TYPE
Definition: AgoraBase.h:2531
@ AUDIO_SCENARIO_NUM
Definition: AgoraBase.h:2555
@ AUDIO_SCENARIO_GAME_STREAMING
Definition: AgoraBase.h:2539
@ AUDIO_SCENARIO_MEETING
Definition: AgoraBase.h:2551
@ AUDIO_SCENARIO_CHORUS
Definition: AgoraBase.h:2547
@ AUDIO_SCENARIO_CHATROOM
Definition: AgoraBase.h:2543
@ AUDIO_SCENARIO_DEFAULT
Definition: AgoraBase.h:2535
FRAME_WIDTH
Definition: AgoraBase.h:1387
@ FRAME_WIDTH_640
Definition: AgoraBase.h:1391
CONNECTION_CHANGED_REASON_TYPE
Definition: AgoraBase.h:3373
@ CONNECTION_CHANGED_INVALID_TOKEN
Definition: AgoraBase.h:3411
@ CONNECTION_CHANGED_BANNED_BY_SERVER
Definition: AgoraBase.h:3389
@ CONNECTION_CHANGED_REJOIN_SUCCESS
Definition: AgoraBase.h:3439
@ CONNECTION_CHANGED_ECHO_TEST
Definition: AgoraBase.h:3447
@ CONNECTION_CHANGED_INVALID_CHANNEL_NAME
Definition: AgoraBase.h:3405
@ CONNECTION_CHANGED_JOIN_SUCCESS
Definition: AgoraBase.h:3381
@ CONNECTION_CHANGED_INTERRUPTED
Definition: AgoraBase.h:3385
@ CONNECTION_CHANGED_LEAVE_CHANNEL
Definition: AgoraBase.h:3397
@ CONNECTION_CHANGED_CONNECTING
Definition: AgoraBase.h:3377
@ CONNECTION_CHANGED_SETTING_PROXY_SERVER
Definition: AgoraBase.h:3423
@ CONNECTION_CHANGED_LOST
Definition: AgoraBase.h:3443
@ CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED
Definition: AgoraBase.h:3431
@ CONNECTION_CHANGED_JOIN_FAILED
Definition: AgoraBase.h:3393
@ CONNECTION_CHANGED_RENEW_TOKEN
Definition: AgoraBase.h:3427
@ CONNECTION_CHANGED_TOKEN_EXPIRED
Definition: AgoraBase.h:3415
@ CONNECTION_CHANGED_KEEP_ALIVE_TIMEOUT
Definition: AgoraBase.h:3435
@ CONNECTION_CHANGED_REJECTED_BY_SERVER
Definition: AgoraBase.h:3419
@ CONNECTION_CHANGED_INVALID_APP_ID
Definition: AgoraBase.h:3401
@ CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED_BY_USER
Definition: AgoraBase.h:3451
ENCRYPTION_ERROR_TYPE
Definition: AgoraBase.h:4615
@ ENCRYPTION_ERROR_ENCRYPTION_FAILURE
Definition: AgoraBase.h:4627
@ ENCRYPTION_ERROR_DECRYPTION_FAILURE
Definition: AgoraBase.h:4623
@ ENCRYPTION_ERROR_INTERNAL_FAILURE
Definition: AgoraBase.h:4619
FRAME_RATE
Definition: AgoraBase.h:1353
@ FRAME_RATE_FPS_24
Definition: AgoraBase.h:1373
@ FRAME_RATE_FPS_15
Definition: AgoraBase.h:1369
@ FRAME_RATE_FPS_1
Definition: AgoraBase.h:1357
@ FRAME_RATE_FPS_10
Definition: AgoraBase.h:1365
@ FRAME_RATE_FPS_30
Definition: AgoraBase.h:1377
@ FRAME_RATE_FPS_7
Definition: AgoraBase.h:1361
@ FRAME_RATE_FPS_60
Definition: AgoraBase.h:1381
LOCAL_AUDIO_STREAM_ERROR
Definition: AgoraBase.h:2643
@ LOCAL_AUDIO_STREAM_ERROR_FAILURE
Definition: AgoraBase.h:2651
@ LOCAL_AUDIO_STREAM_ERROR_DEVICE_BUSY
Definition: AgoraBase.h:2659
@ LOCAL_AUDIO_STREAM_ERROR_ENCODE_FAILURE
Definition: AgoraBase.h:2667
@ LOCAL_AUDIO_STREAM_ERROR_RECORD_FAILURE
Definition: AgoraBase.h:2663
@ LOCAL_AUDIO_STREAM_ERROR_DEVICE_NO_PERMISSION
Definition: AgoraBase.h:2655
@ LOCAL_AUDIO_STREAM_ERROR_OK
Definition: AgoraBase.h:2647
CLIENT_ROLE_TYPE
Definition: AgoraBase.h:2314
@ CLIENT_ROLE_AUDIENCE
Definition: AgoraBase.h:2322
@ CLIENT_ROLE_BROADCASTER
Definition: AgoraBase.h:2318
CONNECTION_STATE_TYPE
Definition: AgoraBase.h:3254
@ CONNECTION_STATE_DISCONNECTED
Definition: AgoraBase.h:3258
@ CONNECTION_STATE_RECONNECTING
Definition: AgoraBase.h:3270
@ CONNECTION_STATE_CONNECTING
Definition: AgoraBase.h:3262
@ CONNECTION_STATE_FAILED
Definition: AgoraBase.h:3274
@ CONNECTION_STATE_CONNECTED
Definition: AgoraBase.h:3266
const int COMPATIBLE_BITRATE
Definition: AgoraBase.h:1509
REMOTE_AUDIO_STATE_REASON
Definition: AgoraBase.h:2755
@ REMOTE_AUDIO_REASON_REMOTE_UNMUTED
Definition: AgoraBase.h:2783
@ REMOTE_AUDIO_REASON_REMOTE_MUTED
Definition: AgoraBase.h:2779
@ REMOTE_AUDIO_REASON_LOCAL_MUTED
Definition: AgoraBase.h:2771
@ REMOTE_AUDIO_REASON_REMOTE_OFFLINE
Definition: AgoraBase.h:2787
@ REMOTE_AUDIO_REASON_NETWORK_CONGESTION
Definition: AgoraBase.h:2763
@ REMOTE_AUDIO_REASON_NETWORK_RECOVERY
Definition: AgoraBase.h:2767
@ REMOTE_AUDIO_REASON_LOCAL_UNMUTED
Definition: AgoraBase.h:2775
@ REMOTE_AUDIO_REASON_INTERNAL
Definition: AgoraBase.h:2759
TCcMode
Definition: AgoraBase.h:4775
@ CC_DISABLED
Definition: AgoraBase.h:4783
@ CC_ENABLED
Definition: AgoraBase.h:4779
USER_OFFLINE_REASON_TYPE
Definition: AgoraBase.h:1232
@ USER_OFFLINE_BECOME_AUDIENCE
Definition: AgoraBase.h:1244
@ USER_OFFLINE_QUIT
Definition: AgoraBase.h:1236
@ USER_OFFLINE_DROPPED
Definition: AgoraBase.h:1240
STREAM_PUBLISH_STATE
Definition: AgoraBase.h:4684
@ PUB_STATE_IDLE
Definition: AgoraBase.h:4688
@ PUB_STATE_PUBLISHED
Definition: AgoraBase.h:4700
@ PUB_STATE_PUBLISHING
Definition: AgoraBase.h:4696
@ PUB_STATE_NO_PUBLISHED
Definition: AgoraBase.h:4692
VIDEO_STREAM_TYPE
Definition: AgoraBase.h:1801
@ VIDEO_STREAM_HIGH
Definition: AgoraBase.h:1805
@ VIDEO_STREAM_LOW
Definition: AgoraBase.h:1809
unsigned int track_id_t
Definition: AgoraMediaBase.h:26
AUDIO_PROFILE_TYPE
Definition: AgoraBase.h:2492
@ AUDIO_PROFILE_MUSIC_STANDARD_STEREO
Definition: AgoraBase.h:2510
@ AUDIO_PROFILE_IOT
Definition: AgoraBase.h:2522
@ AUDIO_PROFILE_MUSIC_HIGH_QUALITY
Definition: AgoraBase.h:2514
@ AUDIO_PROFILE_DEFAULT
Definition: AgoraBase.h:2498
@ AUDIO_PROFILE_MUSIC_STANDARD
Definition: AgoraBase.h:2506
@ AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO
Definition: AgoraBase.h:2518
@ AUDIO_PROFILE_SPEECH_STANDARD
Definition: AgoraBase.h:2502
VIDEO_CODEC_TYPE
Definition: AgoraBase.h:1525
@ VIDEO_CODEC_GENERIC_H264
Definition: AgoraBase.h:1553
@ VIDEO_CODEC_H265
Definition: AgoraBase.h:1541
@ VIDEO_CODEC_GENERIC_JPEG
Definition: AgoraBase.h:1561
@ VIDEO_CODEC_VP9
Definition: AgoraBase.h:1545
@ VIDEO_CODEC_AV1
Definition: AgoraBase.h:1557
@ VIDEO_CODEC_H264
Definition: AgoraBase.h:1537
@ VIDEO_CODEC_GENERIC
Definition: AgoraBase.h:1549
@ VIDEO_CODEC_NONE
Definition: AgoraBase.h:1529
@ VIDEO_CODEC_VP8
Definition: AgoraBase.h:1533
LOCAL_VIDEO_STREAM_STATE
Definition: AgoraBase.h:2673
@ LOCAL_VIDEO_STREAM_STATE_ENCODING
Definition: AgoraBase.h:2685
@ LOCAL_VIDEO_STREAM_STATE_FAILED
Definition: AgoraBase.h:2689
@ LOCAL_VIDEO_STREAM_STATE_STOPPED
Definition: AgoraBase.h:2677
@ LOCAL_VIDEO_STREAM_STATE_CAPTURING
Definition: AgoraBase.h:2681
REMOTE_VIDEO_STATE
Definition: AgoraBase.h:2793
@ REMOTE_VIDEO_STATE_FAILED
Definition: AgoraBase.h:2814
@ REMOTE_VIDEO_STATE_DECODING
Definition: AgoraBase.h:2806
@ REMOTE_VIDEO_STATE_FROZEN
Definition: AgoraBase.h:2810
@ REMOTE_VIDEO_STATE_STARTING
Definition: AgoraBase.h:2801
@ REMOTE_VIDEO_STATE_STOPPED
Definition: AgoraBase.h:2797
EXPERIENCE_POOR_REASON
Definition: AgoraBase.h:2350
@ LOCAL_NETWORK_QUALITY_POOR
Definition: AgoraBase.h:2359
@ EXPERIENCE_REASON_NONE
Definition: AgoraBase.h:2353
@ WIRELESS_SIGNAL_POOR
Definition: AgoraBase.h:2362
@ WIFI_BLUETOOTH_COEXIST
Definition: AgoraBase.h:2365
@ REMOTE_NETWORK_QUALITY_POOR
Definition: AgoraBase.h:2356
AREA_CODE
Definition: AgoraBase.h:4176
@ AREA_CODE_NA
Definition: AgoraBase.h:4184
@ AREA_CODE_AS
Definition: AgoraBase.h:4192
@ AREA_CODE_EU
Definition: AgoraBase.h:4188
@ AREA_CODE_JP
Definition: AgoraBase.h:4196
@ AREA_CODE_GLOB
Definition: AgoraBase.h:4204
@ AREA_CODE_IN
Definition: AgoraBase.h:4200
@ AREA_CODE_CN
Definition: AgoraBase.h:4180
MAX_USER_ACCOUNT_LENGTH_TYPE
Definition: AgoraBase.h:4652
@ MAX_USER_ACCOUNT_LENGTH
Definition: AgoraBase.h:4656
EXPERIENCE_QUALITY_TYPE
Definition: AgoraBase.h:2340
@ EXPERIENCE_QUALITY_GOOD
Definition: AgoraBase.h:2342
@ EXPERIENCE_QUALITY_BAD
Definition: AgoraBase.h:2344
VIDEO_MIRROR_MODE_TYPE
Definition: AgoraBase.h:1936
@ VIDEO_MIRROR_MODE_AUTO
Definition: AgoraBase.h:1940
@ VIDEO_MIRROR_MODE_ENABLED
Definition: AgoraBase.h:1944
@ VIDEO_MIRROR_MODE_DISABLED
Definition: AgoraBase.h:1948
ENCRYPTION_MODE
Definition: AgoraBase.h:4530
@ SM4_128_ECB
Definition: AgoraBase.h:4544
REMOTE_VIDEO_DOWNSCALE_LEVEL
Definition: AgoraBase.h:2936
@ REMOTE_VIDEO_DOWNSCALE_LEVEL_1
Definition: AgoraBase.h:2944
@ REMOTE_VIDEO_DOWNSCALE_LEVEL_3
Definition: AgoraBase.h:2952
@ REMOTE_VIDEO_DOWNSCALE_LEVEL_4
Definition: AgoraBase.h:2956
@ REMOTE_VIDEO_DOWNSCALE_LEVEL_NONE
Definition: AgoraBase.h:2940
@ REMOTE_VIDEO_DOWNSCALE_LEVEL_2
Definition: AgoraBase.h:2948
const int STANDARD_BITRATE
Definition: AgoraBase.h:1504
LASTMILE_PROBE_RESULT_STATE
Definition: AgoraBase.h:3306
@ LASTMILE_PROBE_RESULT_COMPLETE
Definition: AgoraBase.h:3310
@ LASTMILE_PROBE_RESULT_INCOMPLETE_NO_BWE
Definition: AgoraBase.h:3314
@ LASTMILE_PROBE_RESULT_UNAVAILABLE
Definition: AgoraBase.h:3318
REMOTE_AUDIO_STATE
Definition: AgoraBase.h:2726
@ REMOTE_AUDIO_STATE_FAILED
Definition: AgoraBase.h:2748
@ REMOTE_AUDIO_STATE_STARTING
Definition: AgoraBase.h:2735
@ REMOTE_AUDIO_STATE_STOPPED
Definition: AgoraBase.h:2731
@ REMOTE_AUDIO_STATE_FROZEN
Definition: AgoraBase.h:2744
@ REMOTE_AUDIO_STATE_DECODING
Definition: AgoraBase.h:2740
NETWORK_TYPE
Definition: AgoraBase.h:3457
@ NETWORK_TYPE_DISCONNECTED
Definition: AgoraBase.h:3465
@ NETWORK_TYPE_MOBILE_3G
Definition: AgoraBase.h:3481
@ NETWORK_TYPE_MOBILE_4G
Definition: AgoraBase.h:3485
@ NETWORK_TYPE_UNKNOWN
Definition: AgoraBase.h:3461
@ NETWORK_TYPE_LAN
Definition: AgoraBase.h:3469
@ NETWORK_TYPE_WIFI
Definition: AgoraBase.h:3473
@ NETWORK_TYPE_MOBILE_2G
Definition: AgoraBase.h:3477
unsigned int uid_t
Definition: AgoraMediaBase.h:25
QUALITY_ADAPT_INDICATION
Definition: AgoraBase.h:2328
@ ADAPT_NONE
Definition: AgoraBase.h:2330
@ ADAPT_UP_BANDWIDTH
Definition: AgoraBase.h:2332
@ ADAPT_DOWN_BANDWIDTH
Definition: AgoraBase.h:2334
AUDIO_CODEC_TYPE
Definition: AgoraBase.h:1567
@ AUDIO_CODEC_G722
Definition: AgoraBase.h:1584
@ AUDIO_CODEC_HEAAC
Definition: AgoraBase.h:1594
@ AUDIO_CODEC_PCMU
Definition: AgoraBase.h:1580
@ AUDIO_CODEC_OPUS
Definition: AgoraBase.h:1571
@ AUDIO_CODEC_HEAAC2
Definition: AgoraBase.h:1604
@ AUDIO_CODEC_AACLC
Definition: AgoraBase.h:1590
@ AUDIO_CODEC_PCMA
Definition: AgoraBase.h:1576
STREAM_SUBSCRIBE_STATE
Definition: AgoraBase.h:4662
@ SUB_STATE_IDLE
Definition: AgoraBase.h:4666
@ SUB_STATE_NO_SUBSCRIBED
Definition: AgoraBase.h:4670
@ SUB_STATE_SUBSCRIBING
Definition: AgoraBase.h:4674
@ SUB_STATE_SUBSCRIBED
Definition: AgoraBase.h:4678
VIDEO_SOURCE_TYPE
Definition: AgoraBase.h:2261
@ VIDEO_SOURCE_CAMERA_PRIMARY
Definition: AgoraBase.h:2265
@ VIDEO_SOURCE_RTC_IMAGE_JPEG
Definition: AgoraBase.h:2296
@ VIDEO_SOURCE_CUSTOM
Definition: AgoraBase.h:2287
@ VIDEO_SOURCE_RTC_IMAGE_GIF
Definition: AgoraBase.h:2299
@ VIDEO_SOURCE_CAMERA
Definition: AgoraBase.h:2269
@ VIDEO_SOURCE_SCREEN_PRIMARY
Definition: AgoraBase.h:2277
@ VIDEO_SOURCE_REMOTE
Definition: AgoraBase.h:2302
@ VIDEO_SOURCE_CAMERA_SECONDARY
Definition: AgoraBase.h:2273
@ VIDEO_SOURCE_SCREEN_SECONDARY
Definition: AgoraBase.h:2284
@ VIDEO_SOURCE_UNKNOWN
Definition: AgoraBase.h:2308
@ VIDEO_SOURCE_MEDIA_PLAYER
Definition: AgoraBase.h:2290
@ VIDEO_SOURCE_SCREEN
Definition: AgoraBase.h:2281
@ VIDEO_SOURCE_TRANSCODED
Definition: AgoraBase.h:2305
@ VIDEO_SOURCE_RTC_IMAGE_PNG
Definition: AgoraBase.h:2293
LOCAL_VIDEO_STREAM_ERROR
Definition: AgoraBase.h:2695
@ LOCAL_VIDEO_STREAM_ERROR_DEVICE_NO_PERMISSION
Definition: AgoraBase.h:2701
@ LOCAL_VIDEO_STREAM_ERROR_OK
Definition: AgoraBase.h:2697
@ LOCAL_VIDEO_STREAM_ERROR_CAPTURE_FAILURE
Definition: AgoraBase.h:2705
@ LOCAL_VIDEO_STREAM_ERROR_DEVICE_BUSY
Definition: AgoraBase.h:2703
@ LOCAL_VIDEO_STREAM_ERROR_FAILURE
Definition: AgoraBase.h:2699
@ LOCAL_VIDEO_STREAM_ERROR_ENCODE_FAILURE
Definition: AgoraBase.h:2707
DEGRADATION_PREFERENCE
Definition: AgoraBase.h:1457
@ MAINTAIN_FRAMERATE
Definition: AgoraBase.h:1465
@ MAINTAIN_BALANCED
Definition: AgoraBase.h:1469
@ MAINTAIN_QUALITY
Definition: AgoraBase.h:1461
@ MAINTAIN_RESOLUTION
Definition: AgoraBase.h:1473
REMOTE_VIDEO_STATE_REASON
Definition: AgoraBase.h:2819
@ REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION
Definition: AgoraBase.h:2828
@ REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED
Definition: AgoraBase.h:2853
@ REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED
Definition: AgoraBase.h:2848
@ REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED
Definition: AgoraBase.h:2843
@ REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK
Definition: AgoraBase.h:2863
@ REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY
Definition: AgoraBase.h:2833
@ REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE
Definition: AgoraBase.h:2858
@ REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY
Definition: AgoraBase.h:2868
@ REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED
Definition: AgoraBase.h:2838
@ REMOTE_VIDEO_STATE_REASON_INTERNAL
Definition: AgoraBase.h:2823
QUALITY_TYPE
Definition: AgoraBase.h:1266
@ QUALITY_BAD
Definition: AgoraBase.h:1287
@ QUALITY_POOR
Definition: AgoraBase.h:1283
@ QUALITY_GOOD
Definition: AgoraBase.h:1279
@ QUALITY_UNKNOWN
Definition: AgoraBase.h:1271
@ QUALITY_VBAD
Definition: AgoraBase.h:1291
@ QUALITY_EXCELLENT
Definition: AgoraBase.h:1275
@ QUALITY_DOWN
Definition: AgoraBase.h:1295
VIDEO_FRAME_TYPE
Definition: AgoraBase.h:1407
@ VIDEO_FRAME_TYPE_B_FRAME
Definition: AgoraBase.h:1423
@ VIDEO_FRAME_TYPE_DROPPABLE_FRAME
Definition: AgoraBase.h:1427
@ VIDEO_FRAME_TYPE_UNKNOW
Definition: AgoraBase.h:1431
@ VIDEO_FRAME_TYPE_KEY_FRAME
Definition: AgoraBase.h:1415
@ VIDEO_FRAME_TYPE_BLANK_FRAME
Definition: AgoraBase.h:1411
@ VIDEO_FRAME_TYPE_DELTA_FRAME
Definition: AgoraBase.h:1419
VIDEO_ORIENTATION
Definition: AgoraBase.h:1331
@ VIDEO_ORIENTATION_270
Definition: AgoraBase.h:1347
@ VIDEO_ORIENTATION_0
Definition: AgoraBase.h:1335
@ VIDEO_ORIENTATION_90
Definition: AgoraBase.h:1339
@ VIDEO_ORIENTATION_180
Definition: AgoraBase.h:1343
ORIENTATION_MODE
Definition: AgoraBase.h:1437
@ ORIENTATION_MODE_FIXED_PORTRAIT
Definition: AgoraBase.h:1451
@ ORIENTATION_MODE_ADAPTIVE
Definition: AgoraBase.h:1443
@ ORIENTATION_MODE_FIXED_LANDSCAPE
Definition: AgoraBase.h:1447
CopyableAutoPtr< IString > AString
Definition: AgoraBase.h:190
Definition: AgoraBase.h:85
void * view_t
Definition: AgoraBase.h:1198
util::AList< UserInfo > UserList
Definition: AgoraBase.h:1224
commons::cjson::JsonWrapper any_document_t
Definition: AgoraBase.h:92
const char * user_id_t
Definition: AgoraBase.h:1197
CHANNEL_PROFILE_TYPE
Definition: AgoraBase.h:275
@ __deprecated
Definition: AgoraBase.h:290
@ CHANNEL_PROFILE_COMMUNICATION
Definition: AgoraBase.h:280
@ CHANNEL_PROFILE_LIVE_BROADCASTING
Definition: AgoraBase.h:285
Definition: AgoraBase.h:1203
UserInfo()
Definition: AgoraBase.h:1221
bool hasAudio
Definition: AgoraBase.h:1213
bool hasVideo
Definition: AgoraBase.h:1219
util::AString userId
Definition: AgoraBase.h:1207
Definition: AgoraBase.h:4424
~PeerDownlinkInfo()
Definition: AgoraBase.h:4462
PeerDownlinkInfo()
Definition: AgoraBase.h:4442
REMOTE_VIDEO_DOWNSCALE_LEVEL current_downscale_level
Definition: AgoraBase.h:4436
int expected_bitrate_bps
Definition: AgoraBase.h:4440
PeerDownlinkInfo & operator=(const PeerDownlinkInfo &rhs)
Definition: AgoraBase.h:4448
const char * uid
Definition: AgoraBase.h:4428
VIDEO_STREAM_TYPE stream_type
Definition: AgoraBase.h:4432
Definition: AgoraBase.h:4419
int total_downscale_level_count
Definition: AgoraBase.h:4478
~DownlinkNetworkInfo()
Definition: AgoraBase.h:4522
int total_received_video_count
Definition: AgoraBase.h:4486
DownlinkNetworkInfo & operator=(const DownlinkNetworkInfo &rhs)
Definition: AgoraBase.h:4507
int lastmile_buffer_delay_time_ms
Definition: AgoraBase.h:4470
int bandwidth_estimation_bps
Definition: AgoraBase.h:4474
PeerDownlinkInfo * peer_downlink_info
Definition: AgoraBase.h:4482
DownlinkNetworkInfo(const DownlinkNetworkInfo &info)
Definition: AgoraBase.h:4495
DownlinkNetworkInfo()
Definition: AgoraBase.h:4488
Definition: AgoraBase.h:1685
bool sendEvenIfEmpty
Definition: AgoraBase.h:1701
bool speech
Definition: AgoraBase.h:1695
EncodedAudioFrameAdvancedSettings()
Definition: AgoraBase.h:1686
Definition: AgoraBase.h:1708
int sampleRateHz
Definition: AgoraBase.h:1730
EncodedAudioFrameInfo(const EncodedAudioFrameInfo &rhs)
Definition: AgoraBase.h:1716
EncodedAudioFrameAdvancedSettings advancedSettings
Definition: AgoraBase.h:1743
EncodedAudioFrameInfo()
Definition: AgoraBase.h:1709
int samplesPerChannel
Definition: AgoraBase.h:1735
AUDIO_CODEC_TYPE codec
Definition: AgoraBase.h:1726
int numberOfChannels
Definition: AgoraBase.h:1739
int64_t captureTimeMs
Definition: AgoraBase.h:1747
Definition: AgoraBase.h:1842
VIDEO_STREAM_TYPE streamType
Definition: AgoraBase.h:1930
int height
Definition: AgoraBase.h:1895
int64_t captureTimeMs
Definition: AgoraBase.h:1918
VIDEO_CODEC_TYPE codecType
Definition: AgoraBase.h:1887
int trackId
Definition: AgoraBase.h:1911
int framesPerSecond
Definition: AgoraBase.h:1899
uid_t uid
Definition: AgoraBase.h:1926
EncodedVideoFrameInfo & operator=(const EncodedVideoFrameInfo &rhs)
Definition: AgoraBase.h:1869
int64_t decodeTimeMs
Definition: AgoraBase.h:1922
EncodedVideoFrameInfo(const EncodedVideoFrameInfo &rhs)
Definition: AgoraBase.h:1856
VIDEO_FRAME_TYPE frameType
Definition: AgoraBase.h:1903
int width
Definition: AgoraBase.h:1891
EncodedVideoFrameInfo()
Definition: AgoraBase.h:1843
VIDEO_ORIENTATION rotation
Definition: AgoraBase.h:1907
Definition: AgoraBase.h:4565
const char * encryptionKey
Definition: AgoraBase.h:4575
EncryptionConfig()
Definition: AgoraBase.h:4578
uint8_t encryptionKdfSalt[32]
Definition: AgoraBase.h:4576
ENCRYPTION_MODE encryptionMode
Definition: AgoraBase.h:4569
Definition: AgoraBase.h:3280
bool probeUplink
Definition: AgoraBase.h:3286
bool probeDownlink
Definition: AgoraBase.h:3292
unsigned int expectedUplinkBitrate
Definition: AgoraBase.h:3296
unsigned int expectedDownlinkBitrate
Definition: AgoraBase.h:3300
Definition: AgoraBase.h:3324
LastmileProbeOneWayResult()
Definition: AgoraBase.h:3338
unsigned int packetLossRate
Definition: AgoraBase.h:3328
unsigned int availableBandwidth
Definition: AgoraBase.h:3336
unsigned int jitter
Definition: AgoraBase.h:3332
Definition: AgoraBase.h:3346
LastmileProbeOneWayResult downlinkReport
Definition: AgoraBase.h:3358
unsigned int rtt
Definition: AgoraBase.h:3362
LastmileProbeOneWayResult uplinkReport
Definition: AgoraBase.h:3354
LastmileProbeResult()
Definition: AgoraBase.h:3364
LASTMILE_PROBE_RESULT_STATE state
Definition: AgoraBase.h:3350
Definition: AgoraBase.h:3115
int sentSampleRate
Definition: AgoraBase.h:3123
int numChannels
Definition: AgoraBase.h:3119
int sentBitrate
Definition: AgoraBase.h:3127
Definition: AgoraBase.h:2087
unsigned short rxVideoKBitRate
Definition: AgoraBase.h:2135
int firstVideoPacketDurationAfterUnmute
Definition: AgoraBase.h:2201
int firstVideoKeyFrameDecodedDurationAfterUnmute
Definition: AgoraBase.h:2209
unsigned short rxAudioKBitRate
Definition: AgoraBase.h:2127
int memoryAppUsageInKbytes
Definition: AgoraBase.h:2173
unsigned int rxBytes
Definition: AgoraBase.h:2099
unsigned short txAudioKBitRate
Definition: AgoraBase.h:2131
unsigned short lastmileDelay
Definition: AgoraBase.h:2143
unsigned int userCount
Definition: AgoraBase.h:2147
unsigned int txVideoBytes
Definition: AgoraBase.h:2107
unsigned short rxKBitRate
Definition: AgoraBase.h:2123
int gatewayRtt
Definition: AgoraBase.h:2161
unsigned int duration
Definition: AgoraBase.h:2091
int firstVideoPacketDuration
Definition: AgoraBase.h:2185
unsigned int rxAudioBytes
Definition: AgoraBase.h:2111
unsigned short txKBitRate
Definition: AgoraBase.h:2119
int packetsBeforeFirstKeyFramePacket
Definition: AgoraBase.h:2193
int rxPacketLossRate
Definition: AgoraBase.h:2221
int firstAudioPacketDuration
Definition: AgoraBase.h:2181
int firstAudioPacketDurationAfterUnmute
Definition: AgoraBase.h:2197
int firstVideoKeyFramePacketDurationAfterUnmute
Definition: AgoraBase.h:2205
int txPacketLossRate
Definition: AgoraBase.h:2217
RtcStats()
Definition: AgoraBase.h:2222
double cpuTotalUsage
Definition: AgoraBase.h:2157
int firstVideoKeyFrameRenderedDurationAfterUnmute
Definition: AgoraBase.h:2213
double memoryAppUsageRatio
Definition: AgoraBase.h:2165
int connectTimeMs
Definition: AgoraBase.h:2177
double memoryTotalUsageRatio
Definition: AgoraBase.h:2169
unsigned short txVideoKBitRate
Definition: AgoraBase.h:2139
unsigned int txAudioBytes
Definition: AgoraBase.h:2103
unsigned int txBytes
Definition: AgoraBase.h:2095
unsigned int rxVideoBytes
Definition: AgoraBase.h:2115
int firstVideoKeyFramePacketDuration
Definition: AgoraBase.h:2189
double cpuAppUsage
Definition: AgoraBase.h:2151
Definition: AgoraBase.h:2065
bool operator==(const SimulcastStreamConfig &rhs) const
Definition: AgoraBase.h:2079
SimulcastStreamConfig()
Definition: AgoraBase.h:2078
int framerate
Definition: AgoraBase.h:2077
int bitrate
Definition: AgoraBase.h:2073
VideoDimensions dimensions
Definition: AgoraBase.h:2069
Definition: AgoraBase.h:4403
bool operator==(const UplinkNetworkInfo &rhs) const
Definition: AgoraBase.h:4411
int video_encoder_target_bitrate_bps
Definition: AgoraBase.h:4407
UplinkNetworkInfo()
Definition: AgoraBase.h:4409
Definition: AgoraBase.h:4706
char userAccount[MAX_USER_ACCOUNT_LENGTH]
Definition: AgoraBase.h:4714
UserInfo()
Definition: AgoraBase.h:4715
uid_t uid
Definition: AgoraBase.h:4710
Definition: AgoraBase.h:1485
VideoDimensions()
Definition: AgoraBase.h:1494
bool operator==(const VideoDimensions &rhs) const
Definition: AgoraBase.h:1496
int height
Definition: AgoraBase.h:1493
int width
Definition: AgoraBase.h:1489
VideoDimensions(int w, int h)
Definition: AgoraBase.h:1495
Definition: AgoraBase.h:1954
VIDEO_MIRROR_MODE_TYPE mirrorMode
Definition: AgoraBase.h:1997
DEGRADATION_PREFERENCE degradationPreference
Definition: AgoraBase.h:1992
VideoEncoderConfiguration & operator=(const VideoEncoderConfiguration &rhs)
Definition: AgoraBase.h:2036
VIDEO_CODEC_TYPE codecType
Definition: AgoraBase.h:1958
VideoEncoderConfiguration()
Definition: AgoraBase.h:2026
int minBitrate
Definition: AgoraBase.h:1984
VideoEncoderConfiguration(int width, int height, int f, int b, ORIENTATION_MODE m, VIDEO_MIRROR_MODE_TYPE mirror=VIDEO_MIRROR_MODE_DISABLED)
Definition: AgoraBase.h:2008
VideoEncoderConfiguration(const VideoDimensions &d, int f, int b, ORIENTATION_MODE m, VIDEO_MIRROR_MODE_TYPE mirror=VIDEO_MIRROR_MODE_DISABLED)
Definition: AgoraBase.h:1999
ORIENTATION_MODE orientationMode
Definition: AgoraBase.h:1988
int frameRate
Definition: AgoraBase.h:1966
VideoEncoderConfiguration(const VideoEncoderConfiguration &config)
Definition: AgoraBase.h:2017
int bitrate
Definition: AgoraBase.h:1973
VideoDimensions dimensions
Definition: AgoraBase.h:1962
Definition: AgoraBase.h:1815
VIDEO_STREAM_TYPE type
Definition: AgoraBase.h:1821
VideoSubscriptionOptions(VIDEO_STREAM_TYPE streamtype)
Definition: AgoraBase.h:1832
bool encodedFrameOnly
Definition: AgoraBase.h:1827
VideoSubscriptionOptions()
Definition: AgoraBase.h:1829
VideoSubscriptionOptions(VIDEO_STREAM_TYPE streamtype, bool encoded_only)
Definition: AgoraBase.h:1835
Definition: AgoraBase.h:2882
VIDEO_CODEC_TYPE codecType
Definition: AgoraBase.h:2914
uid_t ownerUid
Definition: AgoraBase.h:2897
track_id_t trackId
Definition: AgoraBase.h:2902
VIDEO_SOURCE_TYPE sourceType
Definition: AgoraBase.h:2924
bool isLocal
Definition: AgoraBase.h:2893
bool encodedFrameOnly
Definition: AgoraBase.h:2920
VideoTrackInfo()
Definition: AgoraBase.h:2883
const char * channelId
Definition: AgoraBase.h:2906
VIDEO_STREAM_TYPE streamType
Definition: AgoraBase.h:2910