Agora C++ API Reference for All Platforms

Loading...
Searching...
No Matches
IAgoraRtcEngine.h
1//
2// Agora Rtc Engine SDK
3//
4// Copyright (c) 2018 Agora.io. All rights reserved.
5//
6#pragma once
7
8#include "AgoraBase.h"
9#include "AgoraMediaBase.h"
10#include "IAgoraLog.h"
11#include "AgoraOptional.h"
12#include "IAudioDeviceManager.h"
13#include "IAgoraRhythmPlayer.h"
14#include "IAgoraMediaEngine.h"
15#include "IAgoraH265Transcoder.h"
16
17 namespace agora {
18 namespace rtm {
19 class IStreamChannel;
20}
21 namespace rtc {
22
23 template <typename T>
24 static void SetFrom(Optional<T>* s, const Optional<T>& o) {
25 if (o) {
26 *s = o;
27 }
28}
29
30 template <typename T>
31 static void ReplaceBy(Optional<T>* s, const Optional<T>& o) {
32 *s = o;
33}
34
35//class IAudioDeviceManager;
36
40 enum MEDIA_DEVICE_TYPE {
44 UNKNOWN_AUDIO_DEVICE = -1,
48 AUDIO_PLAYOUT_DEVICE = 0,
52 AUDIO_RECORDING_DEVICE = 1,
56 VIDEO_RENDER_DEVICE = 2,
60 VIDEO_CAPTURE_DEVICE = 3,
64 AUDIO_APPLICATION_PLAYOUT_DEVICE = 4,
68 AUDIO_VIRTUAL_PLAYOUT_DEVICE = 5,
72 AUDIO_VIRTUAL_RECORDING_DEVICE = 6,
73};
74
78 enum AUDIO_MIXING_STATE_TYPE {
80 AUDIO_MIXING_STATE_PLAYING = 710,
82 AUDIO_MIXING_STATE_PAUSED = 711,
84 AUDIO_MIXING_STATE_STOPPED = 713,
87 AUDIO_MIXING_STATE_FAILED = 714,
88};
89
93 enum AUDIO_MIXING_REASON_TYPE {
95 AUDIO_MIXING_REASON_CAN_NOT_OPEN = 701,
97 AUDIO_MIXING_REASON_TOO_FREQUENT_CALL = 702,
99 AUDIO_MIXING_REASON_INTERRUPTED_EOF = 703,
101 AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED = 721,
103 AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED = 723,
105 AUDIO_MIXING_REASON_STOPPED_BY_USER = 724,
107 AUDIO_MIXING_REASON_RESUMED_BY_USER = 726,
109 AUDIO_MIXING_REASON_OK = 0,
110};
111
115 enum INJECT_STREAM_STATUS {
119 INJECT_STREAM_STATUS_START_SUCCESS = 0,
123 INJECT_STREAM_STATUS_START_ALREADY_EXISTS = 1,
127 INJECT_STREAM_STATUS_START_UNAUTHORIZED = 2,
131 INJECT_STREAM_STATUS_START_TIMEDOUT = 3,
135 INJECT_STREAM_STATUS_START_FAILED = 4,
139 INJECT_STREAM_STATUS_STOP_SUCCESS = 5,
143 INJECT_STREAM_STATUS_STOP_NOT_FOUND = 6,
147 INJECT_STREAM_STATUS_STOP_UNAUTHORIZED = 7,
151 INJECT_STREAM_STATUS_STOP_TIMEDOUT = 8,
155 INJECT_STREAM_STATUS_STOP_FAILED = 9,
159 INJECT_STREAM_STATUS_BROKEN = 10,
160};
161
165 enum AUDIO_EQUALIZATION_BAND_FREQUENCY {
169 AUDIO_EQUALIZATION_BAND_31 = 0,
173 AUDIO_EQUALIZATION_BAND_62 = 1,
177 AUDIO_EQUALIZATION_BAND_125 = 2,
181 AUDIO_EQUALIZATION_BAND_250 = 3,
185 AUDIO_EQUALIZATION_BAND_500 = 4,
189 AUDIO_EQUALIZATION_BAND_1K = 5,
193 AUDIO_EQUALIZATION_BAND_2K = 6,
197 AUDIO_EQUALIZATION_BAND_4K = 7,
201 AUDIO_EQUALIZATION_BAND_8K = 8,
205 AUDIO_EQUALIZATION_BAND_16K = 9,
206};
207
211 enum AUDIO_REVERB_TYPE {
215 AUDIO_REVERB_DRY_LEVEL = 0,
219 AUDIO_REVERB_WET_LEVEL = 1,
223 AUDIO_REVERB_ROOM_SIZE = 2,
227 AUDIO_REVERB_WET_DELAY = 3,
231 AUDIO_REVERB_STRENGTH = 4,
232};
233
234 enum STREAM_FALLBACK_OPTIONS {
239 STREAM_FALLBACK_OPTION_DISABLED = 0,
244 STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW = 1,
248 STREAM_FALLBACK_OPTION_AUDIO_ONLY = 2,
253 STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_1 = 3,
254 STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_2 = 4,
255 STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_3 = 5,
256 STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_4 = 6,
257 STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_5 = 7,
258 STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_6 = 8,
259};
260
261 enum PRIORITY_TYPE {
264 PRIORITY_HIGH = 50,
267 PRIORITY_NORMAL = 100,
268};
269
270 struct RtcConnection;
271
274 struct LocalVideoStats
275{
279 uid_t uid;
283 int sentBitrate;
287 int sentFrameRate;
290 int captureFrameRate;
293 int captureFrameWidth;
296 int captureFrameHeight;
300 int regulatedCaptureFrameRate;
304 int regulatedCaptureFrameWidth;
308 int regulatedCaptureFrameHeight;
311 int encoderOutputFrameRate;
314 int encodedFrameWidth;
317 int encodedFrameHeight;
320 int rendererOutputFrameRate;
323 int targetBitrate;
326 int targetFrameRate;
330 QUALITY_ADAPT_INDICATION qualityAdaptIndication;
334 int encodedBitrate;
337 int encodedFrameCount;
340 VIDEO_CODEC_TYPE codecType;
344 unsigned short txPacketLossRate;
347 CAPTURE_BRIGHTNESS_LEVEL_TYPE captureBrightnessLevel;
351 bool dualStreamEnabled;
356 int hwEncoderAccelerating;
359 VideoDimensions simulcastDimensions[SimulcastConfig::STREAM_LAYER_COUNT_MAX];
360};
361
365 struct RemoteAudioStats
366{
370 uid_t uid;
374 int quality;
378 int networkTransportDelay;
384 int jitterBufferDelay;
388 int audioLossRate;
392 int numChannels;
396 int receivedSampleRate;
401 int receivedBitrate;
408 int totalFrozenTime;
413 int frozenRate;
430 int mosValue;
435 uint32_t frozenRateByCustomPlcCount;
439 uint32_t plcCount;
440
445 int totalActiveTime;
449 int publishDuration;
453 int qoeQuality;
457 int qualityChangedReason;
461 unsigned int rxAudioBytes;
465 int e2eDelay;
466
467 RemoteAudioStats()
468 : uid(0),
469 quality(0),
470 networkTransportDelay(0),
471 jitterBufferDelay(0),
472 audioLossRate(0),
473 numChannels(0),
474 receivedSampleRate(0),
475 receivedBitrate(0),
476 totalFrozenTime(0),
477 frozenRate(0),
478 mosValue(0),
479 frozenRateByCustomPlcCount(0),
480 plcCount(0),
481 totalActiveTime(0),
482 publishDuration(0),
483 qoeQuality(0),
484 qualityChangedReason(0),
485 rxAudioBytes(0),
486 e2eDelay(0) {}
487};
488
492 struct RemoteVideoStats {
496 uid_t uid;
504 int delay __deprecated;
508 int e2eDelay;
512 int width;
516 int height;
520 int receivedBitrate;
523 int decoderInputFrameRate;
526 int decoderOutputFrameRate;
529 int rendererOutputFrameRate;
532 int frameLossRate;
535 int packetLossRate;
539 VIDEO_STREAM_TYPE rxStreamType;
545 int totalFrozenTime;
549 int frozenRate;
554 int avSyncTimeMs;
559 int totalActiveTime;
563 int publishDuration;
571 int mosValue;
575 unsigned int rxVideoBytes;
576};
577
578 struct VideoCompositingLayout {
579 struct Region {
582 uid_t uid;
585 double x; // [0,1]
588 double y; // [0,1]
592 double width; // [0,1]
594 double height; // [0,1]
598 int zOrder; // optional, [0, 100] //0 (default): bottom most, 100: top most
599
603 double alpha;
604
605 media::base::RENDER_MODE_TYPE renderMode; // RENDER_MODE_HIDDEN: Crop, RENDER_MODE_FIT: Zoom to fit
606
607 Region()
608 : uid(0),
609 x(0),
610 y(0),
611 width(0),
612 height(0),
613 zOrder(0),
614 alpha(1.0),
615 renderMode(media::base::RENDER_MODE_HIDDEN) {}
616 };
617
622 int canvasWidth;
627 int canvasHeight;
630 const char* backgroundColor; // e.g. "#C0C0C0" in RGB
634 const Region* regions;
637 int regionCount;
640 const char* appData;
643 int appDataLength;
644
645 VideoCompositingLayout()
646 : canvasWidth(0),
647 canvasHeight(0),
648 backgroundColor(OPTIONAL_NULLPTR),
649 regions(NULL),
650 regionCount(0),
651 appData(OPTIONAL_NULLPTR),
652 appDataLength(0) {}
653};
654
657 struct InjectStreamConfig {
661 int width;
665 int height;
669 int videoGop;
673 int videoFramerate;
677 int videoBitrate;
681 AUDIO_SAMPLE_RATE_TYPE audioSampleRate;
685 int audioBitrate;
688 int audioChannels;
689
690 // width / height default set to 0 means pull the stream with its original
691 // resolution
692 InjectStreamConfig()
693 : width(0),
694 height(0),
695 videoGop(30),
696 videoFramerate(15),
697 videoBitrate(400),
698 audioSampleRate(AUDIO_SAMPLE_RATE_48000),
699 audioBitrate(48),
700 audioChannels(1) {}
701};
702
705 enum RTMP_STREAM_LIFE_CYCLE_TYPE {
708 RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL = 1,
711 RTMP_STREAM_LIFE_CYCLE_BIND2OWNER = 2,
712};
713
716 struct PublisherConfiguration {
720 int width;
724 int height;
728 int framerate;
732 int bitrate;
738 int defaultLayout;
741 int lifecycle;
746 bool owner;
749 int injectStreamWidth;
752 int injectStreamHeight;
755 const char* injectStreamUrl;
759 const char* publishUrl;
763 const char* rawStreamUrl;
766 const char* extraInfo;
767
768 PublisherConfiguration()
769 : width(640),
770 height(360),
771 framerate(15),
772 bitrate(500),
773 defaultLayout(1),
774 lifecycle(RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL),
775 owner(true),
776 injectStreamWidth(0),
777 injectStreamHeight(0),
778 injectStreamUrl(NULL),
779 publishUrl(NULL),
780 rawStreamUrl(NULL),
781 extraInfo(NULL) {}
782};
783
787 enum CAMERA_DIRECTION {
789 CAMERA_REAR = 0,
791 CAMERA_FRONT = 1,
792};
793
798 enum CLOUD_PROXY_TYPE {
801 NONE_PROXY = 0,
804 UDP_PROXY = 1,
806
808 TCP_PROXY = 2,
810};
811
813 struct CameraCapturerConfiguration {
815#if defined(__ANDROID__) || (defined(__APPLE__) && (TARGET_OS_IOS || (defined(TARGET_OS_VISION) && TARGET_OS_VISION)))
819 Optional<CAMERA_DIRECTION> cameraDirection;
820
821 /*- CAMERA_FOCAL_LENGTH_TYPE.CAMERA_FOCAL_LENGTH_DEFAULT:
822 For iOS, if iPhone/iPad has 3 or 2 back camera, it means combination of triple (wide + ultra wide + telephoto) camera
823 or dual wide(wide + ultra wide) camera.In this situation, you can apply for ultra wide len by set smaller zoom fator
824 and bigger zoom fator for telephoto len.Otherwise, it always means wide back/front camera.
825
826 - CAMERA_FOCAL_LENGTH_TYPE.CAMERA_FOCAL_LENGTH_WIDE_ANGLE:wide camera
827 - CAMERA_FOCAL_LENGTH_TYPE.CAMERA_FOCAL_LENGTH_ULTRA_WIDE:ultra wide camera
828 - CAMERA_FOCAL_LENGTH_TYPE.CAMERA_FOCAL_LENGTH_TELEPHOTO:telephoto camera*/
829 Optional<CAMERA_FOCAL_LENGTH_TYPE> cameraFocalLengthType;
830#else
832 Optional<const char *> deviceId;
833#endif
834
835#if defined(__ANDROID__)
839 Optional<const char *> cameraId;
840#endif
841 Optional<bool> followEncodeDimensionRatio;
843 VideoFormat format;
844 CameraCapturerConfiguration() : format(VideoFormat(0, 0, 0)) {}
845};
846
849 struct ScreenCaptureConfiguration {
855 bool isCaptureWindow; // true - capture window, false - capture display
859 int64_t displayId;
864 Rectangle screenRect; //Windows only
869 int64_t windowId;
873 ScreenCaptureParameters params;
881 Rectangle regionRect;
882
883 ScreenCaptureConfiguration() : isCaptureWindow(false), displayId(0), windowId(0) {}
884};
885
886#if (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
889 struct SIZE {
892 int width;
895 int height;
896
897 SIZE() : width(0), height(0) {}
898 SIZE(int ww, int hh) : width(ww), height(hh) {}
899};
900#endif
901
902#if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
908 struct ThumbImageBuffer {
912 const char* buffer;
916 unsigned int length;
920 unsigned int width;
924 unsigned int height;
925 ThumbImageBuffer() : buffer(nullptr), length(0), width(0), height(0) {}
926};
927
930 enum ScreenCaptureSourceType {
932 ScreenCaptureSourceType_Unknown = -1,
934 ScreenCaptureSourceType_Window = 0,
936 ScreenCaptureSourceType_Screen = 1,
938 ScreenCaptureSourceType_Custom = 2,
939};
940
941 struct ScreenCaptureSourceInfo {
945 ScreenCaptureSourceType type;
949 int64_t sourceId;
953 const char* sourceName;
957 ThumbImageBuffer thumbImage;
961 ThumbImageBuffer iconImage;
965 const char* processPath;
969 const char* sourceTitle;
975 bool primaryMonitor;
976 bool isOccluded;
980 Rectangle position;
981#if defined(_WIN32)
985 bool minimizeWindow;
992 int64_t sourceDisplayId;
993 ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(0), sourceName(nullptr),
994 processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false), minimizeWindow(false), sourceDisplayId(-2) {}
995#else
996 ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(0), sourceName(nullptr), processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false) {}
997#endif
998};
999
1002 class IScreenCaptureSourceList {
1003 protected:
1004 virtual ~IScreenCaptureSourceList(){};
1005
1006 public:
1012 virtual unsigned int getCount() = 0;
1022 virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index) = 0;
1029 virtual void release() = 0;
1030};
1031#endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
1035 struct AdvancedAudioOptions {
1039 Optional<int> audioProcessingChannels;
1040
1041 AdvancedAudioOptions() {}
1042 ~AdvancedAudioOptions() {}
1043};
1044
1045 struct ImageTrackOptions {
1046 const char* imageUrl;
1047 int fps;
1048 VIDEO_MIRROR_MODE_TYPE mirrorMode;
1049 ImageTrackOptions() : imageUrl(NULL), fps(1), mirrorMode(VIDEO_MIRROR_MODE_DISABLED) {}
1050};
1051
1060 struct ChannelMediaOptions {
1066 Optional<bool> publishCameraTrack;
1072 Optional<bool> publishSecondaryCameraTrack;
1078 Optional<bool> publishThirdCameraTrack;
1084 Optional<bool> publishFourthCameraTrack;
1090 Optional<bool> publishMicrophoneTrack;
1091 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(TARGET_OS_MAC)
1097 Optional<bool> publishScreenCaptureAudio;
1098 #endif
1099
1100 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1106 Optional<bool> publishScreenCaptureVideo;
1107 #else
1113 Optional<bool> publishScreenTrack;
1119 Optional<bool> publishSecondaryScreenTrack;
1125 Optional<bool> publishThirdScreenTrack;
1131 Optional<bool> publishFourthScreenTrack;
1132 #endif
1133
1139 Optional<bool> publishCustomAudioTrack;
1143 Optional<int> publishCustomAudioTrackId;
1149 Optional<bool> publishCustomVideoTrack;
1155 Optional<bool> publishEncodedVideoTrack;
1161 Optional<bool> publishMediaPlayerAudioTrack;
1167 Optional<bool> publishMediaPlayerVideoTrack;
1173 Optional<bool> publishTranscodedVideoTrack;
1179 Optional<bool> publishMixedAudioTrack;
1185 Optional<bool> publishLipSyncTrack;
1191 Optional<bool> autoSubscribeAudio;
1197 Optional<bool> autoSubscribeVideo;
1203 Optional<bool> enableAudioRecordingOrPlayout;
1207 Optional<int> publishMediaPlayerId;
1212 Optional<CLIENT_ROLE_TYPE> clientRoleType;
1216 Optional<AUDIENCE_LATENCY_LEVEL_TYPE> audienceLatencyLevel;
1221 Optional<VIDEO_STREAM_TYPE> defaultVideoStreamType;
1226 Optional<CHANNEL_PROFILE_TYPE> channelProfile;
1231 Optional<int> audioDelayMs;
1236 Optional<int> mediaPlayerAudioDelayMs;
1245 Optional<const char*> token;
1253 Optional<bool> enableBuiltInMediaEncryption;
1259 Optional<bool> publishRhythmPlayerTrack;
1267 Optional<bool> isInteractiveAudience;
1272 Optional<video_track_id_t> customVideoTrackId;
1278 Optional<bool> isAudioFilterable;
1279
1284 Optional<const char*> parameters;
1285
1291 Optional<bool> enableMultipath;
1292
1300 Optional<MultipathMode> uplinkMultipathMode;
1301
1309 Optional<MultipathMode> downlinkMultipathMode;
1310
1318 Optional<MultipathType> preferMultipathType;
1319
1320 ChannelMediaOptions() {}
1321 ~ChannelMediaOptions() {}
1322
1323 void SetAll(const ChannelMediaOptions& change) {
1324#define SET_FROM(X) SetFrom(&X, change.X)
1325
1326 SET_FROM(publishCameraTrack);
1327 SET_FROM(publishSecondaryCameraTrack);
1328 SET_FROM(publishThirdCameraTrack);
1329 SET_FROM(publishFourthCameraTrack);
1330 SET_FROM(publishMicrophoneTrack);
1331#if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(TARGET_OS_MAC)
1332 SET_FROM(publishScreenCaptureAudio);
1333#endif
1334#if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1335 SET_FROM(publishScreenCaptureVideo);
1336#else
1337 SET_FROM(publishScreenTrack);
1338 SET_FROM(publishSecondaryScreenTrack);
1339 SET_FROM(publishThirdScreenTrack);
1340 SET_FROM(publishFourthScreenTrack);
1341#endif
1342 SET_FROM(publishTranscodedVideoTrack);
1343 SET_FROM(publishMixedAudioTrack);
1344 SET_FROM(publishLipSyncTrack);
1345 SET_FROM(publishCustomAudioTrack);
1346 SET_FROM(publishCustomAudioTrackId);
1347 SET_FROM(publishCustomVideoTrack);
1348 SET_FROM(publishEncodedVideoTrack);
1349 SET_FROM(publishMediaPlayerAudioTrack);
1350 SET_FROM(publishMediaPlayerVideoTrack);
1351 SET_FROM(autoSubscribeAudio);
1352 SET_FROM(autoSubscribeVideo);
1353 SET_FROM(publishMediaPlayerId);
1354 SET_FROM(enableAudioRecordingOrPlayout);
1355 SET_FROM(clientRoleType);
1356 SET_FROM(audienceLatencyLevel);
1357 SET_FROM(defaultVideoStreamType);
1358 SET_FROM(channelProfile);
1359 SET_FROM(audioDelayMs);
1360 SET_FROM(mediaPlayerAudioDelayMs);
1361 SET_FROM(token);
1362 SET_FROM(enableBuiltInMediaEncryption);
1363 SET_FROM(publishRhythmPlayerTrack);
1364 SET_FROM(customVideoTrackId);
1365 SET_FROM(isAudioFilterable);
1366 SET_FROM(isInteractiveAudience);
1367 SET_FROM(parameters);
1368 SET_FROM(enableMultipath);
1369 SET_FROM(uplinkMultipathMode);
1370 SET_FROM(downlinkMultipathMode);
1371 SET_FROM(preferMultipathType);
1372#undef SET_FROM
1373 }
1374
1375 bool operator==(const ChannelMediaOptions& o) const {
1376#define BEGIN_COMPARE() bool b = true
1377#define ADD_COMPARE(X) b = (b && (X == o.X))
1378#define END_COMPARE()
1379
1380 BEGIN_COMPARE();
1381 ADD_COMPARE(publishCameraTrack);
1382 ADD_COMPARE(publishSecondaryCameraTrack);
1383 ADD_COMPARE(publishThirdCameraTrack);
1384 ADD_COMPARE(publishFourthCameraTrack);
1385 ADD_COMPARE(publishMicrophoneTrack);
1386#if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(TARGET_OS_MAC)
1387 ADD_COMPARE(publishScreenCaptureAudio);
1388#endif
1389#if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1390 ADD_COMPARE(publishScreenCaptureVideo);
1391#else
1392 ADD_COMPARE(publishScreenTrack);
1393 ADD_COMPARE(publishSecondaryScreenTrack);
1394 ADD_COMPARE(publishThirdScreenTrack);
1395 ADD_COMPARE(publishFourthScreenTrack);
1396#endif
1397 ADD_COMPARE(publishTranscodedVideoTrack);
1398 ADD_COMPARE(publishMixedAudioTrack);
1399 ADD_COMPARE(publishLipSyncTrack);
1400 ADD_COMPARE(publishCustomAudioTrack);
1401 ADD_COMPARE(publishCustomAudioTrackId);
1402 ADD_COMPARE(publishCustomVideoTrack);
1403 ADD_COMPARE(publishEncodedVideoTrack);
1404 ADD_COMPARE(publishMediaPlayerAudioTrack);
1405 ADD_COMPARE(publishMediaPlayerVideoTrack);
1406 ADD_COMPARE(autoSubscribeAudio);
1407 ADD_COMPARE(autoSubscribeVideo);
1408 ADD_COMPARE(publishMediaPlayerId);
1409 ADD_COMPARE(enableAudioRecordingOrPlayout);
1410 ADD_COMPARE(clientRoleType);
1411 ADD_COMPARE(audienceLatencyLevel);
1412 ADD_COMPARE(defaultVideoStreamType);
1413 ADD_COMPARE(channelProfile);
1414 ADD_COMPARE(audioDelayMs);
1415 ADD_COMPARE(mediaPlayerAudioDelayMs);
1416 ADD_COMPARE(token);
1417 ADD_COMPARE(enableBuiltInMediaEncryption);
1418 ADD_COMPARE(publishRhythmPlayerTrack);
1419 ADD_COMPARE(customVideoTrackId);
1420 ADD_COMPARE(isAudioFilterable);
1421 ADD_COMPARE(isInteractiveAudience);
1422 ADD_COMPARE(parameters);
1423 ADD_COMPARE(enableMultipath);
1424 ADD_COMPARE(uplinkMultipathMode);
1425 ADD_COMPARE(downlinkMultipathMode);
1426 ADD_COMPARE(preferMultipathType);
1427 END_COMPARE();
1428
1429#undef BEGIN_COMPARE
1430#undef ADD_COMPARE
1431#undef END_COMPARE
1432 return b;
1433 }
1434
1435 ChannelMediaOptions& operator=(const ChannelMediaOptions& replace) {
1436 if (this != &replace) {
1437#define REPLACE_BY(X) ReplaceBy(&X, replace.X)
1438
1439 REPLACE_BY(publishCameraTrack);
1440 REPLACE_BY(publishSecondaryCameraTrack);
1441 REPLACE_BY(publishThirdCameraTrack);
1442 REPLACE_BY(publishFourthCameraTrack);
1443 REPLACE_BY(publishMicrophoneTrack);
1444#if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(TARGET_OS_MAC)
1445 REPLACE_BY(publishScreenCaptureAudio);
1446#endif
1447#if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1448 REPLACE_BY(publishScreenCaptureVideo);
1449#else
1450 REPLACE_BY(publishScreenTrack);
1451 REPLACE_BY(publishSecondaryScreenTrack);
1452 REPLACE_BY(publishThirdScreenTrack);
1453 REPLACE_BY(publishFourthScreenTrack);
1454#endif
1455 REPLACE_BY(publishTranscodedVideoTrack);
1456 REPLACE_BY(publishMixedAudioTrack);
1457 REPLACE_BY(publishLipSyncTrack);
1458 REPLACE_BY(publishCustomAudioTrack);
1459 REPLACE_BY(publishCustomAudioTrackId);
1460 REPLACE_BY(publishCustomVideoTrack);
1461 REPLACE_BY(publishEncodedVideoTrack);
1462 REPLACE_BY(publishMediaPlayerAudioTrack);
1463 REPLACE_BY(publishMediaPlayerVideoTrack);
1464 REPLACE_BY(autoSubscribeAudio);
1465 REPLACE_BY(autoSubscribeVideo);
1466 REPLACE_BY(publishMediaPlayerId);
1467 REPLACE_BY(enableAudioRecordingOrPlayout);
1468 REPLACE_BY(clientRoleType);
1469 REPLACE_BY(audienceLatencyLevel);
1470 REPLACE_BY(defaultVideoStreamType);
1471 REPLACE_BY(channelProfile);
1472 REPLACE_BY(audioDelayMs);
1473 REPLACE_BY(mediaPlayerAudioDelayMs);
1474 REPLACE_BY(token);
1475 REPLACE_BY(enableBuiltInMediaEncryption);
1476 REPLACE_BY(publishRhythmPlayerTrack);
1477 REPLACE_BY(customVideoTrackId);
1478 REPLACE_BY(isAudioFilterable);
1479 REPLACE_BY(isInteractiveAudience);
1480 REPLACE_BY(parameters);
1481 REPLACE_BY(enableMultipath);
1482 REPLACE_BY(uplinkMultipathMode);
1483 REPLACE_BY(downlinkMultipathMode);
1484 REPLACE_BY(preferMultipathType);
1485#undef REPLACE_BY
1486 }
1487 return *this;
1488 }
1489};
1490
1491 enum PROXY_TYPE {
1494 NONE_PROXY_TYPE = 0,
1497 UDP_PROXY_TYPE = 1,
1500 TCP_PROXY_TYPE = 2,
1503 LOCAL_PROXY_TYPE = 3,
1506 TCP_PROXY_AUTO_FALLBACK_TYPE = 4,
1509 HTTP_PROXY_TYPE = 5,
1512 HTTPS_PROXY_TYPE = 6,
1513};
1514
1515 enum FeatureType {
1516 VIDEO_VIRTUAL_BACKGROUND = 1,
1517 VIDEO_BEAUTY_EFFECT = 2,
1518};
1519
1523 struct LeaveChannelOptions {
1529 bool stopAudioMixing;
1535 bool stopAllEffect;
1541 bool unloadAllEffect;
1547 bool stopMicrophoneRecording;
1548
1549 LeaveChannelOptions() : stopAudioMixing(true), stopAllEffect(true), unloadAllEffect(false), stopMicrophoneRecording(true) {}
1550};
1551
1562 class IRtcEngineEventHandler {
1563 public:
1564 virtual ~IRtcEngineEventHandler() {}
1565
1566 virtual const char* eventHandlerType() const { return "event_handler"; }
1567
1577 virtual void onJoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1578 (void)channel;
1579 (void)uid;
1580 (void)elapsed;
1581 }
1582
1593 virtual void onRejoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1594 (void)channel;
1595 (void)uid;
1596 (void)elapsed;
1597 }
1598
1606 virtual void onProxyConnected(const char* channel, uid_t uid, PROXY_TYPE proxyType, const char* localProxyIp, int elapsed) {
1607 (void)channel;
1608 (void)uid;
1609 (void)proxyType;
1610 (void)localProxyIp;
1611 (void)elapsed;
1612 }
1613
1619 virtual void onError(int err, const char* msg) {
1620 (void)err;
1621 (void)msg;
1622 }
1623
1639 virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay, unsigned short lost) __deprecated {
1640 (void)uid;
1641 (void)quality;
1642 (void)delay;
1643 (void)lost;
1644 }
1645
1651 virtual void onLastmileProbeResult(const LastmileProbeResult& result) {
1652 (void)result;
1653 }
1654
1681 virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, unsigned int speakerNumber,
1682 int totalVolume) {
1683 (void)speakers;
1684 (void)speakerNumber;
1685 (void)totalVolume;
1686 }
1687
1696 virtual void onLeaveChannel(const RtcStats& stats) { (void)stats; }
1697
1705 virtual void onRtcStats(const RtcStats& stats) { (void)stats; }
1706
1720 virtual void onAudioDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1721 (void)deviceId;
1722 (void)deviceType;
1723 (void)deviceState;
1724 }
1725
1732 virtual void onAudioMixingPositionChanged(int64_t position) {}
1733
1740 virtual void onAudioMixingFinished() __deprecated {}
1741
1749 virtual void onAudioEffectFinished(int soundId) {}
1750
1760 virtual void onVideoDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1761 (void)deviceId;
1762 (void)deviceType;
1763 (void)deviceState;
1764 }
1765
1788 virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) {
1789 (void)uid;
1790 (void)txQuality;
1791 (void)rxQuality;
1792 }
1793
1800 virtual void onIntraRequestReceived() {}
1801
1812 virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo& info) {
1813 (void)info;
1814 }
1815
1823 virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo& info) {
1824 (void)info;
1825 }
1826
1839 virtual void onLastmileQuality(int quality) { (void)quality; }
1840
1851 virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed) {
1852 (void)source;
1853 (void)width;
1854 (void)height;
1855 (void)elapsed;
1856 }
1857
1868 virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed) {
1869 (void)source;
1870 (void)elapsed;
1871 }
1872
1889 virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) __deprecated {
1890 (void)uid;
1891 (void)width;
1892 (void)height;
1893 (void)elapsed;
1894 }
1895
1904 virtual void onVideoSizeChanged(VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation) {
1905 (void)uid;
1906 (void)width;
1907 (void)height;
1908 (void)rotation;
1909 }
1910
1923 virtual void onLocalVideoEvent(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_EVENT_TYPE event) {
1924 (void)source;
1925 (void)event;
1926 }
1927
1954 virtual void onLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_REASON reason) {
1955 (void)source;
1956 (void)state;
1957 (void)reason;
1958 }
1959
1971 virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) {
1972 (void)uid;
1973 (void)state;
1974 (void)reason;
1975 (void)elapsed;
1976 }
1977
1985 virtual void onFirstRemoteVideoFrame(uid_t uid, int width, int height, int elapsed) {
1986 (void)uid;
1987 (void)width;
1988 (void)height;
1989 (void)elapsed;
1990 }
1991
2011 virtual void onUserJoined(uid_t uid, int elapsed) {
2012 (void)uid;
2013 (void)elapsed;
2014 }
2015
2030 virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) {
2031 (void)uid;
2032 (void)reason;
2033 }
2034
2047 virtual void onUserMuteAudio(uid_t uid, bool muted) {
2048 (void)uid;
2049 (void)muted;
2050 }
2051
2066 virtual void onUserMuteVideo(uid_t uid, bool muted) {
2067 (void)uid;
2068 (void)muted;
2069 }
2070
2083 virtual void onUserEnableVideo(uid_t uid, bool enabled) {
2084 (void)uid;
2085 (void)enabled;
2086 }
2087
2093 virtual void onUserStateChanged(uid_t uid, REMOTE_USER_STATE state) {
2094 (void)uid;
2095 (void)state;
2096 }
2097
2108 virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) __deprecated {
2109 (void)uid;
2110 (void)enabled;
2111 }
2112
2120 virtual void onRemoteAudioStats(const RemoteAudioStats& stats) {
2121 (void)stats;
2122 }
2123
2131 virtual void onLocalAudioStats(const LocalAudioStats& stats) {
2132 (void)stats;
2133 }
2134
2148 virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats& stats) {
2149 (void)source;
2150 (void)stats;
2151 }
2152
2161 virtual void onRemoteVideoStats(const RemoteVideoStats& stats) {
2162 (void)stats;
2163 }
2164
2170 virtual void onCameraReady() __deprecated {}
2171
2182 virtual void onCameraFocusAreaChanged(int x, int y, int width, int height) {
2183 (void)x;
2184 (void)y;
2185 (void)width;
2186 (void)height;
2187 }
2188
2196 virtual void onCameraExposureAreaChanged(int x, int y, int width, int height) {
2197 (void)x;
2198 (void)y;
2199 (void)width;
2200 (void)height;
2201 }
2202#if defined(__ANDROID__) || (defined(__APPLE__) && (TARGET_OS_IOS || (defined(TARGET_OS_VISION) && TARGET_OS_VISION)))
2233 virtual void onFacePositionChanged(int imageWidth, int imageHeight,
2234 const Rectangle* vecRectangle, const int* vecDistance,
2235 int numFaces) {
2236 (void) imageWidth;
2237 (void) imageHeight;
2238 (void) vecRectangle;
2239 (void) vecDistance;
2240 (void) numFaces;
2241 }
2242#endif
2250 virtual void onVideoStopped() __deprecated {}
2251
2259 virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) {
2260 (void)state;
2261 (void)reason;
2262 }
2263
2272 virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_REASON reason) {
2273 (void)state;
2274 (void)reason;
2275 }
2276
2285 virtual void onConnectionLost() {}
2286
2298 virtual void onConnectionInterrupted() __deprecated {}
2299
2303 virtual void onConnectionBanned() __deprecated {}
2304
2316 virtual void onStreamMessage(uid_t uid, int streamId, const char* data, size_t length, uint64_t sentTs) {
2317 (void)uid;
2318 (void)streamId;
2319 (void)data;
2320 (void)length;
2321 (void)sentTs;
2322 }
2323
2336 virtual void onStreamMessageError(uid_t uid, int streamId, int code, int missed, int cached) {
2337 (void)uid;
2338 (void)streamId;
2339 (void)code;
2340 (void)missed;
2341 (void)cached;
2342 }
2343
2353 virtual void onRequestToken() {}
2354
2366 virtual void onTokenPrivilegeWillExpire(const char* token) {
2367 (void)token;
2368 }
2369
2375 virtual void onLicenseValidationFailure(LICENSE_ERROR_TYPE error) {
2376 (void)error;
2377 }
2378
2389 virtual void onFirstLocalAudioFramePublished(int elapsed) {
2390 (void)elapsed;
2391 }
2392
2409 virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) __deprecated {
2410 (void)uid;
2411 (void)elapsed;
2412 }
2413
2421 virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) __deprecated {
2422 (void)uid;
2423 (void)elapsed;
2424 }
2425
2440 virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_REASON reason) {
2441 (void)state;
2442 (void)reason;
2443 }
2444
2461 virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) {
2462 (void)uid;
2463 (void)state;
2464 (void)reason;
2465 (void)elapsed;
2466 }
2467
2481 virtual void onActiveSpeaker(uid_t uid) {
2482 (void)uid;
2483 }
2484
2489 virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result) { (void)result; }
2490
2508 virtual void onSnapshotTaken(uid_t uid, const char* filePath, int width, int height, int errCode) {
2509 (void)uid;
2510 (void)filePath;
2511 (void)width;
2512 (void)height;
2513 (void)errCode;
2514 }
2515
2523 virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions& newRoleOptions) {
2524 (void)oldRole;
2525 (void)newRole;
2526 (void)newRoleOptions;
2527 }
2528
2536 virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole) {
2537 (void)reason;
2538 (void)currentRole;
2539 }
2540
2548 virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) {
2549 (void)deviceType;
2550 (void)volume;
2551 (void)muted;
2552 }
2553
2565 virtual void onRtmpStreamingStateChanged(const char* url, RTMP_STREAM_PUBLISH_STATE state,
2566 RTMP_STREAM_PUBLISH_REASON reason) {
2567 (void)url;
2568 (void)state;
2569 (void)reason;
2570 }
2571
2577 virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode) {
2578 (void)url;
2579 (void)eventCode;
2580 }
2581
2592 virtual void onTranscodingUpdated() {}
2593
2607 virtual void onAudioRoutingChanged(int routing) { (void)routing; }
2608
2640 virtual void onChannelMediaRelayStateChanged(int state, int code) {
2641 (void)state;
2642 (void)code;
2643 }
2644
2658 virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) {
2659 (void)isFallbackOrRecover;
2660 }
2661
2679 virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover) {
2680 (void)uid;
2681 (void)isFallbackOrRecover;
2682 }
2683
2698 virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated {
2699 (void)uid;
2700 (void)delay;
2701 (void)lost;
2702 (void)rxKBitRate;
2703 }
2704
2722 virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated {
2723 (void)uid;
2724 (void)delay;
2725 (void)lost;
2726 (void)rxKBitRate;
2727 }
2728
2737 virtual void onConnectionStateChanged(
2738 CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) {
2739 (void)state;
2740 (void)reason;
2741 }
2742
2749 virtual void onWlAccMessage(WLACC_MESSAGE_REASON reason, WLACC_SUGGEST_ACTION action, const char* wlAccMsg) {
2750 (void)reason;
2751 (void)action;
2752 (void)wlAccMsg;
2753 }
2754
2760 virtual void onWlAccStats(const WlAccStats& currentStats, const WlAccStats& averageStats) {
2761 (void)currentStats;
2762 (void)averageStats;
2763 }
2764
2774 virtual void onNetworkTypeChanged(NETWORK_TYPE type) {
2775 (void)type;
2776 }
2777
2785 virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) {
2786 (void)errorType;
2787 }
2788
2798 virtual void onPermissionError(PERMISSION_TYPE permissionType) {
2799 (void)permissionType;
2800 }
2801
2811 virtual void onLocalUserRegistered(uid_t uid, const char* userAccount) {
2812 (void)uid;
2813 (void)userAccount;
2814 }
2815
2824 virtual void onUserInfoUpdated(uid_t uid, const UserInfo& info) {
2825 (void)uid;
2826 (void)info;
2827 }
2828
2835 virtual void onUserAccountUpdated(uid_t uid, const char* userAccount){
2836 (void)uid;
2837 (void)userAccount;
2838 }
2839
2847 virtual void onVideoRenderingTracingResult(uid_t uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo) {
2848 (void)uid;
2849 (void)currentEvent;
2850 (void)tracingInfo;
2851 }
2852
2859 virtual void onLocalVideoTranscoderError(const TranscodingVideoStream& stream, VIDEO_TRANSCODER_ERROR error){
2860 (void)stream;
2861 (void)error;
2862 }
2863
2870 virtual void onUploadLogResult(const char* requestId, bool success, UPLOAD_ERROR_REASON reason) {
2871 (void)requestId;
2872 (void)success;
2873 (void)reason;
2874 }
2875
2885 virtual void onAudioSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
2886 (void)channel;
2887 (void)uid;
2888 (void)oldState;
2889 (void)newState;
2890 (void)elapseSinceLastState;
2891 }
2892
2902 virtual void onVideoSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
2903 (void)channel;
2904 (void)uid;
2905 (void)oldState;
2906 (void)newState;
2907 (void)elapseSinceLastState;
2908 }
2909
2918 virtual void onAudioPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
2919 (void)channel;
2920 (void)oldState;
2921 (void)newState;
2922 (void)elapseSinceLastState;
2923 }
2924
2934 virtual void onVideoPublishStateChanged(VIDEO_SOURCE_TYPE source, const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
2935 (void)source;
2936 (void)channel;
2937 (void)oldState;
2938 (void)newState;
2939 (void)elapseSinceLastState;
2940 }
2941
2951 virtual void onTranscodedStreamLayoutInfo(uid_t uid, int width, int height, int layoutCount,const VideoLayout* layoutlist) {
2952 (void)uid;
2953 (void)width;
2954 (void)height;
2955 (void)layoutCount;
2956 (void)layoutlist;
2957 }
2958
2967 virtual void onAudioMetadataReceived(uid_t uid, const char* metadata, size_t length) {
2968 (void)uid;
2969 (void)metadata;
2970 (void)length;
2971 }
2972
2982 virtual void onExtensionEventWithContext(const ExtensionContext &context, const char* key, const char* value) {
2983 (void)context;
2984 (void)key;
2985 (void)value;
2986 }
2987
2995 virtual void onExtensionStartedWithContext(const ExtensionContext &context) {
2996 (void)context;
2997 }
2998
3006 virtual void onExtensionStoppedWithContext(const ExtensionContext &context) {
3007 (void)context;
3008 }
3009
3020 virtual void onExtensionErrorWithContext(const ExtensionContext &context, int error, const char* message) {
3021 (void)context;
3022 (void)error;
3023 (void)message;
3024 }
3025
3032 virtual void onSetRtmFlagResult(int code) {
3033 (void)code;
3034 }
3035
3043 virtual void onMultipathStats(const MultipathStats& stats) {
3044 (void)stats;
3045 }
3046};
3047
3051 class IVideoDeviceCollection {
3052 public:
3053 virtual ~IVideoDeviceCollection() {}
3054
3060 virtual int getCount() = 0;
3061
3071 virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3072
3083 virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH],
3084 char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3085
3089 virtual void release() = 0;
3090};
3091
3095 class IVideoDeviceManager {
3096 public:
3097 virtual ~IVideoDeviceManager() {}
3109 virtual IVideoDeviceCollection* enumerateVideoDevices() = 0;
3110
3121 virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3122
3131 virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3132
3133#if defined(_WIN32) || (defined(__linux__) && !defined(__ANDROID__)) || \
3134 (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
3152 virtual int numberOfCapabilities(const char* deviceIdUTF8) = 0;
3153
3171 virtual int getCapability(const char* deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat& capability) = 0;
3172#endif
3186 virtual int startDeviceTest(view_t hwnd) = 0;
3187
3194 virtual int stopDeviceTest() = 0;
3195
3199 virtual void release() = 0;
3200};
3201
3207 class IVideoEffectObject : public RefCountInterface {
3208 public:
3209 virtual ~IVideoEffectObject() {}
3210
3216 enum class VIDEO_EFFECT_NODE_ID : uint32_t {
3218 BEAUTY = 1U << 0,
3220 STYLE_MAKEUP = 1U << 1,
3222 FILTER = 1U << 2,
3224 STICKER = 1U << 3,
3225 };
3226
3232 enum VIDEO_EFFECT_ACTION {
3234 SAVE = 1,
3236 RESET = 2,
3237 };
3238
3263 virtual int addOrUpdateVideoEffect(uint32_t nodeId, const char* templateName) = 0;
3264
3276 virtual int removeVideoEffect(uint32_t nodeId) = 0;
3277
3290 virtual int performVideoEffectAction(uint32_t nodeId, VIDEO_EFFECT_ACTION actionId) = 0;
3291
3305 virtual int setVideoEffectStringParam(const char* option, const char* key, const char* param) = 0;
3306
3320 virtual int setVideoEffectFloatParam(const char* option, const char* key, float param) = 0;
3321
3335 virtual int setVideoEffectIntParam(const char* option, const char* key, int param) = 0;
3336
3352 virtual int setVideoEffectBoolParam(const char* option, const char* key, bool param) = 0;
3353
3366 virtual float getVideoEffectFloatParam(const char* option, const char* key) = 0;
3367
3380 virtual int getVideoEffectIntParam(const char* option, const char* key) = 0;
3381
3394 virtual bool getVideoEffectBoolParam(const char* option, const char* key) = 0;
3395
3396};
3397
3401 struct RtcEngineContext {
3405 IRtcEngineEventHandler* eventHandler;
3412 const char* appId;
3418 void* context;
3422 CHANNEL_PROFILE_TYPE channelProfile;
3423
3427 const char* license;
3428
3436 AUDIO_SCENARIO_TYPE audioScenario;
3445 unsigned int areaCode;
3446
3462 commons::LogConfig logConfig;
3463
3467 Optional<THREAD_PRIORITY_TYPE> threadPriority;
3468
3476 bool useExternalEglContext;
3477
3483 bool domainLimit;
3484
3490 bool autoRegisterAgoraExtensions;
3491
3492 RtcEngineContext()
3493 : eventHandler(NULL), appId(NULL), context(NULL), channelProfile(CHANNEL_PROFILE_LIVE_BROADCASTING),
3494 license(NULL), audioScenario(AUDIO_SCENARIO_DEFAULT), areaCode(AREA_CODE_GLOB),
3495 logConfig(), useExternalEglContext(false), domainLimit(false), autoRegisterAgoraExtensions(true) {}
3496};
3497
3500 class IMetadataObserver {
3501 public:
3502 virtual ~IMetadataObserver() {}
3503
3508 enum METADATA_TYPE
3509 {
3512 UNKNOWN_METADATA = -1,
3515 VIDEO_METADATA = 0,
3516 };
3517
3520 enum MAX_METADATA_SIZE_TYPE
3521 {
3522 INVALID_METADATA_SIZE_IN_BYTE = -1,
3523 DEFAULT_METADATA_SIZE_IN_BYTE = 512,
3524 MAX_METADATA_SIZE_IN_BYTE = 1024
3525 };
3526
3529 struct Metadata
3530 {
3533 const char* channelId;
3538 unsigned int uid;
3541 unsigned int size;
3544 unsigned char *buffer;
3548 long long timeStampMs;
3549
3550 Metadata() : channelId(NULL), uid(0), size(0), buffer(NULL), timeStampMs(0) {}
3551 };
3552
3563 virtual int getMaxMetadataSize() { return DEFAULT_METADATA_SIZE_IN_BYTE; }
3564
3575 virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type) = 0;
3576
3584 virtual void onMetadataReceived(const Metadata& metadata) = 0;
3585};
3586
3587// The reason codes for media streaming
3588// GENERATED_JAVA_ENUM_PACKAGE: io.agora.streaming
3589 enum DIRECT_CDN_STREAMING_REASON {
3590 // No error occurs.
3591 DIRECT_CDN_STREAMING_REASON_OK = 0,
3592 // A general error occurs (no specified reason).
3593 DIRECT_CDN_STREAMING_REASON_FAILED = 1,
3594 // Audio publication error.
3595 DIRECT_CDN_STREAMING_REASON_AUDIO_PUBLICATION = 2,
3596 // Video publication error.
3597 DIRECT_CDN_STREAMING_REASON_VIDEO_PUBLICATION = 3,
3598
3599 DIRECT_CDN_STREAMING_REASON_NET_CONNECT = 4,
3600 // Already exist stream name.
3601 DIRECT_CDN_STREAMING_REASON_BAD_NAME = 5,
3602};
3603
3604// The connection state of media streaming
3605// GENERATED_JAVA_ENUM_PACKAGE: io.agora.streaming
3606 enum DIRECT_CDN_STREAMING_STATE {
3607
3608 DIRECT_CDN_STREAMING_STATE_IDLE = 0,
3609
3610 DIRECT_CDN_STREAMING_STATE_RUNNING = 1,
3611
3612 DIRECT_CDN_STREAMING_STATE_STOPPED = 2,
3613
3614 DIRECT_CDN_STREAMING_STATE_FAILED = 3,
3615
3616 DIRECT_CDN_STREAMING_STATE_RECOVERING = 4,
3617};
3618
3622 struct DirectCdnStreamingStats {
3626 int videoWidth;
3627
3631 int videoHeight;
3632
3636 int fps;
3637
3641 int videoBitrate;
3642
3646 int audioBitrate;
3647};
3648
3653 class IDirectCdnStreamingEventHandler {
3654 public:
3655 virtual ~IDirectCdnStreamingEventHandler() {}
3656
3663 virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_REASON reason, const char* message) {
3664 (void)state;
3665 (void)reason;
3666 (void)message;
3667 };
3668
3669 virtual void onDirectCdnStreamingStats(const DirectCdnStreamingStats& stats) {
3670 (void)stats;
3671 };
3672};
3673
3677 struct DirectCdnStreamingMediaOptions {
3683 Optional<bool> publishCameraTrack;
3689 Optional<bool> publishMicrophoneTrack;
3695 Optional<bool> publishCustomAudioTrack;
3701 Optional<bool> publishCustomVideoTrack;
3707 Optional<bool> publishMediaPlayerAudioTrack;
3712 Optional<int> publishMediaPlayerId;
3717 Optional<video_track_id_t> customVideoTrackId;
3718
3719 DirectCdnStreamingMediaOptions() {}
3720 ~DirectCdnStreamingMediaOptions() {}
3721
3722 void SetAll(const DirectCdnStreamingMediaOptions& change) {
3723#define SET_FROM(X) SetFrom(&X, change.X)
3724 SET_FROM(publishCameraTrack);
3725 SET_FROM(publishMicrophoneTrack);
3726 SET_FROM(publishCustomAudioTrack);
3727 SET_FROM(publishCustomVideoTrack);
3728 SET_FROM(publishMediaPlayerAudioTrack);
3729 SET_FROM(publishMediaPlayerId);
3730 SET_FROM(customVideoTrackId);
3731#undef SET_FROM
3732 }
3733
3734 bool operator==(const DirectCdnStreamingMediaOptions& o) const {
3735#define BEGIN_COMPARE() bool b = true
3736#define ADD_COMPARE(X) b = (b && (X == o.X))
3737#define END_COMPARE()
3738
3739 BEGIN_COMPARE();
3740 ADD_COMPARE(publishCameraTrack);
3741 ADD_COMPARE(publishMicrophoneTrack);
3742 ADD_COMPARE(publishCustomAudioTrack);
3743 ADD_COMPARE(publishCustomVideoTrack);
3744 ADD_COMPARE(publishMediaPlayerAudioTrack);
3745 ADD_COMPARE(customVideoTrackId);
3746 ADD_COMPARE(publishMediaPlayerId);
3747 END_COMPARE();
3748
3749#undef BEGIN_COMPARE
3750#undef ADD_COMPARE
3751#undef END_COMPARE
3752 return b;
3753 }
3754
3755 DirectCdnStreamingMediaOptions& operator=(const DirectCdnStreamingMediaOptions& replace) {
3756 if (this != &replace) {
3757#define REPLACE_BY(X) ReplaceBy(&X, replace.X)
3758
3759 REPLACE_BY(publishCameraTrack);
3760 REPLACE_BY(publishMicrophoneTrack);
3761 REPLACE_BY(publishCustomAudioTrack);
3762 REPLACE_BY(publishCustomVideoTrack);
3763 REPLACE_BY(publishMediaPlayerAudioTrack);
3764 REPLACE_BY(customVideoTrackId);
3765 REPLACE_BY(publishMediaPlayerId);
3766#undef REPLACE_BY
3767 }
3768 return *this;
3769 }
3770};
3771
3775 struct ExtensionInfo {
3779 agora::media::MEDIA_SOURCE_TYPE mediaSourceType;
3780
3786 uid_t remoteUid;
3787
3799 const char* channelId;
3800
3804 uid_t localUid;
3805
3806 ExtensionInfo() : mediaSourceType(agora::media::UNKNOWN_MEDIA_SOURCE), remoteUid(0), channelId(NULL), localUid(0) {}
3807};
3808
3809 class IMediaPlayer;
3810 class IMediaRecorder;
3811
3817 using RtcEngineReleaseCallback = void(*)();
3818
3825 class IRtcEngine : public agora::base::IEngineBase {
3826 public:
3851 AGORA_CPP_API static void release(RtcEngineReleaseCallback callback = nullptr);
3852
3869 virtual int initialize(const RtcEngineContext& context) = 0;
3870
3880 virtual int queryInterface(INTERFACE_ID_TYPE iid, void** inter) = 0;
3881
3882
3888 virtual const char* getVersion(int* build) = 0;
3889
3895 virtual const char* getErrorDescription(int code) = 0;
3896
3906 virtual int queryCodecCapability(CodecCapInfo* codecInfo, int& size) = 0;
3907
3917 virtual int queryDeviceScore() = 0;
3918
3956 virtual int preloadChannel(const char* token, const char* channelId, uid_t uid) = 0;
3957
3997 virtual int preloadChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount) = 0;
3998
4016 virtual int updatePreloadChannelToken(const char* token) = 0;
4017
4077 virtual int joinChannel(const char* token, const char* channelId, const char* info, uid_t uid) = 0;
4078
4146 virtual int joinChannel(const char* token, const char* channelId, uid_t uid, const ChannelMediaOptions& options) = 0;
4147
4156 virtual int updateChannelMediaOptions(const ChannelMediaOptions& options) = 0;
4157
4175 virtual int leaveChannel() = 0;
4176
4196 virtual int leaveChannel(const LeaveChannelOptions& options) = 0;
4197
4214 virtual int renewToken(const char* token) = 0;
4215
4235 virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile) = 0;
4236
4260 virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0;
4261
4284 virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0;
4285
4294 virtual int startEchoTest(const EchoTestConfiguration& config) = 0;
4295
4302 virtual int stopEchoTest() = 0;
4303
4304#if defined(__APPLE__) && (TARGET_OS_IOS || (defined(TARGET_OS_VISION) && TARGET_OS_VISION))
4314 virtual int enableMultiCamera(bool enabled, const CameraCapturerConfiguration& config) = 0;
4315#endif
4331 virtual int enableVideo() = 0;
4332
4342 virtual int disableVideo() = 0;
4343
4355 virtual int startPreview() = 0;
4356
4364 virtual int startPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
4365
4373 virtual int stopPreview() = 0;
4374
4382 virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
4383
4417 virtual int startLastmileProbeTest(const LastmileProbeConfig& config) = 0;
4418
4420 virtual int stopLastmileProbeTest() = 0;
4421
4438 virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration& config) = 0;
4439
4449 virtual int setBeautyEffectOptions(bool enabled, const BeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4459 virtual int setFaceShapeBeautyOptions(bool enabled, const FaceShapeBeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4466 virtual int setFaceShapeAreaOptions(const FaceShapeAreaOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4467
4474 virtual int getFaceShapeBeautyOptions(FaceShapeBeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4475
4483 virtual int getFaceShapeAreaOptions(agora::rtc::FaceShapeAreaOptions::FACE_SHAPE_AREA shapeArea, FaceShapeAreaOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4484
4509 virtual int setFilterEffectOptions(bool enabled, const FilterEffectOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4510
4511
4524 virtual agora_refptr<IVideoEffectObject> createVideoEffectObject(const char* bundlePath, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4525
4526
4538 virtual int destroyVideoEffectObject(agora_refptr<IVideoEffectObject> videoEffectObject) = 0;
4539
4566 virtual int setLowlightEnhanceOptions(bool enabled, const LowlightEnhanceOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4593 virtual int setVideoDenoiserOptions(bool enabled, const VideoDenoiserOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4620 virtual int setColorEnhanceOptions(bool enabled, const ColorEnhanceOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4621
4654 virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4655
4678 virtual int setupRemoteVideo(const VideoCanvas& canvas) = 0;
4679
4696 virtual int setupLocalVideo(const VideoCanvas& canvas) = 0;
4697
4716 virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType) = 0;
4717
4736 virtual int setVideoQoEPreference(VIDEO_QOE_PREFERENCE_TYPE qoePreference) = 0;
4737
4751 virtual int enableAudio() = 0;
4752
4764 virtual int disableAudio() = 0;
4765
4787 virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) __deprecated = 0;
4788
4804 virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile) = 0;
4813 virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario) = 0;
4836 virtual int enableLocalAudio(bool enabled) = 0;
4837
4863 virtual int muteLocalAudioStream(bool mute) = 0;
4864
4906 virtual int muteAllRemoteAudioStreams(bool mute) = 0;
4907
4924 virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0;
4925
4937 virtual int muteLocalVideoStream(bool mute) = 0;
4938
4963 virtual int enableLocalVideo(bool enabled) = 0;
4964
5004 virtual int muteAllRemoteVideoStreams(bool mute) = 0;
5005
5015 virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType) = 0;
5016
5033 virtual int muteRemoteVideoStream(uid_t uid, bool mute) = 0;
5034
5052 virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0;
5053
5064 virtual int setRemoteVideoSubscriptionOptions(uid_t uid, const VideoSubscriptionOptions &options) = 0;
5065
5080 virtual int setSubscribeAudioBlocklist(uid_t* uidList, int uidNumber) = 0;
5081
5098 virtual int setSubscribeAudioAllowlist(uid_t* uidList, int uidNumber) = 0;
5099
5114 virtual int setSubscribeVideoBlocklist(uid_t* uidList, int uidNumber) = 0;
5115
5132 virtual int setSubscribeVideoAllowlist(uid_t* uidList, int uidNumber) = 0;
5133
5160 virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad) = 0;
5161
5182 virtual int startAudioRecording(const char* filePath,
5183 AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
5205 virtual int startAudioRecording(const char* filePath,
5206 int sampleRate,
5207 AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
5208
5227 virtual int startAudioRecording(const AudioRecordingConfiguration& config) = 0;
5228
5234 virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig& config, IAudioEncodedFrameObserver *observer) = 0;
5235
5244 virtual int stopAudioRecording() = 0;
5245
5256 virtual agora_refptr<IMediaPlayer> createMediaPlayer() = 0;
5257
5269 virtual int destroyMediaPlayer(agora_refptr<IMediaPlayer> media_player) = 0;
5270
5281 virtual agora_refptr<IMediaRecorder> createMediaRecorder(const RecorderStreamInfo& info) = 0;
5282
5292 virtual int destroyMediaRecorder(agora_refptr<IMediaRecorder> mediaRecorder) = 0;
5293
5335 virtual int startAudioMixing(const char* filePath, bool loopback, int cycle) = 0;
5336
5380 virtual int startAudioMixing(const char* filePath, bool loopback, int cycle, int startPos) = 0;
5381
5390 virtual int stopAudioMixing() = 0;
5391
5400 virtual int pauseAudioMixing() = 0;
5401
5410 virtual int resumeAudioMixing() = 0;
5411
5420 virtual int selectAudioTrack(int index) = 0;
5429 virtual int getAudioTrackCount() = 0;
5430
5445 virtual int adjustAudioMixingVolume(int volume) = 0;
5446
5454 virtual int adjustAudioMixingPublishVolume(int volume) = 0;
5455
5463 virtual int getAudioMixingPublishVolume() = 0;
5464
5472 virtual int adjustAudioMixingPlayoutVolume(int volume) = 0;
5473
5481 virtual int getAudioMixingPlayoutVolume() = 0;
5482
5491 virtual int getAudioMixingDuration() = 0;
5492
5502 virtual int getAudioMixingCurrentPosition() = 0;
5503
5513 virtual int setAudioMixingPosition(int pos /*in ms*/) = 0;
5514
5525 virtual int setAudioMixingDualMonoMode(media::AUDIO_MIXING_DUAL_MONO_MODE mode) = 0;
5526
5543 virtual int setAudioMixingPitch(int pitch) = 0;
5544
5560 virtual int setAudioMixingPlaybackSpeed(int speed) = 0;
5561
5569 virtual int getEffectsVolume() = 0;
5579 virtual int setEffectsVolume(int volume) = 0;
5607 virtual int preloadEffect(int soundId, const char* filePath, int startPos = 0) = 0;
5653 virtual int playEffect(int soundId, const char* filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0) = 0;
5684 virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false) = 0;
5685
5695 virtual int getVolumeOfEffect(int soundId) = 0;
5696
5707 virtual int setVolumeOfEffect(int soundId, int volume) = 0;
5716 virtual int pauseEffect(int soundId) = 0;
5723 virtual int pauseAllEffects() = 0;
5732 virtual int resumeEffect(int soundId) = 0;
5739 virtual int resumeAllEffects() = 0;
5748 virtual int stopEffect(int soundId) = 0;
5755 virtual int stopAllEffects() = 0;
5764 virtual int unloadEffect(int soundId) = 0;
5771 virtual int unloadAllEffects() = 0;
5790 virtual int getEffectDuration(const char* filePath) = 0;
5807 virtual int setEffectPosition(int soundId, int pos) = 0;
5822 virtual int getEffectCurrentPosition(int soundId) = 0;
5835 virtual int enableSoundPositionIndication(bool enabled) = 0;
5836
5857 virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0;
5858
5868 virtual int enableSpatialAudio(bool enabled) = 0;
5869
5879 virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams& params) = 0;
5880
5918 virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset) = 0;
5919
5957 virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset) = 0;
5958
5995 virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset) = 0;
5996
6072 virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2) = 0;
6073
6116 virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset,
6117 int param1, int param2) = 0;
6118
6131 virtual int setVoiceConversionParameters(VOICE_CONVERSION_PRESET preset,
6132 int param1, int param2) = 0;
6133
6144 virtual int setLocalVoicePitch(double pitch) = 0;
6145
6156 virtual int setLocalVoiceFormant(double formantRatio) = 0;
6157
6169 virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain) = 0;
6170
6179 virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value) = 0;
6191 virtual int setHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset) = 0;
6192
6202 virtual int setHeadphoneEQParameters(int lowGain, int highGain) = 0;
6203
6215 virtual int enableVoiceAITuner(bool enabled, VOICE_AI_TUNER_TYPE type) = 0;
6216
6232 virtual int setLogFile(const char* filePath) = 0;
6233
6256 virtual int setLogFilter(unsigned int filter) = 0;
6257
6274 virtual int setLogLevel(commons::LOG_LEVEL level) = 0;
6275
6290 virtual int setLogFileSize(unsigned int fileSizeInKBytes) = 0;
6291
6300 virtual int uploadLogFile(agora::util::AString& requestId) = 0;
6301
6317 virtual int writeLog(commons::LOG_LEVEL level, const char* fmt, ...) = 0;
6318
6337 virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
6338
6359 virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode,
6360 VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
6371 virtual int setLocalRenderTargetFps(VIDEO_SOURCE_TYPE sourceType, int targetFps) = 0;
6380 virtual int setRemoteRenderTargetFps(int targetFps) = 0;
6381 // The following APIs are either deprecated and going to deleted.
6382
6400 virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) __deprecated = 0;
6401
6413 virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) __deprecated = 0;
6414
6429 virtual int enableDualStreamMode(bool enabled) __deprecated = 0;
6430
6447 virtual int enableDualStreamMode(bool enabled, const SimulcastStreamConfig& streamConfig) __deprecated = 0;
6448
6449
6463 virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode) = 0;
6464
6480 virtual int setSimulcastConfig(const SimulcastConfig& simulcastConfig) = 0;
6481
6495 virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode, const SimulcastStreamConfig& streamConfig) = 0;
6496
6511 virtual int enableCustomAudioLocalPlayback(track_id_t trackId, bool enabled) = 0;
6512
6531 virtual int setRecordingAudioFrameParameters(int sampleRate, int channel,
6532 RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
6533 int samplesPerCall) = 0;
6534
6554 virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel,
6555 RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
6556 int samplesPerCall) = 0;
6557
6573 virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall) = 0;
6574
6594 virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel,
6595 RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
6596 int samplesPerCall) = 0;
6597
6613 virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel) = 0;
6614
6625 virtual int enableAudioSpectrumMonitor(int intervalInMS = 100) = 0;
6633 virtual int disableAudioSpectrumMonitor() = 0;
6634
6649 virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver * observer) = 0;
6659 virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver * observer) = 0;
6660
6674 virtual int adjustRecordingSignalVolume(int volume) = 0;
6675
6687 virtual int muteRecordingSignal(bool mute) = 0;
6688
6702 virtual int adjustPlaybackSignalVolume(int volume) = 0;
6703
6704 /*
6705 * Adjust the playback volume of the user specified by uid.
6706 *
6707 * You can call this method to adjust the playback volume of the user specified by uid
6708 * in call. If you want to adjust playback volume of the multi user, you can call this
6709 * this method multi times.
6710 *
6711 * @note
6712 * Please call this method after join channel.
6713 * This method adjust the playback volume of specified user.
6714 *
6715 * @param uid Remote user ID.
6716 * @param volume The playback volume of the specified remote user. The value ranges between 0 and 400, including the following:
6717 * 0: Mute.
6718 * 100: (Default) Original volume.
6719 * 400: Four times the original volume with signal-clipping protection.
6720 * @return
6721 * - 0: Success.
6722 * - < 0: Failure.
6723 */
6724 virtual int adjustUserPlaybackSignalVolume(uid_t uid, int volume) = 0;
6725
6747 virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0;
6748
6764 virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0;
6765
6779 virtual int setHighPriorityUserList(uid_t* uidList, int uidNum, STREAM_FALLBACK_OPTIONS option) = 0;
6780
6801 virtual int enableExtension(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, bool enable = true) = 0;
6802
6816 virtual int setExtensionProperty(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, const char* key, const char* value) = 0;
6817
6832 virtual int getExtensionProperty(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, const char* key, char* value, int buf_len) = 0;
6833
6852 virtual int enableLoopbackRecording(bool enabled, const char* deviceName = NULL) = 0;
6853
6854
6867 virtual int adjustLoopbackSignalVolume(int volume) = 0;
6868
6875 virtual int getLoopbackRecordingVolume() = 0;
6876
6888 virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters) = 0;
6889
6900 virtual int setInEarMonitoringVolume(int volume) = 0;
6901
6902#if defined (_WIN32) || defined(__linux__) || defined(__ANDROID__)
6903 virtual int loadExtensionProvider(const char* path, bool unload_after_use = false) = 0;
6904#endif
6905
6917 virtual int setExtensionProviderProperty(const char* provider, const char* key, const char* value) = 0;
6918
6931 virtual int registerExtension(const char* provider, const char* extension, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6932
6953 virtual int enableExtension(const char* provider, const char* extension, bool enable=true, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6954
6967 virtual int setExtensionProperty(
6968 const char* provider, const char* extension,
6969 const char* key, const char* value, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6970
6984 virtual int getExtensionProperty(
6985 const char* provider, const char* extension,
6986 const char* key, char* value, int buf_len, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6987
6999 virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration& config) = 0;
7000
7008 virtual video_track_id_t createCustomVideoTrack() = 0;
7009
7017 virtual video_track_id_t createCustomEncodedVideoTrack(const SenderOptions& sender_option) = 0;
7018
7027 virtual int destroyCustomVideoTrack(video_track_id_t video_track_id) = 0;
7028
7037 virtual int destroyCustomEncodedVideoTrack(video_track_id_t video_track_id) = 0;
7038
7039
7040#if defined(__ANDROID__) || (defined(__APPLE__) && (TARGET_OS_IOS || (defined(TARGET_OS_VISION) && TARGET_OS_VISION)))
7041
7050 virtual int switchCamera() = 0;
7051
7059 virtual bool isCameraZoomSupported() = 0;
7060
7068 virtual bool isCameraFaceDetectSupported() = 0;
7069
7077 virtual bool isCameraTorchSupported() = 0;
7078
7086 virtual bool isCameraFocusSupported() = 0;
7087
7095 virtual bool isCameraAutoFocusFaceModeSupported() = 0;
7096
7106 virtual int setCameraZoomFactor(float factor) = 0;
7107
7116 virtual int enableFaceDetection(bool enabled) = 0;
7117
7122 virtual float getCameraMaxZoomFactor() = 0;
7123
7133 virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0;
7134
7142 virtual int setCameraTorchOn(bool isOn) = 0;
7143
7151 virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0;
7152
7164 virtual bool isCameraExposurePositionSupported() = 0;
7165
7181 virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0;
7182
7195 virtual bool isCameraExposureSupported() = 0;
7196
7207 virtual int setCameraExposureFactor(float factor) = 0;
7208
7209#if defined(__APPLE__)
7217 virtual bool isCameraAutoExposureFaceModeSupported() = 0;
7218
7219
7227 virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0;
7228
7234 virtual int setCameraStabilizationMode(CAMERA_STABILIZATION_MODE mode) = 0;
7235#endif
7236
7270 virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0;
7271
7298 virtual int setEnableSpeakerphone(bool speakerOn) = 0;
7299
7307 virtual bool isSpeakerphoneEnabled() = 0;
7308
7315 virtual int setRouteInCommunicationMode(int route) = 0;
7316
7317#endif // __ANDROID__ || (__APPLE__ && (TARGET_OS_IOS || (defined(TARGET_OS_VISION) && TARGET_OS_VISION)))
7318
7319#if defined(__APPLE__)
7327 virtual bool isCameraCenterStageSupported() = 0;
7328
7337 virtual int enableCameraCenterStage(bool enabled) = 0;
7338#endif
7339
7340#if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
7351 virtual IScreenCaptureSourceList* getScreenCaptureSources(const SIZE& thumbSize, const SIZE& iconSize, const bool includeScreen) = 0;
7352#endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
7353#if (defined(__APPLE__) && (TARGET_OS_IOS || (defined(TARGET_OS_VISION) && TARGET_OS_VISION)))
7378 virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction) = 0;
7379#endif // __APPLE__ && (TARGET_OS_IOS || (defined(TARGET_OS_VISION) && TARGET_OS_VISION))
7380
7381#if defined(_WIN32) || (defined(__APPLE__) && !TARGET_OS_IPHONE && TARGET_OS_MAC)
7382
7403 virtual int startScreenCaptureByDisplayId(int64_t displayId, const Rectangle& regionRect,
7404 const ScreenCaptureParameters& captureParams) = 0;
7405
7406#endif // __APPLE__ && TARGET_OS_MAC && !TARGET_OS_IPHONE
7407
7408#if defined(_WIN32)
7432 virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect,
7433 const Rectangle& regionRect,
7434 const ScreenCaptureParameters& captureParams) __deprecated = 0;
7435#endif
7436
7437#if defined(__ANDROID__)
7444 virtual int getAudioDeviceInfo(DeviceInfo& deviceInfo) = 0;
7445#endif // __ANDROID__
7446
7447#if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
7448
7466 virtual int startScreenCaptureByWindowId(int64_t windowId, const Rectangle& regionRect,
7467 const ScreenCaptureParameters& captureParams) = 0;
7468
7484 virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint) = 0;
7485
7502 virtual int updateScreenCaptureRegion(const Rectangle& regionRect) = 0;
7503
7517 virtual int updateScreenCaptureParameters(const ScreenCaptureParameters& captureParams) = 0;
7518#endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
7519
7520#if defined(__ANDROID__) || (defined(__APPLE__) && (TARGET_OS_IOS || (defined(TARGET_OS_VISION) && TARGET_OS_VISION)))
7530 virtual int startScreenCapture(const ScreenCaptureParameters2& captureParams) = 0;
7531
7541 virtual int updateScreenCapture(const ScreenCaptureParameters2& captureParams) = 0;
7542
7554 virtual int queryScreenCaptureCapability() = 0;
7555
7567 virtual int queryCameraFocalLengthCapability(agora::rtc::FocalLengthInfo* focalLengthInfos, int& size) = 0;
7568
7569#if defined(__ANDROID__)
7586 virtual int setExternalMediaProjection(void* mediaProjection) = 0;
7587#endif
7588#endif
7589
7590#if defined(_WIN32) || defined(__APPLE__) || defined(__ANDROID__)
7607 virtual int setScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario) = 0;
7608
7616 virtual int stopScreenCapture() = 0;
7617#endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC) || __ANDROID__
7618
7635 virtual int getCallId(agora::util::AString& callId) = 0;
7636
7651 virtual int rate(const char* callId, int rating, const char* description) = 0; // 0~10
7652
7666 virtual int complain(const char* callId, const char* description) = 0;
7667
7688 virtual int startRtmpStreamWithoutTranscoding(const char* url) = 0;
7689
7711 virtual int startRtmpStreamWithTranscoding(const char* url, const LiveTranscoding& transcoding) = 0;
7712
7722 virtual int updateRtmpTranscoding(const LiveTranscoding& transcoding) = 0;
7723
7724 virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration& config) = 0;
7725 virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration& config) = 0;
7726
7745 virtual int stopRtmpStream(const char* url) = 0;
7746
7747 virtual int stopLocalVideoTranscoder() = 0;
7748
7758 virtual int startLocalAudioMixer(const LocalAudioMixerConfiguration& config) = 0;
7759
7769 virtual int updateLocalAudioMixerConfiguration(const LocalAudioMixerConfiguration& config) = 0;
7770
7780 virtual int stopLocalAudioMixer() = 0;
7781
7791 virtual int startCameraCapture(VIDEO_SOURCE_TYPE sourceType, const CameraCapturerConfiguration& config) = 0;
7792
7803 virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType) = 0;
7815 virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
7827 virtual int setScreenCaptureOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
7828
7838 virtual int startScreenCapture(VIDEO_SOURCE_TYPE sourceType, const ScreenCaptureConfiguration& config) = 0;
7839
7850 virtual int stopScreenCapture(VIDEO_SOURCE_TYPE sourceType) = 0;
7851
7856 virtual CONNECTION_STATE_TYPE getConnectionState() = 0;
7857
7858 // The following APIs are not implemented yet.
7859 virtual bool registerEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
7860 virtual bool unregisterEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
7861 virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0;
7862
7874 virtual int registerPacketObserver(IPacketObserver* observer) = 0;
7875
7876
7898 virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0;
7899
7931 virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0;
7932
7942 virtual int createDataStream(int* streamId, const DataStreamConfig& config) = 0;
7943
7974 virtual int sendStreamMessage(int streamId, const char* data, size_t length) = 0;
7975
7997 virtual int addVideoWatermark(const RtcImage& watermark) __deprecated = 0;
7998
8024 virtual int addVideoWatermark(const char* watermarkUrl, const WatermarkOptions& options) = 0;
8025
8033 virtual int clearVideoWatermarks() = 0;
8034
8035 // The following APIs are either deprecated and going to deleted.
8036
8045 virtual int pauseAudio() __deprecated = 0;
8054 virtual int resumeAudio() __deprecated = 0;
8055
8073 virtual int enableWebSdkInteroperability(bool enabled) __deprecated = 0;
8074
8084 virtual int sendCustomReportMessage(const char* id, const char* category, const char* event, const char* label, int value) = 0;
8085
8107 virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0;
8108
8117 virtual int unregisterMediaMetadataObserver(IMetadataObserver* observer, IMetadataObserver::METADATA_TYPE type) = 0;
8118
8127 virtual int startAudioFrameDump(const char* channel_id, uid_t uid, const char* location, const char* uuid, const char* passwd, long duration_ms, bool auto_upload) = 0;
8128
8132 virtual int stopAudioFrameDump(const char* channel_id, uid_t uid, const char* location) = 0;
8133
8149 virtual int setAINSMode(bool enabled, AUDIO_AINS_MODE mode) = 0;
8150
8182 virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0;
8183
8214 virtual int joinChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount) = 0;
8215
8247 virtual int joinChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount, const ChannelMediaOptions& options) = 0;
8248
8281 virtual int joinChannelWithUserAccountEx(const char* token, const char* channelId,
8282 const char* userAccount, const ChannelMediaOptions& options,
8283 IRtcEngineEventHandler* eventHandler) = 0;
8284
8302 virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo) = 0;
8303
8321 virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo) = 0;
8322
8357 virtual int startOrUpdateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0;
8358
8387 virtual int stopChannelMediaRelay() = 0;
8388
8398 virtual int pauseAllChannelMediaRelay() = 0;
8399
8409 virtual int resumeAllChannelMediaRelay() = 0;
8410
8423 virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile) = 0;
8424
8439 virtual int setDirectCdnStreamingVideoConfiguration(const VideoEncoderConfiguration& config) = 0;
8440
8454 virtual int startDirectCdnStreaming(IDirectCdnStreamingEventHandler* eventHandler,
8455 const char* publishUrl, const DirectCdnStreamingMediaOptions& options) = 0;
8456
8466 virtual int stopDirectCdnStreaming() = 0;
8467
8479 virtual int updateDirectCdnStreamingMediaOptions(const DirectCdnStreamingMediaOptions& options) = 0;
8480
8491 virtual int startRhythmPlayer(const char* sound1, const char* sound2, const AgoraRhythmPlayerConfig& config) = 0;
8492
8499 virtual int stopRhythmPlayer() = 0;
8500
8509 virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig& config) = 0;
8510
8540 virtual int takeSnapshot(uid_t uid, const char* filePath) = 0;
8541
8566 virtual int takeSnapshot(uid_t uid, const media::SnapshotConfig& config) = 0;
8567
8577 virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config) = 0;
8578 /*
8579 * Adjust the custom audio publish volume by track id.
8580 * @param trackId custom audio track id.
8581 * @param volume The volume, range is [0,100]:
8582 * 0: mute, 100: The original volume
8583 * @return
8584 * - 0: Success.
8585 * - < 0: Failure.
8586 */
8587 virtual int adjustCustomAudioPublishVolume(track_id_t trackId, int volume) = 0;
8588
8589 /*
8590 * Adjust the custom audio playout volume by track id.
8591 * @param trackId custom audio track id.
8592 * @param volume The volume, range is [0,100]:
8593 * 0: mute, 100: The original volume
8594 * @return
8595 * - 0: Success.
8596 * - < 0: Failure.
8597 */
8598 virtual int adjustCustomAudioPlayoutVolume(track_id_t trackId, int volume) = 0;
8599
8629 virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0;
8638 virtual int setLocalAccessPoint(const LocalAccessPointConfiguration& config) = 0;
8639
8647 virtual int setAdvancedAudioOptions(AdvancedAudioOptions& options, int sourceType = 0) = 0;
8648
8659 virtual int setAVSyncSource(const char* channelId, uid_t uid) = 0;
8660
8667 virtual int enableVideoImageSource(bool enable, const ImageTrackOptions& options) = 0;
8668
8669 /*
8670 * Get monotonic time in ms which can be used by capture time,
8671 * typical scenario is as follows:
8672 *
8673 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8674 * | // custom audio/video base capture time, e.g. the first audio/video capture time. |
8675 * | int64_t custom_capture_time_base; |
8676 * | |
8677 * | int64_t agora_monotonic_time = getCurrentMonotonicTimeInMs(); |
8678 * | |
8679 * | // offset is fixed once calculated in the begining. |
8680 * | const int64_t offset = agora_monotonic_time - custom_capture_time_base; |
8681 * | |
8682 * | // realtime_custom_audio/video_capture_time is the origin capture time that customer provided.|
8683 * | // actual_audio/video_capture_time is the actual capture time transfered to sdk. |
8684 * | int64_t actual_audio_capture_time = realtime_custom_audio_capture_time + offset; |
8685 * | int64_t actual_video_capture_time = realtime_custom_video_capture_time + offset; |
8686 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8687 *
8688 * @return
8689 * - >= 0: Success.
8690 * - < 0: Failure.
8691 */
8692 virtual int64_t getCurrentMonotonicTimeInMs() = 0;
8693
8709 virtual int enableWirelessAccelerate(bool enabled) = 0;
8710
8724
8725 virtual int getNetworkType() = 0;
8726
8735 virtual int setParameters(const char* parameters) = 0;
8736
8751 virtual int startMediaRenderingTracing() = 0;
8752
8766 virtual int enableInstantMediaRendering() = 0;
8767
8771 virtual uint64_t getNtpWallTimeInMs() = 0;
8772
8781 virtual bool isFeatureAvailableOnDevice(FeatureType type) = 0;
8782
8793 virtual int sendAudioMetadata(const char* metadata, size_t length) = 0;
8794
8804 virtual int queryHDRCapability(VIDEO_MODULE_TYPE videoModule, HDR_CAPABILITY& capability) = 0;
8805};
8806
8807// The following types are either deprecated or not implmented yet.
8808enum QUALITY_REPORT_FORMAT_TYPE {
8811 QUALITY_REPORT_JSON = 0,
8814 QUALITY_REPORT_HTML = 1,
8815};
8816
8818 enum MEDIA_DEVICE_STATE_TYPE {
8821 MEDIA_DEVICE_STATE_IDLE = 0,
8824 MEDIA_DEVICE_STATE_ACTIVE = 1,
8827 MEDIA_DEVICE_STATE_DISABLED = 2,
8828
8831 MEDIA_DEVICE_STATE_PLUGGED_IN = 3,
8832
8835 MEDIA_DEVICE_STATE_NOT_PRESENT = 4,
8838 MEDIA_DEVICE_STATE_UNPLUGGED = 8
8839};
8840
8841 enum VIDEO_PROFILE_TYPE { // res fps
8843 VIDEO_PROFILE_LANDSCAPE_120P = 0, // 160x120 15
8845 VIDEO_PROFILE_LANDSCAPE_120P_3 = 2, // 120x120 15
8847 VIDEO_PROFILE_LANDSCAPE_180P = 10, // 320x180 15
8849 VIDEO_PROFILE_LANDSCAPE_180P_3 = 12, // 180x180 15
8851 VIDEO_PROFILE_LANDSCAPE_180P_4 = 13, // 240x180 15
8853 VIDEO_PROFILE_LANDSCAPE_240P = 20, // 320x240 15
8855 VIDEO_PROFILE_LANDSCAPE_240P_3 = 22, // 240x240 15
8857 VIDEO_PROFILE_LANDSCAPE_240P_4 = 23, // 424x240 15
8859 VIDEO_PROFILE_LANDSCAPE_360P = 30, // 640x360 15
8861 VIDEO_PROFILE_LANDSCAPE_360P_3 = 32, // 360x360 15
8863 VIDEO_PROFILE_LANDSCAPE_360P_4 = 33, // 640x360 30
8865 VIDEO_PROFILE_LANDSCAPE_360P_6 = 35, // 360x360 30
8867 VIDEO_PROFILE_LANDSCAPE_360P_7 = 36, // 480x360 15
8869 VIDEO_PROFILE_LANDSCAPE_360P_8 = 37, // 480x360 30
8871 VIDEO_PROFILE_LANDSCAPE_360P_9 = 38, // 640x360 15
8873 VIDEO_PROFILE_LANDSCAPE_360P_10 = 39, // 640x360 24
8875 VIDEO_PROFILE_LANDSCAPE_360P_11 = 100, // 640x360 24
8877 VIDEO_PROFILE_LANDSCAPE_480P = 40, // 640x480 15
8879 VIDEO_PROFILE_LANDSCAPE_480P_3 = 42, // 480x480 15
8881 VIDEO_PROFILE_LANDSCAPE_480P_4 = 43, // 640x480 30
8883 VIDEO_PROFILE_LANDSCAPE_480P_6 = 45, // 480x480 30
8885 VIDEO_PROFILE_LANDSCAPE_480P_8 = 47, // 848x480 15
8887 VIDEO_PROFILE_LANDSCAPE_480P_9 = 48, // 848x480 30
8889 VIDEO_PROFILE_LANDSCAPE_480P_10 = 49, // 640x480 10
8891 VIDEO_PROFILE_LANDSCAPE_720P = 50, // 1280x720 15
8893 VIDEO_PROFILE_LANDSCAPE_720P_3 = 52, // 1280x720 30
8895 VIDEO_PROFILE_LANDSCAPE_720P_5 = 54, // 960x720 15
8897 VIDEO_PROFILE_LANDSCAPE_720P_6 = 55, // 960x720 30
8899 VIDEO_PROFILE_LANDSCAPE_1080P = 60, // 1920x1080 15
8901 VIDEO_PROFILE_LANDSCAPE_1080P_3 = 62, // 1920x1080 30
8903 VIDEO_PROFILE_LANDSCAPE_1080P_5 = 64, // 1920x1080 60
8905 VIDEO_PROFILE_LANDSCAPE_1440P = 66, // 2560x1440 30
8907 VIDEO_PROFILE_LANDSCAPE_1440P_2 = 67, // 2560x1440 60
8909 VIDEO_PROFILE_LANDSCAPE_4K = 70, // 3840x2160 30
8911 VIDEO_PROFILE_LANDSCAPE_4K_3 = 72, // 3840x2160 60
8913 VIDEO_PROFILE_PORTRAIT_120P = 1000, // 120x160 15
8915 VIDEO_PROFILE_PORTRAIT_120P_3 = 1002, // 120x120 15
8917 VIDEO_PROFILE_PORTRAIT_180P = 1010, // 180x320 15
8919 VIDEO_PROFILE_PORTRAIT_180P_3 = 1012, // 180x180 15
8921 VIDEO_PROFILE_PORTRAIT_180P_4 = 1013, // 180x240 15
8923 VIDEO_PROFILE_PORTRAIT_240P = 1020, // 240x320 15
8925 VIDEO_PROFILE_PORTRAIT_240P_3 = 1022, // 240x240 15
8927 VIDEO_PROFILE_PORTRAIT_240P_4 = 1023, // 240x424 15
8929 VIDEO_PROFILE_PORTRAIT_360P = 1030, // 360x640 15
8931 VIDEO_PROFILE_PORTRAIT_360P_3 = 1032, // 360x360 15
8933 VIDEO_PROFILE_PORTRAIT_360P_4 = 1033, // 360x640 30
8935 VIDEO_PROFILE_PORTRAIT_360P_6 = 1035, // 360x360 30
8937 VIDEO_PROFILE_PORTRAIT_360P_7 = 1036, // 360x480 15
8939 VIDEO_PROFILE_PORTRAIT_360P_8 = 1037, // 360x480 30
8941 VIDEO_PROFILE_PORTRAIT_360P_9 = 1038, // 360x640 15
8943 VIDEO_PROFILE_PORTRAIT_360P_10 = 1039, // 360x640 24
8945 VIDEO_PROFILE_PORTRAIT_360P_11 = 1100, // 360x640 24
8947 VIDEO_PROFILE_PORTRAIT_480P = 1040, // 480x640 15
8949 VIDEO_PROFILE_PORTRAIT_480P_3 = 1042, // 480x480 15
8951 VIDEO_PROFILE_PORTRAIT_480P_4 = 1043, // 480x640 30
8953 VIDEO_PROFILE_PORTRAIT_480P_6 = 1045, // 480x480 30
8955 VIDEO_PROFILE_PORTRAIT_480P_8 = 1047, // 480x848 15
8957 VIDEO_PROFILE_PORTRAIT_480P_9 = 1048, // 480x848 30
8959 VIDEO_PROFILE_PORTRAIT_480P_10 = 1049, // 480x640 10
8961 VIDEO_PROFILE_PORTRAIT_720P = 1050, // 720x1280 15
8963 VIDEO_PROFILE_PORTRAIT_720P_3 = 1052, // 720x1280 30
8965 VIDEO_PROFILE_PORTRAIT_720P_5 = 1054, // 720x960 15
8967 VIDEO_PROFILE_PORTRAIT_720P_6 = 1055, // 720x960 30
8969 VIDEO_PROFILE_PORTRAIT_1080P = 1060, // 1080x1920 15
8971 VIDEO_PROFILE_PORTRAIT_1080P_3 = 1062, // 1080x1920 30
8973 VIDEO_PROFILE_PORTRAIT_1080P_5 = 1064, // 1080x1920 60
8975 VIDEO_PROFILE_PORTRAIT_1440P = 1066, // 1440x2560 30
8977 VIDEO_PROFILE_PORTRAIT_1440P_2 = 1067, // 1440x2560 60
8979 VIDEO_PROFILE_PORTRAIT_4K = 1070, // 2160x3840 30
8981 VIDEO_PROFILE_PORTRAIT_4K_3 = 1072, // 2160x3840 60
8983 VIDEO_PROFILE_DEFAULT = VIDEO_PROFILE_LANDSCAPE_360P,
8984};
8985
8986 class AAudioDeviceManager : public agora::util::AutoPtr<IAudioDeviceManager> {
8987 public:
8988 AAudioDeviceManager(IRtcEngine* engine) {
8989 queryInterface(engine, AGORA_IID_AUDIO_DEVICE_MANAGER);
8990 }
8991};
8992
8993 class AVideoDeviceManager : public agora::util::AutoPtr<IVideoDeviceManager> {
8994 public:
8995 AVideoDeviceManager(IRtcEngine* engine) {
8996 queryInterface(engine, AGORA_IID_VIDEO_DEVICE_MANAGER);
8997 }
8998};
8999
9000} // namespace rtc
9001} // namespace agora
9002
9008#define getAgoraRtcEngineVersion getAgoraSdkVersion
9009
9011
9015
9020AGORA_API agora::rtc::IRtcEngine* AGORA_CALL createAgoraRtcEngine();
9021
9023
9025
9031#define getAgoraRtcEngineErrorDescription getAgoraSdkErrorDescription
9032#define setAgoraRtcEngineExternalSymbolLoader setAgoraSdkExternalSymbolLoader
agora::Optional
Definition AgoraOptional.h:413
agora::RefCountInterface
Definition AgoraRefPtr.h:31
agora::agora_refptr
Definition AgoraRefPtr.h:44
agora::base::IEngineBase
Definition AgoraBase.h:7179
agora::media::IAudioSpectrumObserver
Definition AgoraMediaBase.h:1598
agora::rtc::AAudioDeviceManager::AAudioDeviceManager
AAudioDeviceManager(IRtcEngine *engine)
Definition IAgoraRtcEngine.h:8988
agora::rtc::AVideoDeviceManager::AVideoDeviceManager
AVideoDeviceManager(IRtcEngine *engine)
Definition IAgoraRtcEngine.h:8995
agora::rtc::IAudioEncodedFrameObserver
Definition AgoraBase.h:6223
agora::rtc::IDirectCdnStreamingEventHandler
Definition IAgoraRtcEngine.h:3653
agora::rtc::IDirectCdnStreamingEventHandler::onDirectCdnStreamingStats
virtual void onDirectCdnStreamingStats(const DirectCdnStreamingStats &stats)
Definition IAgoraRtcEngine.h:3669
agora::rtc::IDirectCdnStreamingEventHandler::onDirectCdnStreamingStateChanged
virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_REASON reason, const char *message)
Definition IAgoraRtcEngine.h:3663
agora::rtc::IDirectCdnStreamingEventHandler::~IDirectCdnStreamingEventHandler
virtual ~IDirectCdnStreamingEventHandler()
Definition IAgoraRtcEngine.h:3655
agora::rtc::IMetadataObserver
Definition IAgoraRtcEngine.h:3500
agora::rtc::IMetadataObserver::METADATA_TYPE
METADATA_TYPE
Definition IAgoraRtcEngine.h:3509
agora::rtc::IMetadataObserver::UNKNOWN_METADATA
@ UNKNOWN_METADATA
Definition IAgoraRtcEngine.h:3512
agora::rtc::IMetadataObserver::VIDEO_METADATA
@ VIDEO_METADATA
Definition IAgoraRtcEngine.h:3515
agora::rtc::IMetadataObserver::~IMetadataObserver
virtual ~IMetadataObserver()
Definition IAgoraRtcEngine.h:3502
agora::rtc::IMetadataObserver::onMetadataReceived
virtual void onMetadataReceived(const Metadata &metadata)=0
agora::rtc::IMetadataObserver::getMaxMetadataSize
virtual int getMaxMetadataSize()
Definition IAgoraRtcEngine.h:3563
agora::rtc::IMetadataObserver::MAX_METADATA_SIZE_TYPE
MAX_METADATA_SIZE_TYPE
Definition IAgoraRtcEngine.h:3521
agora::rtc::IMetadataObserver::MAX_METADATA_SIZE_IN_BYTE
@ MAX_METADATA_SIZE_IN_BYTE
Definition IAgoraRtcEngine.h:3524
agora::rtc::IMetadataObserver::DEFAULT_METADATA_SIZE_IN_BYTE
@ DEFAULT_METADATA_SIZE_IN_BYTE
Definition IAgoraRtcEngine.h:3523
agora::rtc::IMetadataObserver::INVALID_METADATA_SIZE_IN_BYTE
@ INVALID_METADATA_SIZE_IN_BYTE
Definition IAgoraRtcEngine.h:3522
agora::rtc::IMetadataObserver::onReadyToSendMetadata
virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type)=0
agora::rtc::IPacketObserver
Definition AgoraBase.h:3590
agora::rtc::IRtcEngineEventHandler
Definition IAgoraRtcEngine.h:1562
agora::rtc::IRtcEngineEventHandler::onUserMuteAudio
virtual void onUserMuteAudio(uid_t uid, bool muted)
Definition IAgoraRtcEngine.h:2047
agora::rtc::IRtcEngineEventHandler::onRtmpStreamingStateChanged
virtual void onRtmpStreamingStateChanged(const char *url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_REASON reason)
Definition IAgoraRtcEngine.h:2565
agora::rtc::IRtcEngineEventHandler::onFirstLocalAudioFramePublished
virtual void onFirstLocalAudioFramePublished(int elapsed)
Definition IAgoraRtcEngine.h:2389
agora::rtc::IRtcEngineEventHandler::onTranscodingUpdated
virtual void onTranscodingUpdated()
Definition IAgoraRtcEngine.h:2592
agora::rtc::IRtcEngineEventHandler::onStreamMessage
virtual void onStreamMessage(uid_t uid, int streamId, const char *data, size_t length, uint64_t sentTs)
Definition IAgoraRtcEngine.h:2316
agora::rtc::IRtcEngineEventHandler::onLocalAudioStats
virtual void onLocalAudioStats(const LocalAudioStats &stats)
Definition IAgoraRtcEngine.h:2131
agora::rtc::IRtcEngineEventHandler::onCameraFocusAreaChanged
virtual void onCameraFocusAreaChanged(int x, int y, int width, int height)
Definition IAgoraRtcEngine.h:2182
agora::rtc::IRtcEngineEventHandler::onAudioDeviceVolumeChanged
virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted)
Definition IAgoraRtcEngine.h:2548
agora::rtc::IRtcEngineEventHandler::onLocalVideoTranscoderError
virtual void onLocalVideoTranscoderError(const TranscodingVideoStream &stream, VIDEO_TRANSCODER_ERROR error)
Definition IAgoraRtcEngine.h:2859
agora::rtc::IRtcEngineEventHandler::eventHandlerType
virtual const char * eventHandlerType() const
Definition IAgoraRtcEngine.h:1566
agora::rtc::IRtcEngineEventHandler::onFirstLocalVideoFrame
virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed)
Definition IAgoraRtcEngine.h:1851
agora::rtc::IRtcEngineEventHandler::onFirstRemoteAudioFrame
virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) __deprecated
Definition IAgoraRtcEngine.h:2421
agora::rtc::IRtcEngineEventHandler::onError
virtual void onError(int err, const char *msg)
Definition IAgoraRtcEngine.h:1619
agora::rtc::IRtcEngineEventHandler::onExtensionStoppedWithContext
virtual void onExtensionStoppedWithContext(const ExtensionContext &context)
Definition IAgoraRtcEngine.h:3006
agora::rtc::IRtcEngineEventHandler::onChannelMediaRelayStateChanged
virtual void onChannelMediaRelayStateChanged(int state, int code)
Definition IAgoraRtcEngine.h:2640
agora::rtc::IRtcEngineEventHandler::onUserEnableLocalVideo
virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) __deprecated
Definition IAgoraRtcEngine.h:2108
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoFrame
virtual void onFirstRemoteVideoFrame(uid_t uid, int width, int height, int elapsed)
Definition IAgoraRtcEngine.h:1985
agora::rtc::IRtcEngineEventHandler::onAudioMixingPositionChanged
virtual void onAudioMixingPositionChanged(int64_t position)
Reports current AudioMixing progress.
Definition IAgoraRtcEngine.h:1732
agora::rtc::IRtcEngineEventHandler::onContentInspectResult
virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result)
Definition IAgoraRtcEngine.h:2489
agora::rtc::IRtcEngineEventHandler::onUserStateChanged
virtual void onUserStateChanged(uid_t uid, REMOTE_USER_STATE state)
Definition IAgoraRtcEngine.h:2093
agora::rtc::IRtcEngineEventHandler::onIntraRequestReceived
virtual void onIntraRequestReceived()
Definition IAgoraRtcEngine.h:1800
agora::rtc::IRtcEngineEventHandler::onRemoteAudioTransportStats
virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated
Definition IAgoraRtcEngine.h:2698
agora::rtc::IRtcEngineEventHandler::onCameraExposureAreaChanged
virtual void onCameraExposureAreaChanged(int x, int y, int width, int height)
Definition IAgoraRtcEngine.h:2196
agora::rtc::IRtcEngineEventHandler::onLocalAudioStateChanged
virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_REASON reason)
Definition IAgoraRtcEngine.h:2440
agora::rtc::IRtcEngineEventHandler::onMultipathStats
virtual void onMultipathStats(const MultipathStats &stats)
Report the multipath transmission statistics.
Definition IAgoraRtcEngine.h:3043
agora::rtc::IRtcEngineEventHandler::onLocalVideoStats
virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats &stats)
Definition IAgoraRtcEngine.h:2148
agora::rtc::IRtcEngineEventHandler::onStreamMessageError
virtual void onStreamMessageError(uid_t uid, int streamId, int code, int missed, int cached)
Definition IAgoraRtcEngine.h:2336
agora::rtc::IRtcEngineEventHandler::onVideoSizeChanged
virtual void onVideoSizeChanged(VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation)
Definition IAgoraRtcEngine.h:1904
agora::rtc::IRtcEngineEventHandler::onLicenseValidationFailure
virtual void onLicenseValidationFailure(LICENSE_ERROR_TYPE error)
Definition IAgoraRtcEngine.h:2375
agora::rtc::IRtcEngineEventHandler::onLastmileProbeResult
virtual void onLastmileProbeResult(const LastmileProbeResult &result)
Definition IAgoraRtcEngine.h:1651
agora::rtc::IRtcEngineEventHandler::onLocalVideoStateChanged
virtual void onLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_REASON reason)
Definition IAgoraRtcEngine.h:1954
agora::rtc::IRtcEngineEventHandler::onAudioMetadataReceived
virtual void onAudioMetadataReceived(uid_t uid, const char *metadata, size_t length)
Definition IAgoraRtcEngine.h:2967
agora::rtc::IRtcEngineEventHandler::onTranscodedStreamLayoutInfo
virtual void onTranscodedStreamLayoutInfo(uid_t uid, int width, int height, int layoutCount, const VideoLayout *layoutlist)
Definition IAgoraRtcEngine.h:2951
agora::rtc::IRtcEngineEventHandler::onVideoStopped
virtual void onVideoStopped() __deprecated
Definition IAgoraRtcEngine.h:2250
agora::rtc::IRtcEngineEventHandler::onFirstRemoteAudioDecoded
virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) __deprecated
Definition IAgoraRtcEngine.h:2409
agora::rtc::IRtcEngineEventHandler::onAudioRoutingChanged
virtual void onAudioRoutingChanged(int routing)
Definition IAgoraRtcEngine.h:2607
agora::rtc::IRtcEngineEventHandler::onUploadLogResult
virtual void onUploadLogResult(const char *requestId, bool success, UPLOAD_ERROR_REASON reason)
Definition IAgoraRtcEngine.h:2870
agora::rtc::IRtcEngineEventHandler::onClientRoleChanged
virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions &newRoleOptions)
Definition IAgoraRtcEngine.h:2523
agora::rtc::IRtcEngineEventHandler::onCameraReady
virtual void onCameraReady() __deprecated
Definition IAgoraRtcEngine.h:2170
agora::rtc::IRtcEngineEventHandler::onSnapshotTaken
virtual void onSnapshotTaken(uid_t uid, const char *filePath, int width, int height, int errCode)
Definition IAgoraRtcEngine.h:2508
agora::rtc::IRtcEngineEventHandler::onProxyConnected
virtual void onProxyConnected(const char *channel, uid_t uid, PROXY_TYPE proxyType, const char *localProxyIp, int elapsed)
Definition IAgoraRtcEngine.h:1606
agora::rtc::IRtcEngineEventHandler::onRemoteVideoStats
virtual void onRemoteVideoStats(const RemoteVideoStats &stats)
Definition IAgoraRtcEngine.h:2161
agora::rtc::IRtcEngineEventHandler::onFirstLocalVideoFramePublished
virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed)
Definition IAgoraRtcEngine.h:1868
agora::rtc::IRtcEngineEventHandler::onRemoteSubscribeFallbackToAudioOnly
virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover)
Definition IAgoraRtcEngine.h:2679
agora::rtc::IRtcEngineEventHandler::onClientRoleChangeFailed
virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole)
Definition IAgoraRtcEngine.h:2536
agora::rtc::IRtcEngineEventHandler::onNetworkQuality
virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality)
Definition IAgoraRtcEngine.h:1788
agora::rtc::IRtcEngineEventHandler::onUserMuteVideo
virtual void onUserMuteVideo(uid_t uid, bool muted)
Definition IAgoraRtcEngine.h:2066
agora::rtc::IRtcEngineEventHandler::onAudioMixingFinished
virtual void onAudioMixingFinished() __deprecated
Definition IAgoraRtcEngine.h:1740
agora::rtc::IRtcEngineEventHandler::onDownlinkNetworkInfoUpdated
virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo &info)
Definition IAgoraRtcEngine.h:1823
agora::rtc::IRtcEngineEventHandler::onLocalVideoEvent
virtual void onLocalVideoEvent(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_EVENT_TYPE event)
Occurs when the local video event occurs.
Definition IAgoraRtcEngine.h:1923
agora::rtc::IRtcEngineEventHandler::onRejoinChannelSuccess
virtual void onRejoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Definition IAgoraRtcEngine.h:1593
agora::rtc::IRtcEngineEventHandler::onExtensionErrorWithContext
virtual void onExtensionErrorWithContext(const ExtensionContext &context, int error, const char *message)
Definition IAgoraRtcEngine.h:3020
agora::rtc::IRtcEngineEventHandler::onLocalUserRegistered
virtual void onLocalUserRegistered(uid_t uid, const char *userAccount)
Definition IAgoraRtcEngine.h:2811
agora::rtc::IRtcEngineEventHandler::onUserEnableVideo
virtual void onUserEnableVideo(uid_t uid, bool enabled)
Definition IAgoraRtcEngine.h:2083
agora::rtc::IRtcEngineEventHandler::onUserOffline
virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason)
Definition IAgoraRtcEngine.h:2030
agora::rtc::IRtcEngineEventHandler::onConnectionBanned
virtual void onConnectionBanned() __deprecated
Definition IAgoraRtcEngine.h:2303
agora::rtc::IRtcEngineEventHandler::onRhythmPlayerStateChanged
virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_REASON reason)
Definition IAgoraRtcEngine.h:2272
agora::rtc::IRtcEngineEventHandler::onUserJoined
virtual void onUserJoined(uid_t uid, int elapsed)
Definition IAgoraRtcEngine.h:2011
agora::rtc::IRtcEngineEventHandler::onLeaveChannel
virtual void onLeaveChannel(const RtcStats &stats)
Definition IAgoraRtcEngine.h:1696
agora::rtc::IRtcEngineEventHandler::onVideoDeviceStateChanged
virtual void onVideoDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition IAgoraRtcEngine.h:1760
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStateChanged
virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed)
Definition IAgoraRtcEngine.h:2461
agora::rtc::IRtcEngineEventHandler::onUplinkNetworkInfoUpdated
virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo &info)
Definition IAgoraRtcEngine.h:1812
agora::rtc::IRtcEngineEventHandler::onRtmpStreamingEvent
virtual void onRtmpStreamingEvent(const char *url, RTMP_STREAMING_EVENT eventCode)
Definition IAgoraRtcEngine.h:2577
agora::rtc::IRtcEngineEventHandler::onRequestToken
virtual void onRequestToken()
Definition IAgoraRtcEngine.h:2353
agora::rtc::IRtcEngineEventHandler::onAudioVolumeIndication
virtual void onAudioVolumeIndication(const AudioVolumeInfo *speakers, unsigned int speakerNumber, int totalVolume)
Definition IAgoraRtcEngine.h:1681
agora::rtc::IRtcEngineEventHandler::~IRtcEngineEventHandler
virtual ~IRtcEngineEventHandler()
Definition IAgoraRtcEngine.h:1564
agora::rtc::IRtcEngineEventHandler::onRemoteVideoTransportStats
virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated
Definition IAgoraRtcEngine.h:2722
agora::rtc::IRtcEngineEventHandler::onJoinChannelSuccess
virtual void onJoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Definition IAgoraRtcEngine.h:1577
agora::rtc::IRtcEngineEventHandler::onAudioEffectFinished
virtual void onAudioEffectFinished(int soundId)
Definition IAgoraRtcEngine.h:1749
agora::rtc::IRtcEngineEventHandler::onConnectionLost
virtual void onConnectionLost()
Definition IAgoraRtcEngine.h:2285
agora::rtc::IRtcEngineEventHandler::onAudioQuality
virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay, unsigned short lost) __deprecated
Definition IAgoraRtcEngine.h:1639
agora::rtc::IRtcEngineEventHandler::onPermissionError
virtual void onPermissionError(PERMISSION_TYPE permissionType)
Definition IAgoraRtcEngine.h:2798
agora::rtc::IRtcEngineEventHandler::onTokenPrivilegeWillExpire
virtual void onTokenPrivilegeWillExpire(const char *token)
Definition IAgoraRtcEngine.h:2366
agora::rtc::IRtcEngineEventHandler::onConnectionInterrupted
virtual void onConnectionInterrupted() __deprecated
Definition IAgoraRtcEngine.h:2298
agora::rtc::IRtcEngineEventHandler::onLastmileQuality
virtual void onLastmileQuality(int quality)
Definition IAgoraRtcEngine.h:1839
agora::rtc::IRtcEngineEventHandler::onUserAccountUpdated
virtual void onUserAccountUpdated(uid_t uid, const char *userAccount)
Definition IAgoraRtcEngine.h:2835
agora::rtc::IRtcEngineEventHandler::onLocalPublishFallbackToAudioOnly
virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover)
Definition IAgoraRtcEngine.h:2658
agora::rtc::IRtcEngineEventHandler::onUserInfoUpdated
virtual void onUserInfoUpdated(uid_t uid, const UserInfo &info)
Definition IAgoraRtcEngine.h:2824
agora::rtc::IRtcEngineEventHandler::onWlAccStats
virtual void onWlAccStats(const WlAccStats &currentStats, const WlAccStats &averageStats)
Definition IAgoraRtcEngine.h:2760
agora::rtc::IRtcEngineEventHandler::onAudioDeviceStateChanged
virtual void onAudioDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition IAgoraRtcEngine.h:1720
agora::rtc::IRtcEngineEventHandler::onEncryptionError
virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType)
Definition IAgoraRtcEngine.h:2785
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoDecoded
virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) __deprecated
Definition IAgoraRtcEngine.h:1889
agora::rtc::IRtcEngineEventHandler::onRtcStats
virtual void onRtcStats(const RtcStats &stats)
Definition IAgoraRtcEngine.h:1705
agora::rtc::IRtcEngineEventHandler::onAudioMixingStateChanged
virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason)
Definition IAgoraRtcEngine.h:2259
agora::rtc::IRtcEngineEventHandler::onAudioSubscribeStateChanged
virtual void onAudioSubscribeStateChanged(const char *channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState)
Definition IAgoraRtcEngine.h:2885
agora::rtc::IRtcEngineEventHandler::onActiveSpeaker
virtual void onActiveSpeaker(uid_t uid)
Definition IAgoraRtcEngine.h:2481
agora::rtc::IRtcEngineEventHandler::onRemoteVideoStateChanged
virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed)
Definition IAgoraRtcEngine.h:1971
agora::rtc::IRtcEngineEventHandler::onVideoPublishStateChanged
virtual void onVideoPublishStateChanged(VIDEO_SOURCE_TYPE source, const char *channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)
Definition IAgoraRtcEngine.h:2934
agora::rtc::IRtcEngineEventHandler::onExtensionEventWithContext
virtual void onExtensionEventWithContext(const ExtensionContext &context, const char *key, const char *value)
Definition IAgoraRtcEngine.h:2982
agora::rtc::IRtcEngineEventHandler::onVideoSubscribeStateChanged
virtual void onVideoSubscribeStateChanged(const char *channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState)
Definition IAgoraRtcEngine.h:2902
agora::rtc::IRtcEngineEventHandler::onExtensionStartedWithContext
virtual void onExtensionStartedWithContext(const ExtensionContext &context)
Definition IAgoraRtcEngine.h:2995
agora::rtc::IRtcEngineEventHandler::onFacePositionChanged
virtual void onFacePositionChanged(int imageWidth, int imageHeight, const Rectangle *vecRectangle, const int *vecDistance, int numFaces)
Definition IAgoraRtcEngine.h:2233
agora::rtc::IRtcEngineEventHandler::onSetRtmFlagResult
virtual void onSetRtmFlagResult(int code)
Definition IAgoraRtcEngine.h:3032
agora::rtc::IRtcEngineEventHandler::onVideoRenderingTracingResult
virtual void onVideoRenderingTracingResult(uid_t uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo)
Definition IAgoraRtcEngine.h:2847
agora::rtc::IRtcEngineEventHandler::onConnectionStateChanged
virtual void onConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason)
Definition IAgoraRtcEngine.h:2737
agora::rtc::IRtcEngineEventHandler::onAudioPublishStateChanged
virtual void onAudioPublishStateChanged(const char *channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)
Definition IAgoraRtcEngine.h:2918
agora::rtc::IRtcEngineEventHandler::onNetworkTypeChanged
virtual void onNetworkTypeChanged(NETWORK_TYPE type)
Definition IAgoraRtcEngine.h:2774
agora::rtc::IRtcEngineEventHandler::onWlAccMessage
virtual void onWlAccMessage(WLACC_MESSAGE_REASON reason, WLACC_SUGGEST_ACTION action, const char *wlAccMsg)
Definition IAgoraRtcEngine.h:2749
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStats
virtual void onRemoteAudioStats(const RemoteAudioStats &stats)
Definition IAgoraRtcEngine.h:2120
agora::rtc::IRtcEngine
Definition IAgoraRtcEngine.h:3825
agora::rtc::IRtcEngine::setLocalAccessPoint
virtual int setLocalAccessPoint(const LocalAccessPointConfiguration &config)=0
agora::rtc::IRtcEngine::muteRemoteVideoStream
virtual int muteRemoteVideoStream(uid_t uid, bool mute)=0
agora::rtc::IRtcEngine::preloadEffect
virtual int preloadEffect(int soundId, const char *filePath, int startPos=0)=0
agora::rtc::IRtcEngine::setVolumeOfEffect
virtual int setVolumeOfEffect(int soundId, int volume)=0
agora::rtc::IRtcEngine::muteLocalAudioStream
virtual int muteLocalAudioStream(bool mute)=0
agora::rtc::IRtcEngine::startScreenCaptureByDisplayId
virtual int startScreenCaptureByDisplayId(int64_t displayId, const Rectangle &regionRect, const ScreenCaptureParameters &captureParams)=0
agora::rtc::IRtcEngine::setScreenCaptureContentHint
virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint)=0
agora::rtc::IRtcEngine::getFaceShapeAreaOptions
virtual int getFaceShapeAreaOptions(agora::rtc::FaceShapeAreaOptions::FACE_SHAPE_AREA shapeArea, FaceShapeAreaOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IRtcEngine::updateScreenCapture
virtual int updateScreenCapture(const ScreenCaptureParameters2 &captureParams)=0
agora::rtc::IRtcEngine::registerLocalUserAccount
virtual int registerLocalUserAccount(const char *appId, const char *userAccount)=0
agora::rtc::IRtcEngine::getEffectsVolume
virtual int getEffectsVolume()=0
agora::rtc::IRtcEngine::startRtmpStreamWithTranscoding
virtual int startRtmpStreamWithTranscoding(const char *url, const LiveTranscoding &transcoding)=0
agora::rtc::IRtcEngine::startScreenCaptureByWindowId
virtual int startScreenCaptureByWindowId(int64_t windowId, const Rectangle &regionRect, const ScreenCaptureParameters &captureParams)=0
agora::rtc::IRtcEngine::joinChannelWithUserAccountEx
virtual int joinChannelWithUserAccountEx(const char *token, const char *channelId, const char *userAccount, const ChannelMediaOptions &options, IRtcEngineEventHandler *eventHandler)=0
agora::rtc::IRtcEngine::setCameraTorchOn
virtual int setCameraTorchOn(bool isOn)=0
agora::rtc::IRtcEngine::setSubscribeAudioBlocklist
virtual int setSubscribeAudioBlocklist(uid_t *uidList, int uidNumber)=0
agora::rtc::IRtcEngine::enableCustomAudioLocalPlayback
virtual int enableCustomAudioLocalPlayback(track_id_t trackId, bool enabled)=0
agora::rtc::IRtcEngine::setExternalMediaProjection
virtual int setExternalMediaProjection(void *mediaProjection)=0
agora::rtc::IRtcEngine::joinChannelWithUserAccount
virtual int joinChannelWithUserAccount(const char *token, const char *channelId, const char *userAccount)=0
agora::rtc::IRtcEngine::setAudioMixingPlaybackSpeed
virtual int setAudioMixingPlaybackSpeed(int speed)=0
agora::rtc::IRtcEngine::enableLocalVideo
virtual int enableLocalVideo(bool enabled)=0
agora::rtc::IRtcEngine::getExtensionProperty
virtual int getExtensionProperty(const char *provider, const char *extension, const char *key, char *value, int buf_len, agora::media::MEDIA_SOURCE_TYPE type=agora::media::UNKNOWN_MEDIA_SOURCE)=0
agora::rtc::IRtcEngine::disableAudio
virtual int disableAudio()=0
agora::rtc::IRtcEngine::setCameraAutoExposureFaceModeEnabled
virtual int setCameraAutoExposureFaceModeEnabled(bool enabled)=0
agora::rtc::IRtcEngine::setScreenCaptureScenario
virtual int setScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario)=0
agora::rtc::IRtcEngine::setSubscribeAudioAllowlist
virtual int setSubscribeAudioAllowlist(uid_t *uidList, int uidNumber)=0
agora::rtc::IRtcEngine::stopDirectCdnStreaming
virtual int stopDirectCdnStreaming()=0
agora::rtc::IRtcEngine::setLogFileSize
virtual int setLogFileSize(unsigned int fileSizeInKBytes)=0
agora::rtc::IRtcEngine::selectAudioTrack
virtual int selectAudioTrack(int index)=0
agora::rtc::IRtcEngine::enableAudioVolumeIndication
virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad)=0
agora::rtc::IRtcEngine::updateLocalAudioMixerConfiguration
virtual int updateLocalAudioMixerConfiguration(const LocalAudioMixerConfiguration &config)=0
agora::rtc::IRtcEngine::registerAudioSpectrumObserver
virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
agora::rtc::IRtcEngine::setAudioMixingPitch
virtual int setAudioMixingPitch(int pitch)=0
agora::rtc::IRtcEngine::stopAudioFrameDump
virtual int stopAudioFrameDump(const char *channel_id, uid_t uid, const char *location)=0
agora::rtc::IRtcEngine::startRhythmPlayer
virtual int startRhythmPlayer(const char *sound1, const char *sound2, const AgoraRhythmPlayerConfig &config)=0
agora::rtc::IRtcEngine::stopCameraCapture
virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType)=0
agora::rtc::IRtcEngine::isCameraZoomSupported
virtual bool isCameraZoomSupported()=0
agora::rtc::IRtcEngine::setAINSMode
virtual int setAINSMode(bool enabled, AUDIO_AINS_MODE mode)=0
agora::rtc::IRtcEngine::setRemoteRenderMode
virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
agora::rtc::IRtcEngine::stopAudioMixing
virtual int stopAudioMixing()=0
agora::rtc::IRtcEngine::startAudioRecording
virtual int startAudioRecording(const char *filePath, AUDIO_RECORDING_QUALITY_TYPE quality)=0
agora::rtc::IRtcEngine::setDualStreamMode
virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode)=0
agora::rtc::IRtcEngine::setRecordingAudioFrameParameters
virtual int setRecordingAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
agora::rtc::IRtcEngine::setEnableSpeakerphone
virtual int setEnableSpeakerphone(bool speakerOn)=0
agora::rtc::IRtcEngine::setFaceShapeBeautyOptions
virtual int setFaceShapeBeautyOptions(bool enabled, const FaceShapeBeautyOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IRtcEngine::resumeAllEffects
virtual int resumeAllEffects()=0
agora::rtc::IRtcEngine::createVideoEffectObject
virtual agora_refptr< IVideoEffectObject > createVideoEffectObject(const char *bundlePath, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
Creates a video effect object and returns its pointer.
agora::rtc::IRtcEngine::queryCodecCapability
virtual int queryCodecCapability(CodecCapInfo *codecInfo, int &size)=0
agora::rtc::IRtcEngine::uploadLogFile
virtual int uploadLogFile(agora::util::AString &requestId)=0
agora::rtc::IRtcEngine::setDualStreamMode
virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode, const SimulcastStreamConfig &streamConfig)=0
agora::rtc::IRtcEngine::getFaceShapeBeautyOptions
virtual int getFaceShapeBeautyOptions(FaceShapeBeautyOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IRtcEngine::getVersion
virtual const char * getVersion(int *build)=0
agora::rtc::IRtcEngine::addVideoWatermark
virtual int addVideoWatermark(const char *watermarkUrl, const WatermarkOptions &options)=0
agora::rtc::IRtcEngine::setBeautyEffectOptions
virtual int setBeautyEffectOptions(bool enabled, const BeautyOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IRtcEngine::setEarMonitoringAudioFrameParameters
virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
agora::rtc::IRtcEngine::enableVideoImageSource
virtual int enableVideoImageSource(bool enable, const ImageTrackOptions &options)=0
enable or disable video image source to replace the current video source published or resume it
agora::rtc::IRtcEngine::setSimulcastConfig
virtual int setSimulcastConfig(const SimulcastConfig &simulcastConfig)=0
agora::rtc::IRtcEngine::startEchoTest
virtual int startEchoTest(const EchoTestConfiguration &config)=0
agora::rtc::IRtcEngine::startLocalAudioMixer
virtual int startLocalAudioMixer(const LocalAudioMixerConfiguration &config)=0
agora::rtc::IRtcEngine::startAudioRecording
virtual int startAudioRecording(const char *filePath, int sampleRate, AUDIO_RECORDING_QUALITY_TYPE quality)=0
agora::rtc::IRtcEngine::pauseEffect
virtual int pauseEffect(int soundId)=0
agora::rtc::IRtcEngine::setHeadphoneEQPreset
virtual int setHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset)=0
agora::rtc::IRtcEngine::muteRecordingSignal
virtual int muteRecordingSignal(bool mute)=0
agora::rtc::IRtcEngine::muteRemoteAudioStream
virtual int muteRemoteAudioStream(uid_t uid, bool mute)=0
agora::rtc::IRtcEngine::joinChannel
virtual int joinChannel(const char *token, const char *channelId, uid_t uid, const ChannelMediaOptions &options)=0
agora::rtc::IRtcEngine::startLocalVideoTranscoder
virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration &config)=0
agora::rtc::IRtcEngine::enableDualStreamMode
virtual int enableDualStreamMode(bool enabled) __deprecated=0
agora::rtc::IRtcEngine::setInEarMonitoringVolume
virtual int setInEarMonitoringVolume(int volume)=0
agora::rtc::IRtcEngine::isCameraTorchSupported
virtual bool isCameraTorchSupported()=0
agora::rtc::IRtcEngine::stopLocalVideoTranscoder
virtual int stopLocalVideoTranscoder()=0
agora::rtc::IRtcEngine::updateChannelMediaOptions
virtual int updateChannelMediaOptions(const ChannelMediaOptions &options)=0
agora::rtc::IRtcEngine::setColorEnhanceOptions
virtual int setColorEnhanceOptions(bool enabled, const ColorEnhanceOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IRtcEngine::setLocalVoicePitch
virtual int setLocalVoicePitch(double pitch)=0
agora::rtc::IRtcEngine::queryDeviceScore
virtual int queryDeviceScore()=0
agora::rtc::IRtcEngine::enableCameraCenterStage
virtual int enableCameraCenterStage(bool enabled)=0
agora::rtc::IRtcEngine::switchCamera
virtual int switchCamera()=0
agora::rtc::IRtcEngine::startMediaRenderingTracing
virtual int startMediaRenderingTracing()=0
Start tracing media rendering events.
agora::rtc::IRtcEngine::setHeadphoneEQParameters
virtual int setHeadphoneEQParameters(int lowGain, int highGain)=0
agora::rtc::IRtcEngine::playEffect
virtual int playEffect(int soundId, const char *filePath, int loopCount, double pitch, double pan, int gain, bool publish=false, int startPos=0)=0
agora::rtc::IRtcEngine::setVoiceConversionParameters
virtual int setVoiceConversionParameters(VOICE_CONVERSION_PRESET preset, int param1, int param2)=0
agora::rtc::IRtcEngine::addVideoWatermark
virtual int addVideoWatermark(const RtcImage &watermark) __deprecated=0
agora::rtc::IRtcEngine::setLocalVoiceReverb
virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value)=0
agora::rtc::IRtcEngine::getEffectDuration
virtual int getEffectDuration(const char *filePath)=0
agora::rtc::IRtcEngine::setAudioMixingDualMonoMode
virtual int setAudioMixingDualMonoMode(media::AUDIO_MIXING_DUAL_MONO_MODE mode)=0
agora::rtc::IRtcEngine::isCameraCenterStageSupported
virtual bool isCameraCenterStageSupported()=0
agora::rtc::IRtcEngine::getConnectionState
virtual CONNECTION_STATE_TYPE getConnectionState()=0
agora::rtc::IRtcEngine::setExtensionProviderProperty
virtual int setExtensionProviderProperty(const char *provider, const char *key, const char *value)=0
agora::rtc::IRtcEngine::leaveChannel
virtual int leaveChannel()=0
agora::rtc::IRtcEngine::setLocalVoiceFormant
virtual int setLocalVoiceFormant(double formantRatio)=0
agora::rtc::IRtcEngine::adjustAudioMixingVolume
virtual int adjustAudioMixingVolume(int volume)=0
agora::rtc::IRtcEngine::enableMultiCamera
virtual int enableMultiCamera(bool enabled, const CameraCapturerConfiguration &config)=0
agora::rtc::IRtcEngine::resumeAudio
virtual int resumeAudio() __deprecated=0
agora::rtc::IRtcEngine::setVoiceBeautifierPreset
virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset)=0
agora::rtc::IRtcEngine::setRemoteUserSpatialAudioParams
virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams &params)=0
agora::rtc::IRtcEngine::createDataStream
virtual int createDataStream(int *streamId, bool reliable, bool ordered)=0
agora::rtc::IRtcEngine::takeSnapshot
virtual int takeSnapshot(uid_t uid, const char *filePath)=0
agora::rtc::IRtcEngine::resumeAudioMixing
virtual int resumeAudioMixing()=0
agora::rtc::IRtcEngine::enableWebSdkInteroperability
virtual int enableWebSdkInteroperability(bool enabled) __deprecated=0
agora::rtc::IRtcEngine::destroyCustomVideoTrack
virtual int destroyCustomVideoTrack(video_track_id_t video_track_id)=0
agora::rtc::IRtcEngine::setFilterEffectOptions
virtual int setFilterEffectOptions(bool enabled, const FilterEffectOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IRtcEngine::setAudioEffectPreset
virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset)=0
agora::rtc::IRtcEngine::setCameraExposureFactor
virtual int setCameraExposureFactor(float factor)=0
agora::rtc::IRtcEngine::resumeEffect
virtual int resumeEffect(int soundId)=0
agora::rtc::IRtcEngine::pauseAllChannelMediaRelay
virtual int pauseAllChannelMediaRelay()=0
agora::rtc::IRtcEngine::setCameraZoomFactor
virtual int setCameraZoomFactor(float factor)=0
agora::rtc::IRtcEngine::getAudioMixingDuration
virtual int getAudioMixingDuration()=0
agora::rtc::IRtcEngine::writeLog
virtual int writeLog(commons::LOG_LEVEL level, const char *fmt,...)=0
agora::rtc::IRtcEngine::enableExtension
virtual int enableExtension(const char *provider, const char *extension, bool enable=true, agora::media::MEDIA_SOURCE_TYPE type=agora::media::UNKNOWN_MEDIA_SOURCE)=0
agora::rtc::IRtcEngine::setDirectCdnStreamingVideoConfiguration
virtual int setDirectCdnStreamingVideoConfiguration(const VideoEncoderConfiguration &config)=0
agora::rtc::IRtcEngine::setAudioMixingPosition
virtual int setAudioMixingPosition(int pos)=0
agora::rtc::IRtcEngine::adjustCustomAudioPlayoutVolume
virtual int adjustCustomAudioPlayoutVolume(track_id_t trackId, int volume)=0
agora::rtc::IRtcEngine::unregisterAudioSpectrumObserver
virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
agora::rtc::IRtcEngine::setHighPriorityUserList
virtual int setHighPriorityUserList(uid_t *uidList, int uidNum, STREAM_FALLBACK_OPTIONS option)=0
agora::rtc::IRtcEngine::setLocalPublishFallbackOption
virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option)=0
agora::rtc::IRtcEngine::sendStreamMessage
virtual int sendStreamMessage(int streamId, const char *data, size_t length)=0
agora::rtc::IRtcEngine::enableVirtualBackground
virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IRtcEngine::updateLocalTranscoderConfiguration
virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration &config)=0
agora::rtc::IRtcEngine::enableAudioSpectrumMonitor
virtual int enableAudioSpectrumMonitor(int intervalInMS=100)=0
agora::rtc::IRtcEngine::destroyMediaPlayer
virtual int destroyMediaPlayer(agora_refptr< IMediaPlayer > media_player)=0
agora::rtc::IRtcEngine::queryInterface
virtual int queryInterface(INTERFACE_ID_TYPE iid, void **inter)=0
agora::rtc::IRtcEngine::setRemoteRenderTargetFps
virtual int setRemoteRenderTargetFps(int targetFps)=0
agora::rtc::IRtcEngine::setupLocalVideo
virtual int setupLocalVideo(const VideoCanvas &canvas)=0
agora::rtc::IRtcEngine::rate
virtual int rate(const char *callId, int rating, const char *description)=0
agora::rtc::IRtcEngine::muteLocalVideoStream
virtual int muteLocalVideoStream(bool mute)=0
agora::rtc::IRtcEngine::pauseAudio
virtual int pauseAudio() __deprecated=0
agora::rtc::IRtcEngine::stopScreenCapture
virtual int stopScreenCapture()=0
agora::rtc::IRtcEngine::getUserInfoByUid
virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo *userInfo)=0
agora::rtc::IRtcEngine::getErrorDescription
virtual const char * getErrorDescription(int code)=0
agora::rtc::IRtcEngine::setRemoteVideoStreamType
virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType)=0
agora::rtc::IRtcEngine::setAudioProfile
virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) __deprecated=0
agora::rtc::IRtcEngine::enableVideo
virtual int enableVideo()=0
agora::rtc::IRtcEngine::getAudioTrackCount
virtual int getAudioTrackCount()=0
agora::rtc::IRtcEngine::setClientRole
virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions &options)=0
agora::rtc::IRtcEngine::setDefaultAudioRouteToSpeakerphone
virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker)=0
agora::rtc::IRtcEngine::setAudioScenario
virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario)=0
agora::rtc::IRtcEngine::startScreenCapture
virtual int startScreenCapture(const ScreenCaptureParameters2 &captureParams)=0
agora::rtc::IRtcEngine::registerMediaMetadataObserver
virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type)=0
agora::rtc::IRtcEngine::destroyCustomEncodedVideoTrack
virtual int destroyCustomEncodedVideoTrack(video_track_id_t video_track_id)=0
agora::rtc::IRtcEngine::startScreenCaptureByScreenRect
virtual int startScreenCaptureByScreenRect(const Rectangle &screenRect, const Rectangle &regionRect, const ScreenCaptureParameters &captureParams) __deprecated=0
agora::rtc::IRtcEngine::adjustAudioMixingPlayoutVolume
virtual int adjustAudioMixingPlayoutVolume(int volume)=0
agora::rtc::IRtcEngine::updateRtmpTranscoding
virtual int updateRtmpTranscoding(const LiveTranscoding &transcoding)=0
agora::rtc::IRtcEngine::enableLoopbackRecording
virtual int enableLoopbackRecording(bool enabled, const char *deviceName=NULL)=0
agora::rtc::IRtcEngine::startAudioMixing
virtual int startAudioMixing(const char *filePath, bool loopback, int cycle)=0
agora::rtc::IRtcEngine::setLocalRenderMode
virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) __deprecated=0
agora::rtc::IRtcEngine::stopAllEffects
virtual int stopAllEffects()=0
agora::rtc::IRtcEngine::startAudioMixing
virtual int startAudioMixing(const char *filePath, bool loopback, int cycle, int startPos)=0
agora::rtc::IRtcEngine::preloadChannel
virtual int preloadChannel(const char *token, const char *channelId, uid_t uid)=0
agora::rtc::IRtcEngine::muteAllRemoteVideoStreams
virtual int muteAllRemoteVideoStreams(bool mute)=0
agora::rtc::IRtcEngine::setClientRole
virtual int setClientRole(CLIENT_ROLE_TYPE role)=0
agora::rtc::IRtcEngine::getNetworkType
virtual int getNetworkType()=0
agora::rtc::IRtcEngine::preloadChannelWithUserAccount
virtual int preloadChannelWithUserAccount(const char *token, const char *channelId, const char *userAccount)=0
agora::rtc::IRtcEngine::setFaceShapeAreaOptions
virtual int setFaceShapeAreaOptions(const FaceShapeAreaOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IRtcEngine::queryHDRCapability
virtual int queryHDRCapability(VIDEO_MODULE_TYPE videoModule, HDR_CAPABILITY &capability)=0
Queries the HDR capability of the video module.
agora::rtc::IRtcEngine::setLocalVoiceEqualization
virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain)=0
agora::rtc::IRtcEngine::unloadAllEffects
virtual int unloadAllEffects()=0
agora::rtc::IRtcEngine::setLocalVideoMirrorMode
virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) __deprecated=0
agora::rtc::IRtcEngine::renewToken
virtual int renewToken(const char *token)=0
agora::rtc::IRtcEngine::isFeatureAvailableOnDevice
virtual bool isFeatureAvailableOnDevice(FeatureType type)=0
Whether the target feature is available for the device.
agora::rtc::IRtcEngine::enableWirelessAccelerate
virtual int enableWirelessAccelerate(bool enabled)=0
agora::rtc::IRtcEngine::isCameraAutoExposureFaceModeSupported
virtual bool isCameraAutoExposureFaceModeSupported()=0
agora::rtc::IRtcEngine::registerAudioEncodedFrameObserver
virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig &config, IAudioEncodedFrameObserver *observer)=0
agora::rtc::IRtcEngine::startDirectCdnStreaming
virtual int startDirectCdnStreaming(IDirectCdnStreamingEventHandler *eventHandler, const char *publishUrl, const DirectCdnStreamingMediaOptions &options)=0
agora::rtc::IRtcEngine::resumeAllChannelMediaRelay
virtual int resumeAllChannelMediaRelay()=0
agora::rtc::IRtcEngine::stopScreenCapture
virtual int stopScreenCapture(VIDEO_SOURCE_TYPE sourceType)=0
agora::rtc::IRtcEngine::createCustomVideoTrack
virtual video_track_id_t createCustomVideoTrack()=0
agora::rtc::IRtcEngine::stopLastmileProbeTest
virtual int stopLastmileProbeTest()=0
agora::rtc::IRtcEngine::registerPacketObserver
virtual int registerPacketObserver(IPacketObserver *observer)=0
agora::rtc::IRtcEngine::adjustLoopbackSignalVolume
virtual int adjustLoopbackSignalVolume(int volume)=0
agora::rtc::IRtcEngine::adjustPlaybackSignalVolume
virtual int adjustPlaybackSignalVolume(int volume)=0
agora::rtc::IRtcEngine::enableAudio
virtual int enableAudio()=0
agora::rtc::IRtcEngine::setRemoteVideoSubscriptionOptions
virtual int setRemoteVideoSubscriptionOptions(uid_t uid, const VideoSubscriptionOptions &options)=0
agora::rtc::IRtcEngine::setVideoEncoderConfiguration
virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration &config)=0
agora::rtc::IRtcEngine::setRemoteDefaultVideoStreamType
virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType)=0
agora::rtc::IRtcEngine::enableDualStreamMode
virtual int enableDualStreamMode(bool enabled, const SimulcastStreamConfig &streamConfig) __deprecated=0
agora::rtc::IRtcEngine::enableVoiceAITuner
virtual int enableVoiceAITuner(bool enabled, VOICE_AI_TUNER_TYPE type)=0
agora::rtc::IRtcEngine::setAudioEffectParameters
virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2)=0
agora::rtc::IRtcEngine::adjustAudioMixingPublishVolume
virtual int adjustAudioMixingPublishVolume(int volume)=0
agora::rtc::IRtcEngine::setExtensionProperty
virtual int setExtensionProperty(const char *provider, const char *extension, const char *key, const char *value, agora::media::MEDIA_SOURCE_TYPE type=agora::media::UNKNOWN_MEDIA_SOURCE)=0
agora::rtc::IRtcEngine::setCameraFocusPositionInPreview
virtual int setCameraFocusPositionInPreview(float positionX, float positionY)=0
agora::rtc::IRtcEngine::isCameraFocusSupported
virtual bool isCameraFocusSupported()=0
agora::rtc::IRtcEngine::getExtensionProperty
virtual int getExtensionProperty(const char *provider, const char *extension, const ExtensionInfo &extensionInfo, const char *key, char *value, int buf_len)=0
agora::rtc::IRtcEngine::setCameraAutoFocusFaceModeEnabled
virtual int setCameraAutoFocusFaceModeEnabled(bool enabled)=0
agora::rtc::IRtcEngine::unloadEffect
virtual int unloadEffect(int soundId)=0
agora::rtc::IRtcEngine::setPlaybackAudioFrameParameters
virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
agora::rtc::IRtcEngine::enableLocalAudio
virtual int enableLocalAudio(bool enabled)=0
agora::rtc::IRtcEngine::getAudioMixingPublishVolume
virtual int getAudioMixingPublishVolume()=0
agora::rtc::IRtcEngine::setAdvancedAudioOptions
virtual int setAdvancedAudioOptions(AdvancedAudioOptions &options, int sourceType=0)=0
agora::rtc::IRtcEngine::release
static AGORA_CPP_API void release(RtcEngineReleaseCallback callback=nullptr)
agora::rtc::IRtcEngine::getScreenCaptureSources
virtual IScreenCaptureSourceList * getScreenCaptureSources(const SIZE &thumbSize, const SIZE &iconSize, const bool includeScreen)=0
agora::rtc::IRtcEngine::setCameraCapturerConfiguration
virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration &config)=0
agora::rtc::IRtcEngine::setChannelProfile
virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile)=0
agora::rtc::IRtcEngine::setDirectCdnStreamingAudioConfiguration
virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile)=0
agora::rtc::IRtcEngine::startPreview
virtual int startPreview()=0
agora::rtc::IRtcEngine::adjustCustomAudioPublishVolume
virtual int adjustCustomAudioPublishVolume(track_id_t trackId, int volume)=0
agora::rtc::IRtcEngine::getAudioMixingCurrentPosition
virtual int getAudioMixingCurrentPosition()=0
agora::rtc::IRtcEngine::isSpeakerphoneEnabled
virtual bool isSpeakerphoneEnabled()=0
agora::rtc::IRtcEngine::unregisterEventHandler
virtual bool unregisterEventHandler(IRtcEngineEventHandler *eventHandler)=0
agora::rtc::IRtcEngine::updateDirectCdnStreamingMediaOptions
virtual int updateDirectCdnStreamingMediaOptions(const DirectCdnStreamingMediaOptions &options)=0
agora::rtc::IRtcEngine::registerExtension
virtual int registerExtension(const char *provider, const char *extension, agora::media::MEDIA_SOURCE_TYPE type=agora::media::UNKNOWN_MEDIA_SOURCE)=0
agora::rtc::IRtcEngine::disableAudioSpectrumMonitor
virtual int disableAudioSpectrumMonitor()=0
agora::rtc::IRtcEngine::setCameraDeviceOrientation
virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation)=0
agora::rtc::IRtcEngine::stopPreview
virtual int stopPreview()=0
agora::rtc::IRtcEngine::setVideoDenoiserOptions
virtual int setVideoDenoiserOptions(bool enabled, const VideoDenoiserOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IRtcEngine::stopRhythmPlayer
virtual int stopRhythmPlayer()=0
agora::rtc::IRtcEngine::enableInEarMonitoring
virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters)=0
agora::rtc::IRtcEngine::enableInstantMediaRendering
virtual int enableInstantMediaRendering()=0
Enable instant media rendering.
agora::rtc::IRtcEngine::stopChannelMediaRelay
virtual int stopChannelMediaRelay()=0
agora::rtc::IRtcEngine::getVolumeOfEffect
virtual int getVolumeOfEffect(int soundId)=0
agora::rtc::IRtcEngine::configRhythmPlayer
virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig &config)=0
agora::rtc::IRtcEngine::complain
virtual int complain(const char *callId, const char *description)=0
agora::rtc::IRtcEngine::pauseAudioMixing
virtual int pauseAudioMixing()=0
agora::rtc::IRtcEngine::setAVSyncSource
virtual int setAVSyncSource(const char *channelId, uid_t uid)=0
agora::rtc::IRtcEngine::stopRtmpStream
virtual int stopRtmpStream(const char *url)=0
agora::rtc::IRtcEngine::playAllEffects
virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish=false)=0
agora::rtc::IRtcEngine::isCameraExposurePositionSupported
virtual bool isCameraExposurePositionSupported()=0
agora::rtc::IRtcEngine::setLowlightEnhanceOptions
virtual int setLowlightEnhanceOptions(bool enabled, const LowlightEnhanceOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IRtcEngine::setCameraStabilizationMode
virtual int setCameraStabilizationMode(CAMERA_STABILIZATION_MODE mode)=0
agora::rtc::IRtcEngine::getEffectCurrentPosition
virtual int getEffectCurrentPosition(int soundId)=0
agora::rtc::IRtcEngine::destroyVideoEffectObject
virtual int destroyVideoEffectObject(agora_refptr< IVideoEffectObject > videoEffectObject)=0
Destroys a video effect object.
agora::rtc::IRtcEngine::setRouteInCommunicationMode
virtual int setRouteInCommunicationMode(int route)=0
agora::rtc::IRtcEngine::adjustUserPlaybackSignalVolume
virtual int adjustUserPlaybackSignalVolume(uid_t uid, int volume)=0
agora::rtc::IRtcEngine::muteAllRemoteAudioStreams
virtual int muteAllRemoteAudioStreams(bool mute)=0
agora::rtc::IRtcEngine::enableContentInspect
virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config)=0
agora::rtc::IRtcEngine::setupRemoteVideo
virtual int setupRemoteVideo(const VideoCanvas &canvas)=0
agora::rtc::IRtcEngine::setSubscribeVideoBlocklist
virtual int setSubscribeVideoBlocklist(uid_t *uidList, int uidNumber)=0
agora::rtc::IRtcEngine::queryCameraFocalLengthCapability
virtual int queryCameraFocalLengthCapability(agora::rtc::FocalLengthInfo *focalLengthInfos, int &size)=0
agora::rtc::IRtcEngine::enableSoundPositionIndication
virtual int enableSoundPositionIndication(bool enabled)=0
agora::rtc::IRtcEngine::stopPreview
virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType)=0
agora::rtc::IRtcEngine::destroyMediaRecorder
virtual int destroyMediaRecorder(agora_refptr< IMediaRecorder > mediaRecorder)=0
agora::rtc::IRtcEngine::getCurrentMonotonicTimeInMs
virtual int64_t getCurrentMonotonicTimeInMs()=0
agora::rtc::IRtcEngine::setRemoteVoicePosition
virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain)=0
agora::rtc::IRtcEngine::enableExtension
virtual int enableExtension(const char *provider, const char *extension, const ExtensionInfo &extensionInfo, bool enable=true)=0
agora::rtc::IRtcEngine::enableSpatialAudio
virtual int enableSpatialAudio(bool enabled)=0
agora::rtc::IRtcEngine::initialize
virtual int initialize(const RtcEngineContext &context)=0
agora::rtc::IRtcEngine::disableVideo
virtual int disableVideo()=0
agora::rtc::IRtcEngine::getLoopbackRecordingVolume
virtual int getLoopbackRecordingVolume()=0
agora::rtc::IRtcEngine::createMediaRecorder
virtual agora_refptr< IMediaRecorder > createMediaRecorder(const RecorderStreamInfo &info)=0
agora::rtc::IRtcEngine::isCameraAutoFocusFaceModeSupported
virtual bool isCameraAutoFocusFaceModeSupported()=0
agora::rtc::IRtcEngine::getCameraMaxZoomFactor
virtual float getCameraMaxZoomFactor()=0
agora::rtc::IRtcEngine::getUserInfoByUserAccount
virtual int getUserInfoByUserAccount(const char *userAccount, rtc::UserInfo *userInfo)=0
agora::rtc::IRtcEngine::startOrUpdateChannelMediaRelay
virtual int startOrUpdateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration)=0
agora::rtc::IRtcEngine::setEffectPosition
virtual int setEffectPosition(int soundId, int pos)=0
agora::rtc::IRtcEngine::startAudioRecording
virtual int startAudioRecording(const AudioRecordingConfiguration &config)=0
agora::rtc::IRtcEngine::unregisterMediaMetadataObserver
virtual int unregisterMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type)=0
agora::rtc::IRtcEngine::getAudioDeviceInfo
virtual int getAudioDeviceInfo(DeviceInfo &deviceInfo)=0
agora::rtc::IRtcEngine::createDataStream
virtual int createDataStream(int *streamId, const DataStreamConfig &config)=0
agora::rtc::IRtcEngine::adjustRecordingSignalVolume
virtual int adjustRecordingSignalVolume(int volume)=0
agora::rtc::IRtcEngine::setVideoScenario
virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType)=0
agora::rtc::IRtcEngine::setLogFilter
virtual int setLogFilter(unsigned int filter)=0
agora::rtc::IRtcEngine::startRtmpStreamWithoutTranscoding
virtual int startRtmpStreamWithoutTranscoding(const char *url)=0
agora::rtc::IRtcEngine::startCameraCapture
virtual int startCameraCapture(VIDEO_SOURCE_TYPE sourceType, const CameraCapturerConfiguration &config)=0
agora::rtc::IRtcEngine::startPreview
virtual int startPreview(VIDEO_SOURCE_TYPE sourceType)=0
agora::rtc::IRtcEngine::enableFaceDetection
virtual int enableFaceDetection(bool enabled)=0
agora::rtc::IRtcEngine::isCameraFaceDetectSupported
virtual bool isCameraFaceDetectSupported()=0
agora::rtc::IRtcEngine::setLocalRenderMode
virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
agora::rtc::IRtcEngine::queryScreenCaptureCapability
virtual int queryScreenCaptureCapability()=0
agora::rtc::IRtcEngine::leaveChannel
virtual int leaveChannel(const LeaveChannelOptions &options)=0
agora::rtc::IRtcEngine::enableEncryption
virtual int enableEncryption(bool enabled, const EncryptionConfig &config)=0
agora::rtc::IRtcEngine::updateScreenCaptureParameters
virtual int updateScreenCaptureParameters(const ScreenCaptureParameters &captureParams)=0
agora::rtc::IRtcEngine::pauseAllEffects
virtual int pauseAllEffects()=0
agora::rtc::IRtcEngine::stopEffect
virtual int stopEffect(int soundId)=0
agora::rtc::IRtcEngine::createCustomEncodedVideoTrack
virtual video_track_id_t createCustomEncodedVideoTrack(const SenderOptions &sender_option)=0
agora::rtc::IRtcEngine::setCameraExposurePosition
virtual int setCameraExposurePosition(float positionXinView, float positionYinView)=0
agora::rtc::IRtcEngine::startScreenCapture
virtual int startScreenCapture(VIDEO_SOURCE_TYPE sourceType, const ScreenCaptureConfiguration &config)=0
agora::rtc::IRtcEngine::stopAudioRecording
virtual int stopAudioRecording()=0
agora::rtc::IRtcEngine::startLastmileProbeTest
virtual int startLastmileProbeTest(const LastmileProbeConfig &config)=0
agora::rtc::IRtcEngine::joinChannel
virtual int joinChannel(const char *token, const char *channelId, const char *info, uid_t uid)=0
agora::rtc::IRtcEngine::setVideoQoEPreference
virtual int setVideoQoEPreference(VIDEO_QOE_PREFERENCE_TYPE qoePreference)=0
agora::rtc::IRtcEngine::setEffectsVolume
virtual int setEffectsVolume(int volume)=0
agora::rtc::IRtcEngine::setScreenCaptureOrientation
virtual int setScreenCaptureOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation)=0
agora::rtc::IRtcEngine::registerEventHandler
virtual bool registerEventHandler(IRtcEngineEventHandler *eventHandler)=0
agora::rtc::IRtcEngine::setLocalRenderTargetFps
virtual int setLocalRenderTargetFps(VIDEO_SOURCE_TYPE sourceType, int targetFps)=0
agora::rtc::IRtcEngine::loadExtensionProvider
virtual int loadExtensionProvider(const char *path, bool unload_after_use=false)=0
agora::rtc::IRtcEngine::updateScreenCaptureRegion
virtual int updateScreenCaptureRegion(const Rectangle &regionRect)=0
agora::rtc::IRtcEngine::setSubscribeVideoAllowlist
virtual int setSubscribeVideoAllowlist(uid_t *uidList, int uidNumber)=0
agora::rtc::IRtcEngine::setParameters
virtual int setParameters(const char *parameters)=0
agora::rtc::IRtcEngine::getNtpWallTimeInMs
virtual uint64_t getNtpWallTimeInMs()=0
agora::rtc::IRtcEngine::setLogFile
virtual int setLogFile(const char *filePath)=0
agora::rtc::IRtcEngine::stopEchoTest
virtual int stopEchoTest()=0
agora::rtc::IRtcEngine::clearVideoWatermarks
virtual int clearVideoWatermarks()=0
agora::rtc::IRtcEngine::sendAudioMetadata
virtual int sendAudioMetadata(const char *metadata, size_t length)=0
send audio metadata
agora::rtc::IRtcEngine::createMediaPlayer
virtual agora_refptr< IMediaPlayer > createMediaPlayer()=0
agora::rtc::IRtcEngine::setRemoteUserPriority
virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority)=0
agora::rtc::IRtcEngine::getAudioMixingPlayoutVolume
virtual int getAudioMixingPlayoutVolume()=0
agora::rtc::IRtcEngine::setVoiceConversionPreset
virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset)=0
agora::rtc::IRtcEngine::updatePreloadChannelToken
virtual int updatePreloadChannelToken(const char *token)=0
agora::rtc::IRtcEngine::isCameraExposureSupported
virtual bool isCameraExposureSupported()=0
agora::rtc::IRtcEngine::startAudioFrameDump
virtual int startAudioFrameDump(const char *channel_id, uid_t uid, const char *location, const char *uuid, const char *passwd, long duration_ms, bool auto_upload)=0
agora::rtc::IRtcEngine::setLogLevel
virtual int setLogLevel(commons::LOG_LEVEL level)=0
agora::rtc::IRtcEngine::setAudioSessionOperationRestriction
virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction)=0
agora::rtc::IRtcEngine::getCallId
virtual int getCallId(agora::util::AString &callId)=0
agora::rtc::IRtcEngine::setPlaybackAudioFrameBeforeMixingParameters
virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel)=0
agora::rtc::IRtcEngine::setMixedAudioFrameParameters
virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall)=0
agora::rtc::IRtcEngine::sendCustomReportMessage
virtual int sendCustomReportMessage(const char *id, const char *category, const char *event, const char *label, int value)=0
agora::rtc::IRtcEngine::setRemoteSubscribeFallbackOption
virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option)=0
agora::rtc::IRtcEngine::setExtensionProperty
virtual int setExtensionProperty(const char *provider, const char *extension, const ExtensionInfo &extensionInfo, const char *key, const char *value)=0
agora::rtc::IRtcEngine::stopLocalAudioMixer
virtual int stopLocalAudioMixer()=0
agora::rtc::IRtcEngine::setVoiceBeautifierParameters
virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2)=0
agora::rtc::IRtcEngine::setAudioProfile
virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile)=0
agora::rtc::IRtcEngine::setCloudProxy
virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType)=0
agora::rtc::IScreenCaptureSourceList
Definition IAgoraRtcEngine.h:1002
agora::rtc::IScreenCaptureSourceList::getCount
virtual unsigned int getCount()=0
agora::rtc::IScreenCaptureSourceList::~IScreenCaptureSourceList
virtual ~IScreenCaptureSourceList()
Definition IAgoraRtcEngine.h:1004
agora::rtc::IScreenCaptureSourceList::getSourceInfo
virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index)=0
agora::rtc::IScreenCaptureSourceList::release
virtual void release()=0
agora::rtc::IVideoDeviceCollection
Definition IAgoraRtcEngine.h:3051
agora::rtc::IVideoDeviceCollection::setDevice
virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IVideoDeviceCollection::release
virtual void release()=0
agora::rtc::IVideoDeviceCollection::getDevice
virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH], char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IVideoDeviceCollection::getCount
virtual int getCount()=0
agora::rtc::IVideoDeviceCollection::~IVideoDeviceCollection
virtual ~IVideoDeviceCollection()
Definition IAgoraRtcEngine.h:3053
agora::rtc::IVideoDeviceManager
Definition IAgoraRtcEngine.h:3095
agora::rtc::IVideoDeviceManager::setDevice
virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IVideoDeviceManager::enumerateVideoDevices
virtual IVideoDeviceCollection * enumerateVideoDevices()=0
agora::rtc::IVideoDeviceManager::getDevice
virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IVideoDeviceManager::~IVideoDeviceManager
virtual ~IVideoDeviceManager()
Definition IAgoraRtcEngine.h:3097
agora::rtc::IVideoDeviceManager::release
virtual void release()=0
agora::rtc::IVideoDeviceManager::startDeviceTest
virtual int startDeviceTest(view_t hwnd)=0
agora::rtc::IVideoDeviceManager::getCapability
virtual int getCapability(const char *deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat &capability)=0
agora::rtc::IVideoDeviceManager::stopDeviceTest
virtual int stopDeviceTest()=0
agora::rtc::IVideoDeviceManager::numberOfCapabilities
virtual int numberOfCapabilities(const char *deviceIdUTF8)=0
agora::rtc::IVideoEffectObject
Provides methods to manage and configure video effects, such as beauty, style makeup,...
Definition IAgoraRtcEngine.h:3207
agora::rtc::IVideoEffectObject::VIDEO_EFFECT_NODE_ID
VIDEO_EFFECT_NODE_ID
Types of video effect nodes that can be applied.
Definition IAgoraRtcEngine.h:3216
agora::rtc::IVideoEffectObject::VIDEO_EFFECT_NODE_ID::STYLE_MAKEUP
@ STYLE_MAKEUP
Definition IAgoraRtcEngine.h:3220
agora::rtc::IVideoEffectObject::VIDEO_EFFECT_NODE_ID::FILTER
@ FILTER
Definition IAgoraRtcEngine.h:3222
agora::rtc::IVideoEffectObject::VIDEO_EFFECT_NODE_ID::BEAUTY
@ BEAUTY
Definition IAgoraRtcEngine.h:3218
agora::rtc::IVideoEffectObject::VIDEO_EFFECT_NODE_ID::STICKER
@ STICKER
Definition IAgoraRtcEngine.h:3224
agora::rtc::IVideoEffectObject::setVideoEffectFloatParam
virtual int setVideoEffectFloatParam(const char *option, const char *key, float param)=0
Sets a float parameter for the video effect.
agora::rtc::IVideoEffectObject::getVideoEffectFloatParam
virtual float getVideoEffectFloatParam(const char *option, const char *key)=0
Gets a float parameter from the video effect.
agora::rtc::IVideoEffectObject::removeVideoEffect
virtual int removeVideoEffect(uint32_t nodeId)=0
Removes a video effect with specified node ID.
agora::rtc::IVideoEffectObject::setVideoEffectIntParam
virtual int setVideoEffectIntParam(const char *option, const char *key, int param)=0
Sets an integer parameter for the video effect.
agora::rtc::IVideoEffectObject::~IVideoEffectObject
virtual ~IVideoEffectObject()
Definition IAgoraRtcEngine.h:3209
agora::rtc::IVideoEffectObject::getVideoEffectBoolParam
virtual bool getVideoEffectBoolParam(const char *option, const char *key)=0
Gets a boolean parameter from the video effect.
agora::rtc::IVideoEffectObject::addOrUpdateVideoEffect
virtual int addOrUpdateVideoEffect(uint32_t nodeId, const char *templateName)=0
Adds or updates video effects with specified node ID and template.
agora::rtc::IVideoEffectObject::VIDEO_EFFECT_ACTION
VIDEO_EFFECT_ACTION
Actions that can be performed on video effect nodes.
Definition IAgoraRtcEngine.h:3232
agora::rtc::IVideoEffectObject::SAVE
@ SAVE
Definition IAgoraRtcEngine.h:3234
agora::rtc::IVideoEffectObject::RESET
@ RESET
Definition IAgoraRtcEngine.h:3236
agora::rtc::IVideoEffectObject::getVideoEffectIntParam
virtual int getVideoEffectIntParam(const char *option, const char *key)=0
Gets an integer parameter from the video effect.
agora::rtc::IVideoEffectObject::performVideoEffectAction
virtual int performVideoEffectAction(uint32_t nodeId, VIDEO_EFFECT_ACTION actionId)=0
Performs an action on a specified video effect node.
agora::rtc::IVideoEffectObject::setVideoEffectStringParam
virtual int setVideoEffectStringParam(const char *option, const char *key, const char *param)=0
Sets a string parameter for the video effect.
agora::rtc::IVideoEffectObject::setVideoEffectBoolParam
virtual int setVideoEffectBoolParam(const char *option, const char *key, bool param)=0
Sets a boolean parameter for the video effect.
agora::util::AutoPtr
Definition AgoraBase.h:100
agora::util::AutoPtr< IAudioDeviceManager >::queryInterface
bool queryInterface(C1 *c, C2 iid)
Definition AgoraBase.h:138
createAgoraRtcEngine
AGORA_API agora::rtc::IRtcEngine *AGORA_CALL createAgoraRtcEngine()
agora::base
Definition IAgoraService.h:73
agora::capability
Definition channel_capability_i.h:14
agora::commons::LOG_LEVEL
OPTIONAL_ENUM_CLASS LOG_LEVEL
Definition IAgoraLog.h:33
agora::extension
Definition builtin_extension_literal_def.h:10
agora::media::base::RENDER_MODE_TYPE
RENDER_MODE_TYPE
Definition AgoraMediaBase.h:532
agora::media
Definition content_inspect_i.h:15
agora::media::MEDIA_SOURCE_TYPE
MEDIA_SOURCE_TYPE
Definition AgoraMediaBase.h:247
agora::media::PRIMARY_CAMERA_SOURCE
@ PRIMARY_CAMERA_SOURCE
Definition AgoraMediaBase.h:259
agora::media::UNKNOWN_MEDIA_SOURCE
@ UNKNOWN_MEDIA_SOURCE
Definition AgoraMediaBase.h:307
agora::media::CONTENT_INSPECT_RESULT
CONTENT_INSPECT_RESULT
Definition AgoraMediaBase.h:1154
agora::media::AUDIO_MIXING_DUAL_MONO_MODE
AUDIO_MIXING_DUAL_MONO_MODE
Definition IAgoraMediaEngine.h:17
agora::rtc
Definition AgoraExtensionVersion.h:12
agora::rtc::video_track_id_t
unsigned int video_track_id_t
Definition AgoraMediaBase.h:31
agora::rtc::MEDIA_DEVICE_STATE_TYPE
MEDIA_DEVICE_STATE_TYPE
Definition IAgoraRtcEngine.h:8818
agora::rtc::MEDIA_DEVICE_STATE_IDLE
@ MEDIA_DEVICE_STATE_IDLE
Definition IAgoraRtcEngine.h:8821
agora::rtc::MEDIA_DEVICE_STATE_DISABLED
@ MEDIA_DEVICE_STATE_DISABLED
Definition IAgoraRtcEngine.h:8827
agora::rtc::MEDIA_DEVICE_STATE_PLUGGED_IN
@ MEDIA_DEVICE_STATE_PLUGGED_IN
Definition IAgoraRtcEngine.h:8831
agora::rtc::MEDIA_DEVICE_STATE_ACTIVE
@ MEDIA_DEVICE_STATE_ACTIVE
Definition IAgoraRtcEngine.h:8824
agora::rtc::MEDIA_DEVICE_STATE_NOT_PRESENT
@ MEDIA_DEVICE_STATE_NOT_PRESENT
Definition IAgoraRtcEngine.h:8835
agora::rtc::MEDIA_DEVICE_STATE_UNPLUGGED
@ MEDIA_DEVICE_STATE_UNPLUGGED
Definition IAgoraRtcEngine.h:8838
agora::rtc::FeatureType
FeatureType
Definition IAgoraRtcEngine.h:1515
agora::rtc::VIDEO_BEAUTY_EFFECT
@ VIDEO_BEAUTY_EFFECT
Definition IAgoraRtcEngine.h:1517
agora::rtc::VIDEO_VIRTUAL_BACKGROUND
@ VIDEO_VIRTUAL_BACKGROUND
Definition IAgoraRtcEngine.h:1516
agora::rtc::MEDIA_TRACE_EVENT
MEDIA_TRACE_EVENT
Definition AgoraBase.h:6993
agora::rtc::SIMULCAST_STREAM_MODE
SIMULCAST_STREAM_MODE
Definition AgoraBase.h:2120
agora::rtc::AUDIO_EFFECT_PRESET
AUDIO_EFFECT_PRESET
Definition AgoraBase.h:5643
agora::rtc::LOCAL_AUDIO_STREAM_STATE
LOCAL_AUDIO_STREAM_STATE
Definition AgoraBase.h:3014
agora::rtc::VOICE_BEAUTIFIER_PRESET
VOICE_BEAUTIFIER_PRESET
Definition AgoraBase.h:5552
agora::rtc::DIRECT_CDN_STREAMING_REASON
DIRECT_CDN_STREAMING_REASON
Definition IAgoraRtcEngine.h:3589
agora::rtc::DIRECT_CDN_STREAMING_REASON_OK
@ DIRECT_CDN_STREAMING_REASON_OK
Definition IAgoraRtcEngine.h:3591
agora::rtc::DIRECT_CDN_STREAMING_REASON_BAD_NAME
@ DIRECT_CDN_STREAMING_REASON_BAD_NAME
Definition IAgoraRtcEngine.h:3601
agora::rtc::DIRECT_CDN_STREAMING_REASON_FAILED
@ DIRECT_CDN_STREAMING_REASON_FAILED
Definition IAgoraRtcEngine.h:3593
agora::rtc::DIRECT_CDN_STREAMING_REASON_VIDEO_PUBLICATION
@ DIRECT_CDN_STREAMING_REASON_VIDEO_PUBLICATION
Definition IAgoraRtcEngine.h:3597
agora::rtc::DIRECT_CDN_STREAMING_REASON_AUDIO_PUBLICATION
@ DIRECT_CDN_STREAMING_REASON_AUDIO_PUBLICATION
Definition IAgoraRtcEngine.h:3595
agora::rtc::DIRECT_CDN_STREAMING_REASON_NET_CONNECT
@ DIRECT_CDN_STREAMING_REASON_NET_CONNECT
Definition IAgoraRtcEngine.h:3599
agora::rtc::AUDIO_SCENARIO_TYPE
AUDIO_SCENARIO_TYPE
Definition AgoraBase.h:2790
agora::rtc::AUDIO_SCENARIO_DEFAULT
@ AUDIO_SCENARIO_DEFAULT
Definition AgoraBase.h:2795
agora::rtc::VIDEO_QOE_PREFERENCE_TYPE
VIDEO_QOE_PREFERENCE_TYPE
Definition AgoraBase.h:2950
agora::rtc::AUDIO_EQUALIZATION_BAND_FREQUENCY
AUDIO_EQUALIZATION_BAND_FREQUENCY
Definition IAgoraRtcEngine.h:165
agora::rtc::AUDIO_EQUALIZATION_BAND_1K
@ AUDIO_EQUALIZATION_BAND_1K
Definition IAgoraRtcEngine.h:189
agora::rtc::AUDIO_EQUALIZATION_BAND_16K
@ AUDIO_EQUALIZATION_BAND_16K
Definition IAgoraRtcEngine.h:205
agora::rtc::AUDIO_EQUALIZATION_BAND_31
@ AUDIO_EQUALIZATION_BAND_31
Definition IAgoraRtcEngine.h:169
agora::rtc::AUDIO_EQUALIZATION_BAND_250
@ AUDIO_EQUALIZATION_BAND_250
Definition IAgoraRtcEngine.h:181
agora::rtc::AUDIO_EQUALIZATION_BAND_125
@ AUDIO_EQUALIZATION_BAND_125
Definition IAgoraRtcEngine.h:177
agora::rtc::AUDIO_EQUALIZATION_BAND_2K
@ AUDIO_EQUALIZATION_BAND_2K
Definition IAgoraRtcEngine.h:193
agora::rtc::AUDIO_EQUALIZATION_BAND_62
@ AUDIO_EQUALIZATION_BAND_62
Definition IAgoraRtcEngine.h:173
agora::rtc::AUDIO_EQUALIZATION_BAND_500
@ AUDIO_EQUALIZATION_BAND_500
Definition IAgoraRtcEngine.h:185
agora::rtc::AUDIO_EQUALIZATION_BAND_8K
@ AUDIO_EQUALIZATION_BAND_8K
Definition IAgoraRtcEngine.h:201
agora::rtc::AUDIO_EQUALIZATION_BAND_4K
@ AUDIO_EQUALIZATION_BAND_4K
Definition IAgoraRtcEngine.h:197
agora::rtc::CONNECTION_CHANGED_REASON_TYPE
CONNECTION_CHANGED_REASON_TYPE
Definition AgoraBase.h:4548
agora::rtc::ENCRYPTION_ERROR_TYPE
ENCRYPTION_ERROR_TYPE
Definition AgoraBase.h:6702
agora::rtc::PROXY_TYPE
PROXY_TYPE
Definition IAgoraRtcEngine.h:1491
agora::rtc::TCP_PROXY_AUTO_FALLBACK_TYPE
@ TCP_PROXY_AUTO_FALLBACK_TYPE
Definition IAgoraRtcEngine.h:1506
agora::rtc::HTTPS_PROXY_TYPE
@ HTTPS_PROXY_TYPE
Definition IAgoraRtcEngine.h:1512
agora::rtc::NONE_PROXY_TYPE
@ NONE_PROXY_TYPE
Definition IAgoraRtcEngine.h:1494
agora::rtc::TCP_PROXY_TYPE
@ TCP_PROXY_TYPE
Definition IAgoraRtcEngine.h:1500
agora::rtc::UDP_PROXY_TYPE
@ UDP_PROXY_TYPE
Definition IAgoraRtcEngine.h:1497
agora::rtc::LOCAL_PROXY_TYPE
@ LOCAL_PROXY_TYPE
Definition IAgoraRtcEngine.h:1503
agora::rtc::HTTP_PROXY_TYPE
@ HTTP_PROXY_TYPE
Definition IAgoraRtcEngine.h:1509
agora::rtc::MEDIA_DEVICE_TYPE
MEDIA_DEVICE_TYPE
Definition IAgoraRtcEngine.h:40
agora::rtc::VIDEO_CAPTURE_DEVICE
@ VIDEO_CAPTURE_DEVICE
Definition IAgoraRtcEngine.h:60
agora::rtc::AUDIO_VIRTUAL_PLAYOUT_DEVICE
@ AUDIO_VIRTUAL_PLAYOUT_DEVICE
Definition IAgoraRtcEngine.h:68
agora::rtc::AUDIO_VIRTUAL_RECORDING_DEVICE
@ AUDIO_VIRTUAL_RECORDING_DEVICE
Definition IAgoraRtcEngine.h:72
agora::rtc::AUDIO_PLAYOUT_DEVICE
@ AUDIO_PLAYOUT_DEVICE
Definition IAgoraRtcEngine.h:48
agora::rtc::VIDEO_RENDER_DEVICE
@ VIDEO_RENDER_DEVICE
Definition IAgoraRtcEngine.h:56
agora::rtc::AUDIO_RECORDING_DEVICE
@ AUDIO_RECORDING_DEVICE
Definition IAgoraRtcEngine.h:52
agora::rtc::AUDIO_APPLICATION_PLAYOUT_DEVICE
@ AUDIO_APPLICATION_PLAYOUT_DEVICE
Definition IAgoraRtcEngine.h:64
agora::rtc::UNKNOWN_AUDIO_DEVICE
@ UNKNOWN_AUDIO_DEVICE
Definition IAgoraRtcEngine.h:44
agora::rtc::VIDEO_CONTENT_HINT
VIDEO_CONTENT_HINT
Definition AgoraBase.h:2878
agora::rtc::CLIENT_ROLE_TYPE
CLIENT_ROLE_TYPE
Definition AgoraBase.h:2627
agora::rtc::CONNECTION_STATE_TYPE
CONNECTION_STATE_TYPE
Definition AgoraBase.h:3981
agora::rtc::AUDIO_SAMPLE_RATE_TYPE
AUDIO_SAMPLE_RATE_TYPE
Definition AgoraBase.h:3647
agora::rtc::AUDIO_SAMPLE_RATE_48000
@ AUDIO_SAMPLE_RATE_48000
Definition AgoraBase.h:3659
agora::rtc::PERMISSION_TYPE
PERMISSION_TYPE
Definition AgoraBase.h:6735
agora::rtc::RtcEngineReleaseCallback
void(*)() RtcEngineReleaseCallback
Occurs when the IRtcEngine is released.
Definition IAgoraRtcEngine.h:3817
agora::rtc::WLACC_MESSAGE_REASON
WLACC_MESSAGE_REASON
Definition AgoraBase.h:4693
agora::rtc::REMOTE_AUDIO_STATE_REASON
REMOTE_AUDIO_STATE_REASON
Definition AgoraBase.h:3296
agora::rtc::USER_OFFLINE_REASON_TYPE
USER_OFFLINE_REASON_TYPE
Definition AgoraBase.h:853
agora::rtc::STREAM_PUBLISH_STATE
STREAM_PUBLISH_STATE
Definition AgoraBase.h:6783
agora::rtc::CAMERA_DIRECTION
CAMERA_DIRECTION
Definition IAgoraRtcEngine.h:787
agora::rtc::CAMERA_FRONT
@ CAMERA_FRONT
Definition IAgoraRtcEngine.h:791
agora::rtc::CAMERA_REAR
@ CAMERA_REAR
Definition IAgoraRtcEngine.h:789
agora::rtc::VIDEO_STREAM_TYPE
VIDEO_STREAM_TYPE
Definition AgoraBase.h:1578
agora::rtc::LOCAL_AUDIO_STREAM_REASON
LOCAL_AUDIO_STREAM_REASON
Definition AgoraBase.h:3036
agora::rtc::DIRECT_CDN_STREAMING_STATE
DIRECT_CDN_STREAMING_STATE
Definition IAgoraRtcEngine.h:3606
agora::rtc::DIRECT_CDN_STREAMING_STATE_FAILED
@ DIRECT_CDN_STREAMING_STATE_FAILED
Definition IAgoraRtcEngine.h:3614
agora::rtc::DIRECT_CDN_STREAMING_STATE_RECOVERING
@ DIRECT_CDN_STREAMING_STATE_RECOVERING
Definition IAgoraRtcEngine.h:3616
agora::rtc::DIRECT_CDN_STREAMING_STATE_RUNNING
@ DIRECT_CDN_STREAMING_STATE_RUNNING
Definition IAgoraRtcEngine.h:3610
agora::rtc::DIRECT_CDN_STREAMING_STATE_STOPPED
@ DIRECT_CDN_STREAMING_STATE_STOPPED
Definition IAgoraRtcEngine.h:3612
agora::rtc::DIRECT_CDN_STREAMING_STATE_IDLE
@ DIRECT_CDN_STREAMING_STATE_IDLE
Definition IAgoraRtcEngine.h:3608
agora::rtc::AUDIO_AINS_MODE
AUDIO_AINS_MODE
Definition AgoraBase.h:2725
agora::rtc::track_id_t
unsigned int track_id_t
Definition AgoraMediaBase.h:29
agora::rtc::AUDIO_PROFILE_TYPE
AUDIO_PROFILE_TYPE
Definition AgoraBase.h:2743
agora::rtc::VIDEO_CODEC_TYPE
VIDEO_CODEC_TYPE
Definition AgoraBase.h:1174
agora::rtc::LOCAL_VIDEO_EVENT_TYPE
LOCAL_VIDEO_EVENT_TYPE
The local video event type.
Definition AgoraBase.h:3109
agora::rtc::LOCAL_VIDEO_STREAM_STATE
LOCAL_VIDEO_STREAM_STATE
Definition AgoraBase.h:3085
agora::rtc::REMOTE_VIDEO_STATE
REMOTE_VIDEO_STATE
Definition AgoraBase.h:3346
agora::rtc::AUDIO_MIXING_REASON_TYPE
AUDIO_MIXING_REASON_TYPE
Definition IAgoraRtcEngine.h:93
agora::rtc::AUDIO_MIXING_REASON_INTERRUPTED_EOF
@ AUDIO_MIXING_REASON_INTERRUPTED_EOF
Definition IAgoraRtcEngine.h:99
agora::rtc::AUDIO_MIXING_REASON_RESUMED_BY_USER
@ AUDIO_MIXING_REASON_RESUMED_BY_USER
Definition IAgoraRtcEngine.h:107
agora::rtc::AUDIO_MIXING_REASON_STOPPED_BY_USER
@ AUDIO_MIXING_REASON_STOPPED_BY_USER
Definition IAgoraRtcEngine.h:105
agora::rtc::AUDIO_MIXING_REASON_OK
@ AUDIO_MIXING_REASON_OK
Definition IAgoraRtcEngine.h:109
agora::rtc::AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED
@ AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED
Definition IAgoraRtcEngine.h:103
agora::rtc::AUDIO_MIXING_REASON_CAN_NOT_OPEN
@ AUDIO_MIXING_REASON_CAN_NOT_OPEN
Definition IAgoraRtcEngine.h:95
agora::rtc::AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED
@ AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED
Definition IAgoraRtcEngine.h:101
agora::rtc::AUDIO_MIXING_REASON_TOO_FREQUENT_CALL
@ AUDIO_MIXING_REASON_TOO_FREQUENT_CALL
Definition IAgoraRtcEngine.h:97
agora::rtc::RTMP_STREAMING_EVENT
RTMP_STREAMING_EVENT
Definition AgoraBase.h:3884
agora::rtc::AREA_CODE_GLOB
@ AREA_CODE_GLOB
Definition AgoraBase.h:6303
agora::rtc::SetFrom
static void SetFrom(Optional< T > *s, const Optional< T > &o)
Definition IAgoraRtcEngine.h:24
agora::rtc::SCREEN_SCENARIO_TYPE
SCREEN_SCENARIO_TYPE
Definition AgoraBase.h:2900
agora::rtc::CLOUD_PROXY_TYPE
CLOUD_PROXY_TYPE
Definition IAgoraRtcEngine.h:798
agora::rtc::UDP_PROXY
@ UDP_PROXY
Definition IAgoraRtcEngine.h:804
agora::rtc::NONE_PROXY
@ NONE_PROXY
Definition IAgoraRtcEngine.h:801
agora::rtc::VIDEO_MIRROR_MODE_TYPE
VIDEO_MIRROR_MODE_TYPE
Definition AgoraBase.h:1823
agora::rtc::VIDEO_MIRROR_MODE_DISABLED
@ VIDEO_MIRROR_MODE_DISABLED
Definition AgoraBase.h:1835
agora::rtc::AUDIO_RECORDING_QUALITY_TYPE
AUDIO_RECORDING_QUALITY_TYPE
Definition AgoraBase.h:6065
agora::rtc::PRIORITY_TYPE
PRIORITY_TYPE
Definition IAgoraRtcEngine.h:261
agora::rtc::PRIORITY_HIGH
@ PRIORITY_HIGH
Definition IAgoraRtcEngine.h:264
agora::rtc::PRIORITY_NORMAL
@ PRIORITY_NORMAL
Definition IAgoraRtcEngine.h:267
agora::rtc::RTMP_STREAM_PUBLISH_REASON
RTMP_STREAM_PUBLISH_REASON
Definition AgoraBase.h:3801
agora::rtc::RTMP_STREAM_PUBLISH_STATE
RTMP_STREAM_PUBLISH_STATE
Definition AgoraBase.h:3758
agora::rtc::LOCAL_VIDEO_STREAM_REASON
LOCAL_VIDEO_STREAM_REASON
Definition AgoraBase.h:3131
agora::rtc::CLIENT_ROLE_CHANGE_FAILED_REASON
CLIENT_ROLE_CHANGE_FAILED_REASON
Definition AgoraBase.h:4669
agora::rtc::__deprecated
@ __deprecated
Definition AgoraBase.h:895
agora::rtc::INJECT_STREAM_STATUS
INJECT_STREAM_STATUS
Definition IAgoraRtcEngine.h:115
agora::rtc::INJECT_STREAM_STATUS_STOP_SUCCESS
@ INJECT_STREAM_STATUS_STOP_SUCCESS
Definition IAgoraRtcEngine.h:139
agora::rtc::INJECT_STREAM_STATUS_START_FAILED
@ INJECT_STREAM_STATUS_START_FAILED
Definition IAgoraRtcEngine.h:135
agora::rtc::INJECT_STREAM_STATUS_STOP_TIMEDOUT
@ INJECT_STREAM_STATUS_STOP_TIMEDOUT
Definition IAgoraRtcEngine.h:151
agora::rtc::INJECT_STREAM_STATUS_STOP_FAILED
@ INJECT_STREAM_STATUS_STOP_FAILED
Definition IAgoraRtcEngine.h:155
agora::rtc::INJECT_STREAM_STATUS_START_SUCCESS
@ INJECT_STREAM_STATUS_START_SUCCESS
Definition IAgoraRtcEngine.h:119
agora::rtc::INJECT_STREAM_STATUS_BROKEN
@ INJECT_STREAM_STATUS_BROKEN
Definition IAgoraRtcEngine.h:159
agora::rtc::INJECT_STREAM_STATUS_STOP_NOT_FOUND
@ INJECT_STREAM_STATUS_STOP_NOT_FOUND
Definition IAgoraRtcEngine.h:143
agora::rtc::INJECT_STREAM_STATUS_START_TIMEDOUT
@ INJECT_STREAM_STATUS_START_TIMEDOUT
Definition IAgoraRtcEngine.h:131
agora::rtc::INJECT_STREAM_STATUS_START_UNAUTHORIZED
@ INJECT_STREAM_STATUS_START_UNAUTHORIZED
Definition IAgoraRtcEngine.h:127
agora::rtc::INJECT_STREAM_STATUS_START_ALREADY_EXISTS
@ INJECT_STREAM_STATUS_START_ALREADY_EXISTS
Definition IAgoraRtcEngine.h:123
agora::rtc::INJECT_STREAM_STATUS_STOP_UNAUTHORIZED
@ INJECT_STREAM_STATUS_STOP_UNAUTHORIZED
Definition IAgoraRtcEngine.h:147
agora::rtc::VIDEO_MODULE_TYPE
VIDEO_MODULE_TYPE
Definition AgoraBase.h:1850
agora::rtc::VIDEO_PROFILE_TYPE
VIDEO_PROFILE_TYPE
Definition IAgoraRtcEngine.h:8841
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P
@ VIDEO_PROFILE_LANDSCAPE_480P
Definition IAgoraRtcEngine.h:8877
agora::rtc::VIDEO_PROFILE_PORTRAIT_180P
@ VIDEO_PROFILE_PORTRAIT_180P
Definition IAgoraRtcEngine.h:8917
agora::rtc::VIDEO_PROFILE_PORTRAIT_180P_4
@ VIDEO_PROFILE_PORTRAIT_180P_4
Definition IAgoraRtcEngine.h:8921
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_7
@ VIDEO_PROFILE_LANDSCAPE_360P_7
Definition IAgoraRtcEngine.h:8867
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_8
@ VIDEO_PROFILE_LANDSCAPE_480P_8
Definition IAgoraRtcEngine.h:8885
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P
@ VIDEO_PROFILE_LANDSCAPE_360P
Definition IAgoraRtcEngine.h:8859
agora::rtc::VIDEO_PROFILE_PORTRAIT_240P
@ VIDEO_PROFILE_PORTRAIT_240P
Definition IAgoraRtcEngine.h:8923
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_3
@ VIDEO_PROFILE_PORTRAIT_480P_3
Definition IAgoraRtcEngine.h:8949
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_6
@ VIDEO_PROFILE_PORTRAIT_360P_6
Definition IAgoraRtcEngine.h:8935
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1080P_3
@ VIDEO_PROFILE_LANDSCAPE_1080P_3
Definition IAgoraRtcEngine.h:8901
agora::rtc::VIDEO_PROFILE_LANDSCAPE_240P
@ VIDEO_PROFILE_LANDSCAPE_240P
Definition IAgoraRtcEngine.h:8853
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P
@ VIDEO_PROFILE_PORTRAIT_480P
Definition IAgoraRtcEngine.h:8947
agora::rtc::VIDEO_PROFILE_LANDSCAPE_720P_3
@ VIDEO_PROFILE_LANDSCAPE_720P_3
Definition IAgoraRtcEngine.h:8893
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_6
@ VIDEO_PROFILE_LANDSCAPE_360P_6
Definition IAgoraRtcEngine.h:8865
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_4
@ VIDEO_PROFILE_LANDSCAPE_480P_4
Definition IAgoraRtcEngine.h:8881
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_10
@ VIDEO_PROFILE_PORTRAIT_360P_10
Definition IAgoraRtcEngine.h:8943
agora::rtc::VIDEO_PROFILE_DEFAULT
@ VIDEO_PROFILE_DEFAULT
Definition IAgoraRtcEngine.h:8983
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1440P
@ VIDEO_PROFILE_LANDSCAPE_1440P
Definition IAgoraRtcEngine.h:8905
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_9
@ VIDEO_PROFILE_PORTRAIT_480P_9
Definition IAgoraRtcEngine.h:8957
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_4
@ VIDEO_PROFILE_PORTRAIT_480P_4
Definition IAgoraRtcEngine.h:8951
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_9
@ VIDEO_PROFILE_LANDSCAPE_480P_9
Definition IAgoraRtcEngine.h:8887
agora::rtc::VIDEO_PROFILE_PORTRAIT_4K_3
@ VIDEO_PROFILE_PORTRAIT_4K_3
Definition IAgoraRtcEngine.h:8981
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_7
@ VIDEO_PROFILE_PORTRAIT_360P_7
Definition IAgoraRtcEngine.h:8937
agora::rtc::VIDEO_PROFILE_PORTRAIT_240P_4
@ VIDEO_PROFILE_PORTRAIT_240P_4
Definition IAgoraRtcEngine.h:8927
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_4
@ VIDEO_PROFILE_LANDSCAPE_360P_4
Definition IAgoraRtcEngine.h:8863
agora::rtc::VIDEO_PROFILE_LANDSCAPE_180P
@ VIDEO_PROFILE_LANDSCAPE_180P
Definition IAgoraRtcEngine.h:8847
agora::rtc::VIDEO_PROFILE_LANDSCAPE_180P_4
@ VIDEO_PROFILE_LANDSCAPE_180P_4
Definition IAgoraRtcEngine.h:8851
agora::rtc::VIDEO_PROFILE_PORTRAIT_4K
@ VIDEO_PROFILE_PORTRAIT_4K
Definition IAgoraRtcEngine.h:8979
agora::rtc::VIDEO_PROFILE_LANDSCAPE_120P_3
@ VIDEO_PROFILE_LANDSCAPE_120P_3
Definition IAgoraRtcEngine.h:8845
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_6
@ VIDEO_PROFILE_PORTRAIT_480P_6
Definition IAgoraRtcEngine.h:8953
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_6
@ VIDEO_PROFILE_LANDSCAPE_480P_6
Definition IAgoraRtcEngine.h:8883
agora::rtc::VIDEO_PROFILE_LANDSCAPE_120P
@ VIDEO_PROFILE_LANDSCAPE_120P
Definition IAgoraRtcEngine.h:8843
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_3
@ VIDEO_PROFILE_PORTRAIT_360P_3
Definition IAgoraRtcEngine.h:8931
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1080P_5
@ VIDEO_PROFILE_LANDSCAPE_1080P_5
Definition IAgoraRtcEngine.h:8903
agora::rtc::VIDEO_PROFILE_PORTRAIT_120P
@ VIDEO_PROFILE_PORTRAIT_120P
Definition IAgoraRtcEngine.h:8913
agora::rtc::VIDEO_PROFILE_LANDSCAPE_720P_6
@ VIDEO_PROFILE_LANDSCAPE_720P_6
Definition IAgoraRtcEngine.h:8897
agora::rtc::VIDEO_PROFILE_PORTRAIT_120P_3
@ VIDEO_PROFILE_PORTRAIT_120P_3
Definition IAgoraRtcEngine.h:8915
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_10
@ VIDEO_PROFILE_LANDSCAPE_480P_10
Definition IAgoraRtcEngine.h:8889
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_3
@ VIDEO_PROFILE_LANDSCAPE_480P_3
Definition IAgoraRtcEngine.h:8879
agora::rtc::VIDEO_PROFILE_PORTRAIT_1440P
@ VIDEO_PROFILE_PORTRAIT_1440P
Definition IAgoraRtcEngine.h:8975
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_8
@ VIDEO_PROFILE_PORTRAIT_480P_8
Definition IAgoraRtcEngine.h:8955
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1440P_2
@ VIDEO_PROFILE_LANDSCAPE_1440P_2
Definition IAgoraRtcEngine.h:8907
agora::rtc::VIDEO_PROFILE_PORTRAIT_720P_6
@ VIDEO_PROFILE_PORTRAIT_720P_6
Definition IAgoraRtcEngine.h:8967
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_9
@ VIDEO_PROFILE_PORTRAIT_360P_9
Definition IAgoraRtcEngine.h:8941
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_9
@ VIDEO_PROFILE_LANDSCAPE_360P_9
Definition IAgoraRtcEngine.h:8871
agora::rtc::VIDEO_PROFILE_LANDSCAPE_240P_4
@ VIDEO_PROFILE_LANDSCAPE_240P_4
Definition IAgoraRtcEngine.h:8857
agora::rtc::VIDEO_PROFILE_LANDSCAPE_720P_5
@ VIDEO_PROFILE_LANDSCAPE_720P_5
Definition IAgoraRtcEngine.h:8895
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_8
@ VIDEO_PROFILE_PORTRAIT_360P_8
Definition IAgoraRtcEngine.h:8939
agora::rtc::VIDEO_PROFILE_LANDSCAPE_180P_3
@ VIDEO_PROFILE_LANDSCAPE_180P_3
Definition IAgoraRtcEngine.h:8849
agora::rtc::VIDEO_PROFILE_PORTRAIT_720P_5
@ VIDEO_PROFILE_PORTRAIT_720P_5
Definition IAgoraRtcEngine.h:8965
agora::rtc::VIDEO_PROFILE_PORTRAIT_720P_3
@ VIDEO_PROFILE_PORTRAIT_720P_3
Definition IAgoraRtcEngine.h:8963
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P
@ VIDEO_PROFILE_PORTRAIT_360P
Definition IAgoraRtcEngine.h:8929
agora::rtc::VIDEO_PROFILE_PORTRAIT_1080P_3
@ VIDEO_PROFILE_PORTRAIT_1080P_3
Definition IAgoraRtcEngine.h:8971
agora::rtc::VIDEO_PROFILE_PORTRAIT_1080P
@ VIDEO_PROFILE_PORTRAIT_1080P
Definition IAgoraRtcEngine.h:8969
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_4
@ VIDEO_PROFILE_PORTRAIT_360P_4
Definition IAgoraRtcEngine.h:8933
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1080P
@ VIDEO_PROFILE_LANDSCAPE_1080P
Definition IAgoraRtcEngine.h:8899
agora::rtc::VIDEO_PROFILE_PORTRAIT_1440P_2
@ VIDEO_PROFILE_PORTRAIT_1440P_2
Definition IAgoraRtcEngine.h:8977
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_3
@ VIDEO_PROFILE_LANDSCAPE_360P_3
Definition IAgoraRtcEngine.h:8861
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_10
@ VIDEO_PROFILE_PORTRAIT_480P_10
Definition IAgoraRtcEngine.h:8959
agora::rtc::VIDEO_PROFILE_LANDSCAPE_720P
@ VIDEO_PROFILE_LANDSCAPE_720P
Definition IAgoraRtcEngine.h:8891
agora::rtc::VIDEO_PROFILE_LANDSCAPE_240P_3
@ VIDEO_PROFILE_LANDSCAPE_240P_3
Definition IAgoraRtcEngine.h:8855
agora::rtc::VIDEO_PROFILE_PORTRAIT_720P
@ VIDEO_PROFILE_PORTRAIT_720P
Definition IAgoraRtcEngine.h:8961
agora::rtc::VIDEO_PROFILE_LANDSCAPE_4K
@ VIDEO_PROFILE_LANDSCAPE_4K
Definition IAgoraRtcEngine.h:8909
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_11
@ VIDEO_PROFILE_LANDSCAPE_360P_11
Definition IAgoraRtcEngine.h:8875
agora::rtc::VIDEO_PROFILE_PORTRAIT_240P_3
@ VIDEO_PROFILE_PORTRAIT_240P_3
Definition IAgoraRtcEngine.h:8925
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_8
@ VIDEO_PROFILE_LANDSCAPE_360P_8
Definition IAgoraRtcEngine.h:8869
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_10
@ VIDEO_PROFILE_LANDSCAPE_360P_10
Definition IAgoraRtcEngine.h:8873
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_11
@ VIDEO_PROFILE_PORTRAIT_360P_11
Definition IAgoraRtcEngine.h:8945
agora::rtc::VIDEO_PROFILE_PORTRAIT_1080P_5
@ VIDEO_PROFILE_PORTRAIT_1080P_5
Definition IAgoraRtcEngine.h:8973
agora::rtc::VIDEO_PROFILE_PORTRAIT_180P_3
@ VIDEO_PROFILE_PORTRAIT_180P_3
Definition IAgoraRtcEngine.h:8919
agora::rtc::VIDEO_PROFILE_LANDSCAPE_4K_3
@ VIDEO_PROFILE_LANDSCAPE_4K_3
Definition IAgoraRtcEngine.h:8911
agora::rtc::REMOTE_AUDIO_STATE
REMOTE_AUDIO_STATE
Definition AgoraBase.h:3262
agora::rtc::HEADPHONE_EQUALIZER_PRESET
HEADPHONE_EQUALIZER_PRESET
Definition AgoraBase.h:5827
agora::rtc::AUDIO_MIXING_STATE_TYPE
AUDIO_MIXING_STATE_TYPE
Definition IAgoraRtcEngine.h:78
agora::rtc::AUDIO_MIXING_STATE_FAILED
@ AUDIO_MIXING_STATE_FAILED
Definition IAgoraRtcEngine.h:87
agora::rtc::AUDIO_MIXING_STATE_PAUSED
@ AUDIO_MIXING_STATE_PAUSED
Definition IAgoraRtcEngine.h:82
agora::rtc::AUDIO_MIXING_STATE_STOPPED
@ AUDIO_MIXING_STATE_STOPPED
Definition IAgoraRtcEngine.h:84
agora::rtc::AUDIO_MIXING_STATE_PLAYING
@ AUDIO_MIXING_STATE_PLAYING
Definition IAgoraRtcEngine.h:80
agora::rtc::NETWORK_TYPE
NETWORK_TYPE
Definition AgoraBase.h:4749
agora::rtc::uid_t
unsigned int uid_t
Definition AgoraMediaBase.h:28
agora::rtc::QUALITY_ADAPT_INDICATION
QUALITY_ADAPT_INDICATION
Definition AgoraBase.h:2642
agora::rtc::VOICE_AI_TUNER_TYPE
VOICE_AI_TUNER_TYPE
Definition AgoraBase.h:5841
agora::rtc::HDR_CAPABILITY
HDR_CAPABILITY
Definition AgoraBase.h:1865
agora::rtc::ScreenCaptureSourceType
ScreenCaptureSourceType
Definition IAgoraRtcEngine.h:930
agora::rtc::ScreenCaptureSourceType_Screen
@ ScreenCaptureSourceType_Screen
Definition IAgoraRtcEngine.h:936
agora::rtc::ScreenCaptureSourceType_Window
@ ScreenCaptureSourceType_Window
Definition IAgoraRtcEngine.h:934
agora::rtc::ScreenCaptureSourceType_Unknown
@ ScreenCaptureSourceType_Unknown
Definition IAgoraRtcEngine.h:932
agora::rtc::ScreenCaptureSourceType_Custom
@ ScreenCaptureSourceType_Custom
Definition IAgoraRtcEngine.h:938
agora::rtc::REMOTE_USER_STATE
REMOTE_USER_STATE
Definition AgoraBase.h:3437
agora::rtc::VIDEO_APPLICATION_SCENARIO_TYPE
VIDEO_APPLICATION_SCENARIO_TYPE
Definition AgoraBase.h:2928
agora::rtc::CAMERA_STABILIZATION_MODE
CAMERA_STABILIZATION_MODE
Definition AgoraBase.h:2990
agora::rtc::STREAM_SUBSCRIBE_STATE
STREAM_SUBSCRIBE_STATE
Definition AgoraBase.h:6751
agora::rtc::VIDEO_SOURCE_TYPE
VIDEO_SOURCE_TYPE
Definition AgoraMediaBase.h:68
agora::rtc::STREAM_FALLBACK_OPTIONS
STREAM_FALLBACK_OPTIONS
Definition IAgoraRtcEngine.h:234
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_1
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_1
Definition IAgoraRtcEngine.h:253
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_4
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_4
Definition IAgoraRtcEngine.h:256
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_3
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_3
Definition IAgoraRtcEngine.h:255
agora::rtc::STREAM_FALLBACK_OPTION_AUDIO_ONLY
@ STREAM_FALLBACK_OPTION_AUDIO_ONLY
Definition IAgoraRtcEngine.h:248
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW
Definition IAgoraRtcEngine.h:244
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_5
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_5
Definition IAgoraRtcEngine.h:257
agora::rtc::STREAM_FALLBACK_OPTION_DISABLED
@ STREAM_FALLBACK_OPTION_DISABLED
Definition IAgoraRtcEngine.h:239
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_2
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_2
Definition IAgoraRtcEngine.h:254
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_6
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_6
Definition IAgoraRtcEngine.h:258
agora::rtc::RTMP_STREAM_LIFE_CYCLE_TYPE
RTMP_STREAM_LIFE_CYCLE_TYPE
Definition IAgoraRtcEngine.h:705
agora::rtc::RTMP_STREAM_LIFE_CYCLE_BIND2OWNER
@ RTMP_STREAM_LIFE_CYCLE_BIND2OWNER
Definition IAgoraRtcEngine.h:711
agora::rtc::RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL
@ RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL
Definition IAgoraRtcEngine.h:708
agora::rtc::ReplaceBy
static void ReplaceBy(Optional< T > *s, const Optional< T > &o)
Definition IAgoraRtcEngine.h:31
agora::rtc::CAPTURE_BRIGHTNESS_LEVEL_TYPE
CAPTURE_BRIGHTNESS_LEVEL_TYPE
Definition AgoraBase.h:2973
agora::rtc::AUDIO_REVERB_TYPE
AUDIO_REVERB_TYPE
Definition IAgoraRtcEngine.h:211
agora::rtc::AUDIO_REVERB_WET_DELAY
@ AUDIO_REVERB_WET_DELAY
Definition IAgoraRtcEngine.h:227
agora::rtc::AUDIO_REVERB_ROOM_SIZE
@ AUDIO_REVERB_ROOM_SIZE
Definition IAgoraRtcEngine.h:223
agora::rtc::AUDIO_REVERB_DRY_LEVEL
@ AUDIO_REVERB_DRY_LEVEL
Definition IAgoraRtcEngine.h:215
agora::rtc::AUDIO_REVERB_STRENGTH
@ AUDIO_REVERB_STRENGTH
Definition IAgoraRtcEngine.h:231
agora::rtc::AUDIO_REVERB_WET_LEVEL
@ AUDIO_REVERB_WET_LEVEL
Definition IAgoraRtcEngine.h:219
agora::rtc::UPLOAD_ERROR_REASON
UPLOAD_ERROR_REASON
Definition AgoraBase.h:6727
agora::rtc::VIDEO_TRANSCODER_ERROR
VIDEO_TRANSCODER_ERROR
Definition AgoraBase.h:4353
agora::rtc::WLACC_SUGGEST_ACTION
WLACC_SUGGEST_ACTION
Definition AgoraBase.h:4707
agora::rtc::REMOTE_VIDEO_STATE_REASON
REMOTE_VIDEO_STATE_REASON
Definition AgoraBase.h:3377
agora::rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE
RAW_AUDIO_FRAME_OP_MODE_TYPE
Definition AgoraMediaBase.h:228
agora::rtc::INTERFACE_ID_TYPE
INTERFACE_ID_TYPE
Definition AgoraBase.h:870
agora::rtc::AGORA_IID_AUDIO_DEVICE_MANAGER
@ AGORA_IID_AUDIO_DEVICE_MANAGER
Definition AgoraBase.h:871
agora::rtc::AGORA_IID_VIDEO_DEVICE_MANAGER
@ AGORA_IID_VIDEO_DEVICE_MANAGER
Definition AgoraBase.h:872
agora::rtc::VIDEO_ORIENTATION
VIDEO_ORIENTATION
Definition AgoraBase.h:952
agora::rtc::VOICE_CONVERSION_PRESET
VOICE_CONVERSION_PRESET
Definition AgoraBase.h:5769
agora::rtc::QUALITY_REPORT_FORMAT_TYPE
QUALITY_REPORT_FORMAT_TYPE
Definition IAgoraRtcEngine.h:8808
agora::rtc::QUALITY_REPORT_HTML
@ QUALITY_REPORT_HTML
Definition IAgoraRtcEngine.h:8814
agora::rtc::QUALITY_REPORT_JSON
@ QUALITY_REPORT_JSON
Definition IAgoraRtcEngine.h:8811
agora::rtm
Definition IAgoraRtmService.h:14
agora::util::AString
CopyableAutoPtr< IString > AString
Definition AgoraBase.h:182
agora
Definition AgoraAtomicOps.h:21
agora::AUDIO_SESSION_OPERATION_RESTRICTION
AUDIO_SESSION_OPERATION_RESTRICTION
Definition AgoraBase.h:793
agora::view_t
void * view_t
Definition AgoraBase.h:819
agora::CHANNEL_PROFILE_TYPE
CHANNEL_PROFILE_TYPE
Definition AgoraBase.h:267
agora::CHANNEL_PROFILE_LIVE_BROADCASTING
@ CHANNEL_PROFILE_LIVE_BROADCASTING
Definition AgoraBase.h:279
agora::LICENSE_ERROR_TYPE
LICENSE_ERROR_TYPE
Definition AgoraBase.h:763
rtc
Definition video_node_i.h:28
agora::SpatialAudioParams
Definition AgoraBase.h:7213
agora::VideoLayout
Definition AgoraBase.h:7250
agora::commons::LogConfig
Definition IAgoraLog.h:83
agora::rtc::AdvancedAudioOptions
Definition IAgoraRtcEngine.h:1035
agora::rtc::AdvancedAudioOptions::audioProcessingChannels
Optional< int > audioProcessingChannels
Definition IAgoraRtcEngine.h:1039
agora::rtc::AdvancedAudioOptions::~AdvancedAudioOptions
~AdvancedAudioOptions()
Definition IAgoraRtcEngine.h:1042
agora::rtc::AdvancedAudioOptions::AdvancedAudioOptions
AdvancedAudioOptions()
Definition IAgoraRtcEngine.h:1041
agora::rtc::AudioEncodedFrameObserverConfig
Definition AgoraBase.h:6206
agora::rtc::AudioRecordingConfiguration
Definition AgoraBase.h:6126
agora::rtc::AudioVolumeInfo
Definition AgoraBase.h:3538
agora::rtc::BeautyOptions
Definition AgoraBase.h:4933
agora::rtc::CameraCapturerConfiguration
Definition IAgoraRtcEngine.h:813
agora::rtc::CameraCapturerConfiguration::CameraCapturerConfiguration
CameraCapturerConfiguration()
Definition IAgoraRtcEngine.h:844
agora::rtc::CameraCapturerConfiguration::cameraDirection
Optional< CAMERA_DIRECTION > cameraDirection
Definition IAgoraRtcEngine.h:819
agora::rtc::CameraCapturerConfiguration::cameraFocalLengthType
Optional< CAMERA_FOCAL_LENGTH_TYPE > cameraFocalLengthType
Definition IAgoraRtcEngine.h:829
agora::rtc::CameraCapturerConfiguration::format
VideoFormat format
Definition IAgoraRtcEngine.h:843
agora::rtc::CameraCapturerConfiguration::cameraId
Optional< const char * > cameraId
Definition IAgoraRtcEngine.h:839
agora::rtc::CameraCapturerConfiguration::followEncodeDimensionRatio
Optional< bool > followEncodeDimensionRatio
Definition IAgoraRtcEngine.h:841
agora::rtc::CameraCapturerConfiguration::deviceId
Optional< const char * > deviceId
Definition IAgoraRtcEngine.h:832
agora::rtc::ChannelMediaOptions
Definition IAgoraRtcEngine.h:1060
agora::rtc::ChannelMediaOptions::publishThirdScreenTrack
Optional< bool > publishThirdScreenTrack
Definition IAgoraRtcEngine.h:1125
agora::rtc::ChannelMediaOptions::audioDelayMs
Optional< int > audioDelayMs
Definition IAgoraRtcEngine.h:1231
agora::rtc::ChannelMediaOptions::enableMultipath
Optional< bool > enableMultipath
Definition IAgoraRtcEngine.h:1291
agora::rtc::ChannelMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition IAgoraRtcEngine.h:1149
agora::rtc::ChannelMediaOptions::customVideoTrackId
Optional< video_track_id_t > customVideoTrackId
Definition IAgoraRtcEngine.h:1272
agora::rtc::ChannelMediaOptions::enableBuiltInMediaEncryption
Optional< bool > enableBuiltInMediaEncryption
Definition IAgoraRtcEngine.h:1253
agora::rtc::ChannelMediaOptions::publishCustomAudioTrackId
Optional< int > publishCustomAudioTrackId
Definition IAgoraRtcEngine.h:1143
agora::rtc::ChannelMediaOptions::publishSecondaryScreenTrack
Optional< bool > publishSecondaryScreenTrack
Definition IAgoraRtcEngine.h:1119
agora::rtc::ChannelMediaOptions::token
Optional< const char * > token
Definition IAgoraRtcEngine.h:1245
agora::rtc::ChannelMediaOptions::mediaPlayerAudioDelayMs
Optional< int > mediaPlayerAudioDelayMs
Definition IAgoraRtcEngine.h:1236
agora::rtc::ChannelMediaOptions::operator==
bool operator==(const ChannelMediaOptions &o) const
Definition IAgoraRtcEngine.h:1375
agora::rtc::ChannelMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition IAgoraRtcEngine.h:1207
agora::rtc::ChannelMediaOptions::SetAll
void SetAll(const ChannelMediaOptions &change)
Definition IAgoraRtcEngine.h:1323
agora::rtc::ChannelMediaOptions::~ChannelMediaOptions
~ChannelMediaOptions()
Definition IAgoraRtcEngine.h:1321
agora::rtc::ChannelMediaOptions::publishTranscodedVideoTrack
Optional< bool > publishTranscodedVideoTrack
Definition IAgoraRtcEngine.h:1173
agora::rtc::ChannelMediaOptions::publishCameraTrack
Optional< bool > publishCameraTrack
Definition IAgoraRtcEngine.h:1066
agora::rtc::ChannelMediaOptions::channelProfile
Optional< CHANNEL_PROFILE_TYPE > channelProfile
Definition IAgoraRtcEngine.h:1226
agora::rtc::ChannelMediaOptions::publishScreenTrack
Optional< bool > publishScreenTrack
Definition IAgoraRtcEngine.h:1113
agora::rtc::ChannelMediaOptions::publishFourthCameraTrack
Optional< bool > publishFourthCameraTrack
Definition IAgoraRtcEngine.h:1084
agora::rtc::ChannelMediaOptions::enableAudioRecordingOrPlayout
Optional< bool > enableAudioRecordingOrPlayout
Definition IAgoraRtcEngine.h:1203
agora::rtc::ChannelMediaOptions::publishMicrophoneTrack
Optional< bool > publishMicrophoneTrack
Definition IAgoraRtcEngine.h:1090
agora::rtc::ChannelMediaOptions::publishFourthScreenTrack
Optional< bool > publishFourthScreenTrack
Definition IAgoraRtcEngine.h:1131
agora::rtc::ChannelMediaOptions::preferMultipathType
Optional< MultipathType > preferMultipathType
Definition IAgoraRtcEngine.h:1318
agora::rtc::ChannelMediaOptions::publishScreenCaptureVideo
Optional< bool > publishScreenCaptureVideo
Definition IAgoraRtcEngine.h:1106
agora::rtc::ChannelMediaOptions::operator=
ChannelMediaOptions & operator=(const ChannelMediaOptions &replace)
Definition IAgoraRtcEngine.h:1435
agora::rtc::ChannelMediaOptions::publishMixedAudioTrack
Optional< bool > publishMixedAudioTrack
Definition IAgoraRtcEngine.h:1179
agora::rtc::ChannelMediaOptions::autoSubscribeVideo
Optional< bool > autoSubscribeVideo
Definition IAgoraRtcEngine.h:1197
agora::rtc::ChannelMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition IAgoraRtcEngine.h:1139
agora::rtc::ChannelMediaOptions::parameters
Optional< const char * > parameters
Definition IAgoraRtcEngine.h:1284
agora::rtc::ChannelMediaOptions::clientRoleType
Optional< CLIENT_ROLE_TYPE > clientRoleType
Definition IAgoraRtcEngine.h:1212
agora::rtc::ChannelMediaOptions::publishLipSyncTrack
Optional< bool > publishLipSyncTrack
Definition IAgoraRtcEngine.h:1185
agora::rtc::ChannelMediaOptions::defaultVideoStreamType
Optional< VIDEO_STREAM_TYPE > defaultVideoStreamType
Definition IAgoraRtcEngine.h:1221
agora::rtc::ChannelMediaOptions::publishEncodedVideoTrack
Optional< bool > publishEncodedVideoTrack
Definition IAgoraRtcEngine.h:1155
agora::rtc::ChannelMediaOptions::audienceLatencyLevel
Optional< AUDIENCE_LATENCY_LEVEL_TYPE > audienceLatencyLevel
Definition IAgoraRtcEngine.h:1216
agora::rtc::ChannelMediaOptions::publishMediaPlayerVideoTrack
Optional< bool > publishMediaPlayerVideoTrack
Definition IAgoraRtcEngine.h:1167
agora::rtc::ChannelMediaOptions::downlinkMultipathMode
Optional< MultipathMode > downlinkMultipathMode
Definition IAgoraRtcEngine.h:1309
agora::rtc::ChannelMediaOptions::isAudioFilterable
Optional< bool > isAudioFilterable
Definition IAgoraRtcEngine.h:1278
agora::rtc::ChannelMediaOptions::publishScreenCaptureAudio
Optional< bool > publishScreenCaptureAudio
Definition IAgoraRtcEngine.h:1097
agora::rtc::ChannelMediaOptions::uplinkMultipathMode
Optional< MultipathMode > uplinkMultipathMode
Definition IAgoraRtcEngine.h:1300
agora::rtc::ChannelMediaOptions::publishThirdCameraTrack
Optional< bool > publishThirdCameraTrack
Definition IAgoraRtcEngine.h:1078
agora::rtc::ChannelMediaOptions::isInteractiveAudience
Optional< bool > isInteractiveAudience
Definition IAgoraRtcEngine.h:1267
agora::rtc::ChannelMediaOptions::publishSecondaryCameraTrack
Optional< bool > publishSecondaryCameraTrack
Definition IAgoraRtcEngine.h:1072
agora::rtc::ChannelMediaOptions::publishMediaPlayerAudioTrack
Optional< bool > publishMediaPlayerAudioTrack
Definition IAgoraRtcEngine.h:1161
agora::rtc::ChannelMediaOptions::autoSubscribeAudio
Optional< bool > autoSubscribeAudio
Definition IAgoraRtcEngine.h:1191
agora::rtc::ChannelMediaOptions::publishRhythmPlayerTrack
Optional< bool > publishRhythmPlayerTrack
Definition IAgoraRtcEngine.h:1259
agora::rtc::ChannelMediaOptions::ChannelMediaOptions
ChannelMediaOptions()
Definition IAgoraRtcEngine.h:1320
agora::rtc::ChannelMediaRelayConfiguration
Definition AgoraBase.h:6432
agora::rtc::ClientRoleOptions
Definition AgoraBase.h:2675
agora::rtc::CodecCapInfo
Definition AgoraBase.h:1902
agora::rtc::ColorEnhanceOptions
Definition AgoraBase.h:5373
agora::rtc::DataStreamConfig
Definition AgoraBase.h:2093
agora::rtc::DeviceInfo
Definition AgoraBase.h:3576
agora::rtc::DirectCdnStreamingMediaOptions
Definition IAgoraRtcEngine.h:3677
agora::rtc::DirectCdnStreamingMediaOptions::publishMediaPlayerAudioTrack
Optional< bool > publishMediaPlayerAudioTrack
Definition IAgoraRtcEngine.h:3707
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition IAgoraRtcEngine.h:3701
agora::rtc::DirectCdnStreamingMediaOptions::DirectCdnStreamingMediaOptions
DirectCdnStreamingMediaOptions()
Definition IAgoraRtcEngine.h:3719
agora::rtc::DirectCdnStreamingMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition IAgoraRtcEngine.h:3712
agora::rtc::DirectCdnStreamingMediaOptions::publishCameraTrack
Optional< bool > publishCameraTrack
Definition IAgoraRtcEngine.h:3683
agora::rtc::DirectCdnStreamingMediaOptions::SetAll
void SetAll(const DirectCdnStreamingMediaOptions &change)
Definition IAgoraRtcEngine.h:3722
agora::rtc::DirectCdnStreamingMediaOptions::~DirectCdnStreamingMediaOptions
~DirectCdnStreamingMediaOptions()
Definition IAgoraRtcEngine.h:3720
agora::rtc::DirectCdnStreamingMediaOptions::operator==
bool operator==(const DirectCdnStreamingMediaOptions &o) const
Definition IAgoraRtcEngine.h:3734
agora::rtc::DirectCdnStreamingMediaOptions::operator=
DirectCdnStreamingMediaOptions & operator=(const DirectCdnStreamingMediaOptions &replace)
Definition IAgoraRtcEngine.h:3755
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition IAgoraRtcEngine.h:3695
agora::rtc::DirectCdnStreamingMediaOptions::publishMicrophoneTrack
Optional< bool > publishMicrophoneTrack
Definition IAgoraRtcEngine.h:3689
agora::rtc::DirectCdnStreamingMediaOptions::customVideoTrackId
Optional< video_track_id_t > customVideoTrackId
Definition IAgoraRtcEngine.h:3717
agora::rtc::DirectCdnStreamingStats
Definition IAgoraRtcEngine.h:3622
agora::rtc::DirectCdnStreamingStats::videoBitrate
int videoBitrate
Definition IAgoraRtcEngine.h:3641
agora::rtc::DirectCdnStreamingStats::audioBitrate
int audioBitrate
Definition IAgoraRtcEngine.h:3646
agora::rtc::DirectCdnStreamingStats::videoWidth
int videoWidth
Definition IAgoraRtcEngine.h:3626
agora::rtc::DirectCdnStreamingStats::videoHeight
int videoHeight
Definition IAgoraRtcEngine.h:3631
agora::rtc::DirectCdnStreamingStats::fps
int fps
Definition IAgoraRtcEngine.h:3636
agora::rtc::DownlinkNetworkInfo
Definition AgoraBase.h:6488
agora::rtc::EchoTestConfiguration
Definition AgoraBase.h:6812
agora::rtc::EncryptionConfig
Definition AgoraBase.h:6642
agora::rtc::ExtensionContext
Definition AgoraMediaBase.h:41
agora::rtc::ExtensionInfo
Definition IAgoraRtcEngine.h:3775
agora::rtc::ExtensionInfo::mediaSourceType
agora::media::MEDIA_SOURCE_TYPE mediaSourceType
Definition IAgoraRtcEngine.h:3779
agora::rtc::ExtensionInfo::channelId
const char * channelId
Definition IAgoraRtcEngine.h:3799
agora::rtc::ExtensionInfo::ExtensionInfo
ExtensionInfo()
Definition IAgoraRtcEngine.h:3806
agora::rtc::ExtensionInfo::remoteUid
uid_t remoteUid
Definition IAgoraRtcEngine.h:3786
agora::rtc::ExtensionInfo::localUid
uid_t localUid
Definition IAgoraRtcEngine.h:3804
agora::rtc::FaceShapeAreaOptions
Face shape area options. This structure defines options for facial adjustments on different facial ar...
Definition AgoraBase.h:4990
agora::rtc::FaceShapeAreaOptions::FACE_SHAPE_AREA
FACE_SHAPE_AREA
The specific facial area to be adjusted.
Definition AgoraBase.h:4996
agora::rtc::FaceShapeBeautyOptions
Face shape beauty options. This structure defines options for facial adjustments of different facial ...
Definition AgoraBase.h:5211
agora::rtc::FilterEffectOptions
Definition AgoraBase.h:5250
agora::rtc::FocalLengthInfo
Definition AgoraBase.h:1915
agora::rtc::IMetadataObserver::Metadata
Definition IAgoraRtcEngine.h:3530
agora::rtc::IMetadataObserver::Metadata::timeStampMs
long long timeStampMs
Definition IAgoraRtcEngine.h:3548
agora::rtc::IMetadataObserver::Metadata::size
unsigned int size
Definition IAgoraRtcEngine.h:3541
agora::rtc::IMetadataObserver::Metadata::uid
unsigned int uid
Definition IAgoraRtcEngine.h:3538
agora::rtc::IMetadataObserver::Metadata::Metadata
Metadata()
Definition IAgoraRtcEngine.h:3550
agora::rtc::IMetadataObserver::Metadata::channelId
const char * channelId
Definition IAgoraRtcEngine.h:3533
agora::rtc::IMetadataObserver::Metadata::buffer
unsigned char * buffer
Definition IAgoraRtcEngine.h:3544
agora::rtc::ImageTrackOptions
Definition IAgoraRtcEngine.h:1045
agora::rtc::ImageTrackOptions::fps
int fps
Definition IAgoraRtcEngine.h:1047
agora::rtc::ImageTrackOptions::ImageTrackOptions
ImageTrackOptions()
Definition IAgoraRtcEngine.h:1049
agora::rtc::ImageTrackOptions::imageUrl
const char * imageUrl
Definition IAgoraRtcEngine.h:1046
agora::rtc::ImageTrackOptions::mirrorMode
VIDEO_MIRROR_MODE_TYPE mirrorMode
Definition IAgoraRtcEngine.h:1048
agora::rtc::InjectStreamConfig::InjectStreamConfig
InjectStreamConfig()
Definition IAgoraRtcEngine.h:692
agora::rtc::InjectStreamConfig::audioChannels
int audioChannels
Definition IAgoraRtcEngine.h:688
agora::rtc::InjectStreamConfig::audioBitrate
int audioBitrate
Definition IAgoraRtcEngine.h:685
agora::rtc::InjectStreamConfig::height
int height
Definition IAgoraRtcEngine.h:665
agora::rtc::InjectStreamConfig::videoFramerate
int videoFramerate
Definition IAgoraRtcEngine.h:673
agora::rtc::InjectStreamConfig::audioSampleRate
AUDIO_SAMPLE_RATE_TYPE audioSampleRate
Definition IAgoraRtcEngine.h:681
agora::rtc::InjectStreamConfig::videoGop
int videoGop
Definition IAgoraRtcEngine.h:669
agora::rtc::InjectStreamConfig::videoBitrate
int videoBitrate
Definition IAgoraRtcEngine.h:677
agora::rtc::InjectStreamConfig::width
int width
Definition IAgoraRtcEngine.h:661
agora::rtc::LastmileProbeConfig
Definition AgoraBase.h:4454
agora::rtc::LastmileProbeResult
Definition AgoraBase.h:4524
agora::rtc::LeaveChannelOptions
Definition IAgoraRtcEngine.h:1523
agora::rtc::LeaveChannelOptions::unloadAllEffect
bool unloadAllEffect
Definition IAgoraRtcEngine.h:1541
agora::rtc::LeaveChannelOptions::stopMicrophoneRecording
bool stopMicrophoneRecording
Definition IAgoraRtcEngine.h:1547
agora::rtc::LeaveChannelOptions::stopAudioMixing
bool stopAudioMixing
Definition IAgoraRtcEngine.h:1529
agora::rtc::LeaveChannelOptions::LeaveChannelOptions
LeaveChannelOptions()
Definition IAgoraRtcEngine.h:1549
agora::rtc::LeaveChannelOptions::stopAllEffect
bool stopAllEffect
Definition IAgoraRtcEngine.h:1535
agora::rtc::LiveTranscoding
Definition AgoraBase.h:4098
agora::rtc::LocalAccessPointConfiguration
Definition AgoraBase.h:7108
agora::rtc::LocalAudioMixerConfiguration
Definition AgoraBase.h:4431
agora::rtc::LocalAudioStats
Definition AgoraBase.h:3715
agora::rtc::LocalTranscoderConfiguration
Definition AgoraBase.h:4322
agora::rtc::LocalVideoStats
Definition IAgoraRtcEngine.h:275
agora::rtc::LocalVideoStats::hwEncoderAccelerating
int hwEncoderAccelerating
Definition IAgoraRtcEngine.h:356
agora::rtc::LocalVideoStats::encodedFrameCount
int encodedFrameCount
Definition IAgoraRtcEngine.h:337
agora::rtc::LocalVideoStats::targetBitrate
int targetBitrate
Definition IAgoraRtcEngine.h:323
agora::rtc::LocalVideoStats::regulatedCaptureFrameRate
int regulatedCaptureFrameRate
Definition IAgoraRtcEngine.h:300
agora::rtc::LocalVideoStats::captureFrameHeight
int captureFrameHeight
Definition IAgoraRtcEngine.h:296
agora::rtc::LocalVideoStats::captureFrameWidth
int captureFrameWidth
Definition IAgoraRtcEngine.h:293
agora::rtc::LocalVideoStats::dualStreamEnabled
bool dualStreamEnabled
Definition IAgoraRtcEngine.h:351
agora::rtc::LocalVideoStats::encodedBitrate
int encodedBitrate
Definition IAgoraRtcEngine.h:334
agora::rtc::LocalVideoStats::simulcastDimensions
VideoDimensions simulcastDimensions[SimulcastConfig::STREAM_LAYER_COUNT_MAX]
Definition IAgoraRtcEngine.h:359
agora::rtc::LocalVideoStats::encodedFrameHeight
int encodedFrameHeight
Definition IAgoraRtcEngine.h:317
agora::rtc::LocalVideoStats::encodedFrameWidth
int encodedFrameWidth
Definition IAgoraRtcEngine.h:314
agora::rtc::LocalVideoStats::captureBrightnessLevel
CAPTURE_BRIGHTNESS_LEVEL_TYPE captureBrightnessLevel
Definition IAgoraRtcEngine.h:347
agora::rtc::LocalVideoStats::qualityAdaptIndication
QUALITY_ADAPT_INDICATION qualityAdaptIndication
Definition IAgoraRtcEngine.h:330
agora::rtc::LocalVideoStats::regulatedCaptureFrameHeight
int regulatedCaptureFrameHeight
Definition IAgoraRtcEngine.h:308
agora::rtc::LocalVideoStats::captureFrameRate
int captureFrameRate
Definition IAgoraRtcEngine.h:290
agora::rtc::LocalVideoStats::sentFrameRate
int sentFrameRate
Definition IAgoraRtcEngine.h:287
agora::rtc::LocalVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition IAgoraRtcEngine.h:320
agora::rtc::LocalVideoStats::encoderOutputFrameRate
int encoderOutputFrameRate
Definition IAgoraRtcEngine.h:311
agora::rtc::LocalVideoStats::targetFrameRate
int targetFrameRate
Definition IAgoraRtcEngine.h:326
agora::rtc::LocalVideoStats::uid
uid_t uid
Definition IAgoraRtcEngine.h:279
agora::rtc::LocalVideoStats::txPacketLossRate
unsigned short txPacketLossRate
Definition IAgoraRtcEngine.h:344
agora::rtc::LocalVideoStats::sentBitrate
int sentBitrate
Definition IAgoraRtcEngine.h:283
agora::rtc::LocalVideoStats::codecType
VIDEO_CODEC_TYPE codecType
Definition IAgoraRtcEngine.h:340
agora::rtc::LocalVideoStats::regulatedCaptureFrameWidth
int regulatedCaptureFrameWidth
Definition IAgoraRtcEngine.h:304
agora::rtc::LowlightEnhanceOptions
Definition AgoraBase.h:5277
agora::rtc::MultipathStats
Aggregates statistics for all network paths used in multipath transmission.
Definition AgoraBase.h:2381
agora::rtc::PublisherConfiguration::width
int width
Definition IAgoraRtcEngine.h:720
agora::rtc::PublisherConfiguration::injectStreamWidth
int injectStreamWidth
Definition IAgoraRtcEngine.h:749
agora::rtc::PublisherConfiguration::bitrate
int bitrate
Definition IAgoraRtcEngine.h:732
agora::rtc::PublisherConfiguration::height
int height
Definition IAgoraRtcEngine.h:724
agora::rtc::PublisherConfiguration::owner
bool owner
Definition IAgoraRtcEngine.h:746
agora::rtc::PublisherConfiguration::framerate
int framerate
Definition IAgoraRtcEngine.h:728
agora::rtc::PublisherConfiguration::PublisherConfiguration
PublisherConfiguration()
Definition IAgoraRtcEngine.h:768
agora::rtc::PublisherConfiguration::injectStreamHeight
int injectStreamHeight
Definition IAgoraRtcEngine.h:752
agora::rtc::PublisherConfiguration::injectStreamUrl
const char * injectStreamUrl
Definition IAgoraRtcEngine.h:755
agora::rtc::PublisherConfiguration::extraInfo
const char * extraInfo
Definition IAgoraRtcEngine.h:766
agora::rtc::PublisherConfiguration::publishUrl
const char * publishUrl
Definition IAgoraRtcEngine.h:759
agora::rtc::PublisherConfiguration::rawStreamUrl
const char * rawStreamUrl
Definition IAgoraRtcEngine.h:763
agora::rtc::PublisherConfiguration::defaultLayout
int defaultLayout
Definition IAgoraRtcEngine.h:738
agora::rtc::PublisherConfiguration::lifecycle
int lifecycle
Definition IAgoraRtcEngine.h:741
agora::rtc::RecorderStreamInfo
Definition AgoraBase.h:7156
agora::rtc::Rectangle
Definition AgoraBase.h:2225
agora::rtc::RemoteAudioStats
Definition IAgoraRtcEngine.h:366
agora::rtc::RemoteAudioStats::audioLossRate
int audioLossRate
Definition IAgoraRtcEngine.h:388
agora::rtc::RemoteAudioStats::networkTransportDelay
int networkTransportDelay
Definition IAgoraRtcEngine.h:378
agora::rtc::RemoteAudioStats::qoeQuality
int qoeQuality
Definition IAgoraRtcEngine.h:453
agora::rtc::RemoteAudioStats::jitterBufferDelay
int jitterBufferDelay
Definition IAgoraRtcEngine.h:384
agora::rtc::RemoteAudioStats::frozenRateByCustomPlcCount
uint32_t frozenRateByCustomPlcCount
Definition IAgoraRtcEngine.h:435
agora::rtc::RemoteAudioStats::receivedSampleRate
int receivedSampleRate
Definition IAgoraRtcEngine.h:396
agora::rtc::RemoteAudioStats::e2eDelay
int e2eDelay
Definition IAgoraRtcEngine.h:465
agora::rtc::RemoteAudioStats::publishDuration
int publishDuration
Definition IAgoraRtcEngine.h:449
agora::rtc::RemoteAudioStats::plcCount
uint32_t plcCount
Definition IAgoraRtcEngine.h:439
agora::rtc::RemoteAudioStats::rxAudioBytes
unsigned int rxAudioBytes
Definition IAgoraRtcEngine.h:461
agora::rtc::RemoteAudioStats::RemoteAudioStats
RemoteAudioStats()
Definition IAgoraRtcEngine.h:467
agora::rtc::RemoteAudioStats::frozenRate
int frozenRate
Definition IAgoraRtcEngine.h:413
agora::rtc::RemoteAudioStats::receivedBitrate
int receivedBitrate
Definition IAgoraRtcEngine.h:401
agora::rtc::RemoteAudioStats::uid
uid_t uid
Definition IAgoraRtcEngine.h:370
agora::rtc::RemoteAudioStats::totalFrozenTime
int totalFrozenTime
Definition IAgoraRtcEngine.h:408
agora::rtc::RemoteAudioStats::quality
int quality
Definition IAgoraRtcEngine.h:374
agora::rtc::RemoteAudioStats::qualityChangedReason
int qualityChangedReason
Definition IAgoraRtcEngine.h:457
agora::rtc::RemoteAudioStats::mosValue
int mosValue
Definition IAgoraRtcEngine.h:430
agora::rtc::RemoteAudioStats::totalActiveTime
int totalActiveTime
Definition IAgoraRtcEngine.h:445
agora::rtc::RemoteAudioStats::numChannels
int numChannels
Definition IAgoraRtcEngine.h:392
agora::rtc::RemoteVideoStats
Definition IAgoraRtcEngine.h:492
agora::rtc::RemoteVideoStats::rxStreamType
VIDEO_STREAM_TYPE rxStreamType
Definition IAgoraRtcEngine.h:539
agora::rtc::RemoteVideoStats::avSyncTimeMs
int avSyncTimeMs
Definition IAgoraRtcEngine.h:554
agora::rtc::RemoteVideoStats::__deprecated
int delay __deprecated
Definition IAgoraRtcEngine.h:504
agora::rtc::RemoteVideoStats::mosValue
int mosValue
Definition IAgoraRtcEngine.h:571
agora::rtc::RemoteVideoStats::decoderOutputFrameRate
int decoderOutputFrameRate
Definition IAgoraRtcEngine.h:526
agora::rtc::RemoteVideoStats::totalActiveTime
int totalActiveTime
Definition IAgoraRtcEngine.h:559
agora::rtc::RemoteVideoStats::e2eDelay
int e2eDelay
Definition IAgoraRtcEngine.h:508
agora::rtc::RemoteVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition IAgoraRtcEngine.h:529
agora::rtc::RemoteVideoStats::packetLossRate
int packetLossRate
Definition IAgoraRtcEngine.h:535
agora::rtc::RemoteVideoStats::frozenRate
int frozenRate
Definition IAgoraRtcEngine.h:549
agora::rtc::RemoteVideoStats::publishDuration
int publishDuration
Definition IAgoraRtcEngine.h:563
agora::rtc::RemoteVideoStats::width
int width
Definition IAgoraRtcEngine.h:512
agora::rtc::RemoteVideoStats::decoderInputFrameRate
int decoderInputFrameRate
Definition IAgoraRtcEngine.h:523
agora::rtc::RemoteVideoStats::receivedBitrate
int receivedBitrate
Definition IAgoraRtcEngine.h:520
agora::rtc::RemoteVideoStats::uid
uid_t uid
Definition IAgoraRtcEngine.h:496
agora::rtc::RemoteVideoStats::height
int height
Definition IAgoraRtcEngine.h:516
agora::rtc::RemoteVideoStats::totalFrozenTime
int totalFrozenTime
Definition IAgoraRtcEngine.h:545
agora::rtc::RemoteVideoStats::rxVideoBytes
unsigned int rxVideoBytes
Definition IAgoraRtcEngine.h:575
agora::rtc::RemoteVideoStats::frameLossRate
int frameLossRate
Definition IAgoraRtcEngine.h:532
agora::rtc::RtcEngineContext
Definition IAgoraRtcEngine.h:3401
agora::rtc::RtcEngineContext::RtcEngineContext
RtcEngineContext()
Definition IAgoraRtcEngine.h:3492
agora::rtc::RtcEngineContext::audioScenario
AUDIO_SCENARIO_TYPE audioScenario
Definition IAgoraRtcEngine.h:3436
agora::rtc::RtcEngineContext::areaCode
unsigned int areaCode
Definition IAgoraRtcEngine.h:3445
agora::rtc::RtcEngineContext::eventHandler
IRtcEngineEventHandler * eventHandler
Definition IAgoraRtcEngine.h:3405
agora::rtc::RtcEngineContext::logConfig
commons::LogConfig logConfig
Definition IAgoraRtcEngine.h:3462
agora::rtc::RtcEngineContext::channelProfile
CHANNEL_PROFILE_TYPE channelProfile
Definition IAgoraRtcEngine.h:3422
agora::rtc::RtcEngineContext::appId
const char * appId
Definition IAgoraRtcEngine.h:3412
agora::rtc::RtcEngineContext::domainLimit
bool domainLimit
Definition IAgoraRtcEngine.h:3483
agora::rtc::RtcEngineContext::autoRegisterAgoraExtensions
bool autoRegisterAgoraExtensions
Definition IAgoraRtcEngine.h:3490
agora::rtc::RtcEngineContext::context
void * context
Definition IAgoraRtcEngine.h:3418
agora::rtc::RtcEngineContext::license
const char * license
Definition IAgoraRtcEngine.h:3427
agora::rtc::RtcEngineContext::useExternalEglContext
bool useExternalEglContext
Definition IAgoraRtcEngine.h:3476
agora::rtc::RtcEngineContext::threadPriority
Optional< THREAD_PRIORITY_TYPE > threadPriority
Definition IAgoraRtcEngine.h:3467
agora::rtc::RtcImage
Definition AgoraBase.h:3908
agora::rtc::RtcStats
Definition AgoraBase.h:2428
agora::rtc::SIZE
Definition IAgoraRtcEngine.h:889
agora::rtc::SIZE::SIZE
SIZE()
Definition IAgoraRtcEngine.h:897
agora::rtc::SIZE::width
int width
Definition IAgoraRtcEngine.h:892
agora::rtc::SIZE::SIZE
SIZE(int ww, int hh)
Definition IAgoraRtcEngine.h:898
agora::rtc::SIZE::height
int height
Definition IAgoraRtcEngine.h:895
agora::rtc::ScreenCaptureConfiguration
Definition IAgoraRtcEngine.h:849
agora::rtc::ScreenCaptureConfiguration::screenRect
Rectangle screenRect
Definition IAgoraRtcEngine.h:864
agora::rtc::ScreenCaptureConfiguration::ScreenCaptureConfiguration
ScreenCaptureConfiguration()
Definition IAgoraRtcEngine.h:883
agora::rtc::ScreenCaptureConfiguration::displayId
int64_t displayId
Definition IAgoraRtcEngine.h:859
agora::rtc::ScreenCaptureConfiguration::params
ScreenCaptureParameters params
Definition IAgoraRtcEngine.h:873
agora::rtc::ScreenCaptureConfiguration::isCaptureWindow
bool isCaptureWindow
Definition IAgoraRtcEngine.h:855
agora::rtc::ScreenCaptureConfiguration::regionRect
Rectangle regionRect
Definition IAgoraRtcEngine.h:881
agora::rtc::ScreenCaptureConfiguration::windowId
int64_t windowId
Definition IAgoraRtcEngine.h:869
agora::rtc::ScreenCaptureParameters2
Definition AgoraBase.h:6958
agora::rtc::ScreenCaptureParameters
Definition AgoraBase.h:5903
agora::rtc::ScreenCaptureSourceInfo
Definition IAgoraRtcEngine.h:941
agora::rtc::ScreenCaptureSourceInfo::minimizeWindow
bool minimizeWindow
Definition IAgoraRtcEngine.h:985
agora::rtc::ScreenCaptureSourceInfo::sourceName
const char * sourceName
Definition IAgoraRtcEngine.h:953
agora::rtc::ScreenCaptureSourceInfo::primaryMonitor
bool primaryMonitor
Definition IAgoraRtcEngine.h:975
agora::rtc::ScreenCaptureSourceInfo::isOccluded
bool isOccluded
Definition IAgoraRtcEngine.h:976
agora::rtc::ScreenCaptureSourceInfo::processPath
const char * processPath
Definition IAgoraRtcEngine.h:965
agora::rtc::ScreenCaptureSourceInfo::ScreenCaptureSourceInfo
ScreenCaptureSourceInfo()
Definition IAgoraRtcEngine.h:993
agora::rtc::ScreenCaptureSourceInfo::iconImage
ThumbImageBuffer iconImage
Definition IAgoraRtcEngine.h:961
agora::rtc::ScreenCaptureSourceInfo::type
ScreenCaptureSourceType type
Definition IAgoraRtcEngine.h:945
agora::rtc::ScreenCaptureSourceInfo::thumbImage
ThumbImageBuffer thumbImage
Definition IAgoraRtcEngine.h:957
agora::rtc::ScreenCaptureSourceInfo::sourceTitle
const char * sourceTitle
Definition IAgoraRtcEngine.h:969
agora::rtc::ScreenCaptureSourceInfo::sourceDisplayId
int64_t sourceDisplayId
Definition IAgoraRtcEngine.h:992
agora::rtc::ScreenCaptureSourceInfo::sourceId
int64_t sourceId
Definition IAgoraRtcEngine.h:949
agora::rtc::ScreenCaptureSourceInfo::position
Rectangle position
Definition IAgoraRtcEngine.h:980
agora::rtc::SegmentationProperty
Definition AgoraBase.h:5477
agora::rtc::SenderOptions
Definition AgoraBase.h:1258
agora::rtc::SimulcastConfig
Definition AgoraBase.h:2162
agora::rtc::SimulcastConfig::STREAM_LAYER_COUNT_MAX
@ STREAM_LAYER_COUNT_MAX
Definition AgoraBase.h:2198
agora::rtc::SimulcastStreamConfig
Definition AgoraBase.h:2138
agora::rtc::ThumbImageBuffer
Definition IAgoraRtcEngine.h:908
agora::rtc::ThumbImageBuffer::width
unsigned int width
Definition IAgoraRtcEngine.h:920
agora::rtc::ThumbImageBuffer::height
unsigned int height
Definition IAgoraRtcEngine.h:924
agora::rtc::ThumbImageBuffer::buffer
const char * buffer
Definition IAgoraRtcEngine.h:912
agora::rtc::ThumbImageBuffer::length
unsigned int length
Definition IAgoraRtcEngine.h:916
agora::rtc::ThumbImageBuffer::ThumbImageBuffer
ThumbImageBuffer()
Definition IAgoraRtcEngine.h:925
agora::rtc::TranscodingVideoStream
Definition AgoraBase.h:4246
agora::rtc::UplinkNetworkInfo
Definition AgoraBase.h:6475
agora::rtc::UserInfo
Definition AgoraBase.h:6835
agora::rtc::VideoCanvas
Definition AgoraBase.h:4805
agora::rtc::VideoCompositingLayout::Region
Definition IAgoraRtcEngine.h:579
agora::rtc::VideoCompositingLayout::Region::y
double y
Definition IAgoraRtcEngine.h:588
agora::rtc::VideoCompositingLayout::Region::alpha
double alpha
Definition IAgoraRtcEngine.h:603
agora::rtc::VideoCompositingLayout::Region::zOrder
int zOrder
Definition IAgoraRtcEngine.h:598
agora::rtc::VideoCompositingLayout::Region::height
double height
Definition IAgoraRtcEngine.h:594
agora::rtc::VideoCompositingLayout::Region::renderMode
media::base::RENDER_MODE_TYPE renderMode
Definition IAgoraRtcEngine.h:605
agora::rtc::VideoCompositingLayout::Region::uid
uid_t uid
Definition IAgoraRtcEngine.h:582
agora::rtc::VideoCompositingLayout::Region::x
double x
Definition IAgoraRtcEngine.h:585
agora::rtc::VideoCompositingLayout::Region::width
double width
Definition IAgoraRtcEngine.h:592
agora::rtc::VideoCompositingLayout::Region::Region
Region()
Definition IAgoraRtcEngine.h:607
agora::rtc::VideoCompositingLayout::VideoCompositingLayout
VideoCompositingLayout()
Definition IAgoraRtcEngine.h:645
agora::rtc::VideoCompositingLayout::appData
const char * appData
Definition IAgoraRtcEngine.h:640
agora::rtc::VideoCompositingLayout::appDataLength
int appDataLength
Definition IAgoraRtcEngine.h:643
agora::rtc::VideoCompositingLayout::canvasHeight
int canvasHeight
Definition IAgoraRtcEngine.h:627
agora::rtc::VideoCompositingLayout::backgroundColor
const char * backgroundColor
Definition IAgoraRtcEngine.h:630
agora::rtc::VideoCompositingLayout::regions
const Region * regions
Definition IAgoraRtcEngine.h:634
agora::rtc::VideoCompositingLayout::regionCount
int regionCount
Definition IAgoraRtcEngine.h:637
agora::rtc::VideoCompositingLayout::canvasWidth
int canvasWidth
Definition IAgoraRtcEngine.h:622
agora::rtc::VideoDenoiserOptions
Definition AgoraBase.h:5325
agora::rtc::VideoDimensions
Definition AgoraBase.h:1104
agora::rtc::VideoEncoderConfiguration
Definition AgoraBase.h:1925
agora::rtc::VideoFormat
Definition AgoraBase.h:2835
agora::rtc::VideoRenderingTracingInfo
Definition AgoraBase.h:7007
agora::rtc::VideoSubscriptionOptions
Definition AgoraBase.h:1614
agora::rtc::VirtualBackgroundSource
Definition AgoraBase.h:5399
agora::rtc::WatermarkOptions
Definition AgoraBase.h:2285
agora::rtc::WlAccStats
Definition AgoraBase.h:4731