Agora C++ API Reference for All Platforms

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)))
816
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
831
832 Optional<const char *> deviceId;
833 #endif
834
835 #if defined(__ANDROID__)
836
839 Optional<const char *> cameraId;
840 #endif
841 Optional<bool> followEncodeDimensionRatio;
843 VideoFormat format;
844 CameraCapturerConfiguration() : format(VideoFormat(0, 0, 0)) {}
845 };
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)
887
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)
903
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 };
930 enum ScreenCaptureSourceType {
932 ScreenCaptureSourceType_Unknown = -1,
934 ScreenCaptureSourceType_Window = 0,
936 ScreenCaptureSourceType_Screen = 1,
938 ScreenCaptureSourceType_Custom = 2,
939 };
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)
982
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 };
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)
1032
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
1097 Optional<bool> publishScreenCaptureAudio;
1098
1099 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1100
1105 Optional<bool> publishScreenCaptureVideo;
1106 #else
1107
1112 Optional<bool> publishScreenTrack;
1118 Optional<bool> publishSecondaryScreenTrack;
1124 Optional<bool> publishThirdScreenTrack;
1130 Optional<bool> publishFourthScreenTrack;
1131 #endif
1132
1138 Optional<bool> publishCustomAudioTrack;
1142 Optional<int> publishCustomAudioTrackId;
1148 Optional<bool> publishCustomVideoTrack;
1154 Optional<bool> publishEncodedVideoTrack;
1160 Optional<bool> publishMediaPlayerAudioTrack;
1166 Optional<bool> publishMediaPlayerVideoTrack;
1172 Optional<bool> publishTranscodedVideoTrack;
1178 Optional<bool> publishMixedAudioTrack;
1184 Optional<bool> publishLipSyncTrack;
1190 Optional<bool> autoSubscribeAudio;
1196 Optional<bool> autoSubscribeVideo;
1202 Optional<bool> enableAudioRecordingOrPlayout;
1206 Optional<int> publishMediaPlayerId;
1211 Optional<CLIENT_ROLE_TYPE> clientRoleType;
1215 Optional<AUDIENCE_LATENCY_LEVEL_TYPE> audienceLatencyLevel;
1220 Optional<VIDEO_STREAM_TYPE> defaultVideoStreamType;
1225 Optional<CHANNEL_PROFILE_TYPE> channelProfile;
1230 Optional<int> audioDelayMs;
1235 Optional<int> mediaPlayerAudioDelayMs;
1244 Optional<const char*> token;
1252 Optional<bool> enableBuiltInMediaEncryption;
1258 Optional<bool> publishRhythmPlayerTrack;
1266 Optional<bool> isInteractiveAudience;
1271 Optional<video_track_id_t> customVideoTrackId;
1277 Optional<bool> isAudioFilterable;
1278
1283 Optional<const char*> parameters;
1284
1285 ChannelMediaOptions() {}
1286 ~ChannelMediaOptions() {}
1287
1288 void SetAll(const ChannelMediaOptions& change) {
1289 #define SET_FROM(X) SetFrom(&X, change.X)
1290
1291 SET_FROM(publishCameraTrack);
1292 SET_FROM(publishSecondaryCameraTrack);
1293 SET_FROM(publishThirdCameraTrack);
1294 SET_FROM(publishFourthCameraTrack);
1295 SET_FROM(publishMicrophoneTrack);
1296 SET_FROM(publishScreenCaptureAudio);
1297 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1298 SET_FROM(publishScreenCaptureVideo);
1299 #else
1300 SET_FROM(publishScreenTrack);
1301 SET_FROM(publishSecondaryScreenTrack);
1302 SET_FROM(publishThirdScreenTrack);
1303 SET_FROM(publishFourthScreenTrack);
1304 #endif
1305 SET_FROM(publishTranscodedVideoTrack);
1306 SET_FROM(publishMixedAudioTrack);
1307 SET_FROM(publishLipSyncTrack);
1308 SET_FROM(publishCustomAudioTrack);
1309 SET_FROM(publishCustomAudioTrackId);
1310 SET_FROM(publishCustomVideoTrack);
1311 SET_FROM(publishEncodedVideoTrack);
1312 SET_FROM(publishMediaPlayerAudioTrack);
1313 SET_FROM(publishMediaPlayerVideoTrack);
1314 SET_FROM(autoSubscribeAudio);
1315 SET_FROM(autoSubscribeVideo);
1316 SET_FROM(publishMediaPlayerId);
1317 SET_FROM(enableAudioRecordingOrPlayout);
1318 SET_FROM(clientRoleType);
1319 SET_FROM(audienceLatencyLevel);
1320 SET_FROM(defaultVideoStreamType);
1321 SET_FROM(channelProfile);
1322 SET_FROM(audioDelayMs);
1323 SET_FROM(mediaPlayerAudioDelayMs);
1324 SET_FROM(token);
1325 SET_FROM(enableBuiltInMediaEncryption);
1326 SET_FROM(publishRhythmPlayerTrack);
1327 SET_FROM(customVideoTrackId);
1328 SET_FROM(isAudioFilterable);
1329 SET_FROM(isInteractiveAudience);
1330 SET_FROM(parameters);
1331 #undef SET_FROM
1332 }
1333
1334 bool operator==(const ChannelMediaOptions& o) const {
1335 #define BEGIN_COMPARE() bool b = true
1336 #define ADD_COMPARE(X) b = (b && (X == o.X))
1337 #define END_COMPARE()
1338
1339 BEGIN_COMPARE();
1340 ADD_COMPARE(publishCameraTrack);
1341 ADD_COMPARE(publishSecondaryCameraTrack);
1342 ADD_COMPARE(publishThirdCameraTrack);
1343 ADD_COMPARE(publishFourthCameraTrack);
1344 ADD_COMPARE(publishMicrophoneTrack);
1345 ADD_COMPARE(publishScreenCaptureAudio);
1346 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1347 ADD_COMPARE(publishScreenCaptureVideo);
1348 #else
1349 ADD_COMPARE(publishScreenTrack);
1350 ADD_COMPARE(publishSecondaryScreenTrack);
1351 ADD_COMPARE(publishThirdScreenTrack);
1352 ADD_COMPARE(publishFourthScreenTrack);
1353 #endif
1354 ADD_COMPARE(publishTranscodedVideoTrack);
1355 ADD_COMPARE(publishMixedAudioTrack);
1356 ADD_COMPARE(publishLipSyncTrack);
1357 ADD_COMPARE(publishCustomAudioTrack);
1358 ADD_COMPARE(publishCustomAudioTrackId);
1359 ADD_COMPARE(publishCustomVideoTrack);
1360 ADD_COMPARE(publishEncodedVideoTrack);
1361 ADD_COMPARE(publishMediaPlayerAudioTrack);
1362 ADD_COMPARE(publishMediaPlayerVideoTrack);
1363 ADD_COMPARE(autoSubscribeAudio);
1364 ADD_COMPARE(autoSubscribeVideo);
1365 ADD_COMPARE(publishMediaPlayerId);
1366 ADD_COMPARE(enableAudioRecordingOrPlayout);
1367 ADD_COMPARE(clientRoleType);
1368 ADD_COMPARE(audienceLatencyLevel);
1369 ADD_COMPARE(defaultVideoStreamType);
1370 ADD_COMPARE(channelProfile);
1371 ADD_COMPARE(audioDelayMs);
1372 ADD_COMPARE(mediaPlayerAudioDelayMs);
1373 ADD_COMPARE(token);
1374 ADD_COMPARE(enableBuiltInMediaEncryption);
1375 ADD_COMPARE(publishRhythmPlayerTrack);
1376 ADD_COMPARE(customVideoTrackId);
1377 ADD_COMPARE(isAudioFilterable);
1378 ADD_COMPARE(isInteractiveAudience);
1379 ADD_COMPARE(parameters);
1380 END_COMPARE();
1381
1382 #undef BEGIN_COMPARE
1383 #undef ADD_COMPARE
1384 #undef END_COMPARE
1385 return b;
1386 }
1387
1388 ChannelMediaOptions& operator=(const ChannelMediaOptions& replace) {
1389 if (this != &replace) {
1390 #define REPLACE_BY(X) ReplaceBy(&X, replace.X)
1391
1392 REPLACE_BY(publishCameraTrack);
1393 REPLACE_BY(publishSecondaryCameraTrack);
1394 REPLACE_BY(publishThirdCameraTrack);
1395 REPLACE_BY(publishFourthCameraTrack);
1396 REPLACE_BY(publishMicrophoneTrack);
1397 REPLACE_BY(publishScreenCaptureAudio);
1398 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1399 REPLACE_BY(publishScreenCaptureVideo);
1400 #else
1401 REPLACE_BY(publishScreenTrack);
1402 REPLACE_BY(publishSecondaryScreenTrack);
1403 REPLACE_BY(publishThirdScreenTrack);
1404 REPLACE_BY(publishFourthScreenTrack);
1405 #endif
1406 REPLACE_BY(publishTranscodedVideoTrack);
1407 REPLACE_BY(publishMixedAudioTrack);
1408 REPLACE_BY(publishLipSyncTrack);
1409 REPLACE_BY(publishCustomAudioTrack);
1410 REPLACE_BY(publishCustomAudioTrackId);
1411 REPLACE_BY(publishCustomVideoTrack);
1412 REPLACE_BY(publishEncodedVideoTrack);
1413 REPLACE_BY(publishMediaPlayerAudioTrack);
1414 REPLACE_BY(publishMediaPlayerVideoTrack);
1415 REPLACE_BY(autoSubscribeAudio);
1416 REPLACE_BY(autoSubscribeVideo);
1417 REPLACE_BY(publishMediaPlayerId);
1418 REPLACE_BY(enableAudioRecordingOrPlayout);
1419 REPLACE_BY(clientRoleType);
1420 REPLACE_BY(audienceLatencyLevel);
1421 REPLACE_BY(defaultVideoStreamType);
1422 REPLACE_BY(channelProfile);
1423 REPLACE_BY(audioDelayMs);
1424 REPLACE_BY(mediaPlayerAudioDelayMs);
1425 REPLACE_BY(token);
1426 REPLACE_BY(enableBuiltInMediaEncryption);
1427 REPLACE_BY(publishRhythmPlayerTrack);
1428 REPLACE_BY(customVideoTrackId);
1429 REPLACE_BY(isAudioFilterable);
1430 REPLACE_BY(isInteractiveAudience);
1431 REPLACE_BY(parameters);
1432 #undef REPLACE_BY
1433 }
1434 return *this;
1435 }
1436 };
1437
1438 enum PROXY_TYPE {
1441 NONE_PROXY_TYPE = 0,
1444 UDP_PROXY_TYPE = 1,
1447 TCP_PROXY_TYPE = 2,
1450 LOCAL_PROXY_TYPE = 3,
1453 TCP_PROXY_AUTO_FALLBACK_TYPE = 4,
1456 HTTP_PROXY_TYPE = 5,
1459 HTTPS_PROXY_TYPE = 6,
1460 };
1461
1462 enum FeatureType {
1463 VIDEO_VIRTUAL_BACKGROUND = 1,
1464 VIDEO_BEAUTY_EFFECT = 2,
1465 };
1466
1470 struct LeaveChannelOptions {
1476 bool stopAudioMixing;
1482 bool stopAllEffect;
1488 bool unloadAllEffect;
1494 bool stopMicrophoneRecording;
1495
1496 LeaveChannelOptions() : stopAudioMixing(true), stopAllEffect(true), unloadAllEffect(false), stopMicrophoneRecording(true) {}
1497 };
1498
1509 class IRtcEngineEventHandler {
1510 public:
1511 virtual ~IRtcEngineEventHandler() {}
1512
1513 virtual const char* eventHandlerType() const { return "event_handler"; }
1514
1524 virtual void onJoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1525 (void)channel;
1526 (void)uid;
1527 (void)elapsed;
1528 }
1529
1540 virtual void onRejoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1541 (void)channel;
1542 (void)uid;
1543 (void)elapsed;
1544 }
1545
1553 virtual void onProxyConnected(const char* channel, uid_t uid, PROXY_TYPE proxyType, const char* localProxyIp, int elapsed) {
1554 (void)channel;
1555 (void)uid;
1556 (void)proxyType;
1557 (void)localProxyIp;
1558 (void)elapsed;
1559 }
1560
1566 virtual void onError(int err, const char* msg) {
1567 (void)err;
1568 (void)msg;
1569 }
1570
1586 virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay, unsigned short lost) __deprecated {
1587 (void)uid;
1588 (void)quality;
1589 (void)delay;
1590 (void)lost;
1591 }
1592
1598 virtual void onLastmileProbeResult(const LastmileProbeResult& result) {
1599 (void)result;
1600 }
1601
1628 virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, unsigned int speakerNumber,
1629 int totalVolume) {
1630 (void)speakers;
1631 (void)speakerNumber;
1632 (void)totalVolume;
1633 }
1634
1643 virtual void onLeaveChannel(const RtcStats& stats) { (void)stats; }
1644
1652 virtual void onRtcStats(const RtcStats& stats) { (void)stats; }
1653
1667 virtual void onAudioDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1668 (void)deviceId;
1669 (void)deviceType;
1670 (void)deviceState;
1671 }
1672
1679 virtual void onAudioMixingPositionChanged(int64_t position) {}
1680
1687 virtual void onAudioMixingFinished() __deprecated {}
1688
1696 virtual void onAudioEffectFinished(int soundId) {}
1697
1707 virtual void onVideoDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1708 (void)deviceId;
1709 (void)deviceType;
1710 (void)deviceState;
1711 }
1712
1735 virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) {
1736 (void)uid;
1737 (void)txQuality;
1738 (void)rxQuality;
1739 }
1740
1747 virtual void onIntraRequestReceived() {}
1748
1759 virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo& info) {
1760 (void)info;
1761 }
1762
1770 virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo& info) {
1771 (void)info;
1772 }
1773
1786 virtual void onLastmileQuality(int quality) { (void)quality; }
1787
1798 virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed) {
1799 (void)source;
1800 (void)width;
1801 (void)height;
1802 (void)elapsed;
1803 }
1804
1815 virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed) {
1816 (void)source;
1817 (void)elapsed;
1818 }
1819
1836 virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) __deprecated {
1837 (void)uid;
1838 (void)width;
1839 (void)height;
1840 (void)elapsed;
1841 }
1842
1851 virtual void onVideoSizeChanged(VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation) {
1852 (void)uid;
1853 (void)width;
1854 (void)height;
1855 (void)rotation;
1856 }
1857
1884 virtual void onLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_REASON reason) {
1885 (void)source;
1886 (void)state;
1887 (void)reason;
1888 }
1889
1901 virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) {
1902 (void)uid;
1903 (void)state;
1904 (void)reason;
1905 (void)elapsed;
1906 }
1907
1915 virtual void onFirstRemoteVideoFrame(uid_t uid, int width, int height, int elapsed) {
1916 (void)uid;
1917 (void)width;
1918 (void)height;
1919 (void)elapsed;
1920 }
1921
1941 virtual void onUserJoined(uid_t uid, int elapsed) {
1942 (void)uid;
1943 (void)elapsed;
1944 }
1945
1960 virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) {
1961 (void)uid;
1962 (void)reason;
1963 }
1964
1977 virtual void onUserMuteAudio(uid_t uid, bool muted) {
1978 (void)uid;
1979 (void)muted;
1980 }
1981
1996 virtual void onUserMuteVideo(uid_t uid, bool muted) {
1997 (void)uid;
1998 (void)muted;
1999 }
2000
2013 virtual void onUserEnableVideo(uid_t uid, bool enabled) {
2014 (void)uid;
2015 (void)enabled;
2016 }
2017
2023 virtual void onUserStateChanged(uid_t uid, REMOTE_USER_STATE state) {
2024 (void)uid;
2025 (void)state;
2026 }
2027
2038 virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) __deprecated {
2039 (void)uid;
2040 (void)enabled;
2041 }
2042
2050 virtual void onRemoteAudioStats(const RemoteAudioStats& stats) {
2051 (void)stats;
2052 }
2053
2061 virtual void onLocalAudioStats(const LocalAudioStats& stats) {
2062 (void)stats;
2063 }
2064
2078 virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats& stats) {
2079 (void)source;
2080 (void)stats;
2081 }
2082
2091 virtual void onRemoteVideoStats(const RemoteVideoStats& stats) {
2092 (void)stats;
2093 }
2094
2100 virtual void onCameraReady() __deprecated {}
2101
2112 virtual void onCameraFocusAreaChanged(int x, int y, int width, int height) {
2113 (void)x;
2114 (void)y;
2115 (void)width;
2116 (void)height;
2117 }
2126 virtual void onCameraExposureAreaChanged(int x, int y, int width, int height) {
2127 (void)x;
2128 (void)y;
2129 (void)width;
2130 (void)height;
2131 }
2132 #if defined(__ANDROID__) || (defined(__APPLE__) && (TARGET_OS_IOS || (defined(TARGET_OS_VISION) && TARGET_OS_VISION)))
2133
2163 virtual void onFacePositionChanged(int imageWidth, int imageHeight,
2164 const Rectangle* vecRectangle, const int* vecDistance,
2165 int numFaces) {
2166 (void) imageWidth;
2167 (void) imageHeight;
2168 (void) vecRectangle;
2169 (void) vecDistance;
2170 (void) numFaces;
2171 }
2172 #endif
2173
2180 virtual void onVideoStopped() __deprecated {}
2181
2189 virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) {
2190 (void)state;
2191 (void)reason;
2192 }
2193
2202 virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_REASON reason) {
2203 (void)state;
2204 (void)reason;
2205 }
2206
2215 virtual void onConnectionLost() {}
2216
2228 virtual void onConnectionInterrupted() __deprecated {}
2229
2233 virtual void onConnectionBanned() __deprecated {}
2234
2246 virtual void onStreamMessage(uid_t uid, int streamId, const char* data, size_t length, uint64_t sentTs) {
2247 (void)uid;
2248 (void)streamId;
2249 (void)data;
2250 (void)length;
2251 (void)sentTs;
2252 }
2253
2266 virtual void onStreamMessageError(uid_t uid, int streamId, int code, int missed, int cached) {
2267 (void)uid;
2268 (void)streamId;
2269 (void)code;
2270 (void)missed;
2271 (void)cached;
2272 }
2273
2283 virtual void onRequestToken() {}
2284
2296 virtual void onTokenPrivilegeWillExpire(const char* token) {
2297 (void)token;
2298 }
2299
2305 virtual void onLicenseValidationFailure(LICENSE_ERROR_TYPE error) {
2306 (void)error;
2307 }
2308
2319 virtual void onFirstLocalAudioFramePublished(int elapsed) {
2320 (void)elapsed;
2321 }
2322
2339 virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) __deprecated {
2340 (void)uid;
2341 (void)elapsed;
2342 }
2343
2351 virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) __deprecated {
2352 (void)uid;
2353 (void)elapsed;
2354 }
2355
2370 virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_REASON reason) {
2371 (void)state;
2372 (void)reason;
2373 }
2374
2391 virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) {
2392 (void)uid;
2393 (void)state;
2394 (void)reason;
2395 (void)elapsed;
2396 }
2397
2411 virtual void onActiveSpeaker(uid_t uid) {
2412 (void)uid;
2413 }
2414
2419 virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result) { (void)result; }
2420
2438 virtual void onSnapshotTaken(uid_t uid, const char* filePath, int width, int height, int errCode) {
2439 (void)uid;
2440 (void)filePath;
2441 (void)width;
2442 (void)height;
2443 (void)errCode;
2444 }
2445
2453 virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions& newRoleOptions) {
2454 (void)oldRole;
2455 (void)newRole;
2456 (void)newRoleOptions;
2457 }
2458
2466 virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole) {
2467 (void)reason;
2468 (void)currentRole;
2469 }
2470
2478 virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) {
2479 (void)deviceType;
2480 (void)volume;
2481 (void)muted;
2482 }
2483
2495 virtual void onRtmpStreamingStateChanged(const char* url, RTMP_STREAM_PUBLISH_STATE state,
2496 RTMP_STREAM_PUBLISH_REASON reason) {
2497 (void)url;
2498 (void)state;
2499 (void)reason;
2500 }
2501
2507 virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode) {
2508 (void)url;
2509 (void)eventCode;
2510 }
2511
2522 virtual void onTranscodingUpdated() {}
2523
2537 virtual void onAudioRoutingChanged(int routing) { (void)routing; }
2538
2570 virtual void onChannelMediaRelayStateChanged(int state, int code) {
2571 (void)state;
2572 (void)code;
2573 }
2574
2588 virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) {
2589 (void)isFallbackOrRecover;
2590 }
2591
2609 virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover) {
2610 (void)uid;
2611 (void)isFallbackOrRecover;
2612 }
2613
2628 virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated {
2629 (void)uid;
2630 (void)delay;
2631 (void)lost;
2632 (void)rxKBitRate;
2633 }
2634
2652 virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated {
2653 (void)uid;
2654 (void)delay;
2655 (void)lost;
2656 (void)rxKBitRate;
2657 }
2658
2667 virtual void onConnectionStateChanged(
2668 CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) {
2669 (void)state;
2670 (void)reason;
2671 }
2672
2679 virtual void onWlAccMessage(WLACC_MESSAGE_REASON reason, WLACC_SUGGEST_ACTION action, const char* wlAccMsg) {
2680 (void)reason;
2681 (void)action;
2682 (void)wlAccMsg;
2683 }
2684
2690 virtual void onWlAccStats(const WlAccStats& currentStats, const WlAccStats& averageStats) {
2691 (void)currentStats;
2692 (void)averageStats;
2693 }
2694
2704 virtual void onNetworkTypeChanged(NETWORK_TYPE type) {
2705 (void)type;
2706 }
2707
2715 virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) {
2716 (void)errorType;
2717 }
2718
2728 virtual void onPermissionError(PERMISSION_TYPE permissionType) {
2729 (void)permissionType;
2730 }
2731
2741 virtual void onLocalUserRegistered(uid_t uid, const char* userAccount) {
2742 (void)uid;
2743 (void)userAccount;
2744 }
2745
2754 virtual void onUserInfoUpdated(uid_t uid, const UserInfo& info) {
2755 (void)uid;
2756 (void)info;
2757 }
2758
2765 virtual void onUserAccountUpdated(uid_t uid, const char* userAccount){
2766 (void)uid;
2767 (void)userAccount;
2768 }
2769
2777 virtual void onVideoRenderingTracingResult(uid_t uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo) {
2778 (void)uid;
2779 (void)currentEvent;
2780 (void)tracingInfo;
2781 }
2782
2789 virtual void onLocalVideoTranscoderError(const TranscodingVideoStream& stream, VIDEO_TRANSCODER_ERROR error){
2790 (void)stream;
2791 (void)error;
2792 }
2793
2800 virtual void onUploadLogResult(const char* requestId, bool success, UPLOAD_ERROR_REASON reason) {
2801 (void)requestId;
2802 (void)success;
2803 (void)reason;
2804 }
2805
2815 virtual void onAudioSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
2816 (void)channel;
2817 (void)uid;
2818 (void)oldState;
2819 (void)newState;
2820 (void)elapseSinceLastState;
2821 }
2822
2832 virtual void onVideoSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
2833 (void)channel;
2834 (void)uid;
2835 (void)oldState;
2836 (void)newState;
2837 (void)elapseSinceLastState;
2838 }
2839
2848 virtual void onAudioPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
2849 (void)channel;
2850 (void)oldState;
2851 (void)newState;
2852 (void)elapseSinceLastState;
2853 }
2854
2864 virtual void onVideoPublishStateChanged(VIDEO_SOURCE_TYPE source, const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
2865 (void)source;
2866 (void)channel;
2867 (void)oldState;
2868 (void)newState;
2869 (void)elapseSinceLastState;
2870 }
2871
2881 virtual void onTranscodedStreamLayoutInfo(uid_t uid, int width, int height, int layoutCount,const VideoLayout* layoutlist) {
2882 (void)uid;
2883 (void)width;
2884 (void)height;
2885 (void)layoutCount;
2886 (void)layoutlist;
2887 }
2888
2897 virtual void onAudioMetadataReceived(uid_t uid, const char* metadata, size_t length) {
2898 (void)uid;
2899 (void)metadata;
2900 (void)length;
2901 }
2902
2912 virtual void onExtensionEventWithContext(const ExtensionContext &context, const char* key, const char* value) {
2913 (void)context;
2914 (void)key;
2915 (void)value;
2916 }
2917
2925 virtual void onExtensionStartedWithContext(const ExtensionContext &context) {
2926 (void)context;
2927 }
2928
2936 virtual void onExtensionStoppedWithContext(const ExtensionContext &context) {
2937 (void)context;
2938 }
2939
2950 virtual void onExtensionErrorWithContext(const ExtensionContext &context, int error, const char* message) {
2951 (void)context;
2952 (void)error;
2953 (void)message;
2954 }
2955
2962 virtual void onSetRtmFlagResult(int code) {
2963 (void)code;
2964 }
2965 };
2966
2970 class IVideoDeviceCollection {
2971 public:
2972 virtual ~IVideoDeviceCollection() {}
2973
2979 virtual int getCount() = 0;
2980
2990 virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2991
3002 virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH],
3003 char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3004
3008 virtual void release() = 0;
3009 };
3010
3014 class IVideoDeviceManager {
3015 public:
3016 virtual ~IVideoDeviceManager() {}
3028 virtual IVideoDeviceCollection* enumerateVideoDevices() = 0;
3029
3040 virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3041
3050 virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3051
3052 #if defined(_WIN32) || (defined(__linux__) && !defined(__ANDROID__)) || \
3053 (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
3054
3071 virtual int numberOfCapabilities(const char* deviceIdUTF8) = 0;
3072
3090 virtual int getCapability(const char* deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat& capability) = 0;
3091 #endif
3092
3105 virtual int startDeviceTest(view_t hwnd) = 0;
3106
3113 virtual int stopDeviceTest() = 0;
3114
3118 virtual void release() = 0;
3119 };
3120
3126 class IVideoEffectObject : public RefCountInterface {
3127 public:
3128 virtual ~IVideoEffectObject() {}
3129
3135 enum class VIDEO_EFFECT_NODE_ID : uint32_t {
3137 BEAUTY = 1U << 0,
3139 STYLE_MAKEUP = 1U << 1,
3141 FILTER = 1U << 2,
3143 STICKER = 1U << 3,
3144 };
3145
3151 enum VIDEO_EFFECT_ACTION {
3153 SAVE = 1,
3155 RESET = 2,
3156 };
3157
3182 virtual int addOrUpdateVideoEffect(uint32_t nodeId, const char* templateName) = 0;
3183
3195 virtual int removeVideoEffect(uint32_t nodeId) = 0;
3196
3209 virtual int performVideoEffectAction(uint32_t nodeId, VIDEO_EFFECT_ACTION actionId) = 0;
3210
3224 virtual int setVideoEffectFloatParam(const char* option, const char* key, float param) = 0;
3225
3239 virtual int setVideoEffectIntParam(const char* option, const char* key, int param) = 0;
3240
3256 virtual int setVideoEffectBoolParam(const char* option, const char* key, bool param) = 0;
3257
3270 virtual float getVideoEffectFloatParam(const char* option, const char* key) = 0;
3271
3284 virtual int getVideoEffectIntParam(const char* option, const char* key) = 0;
3285
3298 virtual bool getVideoEffectBoolParam(const char* option, const char* key) = 0;
3299
3300 };
3301
3305 struct RtcEngineContext {
3309 IRtcEngineEventHandler* eventHandler;
3316 const char* appId;
3322 void* context;
3326 CHANNEL_PROFILE_TYPE channelProfile;
3327
3331 const char* license;
3332
3340 AUDIO_SCENARIO_TYPE audioScenario;
3349 unsigned int areaCode;
3350
3366 commons::LogConfig logConfig;
3367
3371 Optional<THREAD_PRIORITY_TYPE> threadPriority;
3372
3380 bool useExternalEglContext;
3381
3387 bool domainLimit;
3388
3394 bool autoRegisterAgoraExtensions;
3395
3396 RtcEngineContext()
3397 : eventHandler(NULL), appId(NULL), context(NULL), channelProfile(CHANNEL_PROFILE_LIVE_BROADCASTING),
3398 license(NULL), audioScenario(AUDIO_SCENARIO_DEFAULT), areaCode(AREA_CODE_GLOB),
3399 logConfig(), useExternalEglContext(false), domainLimit(false), autoRegisterAgoraExtensions(true) {}
3400 };
3401
3404 class IMetadataObserver {
3405 public:
3406 virtual ~IMetadataObserver() {}
3407
3412 enum METADATA_TYPE
3413 {
3416 UNKNOWN_METADATA = -1,
3419 VIDEO_METADATA = 0,
3420 };
3424 enum MAX_METADATA_SIZE_TYPE
3425 {
3426 INVALID_METADATA_SIZE_IN_BYTE = -1,
3427 DEFAULT_METADATA_SIZE_IN_BYTE = 512,
3428 MAX_METADATA_SIZE_IN_BYTE = 1024
3429 };
3430
3433 struct Metadata
3434 {
3437 const char* channelId;
3442 unsigned int uid;
3445 unsigned int size;
3448 unsigned char *buffer;
3452 long long timeStampMs;
3453
3454 Metadata() : channelId(NULL), uid(0), size(0), buffer(NULL), timeStampMs(0) {}
3455 };
3456
3467 virtual int getMaxMetadataSize() { return DEFAULT_METADATA_SIZE_IN_BYTE; }
3468
3479 virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type) = 0;
3480
3488 virtual void onMetadataReceived(const Metadata& metadata) = 0;
3489 };
3490
3491 // The reason codes for media streaming
3492 // GENERATED_JAVA_ENUM_PACKAGE: io.agora.streaming
3493 enum DIRECT_CDN_STREAMING_REASON {
3494 // No error occurs.
3495 DIRECT_CDN_STREAMING_REASON_OK = 0,
3496 // A general error occurs (no specified reason).
3497 DIRECT_CDN_STREAMING_REASON_FAILED = 1,
3498 // Audio publication error.
3499 DIRECT_CDN_STREAMING_REASON_AUDIO_PUBLICATION = 2,
3500 // Video publication error.
3501 DIRECT_CDN_STREAMING_REASON_VIDEO_PUBLICATION = 3,
3502
3503 DIRECT_CDN_STREAMING_REASON_NET_CONNECT = 4,
3504 // Already exist stream name.
3505 DIRECT_CDN_STREAMING_REASON_BAD_NAME = 5,
3506 };
3507
3508 // The connection state of media streaming
3509 // GENERATED_JAVA_ENUM_PACKAGE: io.agora.streaming
3510 enum DIRECT_CDN_STREAMING_STATE {
3511
3512 DIRECT_CDN_STREAMING_STATE_IDLE = 0,
3513
3514 DIRECT_CDN_STREAMING_STATE_RUNNING = 1,
3515
3516 DIRECT_CDN_STREAMING_STATE_STOPPED = 2,
3517
3518 DIRECT_CDN_STREAMING_STATE_FAILED = 3,
3519
3520 DIRECT_CDN_STREAMING_STATE_RECOVERING = 4,
3521 };
3522
3526 struct DirectCdnStreamingStats {
3530 int videoWidth;
3531
3535 int videoHeight;
3536
3540 int fps;
3541
3545 int videoBitrate;
3546
3550 int audioBitrate;
3551 };
3552
3557 class IDirectCdnStreamingEventHandler {
3558 public:
3559 virtual ~IDirectCdnStreamingEventHandler() {}
3560
3567 virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_REASON reason, const char* message) {
3568 (void)state;
3569 (void)reason;
3570 (void)message;
3571 };
3572
3573 virtual void onDirectCdnStreamingStats(const DirectCdnStreamingStats& stats) {
3574 (void)stats;
3575 };
3576 };
3577
3581 struct DirectCdnStreamingMediaOptions {
3587 Optional<bool> publishCameraTrack;
3593 Optional<bool> publishMicrophoneTrack;
3599 Optional<bool> publishCustomAudioTrack;
3605 Optional<bool> publishCustomVideoTrack;
3611 Optional<bool> publishMediaPlayerAudioTrack;
3616 Optional<int> publishMediaPlayerId;
3621 Optional<video_track_id_t> customVideoTrackId;
3622
3623 DirectCdnStreamingMediaOptions() {}
3624 ~DirectCdnStreamingMediaOptions() {}
3625
3626 void SetAll(const DirectCdnStreamingMediaOptions& change) {
3627 #define SET_FROM(X) SetFrom(&X, change.X)
3628 SET_FROM(publishCameraTrack);
3629 SET_FROM(publishMicrophoneTrack);
3630 SET_FROM(publishCustomAudioTrack);
3631 SET_FROM(publishCustomVideoTrack);
3632 SET_FROM(publishMediaPlayerAudioTrack);
3633 SET_FROM(publishMediaPlayerId);
3634 SET_FROM(customVideoTrackId);
3635 #undef SET_FROM
3636 }
3637
3638 bool operator==(const DirectCdnStreamingMediaOptions& o) const {
3639 #define BEGIN_COMPARE() bool b = true
3640 #define ADD_COMPARE(X) b = (b && (X == o.X))
3641 #define END_COMPARE()
3642
3643 BEGIN_COMPARE();
3644 ADD_COMPARE(publishCameraTrack);
3645 ADD_COMPARE(publishMicrophoneTrack);
3646 ADD_COMPARE(publishCustomAudioTrack);
3647 ADD_COMPARE(publishCustomVideoTrack);
3648 ADD_COMPARE(publishMediaPlayerAudioTrack);
3649 ADD_COMPARE(customVideoTrackId);
3650 ADD_COMPARE(publishMediaPlayerId);
3651 END_COMPARE();
3652
3653 #undef BEGIN_COMPARE
3654 #undef ADD_COMPARE
3655 #undef END_COMPARE
3656 return b;
3657 }
3658
3659 DirectCdnStreamingMediaOptions& operator=(const DirectCdnStreamingMediaOptions& replace) {
3660 if (this != &replace) {
3661 #define REPLACE_BY(X) ReplaceBy(&X, replace.X)
3662
3663 REPLACE_BY(publishCameraTrack);
3664 REPLACE_BY(publishMicrophoneTrack);
3665 REPLACE_BY(publishCustomAudioTrack);
3666 REPLACE_BY(publishCustomVideoTrack);
3667 REPLACE_BY(publishMediaPlayerAudioTrack);
3668 REPLACE_BY(customVideoTrackId);
3669 REPLACE_BY(publishMediaPlayerId);
3670 #undef REPLACE_BY
3671 }
3672 return *this;
3673 }
3674 };
3675
3679 struct ExtensionInfo {
3683 agora::media::MEDIA_SOURCE_TYPE mediaSourceType;
3684
3690 uid_t remoteUid;
3691
3703 const char* channelId;
3704
3708 uid_t localUid;
3709
3710 ExtensionInfo() : mediaSourceType(agora::media::UNKNOWN_MEDIA_SOURCE), remoteUid(0), channelId(NULL), localUid(0) {}
3711 };
3712
3713 class IMediaPlayer;
3714 class IMediaRecorder;
3715
3721 using RtcEngineReleaseCallback = void(*)();
3722
3729 class IRtcEngine : public agora::base::IEngineBase {
3730 public:
3755 AGORA_CPP_API static void release(RtcEngineReleaseCallback callback = nullptr);
3756
3773 virtual int initialize(const RtcEngineContext& context) = 0;
3774
3784 virtual int queryInterface(INTERFACE_ID_TYPE iid, void** inter) = 0;
3785
3786
3792 virtual const char* getVersion(int* build) = 0;
3793
3799 virtual const char* getErrorDescription(int code) = 0;
3800
3810 virtual int queryCodecCapability(CodecCapInfo* codecInfo, int& size) = 0;
3811
3821 virtual int queryDeviceScore() = 0;
3822
3860 virtual int preloadChannel(const char* token, const char* channelId, uid_t uid) = 0;
3861
3901 virtual int preloadChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount) = 0;
3902
3920 virtual int updatePreloadChannelToken(const char* token) = 0;
3921
3981 virtual int joinChannel(const char* token, const char* channelId, const char* info, uid_t uid) = 0;
3982
4050 virtual int joinChannel(const char* token, const char* channelId, uid_t uid, const ChannelMediaOptions& options) = 0;
4051
4060 virtual int updateChannelMediaOptions(const ChannelMediaOptions& options) = 0;
4061
4079 virtual int leaveChannel() = 0;
4080
4100 virtual int leaveChannel(const LeaveChannelOptions& options) = 0;
4101
4118 virtual int renewToken(const char* token) = 0;
4119
4139 virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile) = 0;
4140
4164 virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0;
4165
4188 virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0;
4189
4198 virtual int startEchoTest(const EchoTestConfiguration& config) = 0;
4199
4206 virtual int stopEchoTest() = 0;
4207
4208 #if defined(__APPLE__) && (TARGET_OS_IOS || (defined(TARGET_OS_VISION) && TARGET_OS_VISION))
4209
4218 virtual int enableMultiCamera(bool enabled, const CameraCapturerConfiguration& config) = 0;
4219 #endif
4220
4235 virtual int enableVideo() = 0;
4236
4246 virtual int disableVideo() = 0;
4247
4259 virtual int startPreview() = 0;
4260
4268 virtual int startPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
4269
4277 virtual int stopPreview() = 0;
4278
4286 virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
4287
4321 virtual int startLastmileProbeTest(const LastmileProbeConfig& config) = 0;
4322
4324 virtual int stopLastmileProbeTest() = 0;
4325
4342 virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration& config) = 0;
4343
4353 virtual int setBeautyEffectOptions(bool enabled, const BeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4363 virtual int setFaceShapeBeautyOptions(bool enabled, const FaceShapeBeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4370 virtual int setFaceShapeAreaOptions(const FaceShapeAreaOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4371
4378 virtual int getFaceShapeBeautyOptions(FaceShapeBeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4379
4387 virtual int getFaceShapeAreaOptions(agora::rtc::FaceShapeAreaOptions::FACE_SHAPE_AREA shapeArea, FaceShapeAreaOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4388
4413 virtual int setFilterEffectOptions(bool enabled, const FilterEffectOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4414
4415
4428 virtual agora_refptr<IVideoEffectObject> createVideoEffectObject(const char* bundlePath, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4429
4430
4442 virtual int destroyVideoEffectObject(agora_refptr<IVideoEffectObject> videoEffectObject) = 0;
4443
4470 virtual int setLowlightEnhanceOptions(bool enabled, const LowlightEnhanceOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4497 virtual int setVideoDenoiserOptions(bool enabled, const VideoDenoiserOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4524 virtual int setColorEnhanceOptions(bool enabled, const ColorEnhanceOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4525
4558 virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4559
4582 virtual int setupRemoteVideo(const VideoCanvas& canvas) = 0;
4583
4600 virtual int setupLocalVideo(const VideoCanvas& canvas) = 0;
4601
4620 virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType) = 0;
4621
4640 virtual int setVideoQoEPreference(VIDEO_QOE_PREFERENCE_TYPE qoePreference) = 0;
4641
4655 virtual int enableAudio() = 0;
4656
4668 virtual int disableAudio() = 0;
4669
4691 virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) __deprecated = 0;
4692
4708 virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile) = 0;
4717 virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario) = 0;
4740 virtual int enableLocalAudio(bool enabled) = 0;
4741
4767 virtual int muteLocalAudioStream(bool mute) = 0;
4768
4810 virtual int muteAllRemoteAudioStreams(bool mute) = 0;
4811
4828 virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0;
4829
4841 virtual int muteLocalVideoStream(bool mute) = 0;
4842
4867 virtual int enableLocalVideo(bool enabled) = 0;
4868
4908 virtual int muteAllRemoteVideoStreams(bool mute) = 0;
4909
4919 virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType) = 0;
4920
4937 virtual int muteRemoteVideoStream(uid_t uid, bool mute) = 0;
4938
4956 virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0;
4957
4968 virtual int setRemoteVideoSubscriptionOptions(uid_t uid, const VideoSubscriptionOptions &options) = 0;
4969
4984 virtual int setSubscribeAudioBlocklist(uid_t* uidList, int uidNumber) = 0;
4985
5002 virtual int setSubscribeAudioAllowlist(uid_t* uidList, int uidNumber) = 0;
5003
5018 virtual int setSubscribeVideoBlocklist(uid_t* uidList, int uidNumber) = 0;
5019
5036 virtual int setSubscribeVideoAllowlist(uid_t* uidList, int uidNumber) = 0;
5037
5064 virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad) = 0;
5065
5086 virtual int startAudioRecording(const char* filePath,
5087 AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
5109 virtual int startAudioRecording(const char* filePath,
5110 int sampleRate,
5111 AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
5112
5131 virtual int startAudioRecording(const AudioRecordingConfiguration& config) = 0;
5132
5138 virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig& config, IAudioEncodedFrameObserver *observer) = 0;
5139
5148 virtual int stopAudioRecording() = 0;
5149
5160 virtual agora_refptr<IMediaPlayer> createMediaPlayer() = 0;
5161
5173 virtual int destroyMediaPlayer(agora_refptr<IMediaPlayer> media_player) = 0;
5174
5185 virtual agora_refptr<IMediaRecorder> createMediaRecorder(const RecorderStreamInfo& info) = 0;
5186
5196 virtual int destroyMediaRecorder(agora_refptr<IMediaRecorder> mediaRecorder) = 0;
5197
5239 virtual int startAudioMixing(const char* filePath, bool loopback, int cycle) = 0;
5240
5284 virtual int startAudioMixing(const char* filePath, bool loopback, int cycle, int startPos) = 0;
5285
5294 virtual int stopAudioMixing() = 0;
5295
5304 virtual int pauseAudioMixing() = 0;
5305
5314 virtual int resumeAudioMixing() = 0;
5315
5324 virtual int selectAudioTrack(int index) = 0;
5333 virtual int getAudioTrackCount() = 0;
5334
5349 virtual int adjustAudioMixingVolume(int volume) = 0;
5350
5358 virtual int adjustAudioMixingPublishVolume(int volume) = 0;
5359
5367 virtual int getAudioMixingPublishVolume() = 0;
5368
5376 virtual int adjustAudioMixingPlayoutVolume(int volume) = 0;
5377
5385 virtual int getAudioMixingPlayoutVolume() = 0;
5386
5395 virtual int getAudioMixingDuration() = 0;
5396
5406 virtual int getAudioMixingCurrentPosition() = 0;
5407
5417 virtual int setAudioMixingPosition(int pos /*in ms*/) = 0;
5418
5429 virtual int setAudioMixingDualMonoMode(media::AUDIO_MIXING_DUAL_MONO_MODE mode) = 0;
5430
5447 virtual int setAudioMixingPitch(int pitch) = 0;
5448
5464 virtual int setAudioMixingPlaybackSpeed(int speed) = 0;
5465
5473 virtual int getEffectsVolume() = 0;
5483 virtual int setEffectsVolume(int volume) = 0;
5511 virtual int preloadEffect(int soundId, const char* filePath, int startPos = 0) = 0;
5557 virtual int playEffect(int soundId, const char* filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0) = 0;
5588 virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false) = 0;
5589
5599 virtual int getVolumeOfEffect(int soundId) = 0;
5600
5611 virtual int setVolumeOfEffect(int soundId, int volume) = 0;
5620 virtual int pauseEffect(int soundId) = 0;
5627 virtual int pauseAllEffects() = 0;
5636 virtual int resumeEffect(int soundId) = 0;
5643 virtual int resumeAllEffects() = 0;
5652 virtual int stopEffect(int soundId) = 0;
5659 virtual int stopAllEffects() = 0;
5668 virtual int unloadEffect(int soundId) = 0;
5675 virtual int unloadAllEffects() = 0;
5694 virtual int getEffectDuration(const char* filePath) = 0;
5711 virtual int setEffectPosition(int soundId, int pos) = 0;
5726 virtual int getEffectCurrentPosition(int soundId) = 0;
5739 virtual int enableSoundPositionIndication(bool enabled) = 0;
5740
5761 virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0;
5762
5772 virtual int enableSpatialAudio(bool enabled) = 0;
5773
5783 virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams& params) = 0;
5784
5822 virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset) = 0;
5823
5861 virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset) = 0;
5862
5899 virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset) = 0;
5900
5976 virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2) = 0;
5977
6020 virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset,
6021 int param1, int param2) = 0;
6022
6035 virtual int setVoiceConversionParameters(VOICE_CONVERSION_PRESET preset,
6036 int param1, int param2) = 0;
6037
6048 virtual int setLocalVoicePitch(double pitch) = 0;
6049
6060 virtual int setLocalVoiceFormant(double formantRatio) = 0;
6061
6073 virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain) = 0;
6074
6083 virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value) = 0;
6095 virtual int setHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset) = 0;
6096
6106 virtual int setHeadphoneEQParameters(int lowGain, int highGain) = 0;
6107
6119 virtual int enableVoiceAITuner(bool enabled, VOICE_AI_TUNER_TYPE type) = 0;
6120
6136 virtual int setLogFile(const char* filePath) = 0;
6137
6160 virtual int setLogFilter(unsigned int filter) = 0;
6161
6178 virtual int setLogLevel(commons::LOG_LEVEL level) = 0;
6179
6194 virtual int setLogFileSize(unsigned int fileSizeInKBytes) = 0;
6195
6204 virtual int uploadLogFile(agora::util::AString& requestId) = 0;
6205
6221 virtual int writeLog(commons::LOG_LEVEL level, const char* fmt, ...) = 0;
6222
6241 virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
6242
6263 virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode,
6264 VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
6275 virtual int setLocalRenderTargetFps(VIDEO_SOURCE_TYPE sourceType, int targetFps) = 0;
6284 virtual int setRemoteRenderTargetFps(int targetFps) = 0;
6285 // The following APIs are either deprecated and going to deleted.
6286
6304 virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) __deprecated = 0;
6305
6317 virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) __deprecated = 0;
6318
6333 virtual int enableDualStreamMode(bool enabled) __deprecated = 0;
6334
6351 virtual int enableDualStreamMode(bool enabled, const SimulcastStreamConfig& streamConfig) __deprecated = 0;
6352
6353
6367 virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode) = 0;
6368
6384 virtual int setSimulcastConfig(const SimulcastConfig& simulcastConfig) = 0;
6385
6399 virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode, const SimulcastStreamConfig& streamConfig) = 0;
6400
6415 virtual int enableCustomAudioLocalPlayback(track_id_t trackId, bool enabled) = 0;
6416
6435 virtual int setRecordingAudioFrameParameters(int sampleRate, int channel,
6436 RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
6437 int samplesPerCall) = 0;
6438
6458 virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel,
6459 RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
6460 int samplesPerCall) = 0;
6461
6477 virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall) = 0;
6478
6498 virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel,
6499 RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
6500 int samplesPerCall) = 0;
6501
6517 virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel) = 0;
6518
6529 virtual int enableAudioSpectrumMonitor(int intervalInMS = 100) = 0;
6537 virtual int disableAudioSpectrumMonitor() = 0;
6538
6553 virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver * observer) = 0;
6563 virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver * observer) = 0;
6564
6578 virtual int adjustRecordingSignalVolume(int volume) = 0;
6579
6591 virtual int muteRecordingSignal(bool mute) = 0;
6592
6606 virtual int adjustPlaybackSignalVolume(int volume) = 0;
6607
6608 /*
6609 * Adjust the playback volume of the user specified by uid.
6610 *
6611 * You can call this method to adjust the playback volume of the user specified by uid
6612 * in call. If you want to adjust playback volume of the multi user, you can call this
6613 * this method multi times.
6614 *
6615 * @note
6616 * Please call this method after join channel.
6617 * This method adjust the playback volume of specified user.
6618 *
6619 * @param uid Remote user ID.
6620 * @param volume The playback volume of the specified remote user. The value ranges between 0 and 400, including the following:
6621 * 0: Mute.
6622 * 100: (Default) Original volume.
6623 * 400: Four times the original volume with signal-clipping protection.
6624 * @return
6625 * - 0: Success.
6626 * - < 0: Failure.
6627 */
6628 virtual int adjustUserPlaybackSignalVolume(uid_t uid, int volume) = 0;
6629
6651 virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0;
6652
6668 virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0;
6669
6683 virtual int setHighPriorityUserList(uid_t* uidList, int uidNum, STREAM_FALLBACK_OPTIONS option) = 0;
6684
6705 virtual int enableExtension(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, bool enable = true) = 0;
6706
6720 virtual int setExtensionProperty(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, const char* key, const char* value) = 0;
6721
6736 virtual int getExtensionProperty(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, const char* key, char* value, int buf_len) = 0;
6737
6756 virtual int enableLoopbackRecording(bool enabled, const char* deviceName = NULL) = 0;
6757
6758
6771 virtual int adjustLoopbackSignalVolume(int volume) = 0;
6772
6779 virtual int getLoopbackRecordingVolume() = 0;
6780
6792 virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters) = 0;
6793
6804 virtual int setInEarMonitoringVolume(int volume) = 0;
6805
6806 #if defined (_WIN32) || defined(__linux__) || defined(__ANDROID__)
6807 virtual int loadExtensionProvider(const char* path, bool unload_after_use = false) = 0;
6808 #endif
6809
6821 virtual int setExtensionProviderProperty(const char* provider, const char* key, const char* value) = 0;
6822
6835 virtual int registerExtension(const char* provider, const char* extension, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6836
6857 virtual int enableExtension(const char* provider, const char* extension, bool enable=true, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6858
6871 virtual int setExtensionProperty(
6872 const char* provider, const char* extension,
6873 const char* key, const char* value, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6874
6888 virtual int getExtensionProperty(
6889 const char* provider, const char* extension,
6890 const char* key, char* value, int buf_len, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6891
6903 virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration& config) = 0;
6904
6912 virtual video_track_id_t createCustomVideoTrack() = 0;
6913
6921 virtual video_track_id_t createCustomEncodedVideoTrack(const SenderOptions& sender_option) = 0;
6922
6931 virtual int destroyCustomVideoTrack(video_track_id_t video_track_id) = 0;
6932
6941 virtual int destroyCustomEncodedVideoTrack(video_track_id_t video_track_id) = 0;
6942
6943
6944 #if defined(__ANDROID__) || (defined(__APPLE__) && (TARGET_OS_IOS || (defined(TARGET_OS_VISION) && TARGET_OS_VISION)))
6945
6954 virtual int switchCamera() = 0;
6955
6963 virtual bool isCameraZoomSupported() = 0;
6964
6972 virtual bool isCameraFaceDetectSupported() = 0;
6973
6981 virtual bool isCameraTorchSupported() = 0;
6982
6990 virtual bool isCameraFocusSupported() = 0;
6991
6999 virtual bool isCameraAutoFocusFaceModeSupported() = 0;
7000
7010 virtual int setCameraZoomFactor(float factor) = 0;
7011
7020 virtual int enableFaceDetection(bool enabled) = 0;
7021
7026 virtual float getCameraMaxZoomFactor() = 0;
7027
7037 virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0;
7038
7046 virtual int setCameraTorchOn(bool isOn) = 0;
7047
7055 virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0;
7056
7068 virtual bool isCameraExposurePositionSupported() = 0;
7069
7085 virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0;
7086
7099 virtual bool isCameraExposureSupported() = 0;
7100
7111 virtual int setCameraExposureFactor(float factor) = 0;
7112
7113 #if defined(__APPLE__)
7114
7121 virtual bool isCameraAutoExposureFaceModeSupported() = 0;
7122
7123
7131 virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0;
7132
7138 virtual int setCameraStabilizationMode(CAMERA_STABILIZATION_MODE mode) = 0;
7139 #endif
7140
7174 virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0;
7175
7202 virtual int setEnableSpeakerphone(bool speakerOn) = 0;
7203
7211 virtual bool isSpeakerphoneEnabled() = 0;
7212
7219 virtual int setRouteInCommunicationMode(int route) = 0;
7220
7221 #endif // __ANDROID__ || (__APPLE__ && (TARGET_OS_IOS || (defined(TARGET_OS_VISION) && TARGET_OS_VISION)))
7222
7223 #if defined(__APPLE__)
7224
7231 virtual bool isCameraCenterStageSupported() = 0;
7232
7241 virtual int enableCameraCenterStage(bool enabled) = 0;
7242 #endif
7243
7244 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
7245
7255 virtual IScreenCaptureSourceList* getScreenCaptureSources(const SIZE& thumbSize, const SIZE& iconSize, const bool includeScreen) = 0;
7256 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
7257 #if (defined(__APPLE__) && (TARGET_OS_IOS || (defined(TARGET_OS_VISION) && TARGET_OS_VISION)))
7258
7282 virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction) = 0;
7283 #endif // __APPLE__ && (TARGET_OS_IOS || (defined(TARGET_OS_VISION) && TARGET_OS_VISION))
7284
7285 #if defined(_WIN32) || (defined(__APPLE__) && !TARGET_OS_IPHONE && TARGET_OS_MAC)
7286
7307 virtual int startScreenCaptureByDisplayId(int64_t displayId, const Rectangle& regionRect,
7308 const ScreenCaptureParameters& captureParams) = 0;
7309
7310 #endif // __APPLE__ && TARGET_OS_MAC && !TARGET_OS_IPHONE
7311
7312 #if defined(_WIN32)
7313
7336 virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect,
7337 const Rectangle& regionRect,
7338 const ScreenCaptureParameters& captureParams) __deprecated = 0;
7339 #endif
7340
7341 #if defined(__ANDROID__)
7342
7348 virtual int getAudioDeviceInfo(DeviceInfo& deviceInfo) = 0;
7349 #endif // __ANDROID__
7350
7351 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
7352
7370 virtual int startScreenCaptureByWindowId(int64_t windowId, const Rectangle& regionRect,
7371 const ScreenCaptureParameters& captureParams) = 0;
7372
7388 virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint) = 0;
7389
7406 virtual int updateScreenCaptureRegion(const Rectangle& regionRect) = 0;
7407
7421 virtual int updateScreenCaptureParameters(const ScreenCaptureParameters& captureParams) = 0;
7422 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
7423
7424 #if defined(__ANDROID__) || (defined(__APPLE__) && (TARGET_OS_IOS || (defined(TARGET_OS_VISION) && TARGET_OS_VISION)))
7425
7434 virtual int startScreenCapture(const ScreenCaptureParameters2& captureParams) = 0;
7435
7445 virtual int updateScreenCapture(const ScreenCaptureParameters2& captureParams) = 0;
7446
7458 virtual int queryScreenCaptureCapability() = 0;
7459
7471 virtual int queryCameraFocalLengthCapability(agora::rtc::FocalLengthInfo* focalLengthInfos, int& size) = 0;
7472
7473 #if defined(__ANDROID__)
7474
7490 virtual int setExternalMediaProjection(void* mediaProjection) = 0;
7491 #endif
7492 #endif
7493
7494 #if defined(_WIN32) || defined(__APPLE__) || defined(__ANDROID__)
7495
7511 virtual int setScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario) = 0;
7512
7520 virtual int stopScreenCapture() = 0;
7521 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC) || __ANDROID__
7522
7539 virtual int getCallId(agora::util::AString& callId) = 0;
7540
7555 virtual int rate(const char* callId, int rating, const char* description) = 0; // 0~10
7556
7570 virtual int complain(const char* callId, const char* description) = 0;
7571
7592 virtual int startRtmpStreamWithoutTranscoding(const char* url) = 0;
7593
7615 virtual int startRtmpStreamWithTranscoding(const char* url, const LiveTranscoding& transcoding) = 0;
7616
7626 virtual int updateRtmpTranscoding(const LiveTranscoding& transcoding) = 0;
7627
7628 virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration& config) = 0;
7629 virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration& config) = 0;
7630
7649 virtual int stopRtmpStream(const char* url) = 0;
7650
7651 virtual int stopLocalVideoTranscoder() = 0;
7652
7662 virtual int startLocalAudioMixer(const LocalAudioMixerConfiguration& config) = 0;
7663
7673 virtual int updateLocalAudioMixerConfiguration(const LocalAudioMixerConfiguration& config) = 0;
7674
7684 virtual int stopLocalAudioMixer() = 0;
7685
7695 virtual int startCameraCapture(VIDEO_SOURCE_TYPE sourceType, const CameraCapturerConfiguration& config) = 0;
7696
7707 virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType) = 0;
7719 virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
7731 virtual int setScreenCaptureOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
7732
7742 virtual int startScreenCapture(VIDEO_SOURCE_TYPE sourceType, const ScreenCaptureConfiguration& config) = 0;
7743
7754 virtual int stopScreenCapture(VIDEO_SOURCE_TYPE sourceType) = 0;
7755
7760 virtual CONNECTION_STATE_TYPE getConnectionState() = 0;
7761
7762 // The following APIs are not implemented yet.
7763 virtual bool registerEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
7764 virtual bool unregisterEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
7765 virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0;
7766
7778 virtual int registerPacketObserver(IPacketObserver* observer) = 0;
7779
7780
7802 virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0;
7803
7835 virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0;
7836
7846 virtual int createDataStream(int* streamId, const DataStreamConfig& config) = 0;
7847
7878 virtual int sendStreamMessage(int streamId, const char* data, size_t length) = 0;
7879
7901 virtual int addVideoWatermark(const RtcImage& watermark) __deprecated = 0;
7902
7928 virtual int addVideoWatermark(const char* watermarkUrl, const WatermarkOptions& options) = 0;
7929
7937 virtual int clearVideoWatermarks() = 0;
7938
7939 // The following APIs are either deprecated and going to deleted.
7940
7949 virtual int pauseAudio() __deprecated = 0;
7958 virtual int resumeAudio() __deprecated = 0;
7959
7977 virtual int enableWebSdkInteroperability(bool enabled) __deprecated = 0;
7978
7988 virtual int sendCustomReportMessage(const char* id, const char* category, const char* event, const char* label, int value) = 0;
7989
8011 virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0;
8012
8021 virtual int unregisterMediaMetadataObserver(IMetadataObserver* observer, IMetadataObserver::METADATA_TYPE type) = 0;
8022
8031 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;
8032
8036 virtual int stopAudioFrameDump(const char* channel_id, uid_t uid, const char* location) = 0;
8037
8053 virtual int setAINSMode(bool enabled, AUDIO_AINS_MODE mode) = 0;
8054
8086 virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0;
8087
8118 virtual int joinChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount) = 0;
8119
8151 virtual int joinChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount, const ChannelMediaOptions& options) = 0;
8152
8185 virtual int joinChannelWithUserAccountEx(const char* token, const char* channelId,
8186 const char* userAccount, const ChannelMediaOptions& options,
8187 IRtcEngineEventHandler* eventHandler) = 0;
8188
8206 virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo) = 0;
8207
8225 virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo) = 0;
8226
8261 virtual int startOrUpdateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0;
8262
8291 virtual int stopChannelMediaRelay() = 0;
8292
8302 virtual int pauseAllChannelMediaRelay() = 0;
8303
8313 virtual int resumeAllChannelMediaRelay() = 0;
8314
8327 virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile) = 0;
8328
8343 virtual int setDirectCdnStreamingVideoConfiguration(const VideoEncoderConfiguration& config) = 0;
8344
8358 virtual int startDirectCdnStreaming(IDirectCdnStreamingEventHandler* eventHandler,
8359 const char* publishUrl, const DirectCdnStreamingMediaOptions& options) = 0;
8360
8370 virtual int stopDirectCdnStreaming() = 0;
8371
8383 virtual int updateDirectCdnStreamingMediaOptions(const DirectCdnStreamingMediaOptions& options) = 0;
8384
8395 virtual int startRhythmPlayer(const char* sound1, const char* sound2, const AgoraRhythmPlayerConfig& config) = 0;
8396
8403 virtual int stopRhythmPlayer() = 0;
8404
8413 virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig& config) = 0;
8414
8444 virtual int takeSnapshot(uid_t uid, const char* filePath) = 0;
8445
8470 virtual int takeSnapshot(uid_t uid, const media::SnapshotConfig& config) = 0;
8471
8481 virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config) = 0;
8482 /*
8483 * Adjust the custom audio publish volume by track id.
8484 * @param trackId custom audio track id.
8485 * @param volume The volume, range is [0,100]:
8486 * 0: mute, 100: The original volume
8487 * @return
8488 * - 0: Success.
8489 * - < 0: Failure.
8490 */
8491 virtual int adjustCustomAudioPublishVolume(track_id_t trackId, int volume) = 0;
8492
8493 /*
8494 * Adjust the custom audio playout volume by track id.
8495 * @param trackId custom audio track id.
8496 * @param volume The volume, range is [0,100]:
8497 * 0: mute, 100: The original volume
8498 * @return
8499 * - 0: Success.
8500 * - < 0: Failure.
8501 */
8502 virtual int adjustCustomAudioPlayoutVolume(track_id_t trackId, int volume) = 0;
8503
8533 virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0;
8542 virtual int setLocalAccessPoint(const LocalAccessPointConfiguration& config) = 0;
8543
8551 virtual int setAdvancedAudioOptions(AdvancedAudioOptions& options, int sourceType = 0) = 0;
8552
8563 virtual int setAVSyncSource(const char* channelId, uid_t uid) = 0;
8564
8571 virtual int enableVideoImageSource(bool enable, const ImageTrackOptions& options) = 0;
8572
8573 /*
8574 * Get monotonic time in ms which can be used by capture time,
8575 * typical scenario is as follows:
8576 *
8577 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8578 * | // custom audio/video base capture time, e.g. the first audio/video capture time. |
8579 * | int64_t custom_capture_time_base; |
8580 * | |
8581 * | int64_t agora_monotonic_time = getCurrentMonotonicTimeInMs(); |
8582 * | |
8583 * | // offset is fixed once calculated in the begining. |
8584 * | const int64_t offset = agora_monotonic_time - custom_capture_time_base; |
8585 * | |
8586 * | // realtime_custom_audio/video_capture_time is the origin capture time that customer provided.|
8587 * | // actual_audio/video_capture_time is the actual capture time transfered to sdk. |
8588 * | int64_t actual_audio_capture_time = realtime_custom_audio_capture_time + offset; |
8589 * | int64_t actual_video_capture_time = realtime_custom_video_capture_time + offset; |
8590 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8591 *
8592 * @return
8593 * - >= 0: Success.
8594 * - < 0: Failure.
8595 */
8596 virtual int64_t getCurrentMonotonicTimeInMs() = 0;
8597
8613 virtual int enableWirelessAccelerate(bool enabled) = 0;
8614
8629 virtual int getNetworkType() = 0;
8630
8639 virtual int setParameters(const char* parameters) = 0;
8640
8655 virtual int startMediaRenderingTracing() = 0;
8656
8670 virtual int enableInstantMediaRendering() = 0;
8671
8675 virtual uint64_t getNtpWallTimeInMs() = 0;
8676
8685 virtual bool isFeatureAvailableOnDevice(FeatureType type) = 0;
8686
8697 virtual int sendAudioMetadata(const char* metadata, size_t length) = 0;
8698
8708 virtual int queryHDRCapability(VIDEO_MODULE_TYPE videoModule, HDR_CAPABILITY& capability) = 0;
8709 };
8710
8711 // The following types are either deprecated or not implmented yet.
8712 enum QUALITY_REPORT_FORMAT_TYPE {
8715 QUALITY_REPORT_JSON = 0,
8718 QUALITY_REPORT_HTML = 1,
8719 };
8720
8722 enum MEDIA_DEVICE_STATE_TYPE {
8725 MEDIA_DEVICE_STATE_IDLE = 0,
8728 MEDIA_DEVICE_STATE_ACTIVE = 1,
8731 MEDIA_DEVICE_STATE_DISABLED = 2,
8732
8735 MEDIA_DEVICE_STATE_PLUGGED_IN = 3,
8736
8739 MEDIA_DEVICE_STATE_NOT_PRESENT = 4,
8742 MEDIA_DEVICE_STATE_UNPLUGGED = 8
8743 };
8744
8745 enum VIDEO_PROFILE_TYPE { // res fps
8747 VIDEO_PROFILE_LANDSCAPE_120P = 0, // 160x120 15
8749 VIDEO_PROFILE_LANDSCAPE_120P_3 = 2, // 120x120 15
8751 VIDEO_PROFILE_LANDSCAPE_180P = 10, // 320x180 15
8753 VIDEO_PROFILE_LANDSCAPE_180P_3 = 12, // 180x180 15
8755 VIDEO_PROFILE_LANDSCAPE_180P_4 = 13, // 240x180 15
8757 VIDEO_PROFILE_LANDSCAPE_240P = 20, // 320x240 15
8759 VIDEO_PROFILE_LANDSCAPE_240P_3 = 22, // 240x240 15
8761 VIDEO_PROFILE_LANDSCAPE_240P_4 = 23, // 424x240 15
8763 VIDEO_PROFILE_LANDSCAPE_360P = 30, // 640x360 15
8765 VIDEO_PROFILE_LANDSCAPE_360P_3 = 32, // 360x360 15
8767 VIDEO_PROFILE_LANDSCAPE_360P_4 = 33, // 640x360 30
8769 VIDEO_PROFILE_LANDSCAPE_360P_6 = 35, // 360x360 30
8771 VIDEO_PROFILE_LANDSCAPE_360P_7 = 36, // 480x360 15
8773 VIDEO_PROFILE_LANDSCAPE_360P_8 = 37, // 480x360 30
8775 VIDEO_PROFILE_LANDSCAPE_360P_9 = 38, // 640x360 15
8777 VIDEO_PROFILE_LANDSCAPE_360P_10 = 39, // 640x360 24
8779 VIDEO_PROFILE_LANDSCAPE_360P_11 = 100, // 640x360 24
8781 VIDEO_PROFILE_LANDSCAPE_480P = 40, // 640x480 15
8783 VIDEO_PROFILE_LANDSCAPE_480P_3 = 42, // 480x480 15
8785 VIDEO_PROFILE_LANDSCAPE_480P_4 = 43, // 640x480 30
8787 VIDEO_PROFILE_LANDSCAPE_480P_6 = 45, // 480x480 30
8789 VIDEO_PROFILE_LANDSCAPE_480P_8 = 47, // 848x480 15
8791 VIDEO_PROFILE_LANDSCAPE_480P_9 = 48, // 848x480 30
8793 VIDEO_PROFILE_LANDSCAPE_480P_10 = 49, // 640x480 10
8795 VIDEO_PROFILE_LANDSCAPE_720P = 50, // 1280x720 15
8797 VIDEO_PROFILE_LANDSCAPE_720P_3 = 52, // 1280x720 30
8799 VIDEO_PROFILE_LANDSCAPE_720P_5 = 54, // 960x720 15
8801 VIDEO_PROFILE_LANDSCAPE_720P_6 = 55, // 960x720 30
8803 VIDEO_PROFILE_LANDSCAPE_1080P = 60, // 1920x1080 15
8805 VIDEO_PROFILE_LANDSCAPE_1080P_3 = 62, // 1920x1080 30
8807 VIDEO_PROFILE_LANDSCAPE_1080P_5 = 64, // 1920x1080 60
8809 VIDEO_PROFILE_LANDSCAPE_1440P = 66, // 2560x1440 30
8811 VIDEO_PROFILE_LANDSCAPE_1440P_2 = 67, // 2560x1440 60
8813 VIDEO_PROFILE_LANDSCAPE_4K = 70, // 3840x2160 30
8815 VIDEO_PROFILE_LANDSCAPE_4K_3 = 72, // 3840x2160 60
8817 VIDEO_PROFILE_PORTRAIT_120P = 1000, // 120x160 15
8819 VIDEO_PROFILE_PORTRAIT_120P_3 = 1002, // 120x120 15
8821 VIDEO_PROFILE_PORTRAIT_180P = 1010, // 180x320 15
8823 VIDEO_PROFILE_PORTRAIT_180P_3 = 1012, // 180x180 15
8825 VIDEO_PROFILE_PORTRAIT_180P_4 = 1013, // 180x240 15
8827 VIDEO_PROFILE_PORTRAIT_240P = 1020, // 240x320 15
8829 VIDEO_PROFILE_PORTRAIT_240P_3 = 1022, // 240x240 15
8831 VIDEO_PROFILE_PORTRAIT_240P_4 = 1023, // 240x424 15
8833 VIDEO_PROFILE_PORTRAIT_360P = 1030, // 360x640 15
8835 VIDEO_PROFILE_PORTRAIT_360P_3 = 1032, // 360x360 15
8837 VIDEO_PROFILE_PORTRAIT_360P_4 = 1033, // 360x640 30
8839 VIDEO_PROFILE_PORTRAIT_360P_6 = 1035, // 360x360 30
8841 VIDEO_PROFILE_PORTRAIT_360P_7 = 1036, // 360x480 15
8843 VIDEO_PROFILE_PORTRAIT_360P_8 = 1037, // 360x480 30
8845 VIDEO_PROFILE_PORTRAIT_360P_9 = 1038, // 360x640 15
8847 VIDEO_PROFILE_PORTRAIT_360P_10 = 1039, // 360x640 24
8849 VIDEO_PROFILE_PORTRAIT_360P_11 = 1100, // 360x640 24
8851 VIDEO_PROFILE_PORTRAIT_480P = 1040, // 480x640 15
8853 VIDEO_PROFILE_PORTRAIT_480P_3 = 1042, // 480x480 15
8855 VIDEO_PROFILE_PORTRAIT_480P_4 = 1043, // 480x640 30
8857 VIDEO_PROFILE_PORTRAIT_480P_6 = 1045, // 480x480 30
8859 VIDEO_PROFILE_PORTRAIT_480P_8 = 1047, // 480x848 15
8861 VIDEO_PROFILE_PORTRAIT_480P_9 = 1048, // 480x848 30
8863 VIDEO_PROFILE_PORTRAIT_480P_10 = 1049, // 480x640 10
8865 VIDEO_PROFILE_PORTRAIT_720P = 1050, // 720x1280 15
8867 VIDEO_PROFILE_PORTRAIT_720P_3 = 1052, // 720x1280 30
8869 VIDEO_PROFILE_PORTRAIT_720P_5 = 1054, // 720x960 15
8871 VIDEO_PROFILE_PORTRAIT_720P_6 = 1055, // 720x960 30
8873 VIDEO_PROFILE_PORTRAIT_1080P = 1060, // 1080x1920 15
8875 VIDEO_PROFILE_PORTRAIT_1080P_3 = 1062, // 1080x1920 30
8877 VIDEO_PROFILE_PORTRAIT_1080P_5 = 1064, // 1080x1920 60
8879 VIDEO_PROFILE_PORTRAIT_1440P = 1066, // 1440x2560 30
8881 VIDEO_PROFILE_PORTRAIT_1440P_2 = 1067, // 1440x2560 60
8883 VIDEO_PROFILE_PORTRAIT_4K = 1070, // 2160x3840 30
8885 VIDEO_PROFILE_PORTRAIT_4K_3 = 1072, // 2160x3840 60
8887 VIDEO_PROFILE_DEFAULT = VIDEO_PROFILE_LANDSCAPE_360P,
8888 };
8889
8890 class AAudioDeviceManager : public agora::util::AutoPtr<IAudioDeviceManager> {
8891 public:
8892 AAudioDeviceManager(IRtcEngine* engine) {
8893 queryInterface(engine, AGORA_IID_AUDIO_DEVICE_MANAGER);
8894 }
8895 };
8896
8897 class AVideoDeviceManager : public agora::util::AutoPtr<IVideoDeviceManager> {
8898 public:
8899 AVideoDeviceManager(IRtcEngine* engine) {
8900 queryInterface(engine, AGORA_IID_VIDEO_DEVICE_MANAGER);
8901 }
8902 };
8903
8904 } // namespace rtc
8905 } // namespace agora
8906
8912 #define getAgoraRtcEngineVersion getAgoraSdkVersion
8913
8915
8918
8924 AGORA_API agora::rtc::IRtcEngine* AGORA_CALL createAgoraRtcEngine();
8925
8927
8928
8935 #define getAgoraRtcEngineErrorDescription getAgoraSdkErrorDescription
8936 #define setAgoraRtcEngineExternalSymbolLoader setAgoraSdkExternalSymbolLoader
agora::rtc::IRtcEngine::startScreenCapture
virtual int startScreenCapture(const ScreenCaptureParameters2 &captureParams)=0
agora::rtc::RemoteAudioStats::RemoteAudioStats
RemoteAudioStats()
Definition: IAgoraRtcEngine.h:467
agora::rtc::IRtcEngine::setDirectCdnStreamingAudioConfiguration
virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile)=0
agora::rtc::IRtcEngine::getErrorDescription
virtual const char * getErrorDescription(int code)=0
agora::rtc::IRtcEngine::enableAudioSpectrumMonitor
virtual int enableAudioSpectrumMonitor(int intervalInMS=100)=0
agora::rtc::IRtcEngine::setSubscribeVideoAllowlist
virtual int setSubscribeVideoAllowlist(uid_t *uidList, int uidNumber)=0
agora::rtc::IRtcEngine::adjustRecordingSignalVolume
virtual int adjustRecordingSignalVolume(int volume)=0
agora::rtc::IRtcEngine::enableWebSdkInteroperability
virtual int enableWebSdkInteroperability(bool enabled) __deprecated=0
agora::rtc::IRtcEngine::enableSpatialAudio
virtual int enableSpatialAudio(bool enabled)=0
agora::rtc::ChannelMediaOptions::publishMediaPlayerAudioTrack
Optional< bool > publishMediaPlayerAudioTrack
Definition: IAgoraRtcEngine.h:1159
agora::rtc::PublisherConfiguration::extraInfo
const char * extraInfo
Definition: IAgoraRtcEngine.h:766
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_11
@ VIDEO_PROFILE_LANDSCAPE_360P_11
Definition: IAgoraRtcEngine.h:8778
agora::rtc::IRtcEngine::setRemoteUserPriority
virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority)=0
agora::rtc::IRtcEngine::setCameraAutoFocusFaceModeEnabled
virtual int setCameraAutoFocusFaceModeEnabled(bool enabled)=0
agora::rtc::IRtcEngine::setAVSyncSource
virtual int setAVSyncSource(const char *channelId, uid_t uid)=0
agora::rtc::RtcEngineContext::appId
const char * appId
Definition: IAgoraRtcEngine.h:3315
agora::rtc::RtcEngineReleaseCallback
void(*)() RtcEngineReleaseCallback
Occurs when the IRtcEngine is released.
Definition: IAgoraRtcEngine.h:3720
agora::rtc::VIDEO_PROFILE_PORTRAIT_180P_4
@ VIDEO_PROFILE_PORTRAIT_180P_4
Definition: IAgoraRtcEngine.h:8824
agora::rtc::IRtcEngine::setSubscribeAudioBlocklist
virtual int setSubscribeAudioBlocklist(uid_t *uidList, int uidNumber)=0
agora::rtc::ChannelMediaOptions::SetAll
void SetAll(const ChannelMediaOptions &change)
Definition: IAgoraRtcEngine.h:1287
agora::rtc::IRtcEngineEventHandler::onUserAccountUpdated
virtual void onUserAccountUpdated(uid_t uid, const char *userAccount)
Definition: IAgoraRtcEngine.h:2764
agora::rtc::LOCAL_VIDEO_STREAM_STATE
LOCAL_VIDEO_STREAM_STATE
Definition: AgoraBase.h:2974
agora::rtc::IRtcEngine::enableInEarMonitoring
virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters)=0
agora::rtc::IRtcEngine::isSpeakerphoneEnabled
virtual bool isSpeakerphoneEnabled()=0
agora::rtc::ReplaceBy
static void ReplaceBy(Optional< T > *s, const Optional< T > &o)
Definition: IAgoraRtcEngine.h:31
agora::rtc::IRtcEngineEventHandler::onRtmpStreamingEvent
virtual void onRtmpStreamingEvent(const char *url, RTMP_STREAMING_EVENT eventCode)
Definition: IAgoraRtcEngine.h:2506
agora::rtc::IRtcEngineEventHandler::onExtensionErrorWithContext
virtual void onExtensionErrorWithContext(const ExtensionContext &context, int error, const char *message)
Definition: IAgoraRtcEngine.h:2949
agora::rtc::LocalVideoStats::regulatedCaptureFrameHeight
int regulatedCaptureFrameHeight
Definition: IAgoraRtcEngine.h:308
agora::rtc::AUDIO_SAMPLE_RATE_48000
@ AUDIO_SAMPLE_RATE_48000
Definition: AgoraBase.h:3525
agora::rtc::IRtcEngine::setEnableSpeakerphone
virtual int setEnableSpeakerphone(bool speakerOn)=0
agora::rtc::IRtcEngine::getScreenCaptureSources
virtual IScreenCaptureSourceList * getScreenCaptureSources(const SIZE &thumbSize, const SIZE &iconSize, const bool includeScreen)=0
agora::rtc::IRtcEngine::setEffectPosition
virtual int setEffectPosition(int soundId, int pos)=0
agora::rtc::UserInfo
Definition: AgoraBase.h:6700
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_6
@ VIDEO_PROFILE_PORTRAIT_360P_6
Definition: IAgoraRtcEngine.h:8838
agora::rtc::RemoteVideoStats::publishDuration
int publishDuration
Definition: IAgoraRtcEngine.h:563
agora::rtc::AUDIO_REVERB_TYPE
AUDIO_REVERB_TYPE
Definition: IAgoraRtcEngine.h:211
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_11
@ VIDEO_PROFILE_PORTRAIT_360P_11
Definition: IAgoraRtcEngine.h:8848
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_7
@ VIDEO_PROFILE_LANDSCAPE_360P_7
Definition: IAgoraRtcEngine.h:8770
agora::rtc::IRtcEngine::stopDirectCdnStreaming
virtual int stopDirectCdnStreaming()=0
agora::rtc::ImageTrackOptions::mirrorMode
VIDEO_MIRROR_MODE_TYPE mirrorMode
Definition: IAgoraRtcEngine.h:1047
agora::rtc::ScreenCaptureParameters
Definition: AgoraBase.h:5769
agora::rtc::IRtcEngine::muteAllRemoteVideoStreams
virtual int muteAllRemoteVideoStreams(bool mute)=0
agora::rtc::IRtcEngine::setRemoteVideoSubscriptionOptions
virtual int setRemoteVideoSubscriptionOptions(uid_t uid, const VideoSubscriptionOptions &options)=0
agora::rtc::INJECT_STREAM_STATUS_START_UNAUTHORIZED
@ INJECT_STREAM_STATUS_START_UNAUTHORIZED
Definition: IAgoraRtcEngine.h:127
agora::rtc::ScreenCaptureSourceInfo::processPath
const char * processPath
Definition: IAgoraRtcEngine.h:964
agora::rtc::RemoteVideoStats::e2eDelay
int e2eDelay
Definition: IAgoraRtcEngine.h:508
agora::rtc::InjectStreamConfig::audioChannels
int audioChannels
Definition: IAgoraRtcEngine.h:688
agora::rtc::IRtcEngine::updateScreenCapture
virtual int updateScreenCapture(const ScreenCaptureParameters2 &captureParams)=0
agora::rtc::IVideoEffectObject::SAVE
@ SAVE
Definition: IAgoraRtcEngine.h:3152
agora::rtc::LocalVideoStats::regulatedCaptureFrameWidth
int regulatedCaptureFrameWidth
Definition: IAgoraRtcEngine.h:304
agora::rtc::IRtcEngine::pauseEffect
virtual int pauseEffect(int soundId)=0
agora::rtc::ChannelMediaOptions::publishSecondaryCameraTrack
Optional< bool > publishSecondaryCameraTrack
Definition: IAgoraRtcEngine.h:1071
agora::rtc::AUDIO_MIXING_STATE_FAILED
@ AUDIO_MIXING_STATE_FAILED
Definition: IAgoraRtcEngine.h:87
agora::rtc::SenderOptions
Definition: AgoraBase.h:1253
agora::rtc::INJECT_STREAM_STATUS_STOP_TIMEDOUT
@ INJECT_STREAM_STATUS_STOP_TIMEDOUT
Definition: IAgoraRtcEngine.h:151
agora::rtc::IRtcEngine::muteLocalVideoStream
virtual int muteLocalVideoStream(bool mute)=0
agora::rtc::RtcEngineContext::eventHandler
IRtcEngineEventHandler * eventHandler
Definition: IAgoraRtcEngine.h:3308
agora::rtc::DIRECT_CDN_STREAMING_REASON_AUDIO_PUBLICATION
@ DIRECT_CDN_STREAMING_REASON_AUDIO_PUBLICATION
Definition: IAgoraRtcEngine.h:3498
agora::rtc::VIDEO_PROFILE_LANDSCAPE_720P_5
@ VIDEO_PROFILE_LANDSCAPE_720P_5
Definition: IAgoraRtcEngine.h:8798
agora::rtc::AUDIO_REVERB_STRENGTH
@ AUDIO_REVERB_STRENGTH
Definition: IAgoraRtcEngine.h:231
agora::rtc::IRtcEngineEventHandler::onIntraRequestReceived
virtual void onIntraRequestReceived()
Definition: IAgoraRtcEngine.h:1746
agora::rtc::VideoCompositingLayout
Definition: IAgoraRtcEngine.h:578
agora::rtc::VideoCompositingLayout::canvasHeight
int canvasHeight
Definition: IAgoraRtcEngine.h:627
agora::rtc::IRtcEngine::setVoiceConversionPreset
virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset)=0
agora::rtc::TCP_PROXY_TYPE
@ TCP_PROXY_TYPE
Definition: IAgoraRtcEngine.h:1446
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_6
@ VIDEO_PROFILE_LANDSCAPE_360P_6
Definition: IAgoraRtcEngine.h:8768
agora::rtc::DirectCdnStreamingStats::videoHeight
int videoHeight
Definition: IAgoraRtcEngine.h:3534
agora::rtc::IRtcEngine::enableLocalVideo
virtual int enableLocalVideo(bool enabled)=0
agora::rtc::IRtcEngineEventHandler::onLeaveChannel
virtual void onLeaveChannel(const RtcStats &stats)
Definition: IAgoraRtcEngine.h:1642
agora::media::UNKNOWN_MEDIA_SOURCE
@ UNKNOWN_MEDIA_SOURCE
Definition: AgoraMediaBase.h:307
agora::rtc::IRtcEngine::isCameraTorchSupported
virtual bool isCameraTorchSupported()=0
agora::rtc::IRtcEngineEventHandler::onRhythmPlayerStateChanged
virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_REASON reason)
Definition: IAgoraRtcEngine.h:2201
agora::rtc::IDirectCdnStreamingEventHandler::onDirectCdnStreamingStateChanged
virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_REASON reason, const char *message)
Definition: IAgoraRtcEngine.h:3566
agora::rtc::IRtcEngine::getAudioTrackCount
virtual int getAudioTrackCount()=0
agora::rtc::IRtcEngineEventHandler::onStreamMessage
virtual void onStreamMessage(uid_t uid, int streamId, const char *data, size_t length, uint64_t sentTs)
Definition: IAgoraRtcEngine.h:2245
agora::rtc::AUDIO_MIXING_REASON_OK
@ AUDIO_MIXING_REASON_OK
Definition: IAgoraRtcEngine.h:109
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoDecoded
virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) __deprecated
Definition: IAgoraRtcEngine.h:1835
agora::rtc::RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL
@ RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL
Definition: IAgoraRtcEngine.h:708
agora::rtc::IVideoDeviceManager::~IVideoDeviceManager
virtual ~IVideoDeviceManager()
Definition: IAgoraRtcEngine.h:3015
agora::rtc::LocalVideoStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:279
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_6
@ VIDEO_PROFILE_PORTRAIT_480P_6
Definition: IAgoraRtcEngine.h:8856
agora::rtc::IRtcEngine::stopChannelMediaRelay
virtual int stopChannelMediaRelay()=0
agora::rtc::IRtcEngineEventHandler::onAudioEffectFinished
virtual void onAudioEffectFinished(int soundId)
Definition: IAgoraRtcEngine.h:1695
agora::rtc::WLACC_MESSAGE_REASON
WLACC_MESSAGE_REASON
Definition: AgoraBase.h:4559
agora::rtc::ScreenCaptureSourceType_Custom
@ ScreenCaptureSourceType_Custom
Definition: IAgoraRtcEngine.h:937
agora::rtc::IVideoEffectObject::getVideoEffectFloatParam
virtual float getVideoEffectFloatParam(const char *option, const char *key)=0
Gets a float parameter from the video effect.
agora::rtc::RtcEngineContext::threadPriority
Optional< THREAD_PRIORITY_TYPE > threadPriority
Definition: IAgoraRtcEngine.h:3370
agora::media::PRIMARY_CAMERA_SOURCE
@ PRIMARY_CAMERA_SOURCE
Definition: AgoraMediaBase.h:259
agora::rtc::IRtcEngine::registerAudioEncodedFrameObserver
virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig &config, IAudioEncodedFrameObserver *observer)=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_1440P
@ VIDEO_PROFILE_PORTRAIT_1440P
Definition: IAgoraRtcEngine.h:8878
agora::rtc::CameraCapturerConfiguration::cameraDirection
Optional< CAMERA_DIRECTION > cameraDirection
Definition: IAgoraRtcEngine.h:818
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_3
@ VIDEO_PROFILE_PORTRAIT_480P_3
Definition: IAgoraRtcEngine.h:8852
agora::rtc::AUDIO_MIXING_STATE_PLAYING
@ AUDIO_MIXING_STATE_PLAYING
Definition: IAgoraRtcEngine.h:80
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::setFaceShapeBeautyOptions
virtual int setFaceShapeBeautyOptions(bool enabled, const FaceShapeBeautyOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_720P_6
@ VIDEO_PROFILE_PORTRAIT_720P_6
Definition: IAgoraRtcEngine.h:8870
agora::rtc::ChannelMediaOptions::enableBuiltInMediaEncryption
Optional< bool > enableBuiltInMediaEncryption
Definition: IAgoraRtcEngine.h:1251
agora::rtc::IRtcEngine::resumeAllEffects
virtual int resumeAllEffects()=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::InjectStreamConfig::width
int width
Definition: IAgoraRtcEngine.h:661
agora::rtc::IRtcEngine::pauseAudioMixing
virtual int pauseAudioMixing()=0
agora::rtc::IRtcEngine::setPlaybackAudioFrameBeforeMixingParameters
virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel)=0
agora::rtc::IRtcEngineEventHandler::onRemoteAudioTransportStats
virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated
Definition: IAgoraRtcEngine.h:2627
agora::rtc::SCREEN_SCENARIO_TYPE
SCREEN_SCENARIO_TYPE
Definition: AgoraBase.h:2789
agora::rtc::ScreenCaptureSourceInfo::type
ScreenCaptureSourceType type
Definition: IAgoraRtcEngine.h:944
agora::rtc::RemoteAudioStats::totalActiveTime
int totalActiveTime
Definition: IAgoraRtcEngine.h:445
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::IRtcEngineEventHandler::onFirstRemoteAudioFrame
virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) __deprecated
Definition: IAgoraRtcEngine.h:2350
agora::rtc::IVideoDeviceManager::getCapability
virtual int getCapability(const char *deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat &capability)=0
agora::rtc::ChannelMediaOptions::ChannelMediaOptions
ChannelMediaOptions()
Definition: IAgoraRtcEngine.h:1284
agora::rtc::IVideoDeviceCollection::release
virtual void release()=0
agora::rtc::AUDIO_RECORDING_DEVICE
@ AUDIO_RECORDING_DEVICE
Definition: IAgoraRtcEngine.h:52
agora::rtc::IVideoDeviceManager::enumerateVideoDevices
virtual IVideoDeviceCollection * enumerateVideoDevices()=0
agora::rtc::LeaveChannelOptions::stopAudioMixing
bool stopAudioMixing
Definition: IAgoraRtcEngine.h:1475
agora::rtc::IRtcEngine::getVersion
virtual const char * getVersion(int *build)=0
agora::rtc::RemoteVideoStats::totalActiveTime
int totalActiveTime
Definition: IAgoraRtcEngine.h:559
agora::rtc::IRtcEngine::setAudioMixingPitch
virtual int setAudioMixingPitch(int pitch)=0
agora::rtc::ChannelMediaOptions::publishRhythmPlayerTrack
Optional< bool > publishRhythmPlayerTrack
Definition: IAgoraRtcEngine.h:1257
agora::rtc::ChannelMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition: IAgoraRtcEngine.h:1147
agora::rtc::IRtcEngineEventHandler::onLocalVideoStateChanged
virtual void onLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_REASON reason)
Definition: IAgoraRtcEngine.h:1883
agora::media::IAudioSpectrumObserver
Definition: AgoraMediaBase.h:1598
agora::rtc::DirectCdnStreamingStats::videoWidth
int videoWidth
Definition: IAgoraRtcEngine.h:3529
agora::rtc::RTMP_STREAMING_EVENT
RTMP_STREAMING_EVENT
Definition: AgoraBase.h:3750
agora::rtc::MEDIA_DEVICE_STATE_DISABLED
@ MEDIA_DEVICE_STATE_DISABLED
Definition: IAgoraRtcEngine.h:8730
agora::rtc::HDR_CAPABILITY
HDR_CAPABILITY
Definition: AgoraBase.h:1860
agora::rtc::IMetadataObserver::Metadata::buffer
unsigned char * buffer
Definition: IAgoraRtcEngine.h:3447
agora::rtc::REMOTE_AUDIO_STATE
REMOTE_AUDIO_STATE
Definition: AgoraBase.h:3128
agora::rtc::ThumbImageBuffer::length
unsigned int length
Definition: IAgoraRtcEngine.h:915
agora::rtc::PublisherConfiguration::publishUrl
const char * publishUrl
Definition: IAgoraRtcEngine.h:759
agora::rtc::AUDIO_MIXING_REASON_RESUMED_BY_USER
@ AUDIO_MIXING_REASON_RESUMED_BY_USER
Definition: IAgoraRtcEngine.h:107
agora::rtc::IMetadataObserver::Metadata::Metadata
Metadata()
Definition: IAgoraRtcEngine.h:3453
agora::rtc::IRtcEngine::enableVoiceAITuner
virtual int enableVoiceAITuner(bool enabled, VOICE_AI_TUNER_TYPE type)=0
agora::rtc::NONE_PROXY
@ NONE_PROXY
Definition: IAgoraRtcEngine.h:801
agora::rtc::ExtensionInfo
Definition: IAgoraRtcEngine.h:3678
agora::rtc::IRtcEngineEventHandler::onVideoRenderingTracingResult
virtual void onVideoRenderingTracingResult(uid_t uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo)
Definition: IAgoraRtcEngine.h:2776
agora::rtc::ExtensionInfo::remoteUid
uid_t remoteUid
Definition: IAgoraRtcEngine.h:3689
agora::rtc::PublisherConfiguration::lifecycle
int lifecycle
Definition: IAgoraRtcEngine.h:741
agora::rtc::IRtcEngine::startPreview
virtual int startPreview()=0
agora::rtc::IMetadataObserver::Metadata::timeStampMs
long long timeStampMs
Definition: IAgoraRtcEngine.h:3451
agora::rtc::VideoCompositingLayout::Region::Region
Region()
Definition: IAgoraRtcEngine.h:607
agora::rtc::MEDIA_DEVICE_STATE_TYPE
MEDIA_DEVICE_STATE_TYPE
Definition: IAgoraRtcEngine.h:8721
agora::rtc::IRtcEngineEventHandler::onLocalAudioStats
virtual void onLocalAudioStats(const LocalAudioStats &stats)
Definition: IAgoraRtcEngine.h:2060
agora::rtc::IRtcEngine::setAINSMode
virtual int setAINSMode(bool enabled, AUDIO_AINS_MODE mode)=0
agora::rtc::IRtcEngine::updateLocalAudioMixerConfiguration
virtual int updateLocalAudioMixerConfiguration(const LocalAudioMixerConfiguration &config)=0
agora::rtc::ChannelMediaOptions::autoSubscribeAudio
Optional< bool > autoSubscribeAudio
Definition: IAgoraRtcEngine.h:1189
agora::rtc::VIDEO_PROFILE_PORTRAIT_1440P_2
@ VIDEO_PROFILE_PORTRAIT_1440P_2
Definition: IAgoraRtcEngine.h:8880
agora::rtc::IRtcEngineEventHandler::onCameraExposureAreaChanged
virtual void onCameraExposureAreaChanged(int x, int y, int width, int height)
Definition: IAgoraRtcEngine.h:2125
agora::rtc::LocalAccessPointConfiguration
Definition: AgoraBase.h:6973
agora::rtc::IRtcEngineEventHandler::onClientRoleChangeFailed
virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole)
Definition: IAgoraRtcEngine.h:2465
agora::rtc::VideoCompositingLayout::VideoCompositingLayout
VideoCompositingLayout()
Definition: IAgoraRtcEngine.h:645
agora::rtc::IVideoDeviceCollection::getDevice
virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH], char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::ThumbImageBuffer::buffer
const char * buffer
Definition: IAgoraRtcEngine.h:911
agora::rtc::DirectCdnStreamingStats::videoBitrate
int videoBitrate
Definition: IAgoraRtcEngine.h:3544
agora::rtc::VIDEO_PROFILE_LANDSCAPE_4K_3
@ VIDEO_PROFILE_LANDSCAPE_4K_3
Definition: IAgoraRtcEngine.h:8814
agora::rtc::IRtcEngineEventHandler::onLastmileQuality
virtual void onLastmileQuality(int quality)
Definition: IAgoraRtcEngine.h:1785
agora::rtc::IRtcEngine::enableInstantMediaRendering
virtual int enableInstantMediaRendering()=0
Enable instant media rendering.
agora::rtc::AUDIO_PROFILE_TYPE
AUDIO_PROFILE_TYPE
Definition: AgoraBase.h:2632
agora::rtc::IRtcEngine::setCameraFocusPositionInPreview
virtual int setCameraFocusPositionInPreview(float positionX, float positionY)=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::VIDEO_PROFILE_PORTRAIT_180P
@ VIDEO_PROFILE_PORTRAIT_180P
Definition: IAgoraRtcEngine.h:8820
agora::rtc::ChannelMediaOptions::isAudioFilterable
Optional< bool > isAudioFilterable
Definition: IAgoraRtcEngine.h:1276
agora::rtc::AREA_CODE_GLOB
@ AREA_CODE_GLOB
Definition: AgoraBase.h:6169
agora::rtc::LiveTranscoding
Definition: AgoraBase.h:3964
agora::rtc::IVideoDeviceManager::numberOfCapabilities
virtual int numberOfCapabilities(const char *deviceIdUTF8)=0
agora::rtc::DIRECT_CDN_STREAMING_REASON_FAILED
@ DIRECT_CDN_STREAMING_REASON_FAILED
Definition: IAgoraRtcEngine.h:3496
agora::rtc::ChannelMediaOptions::audienceLatencyLevel
Optional< AUDIENCE_LATENCY_LEVEL_TYPE > audienceLatencyLevel
Definition: IAgoraRtcEngine.h:1214
agora::rtc::IRtcEngineEventHandler::onRemoteVideoTransportStats
virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated
Definition: IAgoraRtcEngine.h:2651
agora::rtc::VIDEO_PROFILE_PORTRAIT_1080P
@ VIDEO_PROFILE_PORTRAIT_1080P
Definition: IAgoraRtcEngine.h:8872
agora::rtc::IRtcEngineEventHandler::eventHandlerType
virtual const char * eventHandlerType() const
Definition: IAgoraRtcEngine.h:1512
agora::rtc::IVideoEffectObject::VIDEO_EFFECT_ACTION
VIDEO_EFFECT_ACTION
Actions that can be performed on video effect nodes.
Definition: IAgoraRtcEngine.h:3150
agora::rtc::RTMP_STREAM_LIFE_CYCLE_TYPE
RTMP_STREAM_LIFE_CYCLE_TYPE
Definition: IAgoraRtcEngine.h:705
agora::rtc::LocalVideoStats::sentFrameRate
int sentFrameRate
Definition: IAgoraRtcEngine.h:287
agora::rtc::Rectangle
Definition: AgoraBase.h:2220
agora::rtc::IRtcEngine::setDirectCdnStreamingVideoConfiguration
virtual int setDirectCdnStreamingVideoConfiguration(const VideoEncoderConfiguration &config)=0
agora::rtc::STREAM_FALLBACK_OPTION_DISABLED
@ STREAM_FALLBACK_OPTION_DISABLED
Definition: IAgoraRtcEngine.h:239
agora::rtc::IRtcEngine::createDataStream
virtual int createDataStream(int *streamId, bool reliable, bool ordered)=0
agora::rtc::ScreenCaptureSourceInfo::sourceTitle
const char * sourceTitle
Definition: IAgoraRtcEngine.h:968
agora::rtc::IVideoDeviceManager::release
virtual void release()=0
agora::rtc::IRtcEngineEventHandler::onFacePositionChanged
virtual void onFacePositionChanged(int imageWidth, int imageHeight, const Rectangle *vecRectangle, const int *vecDistance, int numFaces)
Definition: IAgoraRtcEngine.h:2162
agora::rtc::IRtcEngine::setVolumeOfEffect
virtual int setVolumeOfEffect(int soundId, int volume)=0
agora::rtc::IRtcEngineEventHandler::onUserInfoUpdated
virtual void onUserInfoUpdated(uid_t uid, const UserInfo &info)
Definition: IAgoraRtcEngine.h:2753
agora::rtc::IRtcEngineEventHandler::onNetworkTypeChanged
virtual void onNetworkTypeChanged(NETWORK_TYPE type)
Definition: IAgoraRtcEngine.h:2703
agora::rtc::AUDIO_VIRTUAL_RECORDING_DEVICE
@ AUDIO_VIRTUAL_RECORDING_DEVICE
Definition: IAgoraRtcEngine.h:72
agora::rtc::IRtcEngineEventHandler::onFirstRemoteAudioDecoded
virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) __deprecated
Definition: IAgoraRtcEngine.h:2338
agora::rtc::InjectStreamConfig::videoFramerate
int videoFramerate
Definition: IAgoraRtcEngine.h:673
agora::rtc::SIMULCAST_STREAM_MODE
SIMULCAST_STREAM_MODE
Definition: AgoraBase.h:2115
agora::rtc::IRtcEngine::stopAudioFrameDump
virtual int stopAudioFrameDump(const char *channel_id, uid_t uid, const char *location)=0
agora::rtc::IRtcEngine::enableAudioVolumeIndication
virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad)=0
agora::rtc::VIDEO_PROFILE_LANDSCAPE_240P_3
@ VIDEO_PROFILE_LANDSCAPE_240P_3
Definition: IAgoraRtcEngine.h:8758
agora::rtc::ChannelMediaOptions::mediaPlayerAudioDelayMs
Optional< int > mediaPlayerAudioDelayMs
Definition: IAgoraRtcEngine.h:1234
agora::rtc::VIDEO_PROFILE_LANDSCAPE_180P_4
@ VIDEO_PROFILE_LANDSCAPE_180P_4
Definition: IAgoraRtcEngine.h:8754
agora::rtc::IRtcEngine::updateLocalTranscoderConfiguration
virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration &config)=0
agora::rtc::IMetadataObserver::onReadyToSendMetadata
virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type)=0
agora::rtc::INJECT_STREAM_STATUS_START_SUCCESS
@ INJECT_STREAM_STATUS_START_SUCCESS
Definition: IAgoraRtcEngine.h:119
agora::rtc::IRtcEngine::registerPacketObserver
virtual int registerPacketObserver(IPacketObserver *observer)=0
agora::rtc::IVideoDeviceCollection::~IVideoDeviceCollection
virtual ~IVideoDeviceCollection()
Definition: IAgoraRtcEngine.h:2971
agora::view_t
void * view_t
Definition: AgoraBase.h:814
agora::rtc::IRtcEngine::enableMultiCamera
virtual int enableMultiCamera(bool enabled, const CameraCapturerConfiguration &config)=0
agora::rtc::RemoteAudioStats::networkTransportDelay
int networkTransportDelay
Definition: IAgoraRtcEngine.h:378
agora::rtc::IRtcEngine::switchCamera
virtual int switchCamera()=0
agora::rtc::IRtcEngine::unregisterMediaMetadataObserver
virtual int unregisterMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type)=0
agora::rtc::IRtcEngineEventHandler::onLocalVideoTranscoderError
virtual void onLocalVideoTranscoderError(const TranscodingVideoStream &stream, VIDEO_TRANSCODER_ERROR error)
Definition: IAgoraRtcEngine.h:2788
agora::rtc::IRtcEngine::getUserInfoByUid
virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo *userInfo)=0
agora::rtc::IRtcEngine::pauseAllEffects
virtual int pauseAllEffects()=0
agora::rtc::FeatureType
FeatureType
Definition: IAgoraRtcEngine.h:1461
agora::rtc::IRtcEngine::disableAudioSpectrumMonitor
virtual int disableAudioSpectrumMonitor()=0
agora::rtc::IVideoEffectObject::VIDEO_EFFECT_NODE_ID::STYLE_MAKEUP
@ STYLE_MAKEUP
agora::rtc::CLOUD_PROXY_TYPE
CLOUD_PROXY_TYPE
Definition: IAgoraRtcEngine.h:798
agora::rtc::IRtcEngineEventHandler::onFirstLocalAudioFramePublished
virtual void onFirstLocalAudioFramePublished(int elapsed)
Definition: IAgoraRtcEngine.h:2318
agora::util::AutoPtr
Definition: AgoraBase.h:100
agora::rtc::LocalVideoStats::sentBitrate
int sentBitrate
Definition: IAgoraRtcEngine.h:283
agora::rtc::VIDEO_PROFILE_PORTRAIT_240P_3
@ VIDEO_PROFILE_PORTRAIT_240P_3
Definition: IAgoraRtcEngine.h:8828
agora::rtc::IRtcEngine::getAudioMixingPublishVolume
virtual int getAudioMixingPublishVolume()=0
agora::rtc::ScreenCaptureSourceType_Window
@ ScreenCaptureSourceType_Window
Definition: IAgoraRtcEngine.h:933
agora::rtc::IRtcEngineEventHandler::onRejoinChannelSuccess
virtual void onRejoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1539
agora::rtc::AUDIO_SCENARIO_TYPE
AUDIO_SCENARIO_TYPE
Definition: AgoraBase.h:2679
agora::rtc::SIZE::SIZE
SIZE(int ww, int hh)
Definition: IAgoraRtcEngine.h:897
agora::rtc::ImageTrackOptions::fps
int fps
Definition: IAgoraRtcEngine.h:1046
agora::rtc::STREAM_FALLBACK_OPTION_AUDIO_ONLY
@ STREAM_FALLBACK_OPTION_AUDIO_ONLY
Definition: IAgoraRtcEngine.h:248
agora::rtc::RemoteVideoStats::totalFrozenTime
int totalFrozenTime
Definition: IAgoraRtcEngine.h:545
agora::rtc::DIRECT_CDN_STREAMING_REASON_VIDEO_PUBLICATION
@ DIRECT_CDN_STREAMING_REASON_VIDEO_PUBLICATION
Definition: IAgoraRtcEngine.h:3500
agora::rtc::IMetadataObserver::METADATA_TYPE
METADATA_TYPE
Definition: IAgoraRtcEngine.h:3412
agora::rtc::IRtcEngine::isCameraExposureSupported
virtual bool isCameraExposureSupported()=0
agora::rtc::IRtcEngine::stopLocalVideoTranscoder
virtual int stopLocalVideoTranscoder()=0
agora::rtc::IRtcEngine::setCloudProxy
virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType)=0
agora::rtc::RemoteAudioStats::receivedBitrate
int receivedBitrate
Definition: IAgoraRtcEngine.h:401
agora::rtc::VideoEncoderConfiguration
Definition: AgoraBase.h:1920
agora::rtc::IMetadataObserver::Metadata::channelId
const char * channelId
Definition: IAgoraRtcEngine.h:3436
agora::rtc::IRtcEngineEventHandler
Definition: IAgoraRtcEngine.h:1508
agora::rtc::AUDIO_MIXING_STATE_TYPE
AUDIO_MIXING_STATE_TYPE
Definition: IAgoraRtcEngine.h:78
agora::rtc::VideoCompositingLayout::Region::height
double height
Definition: IAgoraRtcEngine.h:594
agora::rtc::IVideoDeviceManager::getDevice
virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngine::isCameraExposurePositionSupported
virtual bool isCameraExposurePositionSupported()=0
agora::rtc::DirectCdnStreamingMediaOptions::operator==
bool operator==(const DirectCdnStreamingMediaOptions &o) const
Definition: IAgoraRtcEngine.h:3637
agora::rtc::IRtcEngineEventHandler::onUserMuteAudio
virtual void onUserMuteAudio(uid_t uid, bool muted)
Definition: IAgoraRtcEngine.h:1976
agora::rtc::ChannelMediaOptions::publishCustomAudioTrackId
Optional< int > publishCustomAudioTrackId
Definition: IAgoraRtcEngine.h:1141
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P
@ VIDEO_PROFILE_LANDSCAPE_360P
Definition: IAgoraRtcEngine.h:8762
agora::rtc::ScreenCaptureSourceInfo::sourceName
const char * sourceName
Definition: IAgoraRtcEngine.h:952
agora::rtc::VIDEO_QOE_PREFERENCE_TYPE
VIDEO_QOE_PREFERENCE_TYPE
Definition: AgoraBase.h:2839
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_3
@ VIDEO_PROFILE_PORTRAIT_360P_3
Definition: IAgoraRtcEngine.h:8834
agora::rtc::IRtcEngine::registerLocalUserAccount
virtual int registerLocalUserAccount(const char *appId, const char *userAccount)=0
agora::rtc::QUALITY_ADAPT_INDICATION
QUALITY_ADAPT_INDICATION
Definition: AgoraBase.h:2531
agora::rtc::IRtcEngineEventHandler::onUplinkNetworkInfoUpdated
virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo &info)
Definition: IAgoraRtcEngine.h:1758
agora::rtc::AUDIO_EQUALIZATION_BAND_250
@ AUDIO_EQUALIZATION_BAND_250
Definition: IAgoraRtcEngine.h:181
agora::rtc::DirectCdnStreamingMediaOptions::publishMicrophoneTrack
Optional< bool > publishMicrophoneTrack
Definition: IAgoraRtcEngine.h:3592
agora::rtc::RtcImage
Definition: AgoraBase.h:3774
agora::rtc::InjectStreamConfig::InjectStreamConfig
InjectStreamConfig()
Definition: IAgoraRtcEngine.h:692
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_4
@ VIDEO_PROFILE_PORTRAIT_360P_4
Definition: IAgoraRtcEngine.h:8836
agora::rtc::VideoCompositingLayout::backgroundColor
const char * backgroundColor
Definition: IAgoraRtcEngine.h:630
agora::rtc::VIDEO_PROFILE_PORTRAIT_4K_3
@ VIDEO_PROFILE_PORTRAIT_4K_3
Definition: IAgoraRtcEngine.h:8884
agora::rtc::IRtcEngine::getAudioMixingCurrentPosition
virtual int getAudioMixingCurrentPosition()=0
agora::rtc::IMetadataObserver::DEFAULT_METADATA_SIZE_IN_BYTE
@ DEFAULT_METADATA_SIZE_IN_BYTE
Definition: IAgoraRtcEngine.h:3426
agora::rtc::IRtcEngine::startDirectCdnStreaming
virtual int startDirectCdnStreaming(IDirectCdnStreamingEventHandler *eventHandler, const char *publishUrl, const DirectCdnStreamingMediaOptions &options)=0
agora::rtc::IRtcEngine::registerAudioSpectrumObserver
virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
agora::rtc::AUDIO_MIXING_STATE_STOPPED
@ AUDIO_MIXING_STATE_STOPPED
Definition: IAgoraRtcEngine.h:84
agora::rtc::NONE_PROXY_TYPE
@ NONE_PROXY_TYPE
Definition: IAgoraRtcEngine.h:1440
agora::rtc::DIRECT_CDN_STREAMING_REASON_OK
@ DIRECT_CDN_STREAMING_REASON_OK
Definition: IAgoraRtcEngine.h:3494
agora::rtc::AUDIO_REVERB_WET_DELAY
@ AUDIO_REVERB_WET_DELAY
Definition: IAgoraRtcEngine.h:227
agora::rtc::LocalVideoStats::encodedBitrate
int encodedBitrate
Definition: IAgoraRtcEngine.h:334
agora::rtc::REMOTE_VIDEO_STATE_REASON
REMOTE_VIDEO_STATE_REASON
Definition: AgoraBase.h:3243
agora::rtc::LocalVideoStats::qualityAdaptIndication
QUALITY_ADAPT_INDICATION qualityAdaptIndication
Definition: IAgoraRtcEngine.h:330
agora::rtc::ChannelMediaOptions::customVideoTrackId
Optional< video_track_id_t > customVideoTrackId
Definition: IAgoraRtcEngine.h:1270
agora::rtc::RTMP_STREAM_PUBLISH_REASON
RTMP_STREAM_PUBLISH_REASON
Definition: AgoraBase.h:3667
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1440P
@ VIDEO_PROFILE_LANDSCAPE_1440P
Definition: IAgoraRtcEngine.h:8808
agora::rtc::IRtcEngineEventHandler::onConnectionInterrupted
virtual void onConnectionInterrupted() __deprecated
Definition: IAgoraRtcEngine.h:2227
agora::rtc::IRtcEngine::setMixedAudioFrameParameters
virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall)=0
agora::rtc::AUDIO_EQUALIZATION_BAND_31
@ AUDIO_EQUALIZATION_BAND_31
Definition: IAgoraRtcEngine.h:169
agora::rtc::VIDEO_PROFILE_TYPE
VIDEO_PROFILE_TYPE
Definition: IAgoraRtcEngine.h:8744
agora::rtc::IRtcEngine::getVolumeOfEffect
virtual int getVolumeOfEffect(int soundId)=0
agora::rtc::IMetadataObserver::getMaxMetadataSize
virtual int getMaxMetadataSize()
Definition: IAgoraRtcEngine.h:3466
agora::rtc::LeaveChannelOptions::unloadAllEffect
bool unloadAllEffect
Definition: IAgoraRtcEngine.h:1487
agora::rtc::IRtcEngine::setSubscribeAudioAllowlist
virtual int setSubscribeAudioAllowlist(uid_t *uidList, int uidNumber)=0
agora::rtc::VIDEO_MIRROR_MODE_TYPE
VIDEO_MIRROR_MODE_TYPE
Definition: AgoraBase.h:1818
agora::rtc::IRtcEngine::getConnectionState
virtual CONNECTION_STATE_TYPE getConnectionState()=0
agora::rtc::ExtensionInfo::channelId
const char * channelId
Definition: IAgoraRtcEngine.h:3702
agora::rtc::AUDIO_PLAYOUT_DEVICE
@ AUDIO_PLAYOUT_DEVICE
Definition: IAgoraRtcEngine.h:48
agora::rtc::IRtcEngine::setCameraTorchOn
virtual int setCameraTorchOn(bool isOn)=0
agora::rtc::IRtcEngine::adjustUserPlaybackSignalVolume
virtual int adjustUserPlaybackSignalVolume(uid_t uid, int volume)=0
agora::rtc::IRtcEngine::isFeatureAvailableOnDevice
virtual bool isFeatureAvailableOnDevice(FeatureType type)=0
Whether the target feature is available for the device.
agora::rtc::IRtcEngine::enableEncryption
virtual int enableEncryption(bool enabled, const EncryptionConfig &config)=0
agora::rtc::IRtcEngine::getFaceShapeBeautyOptions
virtual int getFaceShapeBeautyOptions(FaceShapeBeautyOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::UDP_PROXY_TYPE
@ UDP_PROXY_TYPE
Definition: IAgoraRtcEngine.h:1443
agora::rtc::IRtcEngine::enableContentInspect
virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config)=0
agora::rtc::IRtcEngine::isCameraZoomSupported
virtual bool isCameraZoomSupported()=0
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStateChanged
virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed)
Definition: IAgoraRtcEngine.h:2390
agora::rtc::IRtcEngine::setAudioSessionOperationRestriction
virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction)=0
agora::rtc::IRtcEngine::startRhythmPlayer
virtual int startRhythmPlayer(const char *sound1, const char *sound2, const AgoraRhythmPlayerConfig &config)=0
agora::rtc::IRtcEngine::configRhythmPlayer
virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig &config)=0
agora::rtc::IVideoEffectObject::VIDEO_EFFECT_NODE_ID
VIDEO_EFFECT_NODE_ID
Types of video effect nodes that can be applied.
Definition: IAgoraRtcEngine.h:3134
agora::rtc::IRtcEngine::adjustAudioMixingPublishVolume
virtual int adjustAudioMixingPublishVolume(int volume)=0
agora::rtc::DirectCdnStreamingMediaOptions::publishCameraTrack
Optional< bool > publishCameraTrack
Definition: IAgoraRtcEngine.h:3586
agora::rtc::IVideoDeviceCollection::getCount
virtual int getCount()=0
agora::rtc::IVideoEffectObject::VIDEO_EFFECT_NODE_ID::FILTER
@ FILTER
agora::rtc::IRtcEngine::getAudioMixingDuration
virtual int getAudioMixingDuration()=0
agora::rtc::HEADPHONE_EQUALIZER_PRESET
HEADPHONE_EQUALIZER_PRESET
Definition: AgoraBase.h:5693
agora::rtc::IScreenCaptureSourceList
Definition: IAgoraRtcEngine.h:1001
agora::rtc::IRtcEngine::adjustCustomAudioPlayoutVolume
virtual int adjustCustomAudioPlayoutVolume(track_id_t trackId, int volume)=0
agora::rtc::IRtcEngine::destroyMediaRecorder
virtual int destroyMediaRecorder(agora_refptr< IMediaRecorder > mediaRecorder)=0
agora::rtc::RemoteAudioStats::frozenRateByCustomPlcCount
uint32_t frozenRateByCustomPlcCount
Definition: IAgoraRtcEngine.h:435
agora::rtc::ScreenCaptureConfiguration::params
ScreenCaptureParameters params
Definition: IAgoraRtcEngine.h:872
agora::rtc::IRtcEngineEventHandler::onVideoDeviceStateChanged
virtual void onVideoDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition: IAgoraRtcEngine.h:1706
agora::rtc::IMetadataObserver
Definition: IAgoraRtcEngine.h:3403
agora::rtc::VideoCompositingLayout::appData
const char * appData
Definition: IAgoraRtcEngine.h:640
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::rtc::SIZE::width
int width
Definition: IAgoraRtcEngine.h:891
agora::rtc::RemoteAudioStats::totalFrozenTime
int totalFrozenTime
Definition: IAgoraRtcEngine.h:408
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::media::AUDIO_MIXING_DUAL_MONO_MODE
AUDIO_MIXING_DUAL_MONO_MODE
Definition: IAgoraMediaEngine.h:17
agora
Definition: AgoraAtomicOps.h:21
agora::rtc::IRtcEngineEventHandler::onAudioMixingPositionChanged
virtual void onAudioMixingPositionChanged(int64_t position)
Reports current AudioMixing progress.
Definition: IAgoraRtcEngine.h:1678
agora::rtc::IRtcEngine::setRemoteVoicePosition
virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain)=0
agora::rtc::DIRECT_CDN_STREAMING_STATE_RECOVERING
@ DIRECT_CDN_STREAMING_STATE_RECOVERING
Definition: IAgoraRtcEngine.h:3519
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_1
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_1
Definition: IAgoraRtcEngine.h:253
agora::rtc::AUDIO_EFFECT_PRESET
AUDIO_EFFECT_PRESET
Definition: AgoraBase.h:5509
agora::rtc::IRtcEngine::registerMediaMetadataObserver
virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type)=0
agora::rtc::ScreenCaptureSourceType_Screen
@ ScreenCaptureSourceType_Screen
Definition: IAgoraRtcEngine.h:935
agora::rtc::PublisherConfiguration::defaultLayout
int defaultLayout
Definition: IAgoraRtcEngine.h:738
agora::rtc::AUDIO_AINS_MODE
AUDIO_AINS_MODE
Definition: AgoraBase.h:2614
agora::rtc::track_id_t
unsigned int track_id_t
Definition: AgoraMediaBase.h:29
agora::rtc::IRtcEngineEventHandler::onTranscodingUpdated
virtual void onTranscodingUpdated()
Definition: IAgoraRtcEngine.h:2521
agora::rtc::IRtcEngine::updateRtmpTranscoding
virtual int updateRtmpTranscoding(const LiveTranscoding &transcoding)=0
agora::rtc::ScreenCaptureConfiguration::displayId
int64_t displayId
Definition: IAgoraRtcEngine.h:858
agora::rtc::DIRECT_CDN_STREAMING_REASON
DIRECT_CDN_STREAMING_REASON
Definition: IAgoraRtcEngine.h:3492
agora::rtc::RemoteAudioStats::publishDuration
int publishDuration
Definition: IAgoraRtcEngine.h:449
agora::rtc::IRtcEngineEventHandler::onWlAccMessage
virtual void onWlAccMessage(WLACC_MESSAGE_REASON reason, WLACC_SUGGEST_ACTION action, const char *wlAccMsg)
Definition: IAgoraRtcEngine.h:2678
agora::rtc::IRtcEngineEventHandler::onRequestToken
virtual void onRequestToken()
Definition: IAgoraRtcEngine.h:2282
agora::rtc::IRtcEngineEventHandler::onError
virtual void onError(int err, const char *msg)
Definition: IAgoraRtcEngine.h:1565
agora::rtc::REMOTE_VIDEO_STATE
REMOTE_VIDEO_STATE
Definition: AgoraBase.h:3212
agora::rtc::IRtcEngine::getNtpWallTimeInMs
virtual uint64_t getNtpWallTimeInMs()=0
agora::rtc::IRtcEngine::startRtmpStreamWithoutTranscoding
virtual int startRtmpStreamWithoutTranscoding(const char *url)=0
agora::rtc::IRtcEngine::enableCameraCenterStage
virtual int enableCameraCenterStage(bool enabled)=0
agora::rtc::VideoCompositingLayout::regionCount
int regionCount
Definition: IAgoraRtcEngine.h:637
agora::rtc::ExtensionInfo::mediaSourceType
agora::media::MEDIA_SOURCE_TYPE mediaSourceType
Definition: IAgoraRtcEngine.h:3682
agora::rtc::IRtcEngineEventHandler::onProxyConnected
virtual void onProxyConnected(const char *channel, uid_t uid, PROXY_TYPE proxyType, const char *localProxyIp, int elapsed)
Definition: IAgoraRtcEngine.h:1552
agora::rtc::MEDIA_DEVICE_TYPE
MEDIA_DEVICE_TYPE
Definition: IAgoraRtcEngine.h:40
agora::rtc::IRtcEngineEventHandler::onExtensionEventWithContext
virtual void onExtensionEventWithContext(const ExtensionContext &context, const char *key, const char *value)
Definition: IAgoraRtcEngine.h:2911
agora::rtc::IRtcEngineEventHandler::onLocalPublishFallbackToAudioOnly
virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover)
Definition: IAgoraRtcEngine.h:2587
agora::rtc::AUDIO_EQUALIZATION_BAND_62
@ AUDIO_EQUALIZATION_BAND_62
Definition: IAgoraRtcEngine.h:173
agora::rtc::ScreenCaptureSourceInfo::iconImage
ThumbImageBuffer iconImage
Definition: IAgoraRtcEngine.h:960
agora::rtc::INTERFACE_ID_TYPE
INTERFACE_ID_TYPE
Definition: AgoraBase.h:865
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_10
@ VIDEO_PROFILE_LANDSCAPE_480P_10
Definition: IAgoraRtcEngine.h:8792
agora::rtc::IRtcEngineEventHandler::onUserStateChanged
virtual void onUserStateChanged(uid_t uid, REMOTE_USER_STATE state)
Definition: IAgoraRtcEngine.h:2022
agora::rtc::PublisherConfiguration::height
int height
Definition: IAgoraRtcEngine.h:724
agora::rtc::IRtcEngineEventHandler::onAudioMixingFinished
virtual void onAudioMixingFinished() __deprecated
Definition: IAgoraRtcEngine.h:1686
agora::rtc::IRtcEngine::setScreenCaptureScenario
virtual int setScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario)=0
agora::rtc::AVideoDeviceManager
Definition: IAgoraRtcEngine.h:8896
agora::rtc::AUDIO_EQUALIZATION_BAND_4K
@ AUDIO_EQUALIZATION_BAND_4K
Definition: IAgoraRtcEngine.h:197
agora::rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE
RAW_AUDIO_FRAME_OP_MODE_TYPE
Definition: AgoraMediaBase.h:228
agora::rtc::IRtcEngine::startScreenCaptureByWindowId
virtual int startScreenCaptureByWindowId(int64_t windowId, const Rectangle &regionRect, const ScreenCaptureParameters &captureParams)=0
agora::rtc::LocalVideoStats::codecType
VIDEO_CODEC_TYPE codecType
Definition: IAgoraRtcEngine.h:340
agora::rtc::QUALITY_REPORT_JSON
@ QUALITY_REPORT_JSON
Definition: IAgoraRtcEngine.h:8714
agora::rtc::ExtensionInfo::localUid
uid_t localUid
Definition: IAgoraRtcEngine.h:3707
agora::rtc::INJECT_STREAM_STATUS_START_FAILED
@ INJECT_STREAM_STATUS_START_FAILED
Definition: IAgoraRtcEngine.h:135
agora::rtc::IRtcEngine::setSubscribeVideoBlocklist
virtual int setSubscribeVideoBlocklist(uid_t *uidList, int uidNumber)=0
agora::rtc::LocalTranscoderConfiguration
Definition: AgoraBase.h:4188
agora::rtc::TCP_PROXY_AUTO_FALLBACK_TYPE
@ TCP_PROXY_AUTO_FALLBACK_TYPE
Definition: IAgoraRtcEngine.h:1452
agora::rtc::IRtcEngine::adjustAudioMixingPlayoutVolume
virtual int adjustAudioMixingPlayoutVolume(int volume)=0
agora::rtc::STREAM_FALLBACK_OPTIONS
STREAM_FALLBACK_OPTIONS
Definition: IAgoraRtcEngine.h:234
agora::rtc::InjectStreamConfig::audioBitrate
int audioBitrate
Definition: IAgoraRtcEngine.h:685
agora::rtc::DirectCdnStreamingMediaOptions::SetAll
void SetAll(const DirectCdnStreamingMediaOptions &change)
Definition: IAgoraRtcEngine.h:3625
agora::rtc::WLACC_SUGGEST_ACTION
WLACC_SUGGEST_ACTION
Definition: AgoraBase.h:4573
agora::rtc::ScreenCaptureSourceInfo::minimizeWindow
bool minimizeWindow
Definition: IAgoraRtcEngine.h:984
agora::rtc::IRtcEngine::setCameraDeviceOrientation
virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation)=0
agora::rtc::IRtcEngineEventHandler::onAudioVolumeIndication
virtual void onAudioVolumeIndication(const AudioVolumeInfo *speakers, unsigned int speakerNumber, int totalVolume)
Definition: IAgoraRtcEngine.h:1627
agora::rtc::IRtcEngineEventHandler::onStreamMessageError
virtual void onStreamMessageError(uid_t uid, int streamId, int code, int missed, int cached)
Definition: IAgoraRtcEngine.h:2265
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_4
@ VIDEO_PROFILE_LANDSCAPE_480P_4
Definition: IAgoraRtcEngine.h:8784
agora::rtc::IPacketObserver
Definition: AgoraBase.h:3456
agora::rtc::IRtcEngine::setLocalPublishFallbackOption
virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option)=0
agora::rtc::LocalVideoStats::dualStreamEnabled
bool dualStreamEnabled
Definition: IAgoraRtcEngine.h:351
agora::rtc::VIDEO_PROFILE_PORTRAIT_120P_3
@ VIDEO_PROFILE_PORTRAIT_120P_3
Definition: IAgoraRtcEngine.h:8818
agora::rtc::IRtcEngine::writeLog
virtual int writeLog(commons::LOG_LEVEL level, const char *fmt,...)=0
agora::rtc::RemoteAudioStats::rxAudioBytes
unsigned int rxAudioBytes
Definition: IAgoraRtcEngine.h:461
agora::rtc::ChannelMediaOptions::publishEncodedVideoTrack
Optional< bool > publishEncodedVideoTrack
Definition: IAgoraRtcEngine.h:1153
agora::rtc::IRtcEngine::setDualStreamMode
virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode)=0
agora::rtc::DirectCdnStreamingStats
Definition: IAgoraRtcEngine.h:3525
agora::rtc::IRtcEngine::registerEventHandler
virtual bool registerEventHandler(IRtcEngineEventHandler *eventHandler)=0
agora::rtc::VideoFormat
Definition: AgoraBase.h:2724
agora::rtc::RemoteVideoStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:496
agora::rtc::IRtcEngineEventHandler::onUserOffline
virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:1959
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::VIDEO_PROFILE_PORTRAIT_480P
@ VIDEO_PROFILE_PORTRAIT_480P
Definition: IAgoraRtcEngine.h:8850
agora::rtc::IRtcEngine::setCameraAutoExposureFaceModeEnabled
virtual int setCameraAutoExposureFaceModeEnabled(bool enabled)=0
agora::rtc::VIDEO_CODEC_TYPE
VIDEO_CODEC_TYPE
Definition: AgoraBase.h:1169
agora::rtc::IRtcEngine::stopRtmpStream
virtual int stopRtmpStream(const char *url)=0
agora::rtc::ChannelMediaOptions::operator==
bool operator==(const ChannelMediaOptions &o) const
Definition: IAgoraRtcEngine.h:1333
agora::rtc::DataStreamConfig
Definition: AgoraBase.h:2088
agora::rtc::IRtcEngineEventHandler::onCameraFocusAreaChanged
virtual void onCameraFocusAreaChanged(int x, int y, int width, int height)
Definition: IAgoraRtcEngine.h:2111
agora::rtc::VideoCompositingLayout::Region::y
double y
Definition: IAgoraRtcEngine.h:588
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW
Definition: IAgoraRtcEngine.h:244
agora::rtc::IRtcEngine::stopAudioMixing
virtual int stopAudioMixing()=0
agora::rtc::IVideoEffectObject::RESET
@ RESET
Definition: IAgoraRtcEngine.h:3154
agora::rtc::PublisherConfiguration
Definition: IAgoraRtcEngine.h:716
agora::rtc::IRtcEngineEventHandler::onExtensionStartedWithContext
virtual void onExtensionStartedWithContext(const ExtensionContext &context)
Definition: IAgoraRtcEngine.h:2924
agora::rtc::IRtcEngine::setLogLevel
virtual int setLogLevel(commons::LOG_LEVEL level)=0
agora::rtc::RtcEngineContext::logConfig
commons::LogConfig logConfig
Definition: IAgoraRtcEngine.h:3365
agora::rtc::IRtcEngine::setRemoteDefaultVideoStreamType
virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType)=0
agora::rtc::LocalAudioMixerConfiguration
Definition: AgoraBase.h:4297
agora::rtc::NETWORK_TYPE
NETWORK_TYPE
Definition: AgoraBase.h:4615
agora::rtc::IRtcEngine::setRemoteVideoStreamType
virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType)=0
agora::rtc::AUDIO_EQUALIZATION_BAND_8K
@ AUDIO_EQUALIZATION_BAND_8K
Definition: IAgoraRtcEngine.h:201
agora::rtc::IRtcEngineEventHandler::onUserEnableVideo
virtual void onUserEnableVideo(uid_t uid, bool enabled)
Definition: IAgoraRtcEngine.h:2012
agora::CHANNEL_PROFILE_TYPE
CHANNEL_PROFILE_TYPE
Definition: AgoraBase.h:267
agora::rtc::IRtcEngineEventHandler::onRtmpStreamingStateChanged
virtual void onRtmpStreamingStateChanged(const char *url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_REASON reason)
Definition: IAgoraRtcEngine.h:2494
agora::rtc::InjectStreamConfig::height
int height
Definition: IAgoraRtcEngine.h:665
agora::rtc::IRtcEngine::destroyVideoEffectObject
virtual int destroyVideoEffectObject(agora_refptr< IVideoEffectObject > videoEffectObject)=0
Destroys a video effect object.
agora::rtc::CAMERA_FRONT
@ CAMERA_FRONT
Definition: IAgoraRtcEngine.h:791
agora::rtc::ChannelMediaOptions::publishFourthCameraTrack
Optional< bool > publishFourthCameraTrack
Definition: IAgoraRtcEngine.h:1083
agora::rtc::CAPTURE_BRIGHTNESS_LEVEL_TYPE
CAPTURE_BRIGHTNESS_LEVEL_TYPE
Definition: AgoraBase.h:2862
agora::rtc::DIRECT_CDN_STREAMING_STATE_STOPPED
@ DIRECT_CDN_STREAMING_STATE_STOPPED
Definition: IAgoraRtcEngine.h:3515
agora::rtc::IRtcEngine::startRtmpStreamWithTranscoding
virtual int startRtmpStreamWithTranscoding(const char *url, const LiveTranscoding &transcoding)=0
agora::rtc::ScreenCaptureConfiguration::ScreenCaptureConfiguration
ScreenCaptureConfiguration()
Definition: IAgoraRtcEngine.h:882
agora::rtc::DirectCdnStreamingMediaOptions
Definition: IAgoraRtcEngine.h:3580
agora::rtc::AdvancedAudioOptions
Definition: IAgoraRtcEngine.h:1034
agora::rtc::IRtcEngine::setVideoEncoderConfiguration
virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration &config)=0
agora::rtc::IRtcEngine::queryCodecCapability
virtual int queryCodecCapability(CodecCapInfo *codecInfo, int &size)=0
agora::rtc::IRtcEngine::stopAllEffects
virtual int stopAllEffects()=0
agora::rtc::ExtensionInfo::ExtensionInfo
ExtensionInfo()
Definition: IAgoraRtcEngine.h:3709
agora::rtc::IRtcEngine::pauseAllChannelMediaRelay
virtual int pauseAllChannelMediaRelay()=0
agora::rtc::ScreenCaptureSourceType_Unknown
@ ScreenCaptureSourceType_Unknown
Definition: IAgoraRtcEngine.h:931
agora::rtc::LocalVideoStats::captureFrameHeight
int captureFrameHeight
Definition: IAgoraRtcEngine.h:296
agora::rtc::IRtcEngineEventHandler::onAudioQuality
virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay, unsigned short lost) __deprecated
Definition: IAgoraRtcEngine.h:1585
agora::rtc::IRtcEngine::startAudioMixing
virtual int startAudioMixing(const char *filePath, bool loopback, int cycle)=0
agora::rtc::IRtcEngine::adjustLoopbackSignalVolume
virtual int adjustLoopbackSignalVolume(int volume)=0
agora::rtc::VIDEO_ORIENTATION
VIDEO_ORIENTATION
Definition: AgoraBase.h:947
agora::rtc::IRtcEngine::takeSnapshot
virtual int takeSnapshot(uid_t uid, const char *filePath)=0
agora::rtc::RtcEngineContext::license
const char * license
Definition: IAgoraRtcEngine.h:3330
agora::rtc::AUDIO_EQUALIZATION_BAND_125
@ AUDIO_EQUALIZATION_BAND_125
Definition: IAgoraRtcEngine.h:177
agora::rtc::ScreenCaptureConfiguration::regionRect
Rectangle regionRect
Definition: IAgoraRtcEngine.h:880
agora::rtc::VideoCompositingLayout::canvasWidth
int canvasWidth
Definition: IAgoraRtcEngine.h:622
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_3
@ VIDEO_PROFILE_LANDSCAPE_360P_3
Definition: IAgoraRtcEngine.h:8764
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_5
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_5
Definition: IAgoraRtcEngine.h:257
agora::rtc::LeaveChannelOptions::stopMicrophoneRecording
bool stopMicrophoneRecording
Definition: IAgoraRtcEngine.h:1493
agora::rtc::PublisherConfiguration::rawStreamUrl
const char * rawStreamUrl
Definition: IAgoraRtcEngine.h:763
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_8
@ VIDEO_PROFILE_LANDSCAPE_360P_8
Definition: IAgoraRtcEngine.h:8772
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_9
@ VIDEO_PROFILE_LANDSCAPE_480P_9
Definition: IAgoraRtcEngine.h:8790
agora::rtc::ScreenCaptureSourceInfo::thumbImage
ThumbImageBuffer thumbImage
Definition: IAgoraRtcEngine.h:956
agora::rtc::VIDEO_APPLICATION_SCENARIO_TYPE
VIDEO_APPLICATION_SCENARIO_TYPE
Definition: AgoraBase.h:2817
agora::rtc::RemoteAudioStats::mosValue
int mosValue
Definition: IAgoraRtcEngine.h:430
agora::rtc::IRtcEngineEventHandler::onRemoteVideoStats
virtual void onRemoteVideoStats(const RemoteVideoStats &stats)
Definition: IAgoraRtcEngine.h:2090
agora::rtc::AUDIO_MIXING_STATE_PAUSED
@ AUDIO_MIXING_STATE_PAUSED
Definition: IAgoraRtcEngine.h:82
agora::rtc::IRtcEngine::setAudioEffectParameters
virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2)=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::commons::LOG_LEVEL
OPTIONAL_ENUM_CLASS LOG_LEVEL
Definition: IAgoraLog.h:33
agora::rtc::IRtcEngineEventHandler::onTokenPrivilegeWillExpire
virtual void onTokenPrivilegeWillExpire(const char *token)
Definition: IAgoraRtcEngine.h:2295
agora::rtc::LocalVideoStats::targetFrameRate
int targetFrameRate
Definition: IAgoraRtcEngine.h:326
agora::rtc::DirectCdnStreamingStats::audioBitrate
int audioBitrate
Definition: IAgoraRtcEngine.h:3549
agora::rtc::IRtcEngine::setRemoteSubscribeFallbackOption
virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option)=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::RtcEngineContext::channelProfile
CHANNEL_PROFILE_TYPE channelProfile
Definition: IAgoraRtcEngine.h:3325
agora::rtc::IRtcEngineEventHandler::onRemoteSubscribeFallbackToAudioOnly
virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover)
Definition: IAgoraRtcEngine.h:2608
agora::rtc::IRtcEngine::setEarMonitoringAudioFrameParameters
virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
agora::rtc::IRtcEngineEventHandler::onContentInspectResult
virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result)
Definition: IAgoraRtcEngine.h:2418
agora::rtc::IRtcEngine::getAudioDeviceInfo
virtual int getAudioDeviceInfo(DeviceInfo &deviceInfo)=0
agora::rtc::IRtcEngineEventHandler::onAudioDeviceStateChanged
virtual void onAudioDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition: IAgoraRtcEngine.h:1666
agora::rtc::ChannelMediaOptions::token
Optional< const char * > token
Definition: IAgoraRtcEngine.h:1243
agora::rtc::AUDIO_EQUALIZATION_BAND_16K
@ AUDIO_EQUALIZATION_BAND_16K
Definition: IAgoraRtcEngine.h:205
agora::rtc::ChannelMediaOptions::parameters
Optional< const char * > parameters
Definition: IAgoraRtcEngine.h:1282
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStats
virtual void onRemoteAudioStats(const RemoteAudioStats &stats)
Definition: IAgoraRtcEngine.h:2049
agora::rtc::IRtcEngine::setEffectsVolume
virtual int setEffectsVolume(int volume)=0
agora::rtc::__deprecated
@ __deprecated
Definition: AgoraBase.h:890
agora::rtc::IRtcEngine::playAllEffects
virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish=false)=0
agora::rtc::DirectCdnStreamingStats::fps
int fps
Definition: IAgoraRtcEngine.h:3539
agora::rtc::IDirectCdnStreamingEventHandler::~IDirectCdnStreamingEventHandler
virtual ~IDirectCdnStreamingEventHandler()
Definition: IAgoraRtcEngine.h:3558
agora::rtc::AUDIO_RECORDING_QUALITY_TYPE
AUDIO_RECORDING_QUALITY_TYPE
Definition: AgoraBase.h:5931
agora::rtc::ScreenCaptureSourceInfo::isOccluded
bool isOccluded
Definition: IAgoraRtcEngine.h:975
agora::rtc::IRtcEngine::stopLastmileProbeTest
virtual int stopLastmileProbeTest()=0
agora::rtc::ChannelMediaRelayConfiguration
Definition: AgoraBase.h:6298
agora::rtc::IRtcEngine::setAdvancedAudioOptions
virtual int setAdvancedAudioOptions(AdvancedAudioOptions &options, int sourceType=0)=0
agora::rtc::IRtcEngine::createMediaPlayer
virtual agora_refptr< IMediaPlayer > createMediaPlayer()=0
agora::rtc::IRtcEngine::queryInterface
virtual int queryInterface(INTERFACE_ID_TYPE iid, void **inter)=0
agora::rtc::IVideoDeviceCollection
Definition: IAgoraRtcEngine.h:2969
agora::rtc::IRtcEngine::renewToken
virtual int renewToken(const char *token)=0
agora::rtc::IRtcEngine::pauseAudio
virtual int pauseAudio() __deprecated=0
agora::rtc::IRtcEngine::sendStreamMessage
virtual int sendStreamMessage(int streamId, const char *data, size_t length)=0
agora::rtc::LocalVideoStats::txPacketLossRate
unsigned short txPacketLossRate
Definition: IAgoraRtcEngine.h:344
agora::rtc::VOICE_CONVERSION_PRESET
VOICE_CONVERSION_PRESET
Definition: AgoraBase.h:5635
agora::rtc::AUDIO_VIRTUAL_PLAYOUT_DEVICE
@ AUDIO_VIRTUAL_PLAYOUT_DEVICE
Definition: IAgoraRtcEngine.h:68
agora::rtc::IRtcEngineEventHandler::onLocalVideoStats
virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats &stats)
Definition: IAgoraRtcEngine.h:2077
agora::rtc::ChannelMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition: IAgoraRtcEngine.h:1137
agora::rtc::RemoteVideoStats::avSyncTimeMs
int avSyncTimeMs
Definition: IAgoraRtcEngine.h:554
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::RtcEngineContext::domainLimit
bool domainLimit
Definition: IAgoraRtcEngine.h:3386
agora::rtc::IRtcEngine::isCameraAutoExposureFaceModeSupported
virtual bool isCameraAutoExposureFaceModeSupported()=0
agora::rtc::IRtcEngine::enableFaceDetection
virtual int enableFaceDetection(bool enabled)=0
agora::rtc::IRtcEngine::isCameraCenterStageSupported
virtual bool isCameraCenterStageSupported()=0
agora::rtc::IRtcEngine::unregisterEventHandler
virtual bool unregisterEventHandler(IRtcEngineEventHandler *eventHandler)=0
agora::rtc::VIDEO_RENDER_DEVICE
@ VIDEO_RENDER_DEVICE
Definition: IAgoraRtcEngine.h:56
agora::rtc::IRtcEngine::setLocalVideoMirrorMode
virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) __deprecated=0
agora::rtc::RemoteVideoStats::decoderOutputFrameRate
int decoderOutputFrameRate
Definition: IAgoraRtcEngine.h:526
agora::rtc::RtcEngineContext::context
void * context
Definition: IAgoraRtcEngine.h:3321
agora::rtc::IRtcEngine::setExternalMediaProjection
virtual int setExternalMediaProjection(void *mediaProjection)=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P
@ VIDEO_PROFILE_PORTRAIT_360P
Definition: IAgoraRtcEngine.h:8832
agora::rtc::UNKNOWN_AUDIO_DEVICE
@ UNKNOWN_AUDIO_DEVICE
Definition: IAgoraRtcEngine.h:44
agora::rtc::IRtcEngine::setCameraExposureFactor
virtual int setCameraExposureFactor(float factor)=0
agora::rtc::IRtcEngine::stopLocalAudioMixer
virtual int stopLocalAudioMixer()=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_240P_4
@ VIDEO_PROFILE_PORTRAIT_240P_4
Definition: IAgoraRtcEngine.h:8830
agora::rtc::IRtcEngineEventHandler::onActiveSpeaker
virtual void onActiveSpeaker(uid_t uid)
Definition: IAgoraRtcEngine.h:2410
agora::rtc::ChannelMediaOptions::publishCameraTrack
Optional< bool > publishCameraTrack
Definition: IAgoraRtcEngine.h:1065
agora::rtc::RemoteAudioStats::e2eDelay
int e2eDelay
Definition: IAgoraRtcEngine.h:465
agora::rtc::IRtcEngineEventHandler::onFirstLocalVideoFrame
virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed)
Definition: IAgoraRtcEngine.h:1797
agora::rtc::AUDIO_SCENARIO_DEFAULT
@ AUDIO_SCENARIO_DEFAULT
Definition: AgoraBase.h:2684
agora::rtc::ChannelMediaOptions::clientRoleType
Optional< CLIENT_ROLE_TYPE > clientRoleType
Definition: IAgoraRtcEngine.h:1210
agora::rtc::AUDIO_MIXING_REASON_STOPPED_BY_USER
@ AUDIO_MIXING_REASON_STOPPED_BY_USER
Definition: IAgoraRtcEngine.h:105
agora::rtc::AUDIO_REVERB_WET_LEVEL
@ AUDIO_REVERB_WET_LEVEL
Definition: IAgoraRtcEngine.h:219
agora::rtc::ChannelMediaOptions::publishThirdCameraTrack
Optional< bool > publishThirdCameraTrack
Definition: IAgoraRtcEngine.h:1077
agora::rtc::ScreenCaptureParameters2
Definition: AgoraBase.h:6823
agora::rtc::IRtcEngineEventHandler::onJoinChannelSuccess
virtual void onJoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1523
agora::rtc::IRtcEngine::startLocalVideoTranscoder
virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration &config)=0
agora::rtc::ThumbImageBuffer::width
unsigned int width
Definition: IAgoraRtcEngine.h:919
agora::rtc::DirectCdnStreamingMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition: IAgoraRtcEngine.h:3615
agora::rtc::ChannelMediaOptions::channelProfile
Optional< CHANNEL_PROFILE_TYPE > channelProfile
Definition: IAgoraRtcEngine.h:1224
agora::rtc::RemoteAudioStats::audioLossRate
int audioLossRate
Definition: IAgoraRtcEngine.h:388
agora::rtc::AUDIO_REVERB_ROOM_SIZE
@ AUDIO_REVERB_ROOM_SIZE
Definition: IAgoraRtcEngine.h:223
agora::rtc::VideoCompositingLayout::Region::zOrder
int zOrder
Definition: IAgoraRtcEngine.h:598
agora::rtc::IRtcEngine::queryDeviceScore
virtual int queryDeviceScore()=0
agora::rtc::LocalVideoStats::captureFrameRate
int captureFrameRate
Definition: IAgoraRtcEngine.h:290
agora::rtc::ScreenCaptureSourceInfo::sourceDisplayId
int64_t sourceDisplayId
Definition: IAgoraRtcEngine.h:991
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_4
@ VIDEO_PROFILE_PORTRAIT_480P_4
Definition: IAgoraRtcEngine.h:8854
agora::rtc::ChannelMediaOptions::operator=
ChannelMediaOptions & operator=(const ChannelMediaOptions &replace)
Definition: IAgoraRtcEngine.h:1387
agora::rtc::IRtcEngine::setParameters
virtual int setParameters(const char *parameters)=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_720P_3
@ VIDEO_PROFILE_PORTRAIT_720P_3
Definition: IAgoraRtcEngine.h:8866
agora::rtc::IRtcEngine::muteRemoteVideoStream
virtual int muteRemoteVideoStream(uid_t uid, bool mute)=0
agora::rtc::ChannelMediaOptions::publishScreenCaptureAudio
Optional< bool > publishScreenCaptureAudio
Definition: IAgoraRtcEngine.h:1096
agora::rtc::IRtcEngine::isCameraFocusSupported
virtual bool isCameraFocusSupported()=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::IScreenCaptureSourceList::getCount
virtual unsigned int getCount()=0
agora::rtc::VIDEO_PROFILE_LANDSCAPE_180P
@ VIDEO_PROFILE_LANDSCAPE_180P
Definition: IAgoraRtcEngine.h:8750
agora::rtc::CONNECTION_CHANGED_REASON_TYPE
CONNECTION_CHANGED_REASON_TYPE
Definition: AgoraBase.h:4414
agora::rtc::RemoteVideoStats::frozenRate
int frozenRate
Definition: IAgoraRtcEngine.h:549
agora::rtc::IRtcEngine::getCurrentMonotonicTimeInMs
virtual int64_t getCurrentMonotonicTimeInMs()=0
agora::rtc::ScreenCaptureConfiguration::windowId
int64_t windowId
Definition: IAgoraRtcEngine.h:868
agora::rtc::IRtcEngine::enableLocalAudio
virtual int enableLocalAudio(bool enabled)=0
agora::rtc::IRtcEngine::setupLocalVideo
virtual int setupLocalVideo(const VideoCanvas &canvas)=0
agora::rtc::AUDIO_EQUALIZATION_BAND_500
@ AUDIO_EQUALIZATION_BAND_500
Definition: IAgoraRtcEngine.h:185
agora::rtc::VideoCompositingLayout::appDataLength
int appDataLength
Definition: IAgoraRtcEngine.h:643
agora::rtc::IRtcEngine::setRouteInCommunicationMode
virtual int setRouteInCommunicationMode(int route)=0
agora::rtc::IRtcEngine::setLocalVoiceReverb
virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value)=0
agora::rtc::IRtcEngine::stopEffect
virtual int stopEffect(int soundId)=0
agora::rtc::VideoCompositingLayout::Region::alpha
double alpha
Definition: IAgoraRtcEngine.h:603
agora::rtc::ScreenCaptureSourceInfo::position
Rectangle position
Definition: IAgoraRtcEngine.h:979
agora::rtc::DirectCdnStreamingMediaOptions::operator=
DirectCdnStreamingMediaOptions & operator=(const DirectCdnStreamingMediaOptions &replace)
Definition: IAgoraRtcEngine.h:3658
agora::rtc::IRtcEngine::enableCustomAudioLocalPlayback
virtual int enableCustomAudioLocalPlayback(track_id_t trackId, bool enabled)=0
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::DirectCdnStreamingMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition: IAgoraRtcEngine.h:3604
agora::rtc::ScreenCaptureConfiguration::isCaptureWindow
bool isCaptureWindow
Definition: IAgoraRtcEngine.h:854
agora::rtc::LocalVideoStats::encodedFrameHeight
int encodedFrameHeight
Definition: IAgoraRtcEngine.h:317
agora::rtc::AGORA_IID_VIDEO_DEVICE_MANAGER
@ AGORA_IID_VIDEO_DEVICE_MANAGER
Definition: AgoraBase.h:867
agora::rtc::IRtcEngineEventHandler::onAudioMetadataReceived
virtual void onAudioMetadataReceived(uid_t uid, const char *metadata, size_t length)
Definition: IAgoraRtcEngine.h:2896
agora::rtc::IRtcEngine::setLocalVoiceFormant
virtual int setLocalVoiceFormant(double formantRatio)=0
agora::rtc::AdvancedAudioOptions::audioProcessingChannels
Optional< int > audioProcessingChannels
Definition: IAgoraRtcEngine.h:1038
agora::rtc::IRtcEngine::stopScreenCapture
virtual int stopScreenCapture()=0
agora::rtc::ImageTrackOptions::imageUrl
const char * imageUrl
Definition: IAgoraRtcEngine.h:1045
agora::rtc::VIDEO_PROFILE_PORTRAIT_1080P_3
@ VIDEO_PROFILE_PORTRAIT_1080P_3
Definition: IAgoraRtcEngine.h:8874
agora::rtc::DirectCdnStreamingMediaOptions::DirectCdnStreamingMediaOptions
DirectCdnStreamingMediaOptions()
Definition: IAgoraRtcEngine.h:3622
agora::rtc::IRtcEngine::getUserInfoByUserAccount
virtual int getUserInfoByUserAccount(const char *userAccount, rtc::UserInfo *userInfo)=0
agora::rtc::IRtcEngine::setLogFile
virtual int setLogFile(const char *filePath)=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::IVideoDeviceCollection::setDevice
virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngine::setCameraCapturerConfiguration
virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration &config)=0
agora::rtc::FaceShapeAreaOptions::FACE_SHAPE_AREA
FACE_SHAPE_AREA
The specific facial area to be adjusted.
Definition: AgoraBase.h:4862
agora::rtc::VideoCompositingLayout::Region::renderMode
media::base::RENDER_MODE_TYPE renderMode
Definition: IAgoraRtcEngine.h:605
agora::rtc::IRtcEngine::setCameraZoomFactor
virtual int setCameraZoomFactor(float factor)=0
agora::rtc::IMetadataObserver::INVALID_METADATA_SIZE_IN_BYTE
@ INVALID_METADATA_SIZE_IN_BYTE
Definition: IAgoraRtcEngine.h:3425
agora::rtc::RemoteVideoStats::__deprecated
int delay __deprecated
Definition: IAgoraRtcEngine.h:504
agora::rtc::CameraCapturerConfiguration::cameraFocalLengthType
Optional< CAMERA_FOCAL_LENGTH_TYPE > cameraFocalLengthType
Definition: IAgoraRtcEngine.h:828
agora::rtc::CameraCapturerConfiguration::deviceId
Optional< const char * > deviceId
Definition: IAgoraRtcEngine.h:831
agora::rtc::RemoteAudioStats::quality
int quality
Definition: IAgoraRtcEngine.h:374
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1080P_3
@ VIDEO_PROFILE_LANDSCAPE_1080P_3
Definition: IAgoraRtcEngine.h:8804
agora::rtc::AdvancedAudioOptions::AdvancedAudioOptions
AdvancedAudioOptions()
Definition: IAgoraRtcEngine.h:1040
agora::rtc::VIDEO_PROFILE_LANDSCAPE_720P_3
@ VIDEO_PROFILE_LANDSCAPE_720P_3
Definition: IAgoraRtcEngine.h:8796
agora::rtc::PublisherConfiguration::width
int width
Definition: IAgoraRtcEngine.h:720
agora::rtc::VideoCompositingLayout::Region::width
double width
Definition: IAgoraRtcEngine.h:592
agora::rtc::IRtcEngine::startEchoTest
virtual int startEchoTest(const EchoTestConfiguration &config)=0
agora::rtc::IRtcEngine::startOrUpdateChannelMediaRelay
virtual int startOrUpdateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration)=0
agora::rtc::IRtcEngine::setDefaultAudioRouteToSpeakerphone
virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker)=0
agora::rtc::IRtcEngineEventHandler::onConnectionBanned
virtual void onConnectionBanned() __deprecated
Definition: IAgoraRtcEngine.h:2232
agora::rtc::ScreenCaptureSourceInfo
Definition: IAgoraRtcEngine.h:940
agora::rtc::IRtcEngine::getEffectsVolume
virtual int getEffectsVolume()=0
agora::rtc::IRtcEngineEventHandler::onEncryptionError
virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType)
Definition: IAgoraRtcEngine.h:2714
agora::rtc::IRtcEngineEventHandler::onCameraReady
virtual void onCameraReady() __deprecated
Definition: IAgoraRtcEngine.h:2099
agora::rtc::REMOTE_AUDIO_STATE_REASON
REMOTE_AUDIO_STATE_REASON
Definition: AgoraBase.h:3162
agora::rtc::LOCAL_VIDEO_STREAM_REASON
LOCAL_VIDEO_STREAM_REASON
Definition: AgoraBase.h:2997
agora::rtc::VIDEO_PROFILE_LANDSCAPE_720P_6
@ VIDEO_PROFILE_LANDSCAPE_720P_6
Definition: IAgoraRtcEngine.h:8800
agora::rtc::IRtcEngine::getEffectDuration
virtual int getEffectDuration(const char *filePath)=0
agora::rtc::RTMP_STREAM_PUBLISH_STATE
RTMP_STREAM_PUBLISH_STATE
Definition: AgoraBase.h:3624
agora::rtc::STREAM_SUBSCRIBE_STATE
STREAM_SUBSCRIBE_STATE
Definition: AgoraBase.h:6616
agora::rtc::IRtcEngineEventHandler::onWlAccStats
virtual void onWlAccStats(const WlAccStats &currentStats, const WlAccStats &averageStats)
Definition: IAgoraRtcEngine.h:2689
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_7
@ VIDEO_PROFILE_PORTRAIT_360P_7
Definition: IAgoraRtcEngine.h:8840
agora::rtc::IRtcEngine::setPlaybackAudioFrameParameters
virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
agora::rtc::IRtcEngine::setLogFileSize
virtual int setLogFileSize(unsigned int fileSizeInKBytes)=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_720P
@ VIDEO_PROFILE_PORTRAIT_720P
Definition: IAgoraRtcEngine.h:8864
agora::rtc::LeaveChannelOptions::stopAllEffect
bool stopAllEffect
Definition: IAgoraRtcEngine.h:1481
agora::rtc::REMOTE_USER_STATE
REMOTE_USER_STATE
Definition: AgoraBase.h:3303
agora::rtc::ChannelMediaOptions::defaultVideoStreamType
Optional< VIDEO_STREAM_TYPE > defaultVideoStreamType
Definition: IAgoraRtcEngine.h:1219
agora::rtc::IRtcEngine::preloadChannelWithUserAccount
virtual int preloadChannelWithUserAccount(const char *token, const char *channelId, const char *userAccount)=0
agora::rtc::RemoteVideoStats::rxVideoBytes
unsigned int rxVideoBytes
Definition: IAgoraRtcEngine.h:575
agora::rtc::VIDEO_PROFILE_LANDSCAPE_120P_3
@ VIDEO_PROFILE_LANDSCAPE_120P_3
Definition: IAgoraRtcEngine.h:8748
createAgoraRtcEngine
AGORA_API agora::rtc::IRtcEngine *AGORA_CALL createAgoraRtcEngine()
agora::rtc::VIDEO_PROFILE_DEFAULT
@ VIDEO_PROFILE_DEFAULT
Definition: IAgoraRtcEngine.h:8886
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::VIDEO_SOURCE_TYPE
VIDEO_SOURCE_TYPE
Definition: AgoraMediaBase.h:68
agora::rtc::RtcEngineContext::autoRegisterAgoraExtensions
bool autoRegisterAgoraExtensions
Definition: IAgoraRtcEngine.h:3393
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_9
@ VIDEO_PROFILE_PORTRAIT_360P_9
Definition: IAgoraRtcEngine.h:8844
agora::rtc::LocalVideoStats
Definition: IAgoraRtcEngine.h:275
agora::rtc::IMetadataObserver::onMetadataReceived
virtual void onMetadataReceived(const Metadata &metadata)=0
agora::rtc::IRtcEngine::setAudioMixingPlaybackSpeed
virtual int setAudioMixingPlaybackSpeed(int speed)=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::resumeAllChannelMediaRelay
virtual int resumeAllChannelMediaRelay()=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::QUALITY_REPORT_FORMAT_TYPE
QUALITY_REPORT_FORMAT_TYPE
Definition: IAgoraRtcEngine.h:8711
agora::rtc::ChannelMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition: IAgoraRtcEngine.h:1205
agora::rtc::IDirectCdnStreamingEventHandler
Definition: IAgoraRtcEngine.h:3556
agora::rtc::IRtcEngineEventHandler::onLocalAudioStateChanged
virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_REASON reason)
Definition: IAgoraRtcEngine.h:2369
agora::media::base::RENDER_MODE_TYPE
RENDER_MODE_TYPE
Definition: AgoraMediaBase.h:532
agora::rtc::IRtcEngine::setRemoteRenderTargetFps
virtual int setRemoteRenderTargetFps(int targetFps)=0
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:2814
agora::rtc::DIRECT_CDN_STREAMING_STATE_RUNNING
@ DIRECT_CDN_STREAMING_STATE_RUNNING
Definition: IAgoraRtcEngine.h:3513
agora::rtc::IRtcEngineEventHandler::onVideoStopped
virtual void onVideoStopped() __deprecated
Definition: IAgoraRtcEngine.h:2179
agora::rtc::ImageTrackOptions::ImageTrackOptions
ImageTrackOptions()
Definition: IAgoraRtcEngine.h:1048
agora::rtc::EncryptionConfig
Definition: AgoraBase.h:6508
agora::rtc::IRtcEngine::destroyMediaPlayer
virtual int destroyMediaPlayer(agora_refptr< IMediaPlayer > media_player)=0
agora::rtc::INJECT_STREAM_STATUS_BROKEN
@ INJECT_STREAM_STATUS_BROKEN
Definition: IAgoraRtcEngine.h:159
agora::rtc::UDP_PROXY
@ UDP_PROXY
Definition: IAgoraRtcEngine.h:804
agora::rtc::AUDIO_MIXING_REASON_INTERRUPTED_EOF
@ AUDIO_MIXING_REASON_INTERRUPTED_EOF
Definition: IAgoraRtcEngine.h:99
agora::rtc::LocalVideoStats::simulcastDimensions
VideoDimensions simulcastDimensions[SimulcastConfig::STREAM_LAYER_COUNT_MAX]
Definition: IAgoraRtcEngine.h:359
agora::rtc::DIRECT_CDN_STREAMING_STATE
DIRECT_CDN_STREAMING_STATE
Definition: IAgoraRtcEngine.h:3509
agora::rtc::IRtcEngine::setAudioMixingPosition
virtual int setAudioMixingPosition(int pos)=0
agora::rtc::ChannelMediaOptions::publishTranscodedVideoTrack
Optional< bool > publishTranscodedVideoTrack
Definition: IAgoraRtcEngine.h:1171
agora::rtc::PRIORITY_NORMAL
@ PRIORITY_NORMAL
Definition: IAgoraRtcEngine.h:267
agora::rtc::VIDEO_PROFILE_PORTRAIT_720P_5
@ VIDEO_PROFILE_PORTRAIT_720P_5
Definition: IAgoraRtcEngine.h:8868
agora::rtc::ChannelMediaOptions::enableAudioRecordingOrPlayout
Optional< bool > enableAudioRecordingOrPlayout
Definition: IAgoraRtcEngine.h:1201
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:2863
agora::rtc::RemoteVideoStats::receivedBitrate
int receivedBitrate
Definition: IAgoraRtcEngine.h:520
agora::rtc::VIDEO_TRANSCODER_ERROR
VIDEO_TRANSCODER_ERROR
Definition: AgoraBase.h:4219
agora::rtc::MEDIA_DEVICE_STATE_PLUGGED_IN
@ MEDIA_DEVICE_STATE_PLUGGED_IN
Definition: IAgoraRtcEngine.h:8734
agora::rtc::RemoteAudioStats
Definition: IAgoraRtcEngine.h:366
agora::rtc::IRtcEngine::updateScreenCaptureRegion
virtual int updateScreenCaptureRegion(const Rectangle &regionRect)=0
agora::rtc::IMetadataObserver::MAX_METADATA_SIZE_TYPE
MAX_METADATA_SIZE_TYPE
Definition: IAgoraRtcEngine.h:3424
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::QUALITY_REPORT_HTML
@ QUALITY_REPORT_HTML
Definition: IAgoraRtcEngine.h:8717
agora::rtc::LocalVideoStats::encoderOutputFrameRate
int encoderOutputFrameRate
Definition: IAgoraRtcEngine.h:311
agora::rtc::IRtcEngine::unregisterAudioSpectrumObserver
virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
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::PublisherConfiguration::PublisherConfiguration
PublisherConfiguration()
Definition: IAgoraRtcEngine.h:768
agora::rtc::IRtcEngine::setupRemoteVideo
virtual int setupRemoteVideo(const VideoCanvas &canvas)=0
agora::rtc::IRtcEngineEventHandler::onLastmileProbeResult
virtual void onLastmileProbeResult(const LastmileProbeResult &result)
Definition: IAgoraRtcEngine.h:1597
agora::rtc::IVideoDeviceManager::startDeviceTest
virtual int startDeviceTest(view_t hwnd)=0
agora::LICENSE_ERROR_TYPE
LICENSE_ERROR_TYPE
Definition: AgoraBase.h:758
agora::rtc::AUDIO_MIXING_REASON_TYPE
AUDIO_MIXING_REASON_TYPE
Definition: IAgoraRtcEngine.h:93
agora::rtc::IRtcEngine::addVideoWatermark
virtual int addVideoWatermark(const RtcImage &watermark) __deprecated=0
agora::rtc::CAMERA_STABILIZATION_MODE
CAMERA_STABILIZATION_MODE
Definition: AgoraBase.h:2879
agora::rtc::IVideoEffectObject::getVideoEffectBoolParam
virtual bool getVideoEffectBoolParam(const char *option, const char *key)=0
Gets a boolean parameter from the video effect.
agora::rtc::RTMP_STREAM_LIFE_CYCLE_BIND2OWNER
@ RTMP_STREAM_LIFE_CYCLE_BIND2OWNER
Definition: IAgoraRtcEngine.h:711
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_10
@ VIDEO_PROFILE_PORTRAIT_480P_10
Definition: IAgoraRtcEngine.h:8862
agora::rtc::IRtcEngineEventHandler::onConnectionLost
virtual void onConnectionLost()
Definition: IAgoraRtcEngine.h:2214
agora::rtc::IRtcEngineEventHandler::onUserMuteVideo
virtual void onUserMuteVideo(uid_t uid, bool muted)
Definition: IAgoraRtcEngine.h:1995
agora::rtc::PublisherConfiguration::owner
bool owner
Definition: IAgoraRtcEngine.h:746
agora::rtc::IRtcEngine::setCameraExposurePosition
virtual int setCameraExposurePosition(float positionXinView, float positionYinView)=0
agora::rtc::IRtcEngine::setInEarMonitoringVolume
virtual int setInEarMonitoringVolume(int volume)=0
agora::rtc::ScreenCaptureSourceInfo::primaryMonitor
bool primaryMonitor
Definition: IAgoraRtcEngine.h:974
agora::rtc::IRtcEngine::enableSoundPositionIndication
virtual int enableSoundPositionIndication(bool enabled)=0
agora::rtc::VideoCompositingLayout::regions
const Region * regions
Definition: IAgoraRtcEngine.h:634
agora::rtc::IRtcEngine::stopCameraCapture
virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType)=0
agora::rtc::ChannelMediaOptions::publishMediaPlayerVideoTrack
Optional< bool > publishMediaPlayerVideoTrack
Definition: IAgoraRtcEngine.h:1165
agora::rtc::INJECT_STREAM_STATUS_STOP_SUCCESS
@ INJECT_STREAM_STATUS_STOP_SUCCESS
Definition: IAgoraRtcEngine.h:139
agora::rtc::VIDEO_PROFILE_PORTRAIT_1080P_5
@ VIDEO_PROFILE_PORTRAIT_1080P_5
Definition: IAgoraRtcEngine.h:8876
agora::rtc::IRtcEngine::stopPreview
virtual int stopPreview()=0
agora::rtc::MEDIA_DEVICE_STATE_NOT_PRESENT
@ MEDIA_DEVICE_STATE_NOT_PRESENT
Definition: IAgoraRtcEngine.h:8738
agora::rtc::RemoteVideoStats::mosValue
int mosValue
Definition: IAgoraRtcEngine.h:571
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::MEDIA_DEVICE_STATE_ACTIVE
@ MEDIA_DEVICE_STATE_ACTIVE
Definition: IAgoraRtcEngine.h:8727
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_8
@ VIDEO_PROFILE_PORTRAIT_480P_8
Definition: IAgoraRtcEngine.h:8858
agora::rtc::IRtcEngine::destroyCustomEncodedVideoTrack
virtual int destroyCustomEncodedVideoTrack(video_track_id_t video_track_id)=0
agora::rtc::DirectCdnStreamingMediaOptions::customVideoTrackId
Optional< video_track_id_t > customVideoTrackId
Definition: IAgoraRtcEngine.h:3620
agora::rtc::IRtcEngineEventHandler::onVideoSizeChanged
virtual void onVideoSizeChanged(VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation)
Definition: IAgoraRtcEngine.h:1850
agora::rtc::IRtcEngine::muteRecordingSignal
virtual int muteRecordingSignal(bool mute)=0
agora::rtc::IRtcEngineEventHandler::onLocalUserRegistered
virtual void onLocalUserRegistered(uid_t uid, const char *userAccount)
Definition: IAgoraRtcEngine.h:2740
agora::rtc::LocalVideoStats::encodedFrameWidth
int encodedFrameWidth
Definition: IAgoraRtcEngine.h:314
agora::rtc::VIDEO_PROFILE_LANDSCAPE_180P_3
@ VIDEO_PROFILE_LANDSCAPE_180P_3
Definition: IAgoraRtcEngine.h:8752
agora::rtc::AUDIO_APPLICATION_PLAYOUT_DEVICE
@ AUDIO_APPLICATION_PLAYOUT_DEVICE
Definition: IAgoraRtcEngine.h:64
agora::rtc::USER_OFFLINE_REASON_TYPE
USER_OFFLINE_REASON_TYPE
Definition: AgoraBase.h:848
agora::rtc::INJECT_STREAM_STATUS_START_ALREADY_EXISTS
@ INJECT_STREAM_STATUS_START_ALREADY_EXISTS
Definition: IAgoraRtcEngine.h:123
agora::rtc::IRtcEngine::queryCameraFocalLengthCapability
virtual int queryCameraFocalLengthCapability(agora::rtc::FocalLengthInfo *focalLengthInfos, int &size)=0
agora::rtc::AdvancedAudioOptions::~AdvancedAudioOptions
~AdvancedAudioOptions()
Definition: IAgoraRtcEngine.h:1041
agora::rtc::IRtcEngine::setVoiceBeautifierParameters
virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2)=0
agora::rtc::IRtcEngine::muteRemoteAudioStream
virtual int muteRemoteAudioStream(uid_t uid, bool mute)=0
agora::rtc::AUDIO_REVERB_DRY_LEVEL
@ AUDIO_REVERB_DRY_LEVEL
Definition: IAgoraRtcEngine.h:215
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::IRtcEngineEventHandler::onSnapshotTaken
virtual void onSnapshotTaken(uid_t uid, const char *filePath, int width, int height, int errCode)
Definition: IAgoraRtcEngine.h:2437
agora::rtc::ThumbImageBuffer::ThumbImageBuffer
ThumbImageBuffer()
Definition: IAgoraRtcEngine.h:924
agora::rtc::SIZE
Definition: IAgoraRtcEngine.h:888
agora::rtc::INJECT_STREAM_STATUS_STOP_NOT_FOUND
@ INJECT_STREAM_STATUS_STOP_NOT_FOUND
Definition: IAgoraRtcEngine.h:143
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_4
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_4
Definition: IAgoraRtcEngine.h:256
agora::rtc::IRtcEngine::destroyCustomVideoTrack
virtual int destroyCustomVideoTrack(video_track_id_t video_track_id)=0
agora::rtc::MEDIA_DEVICE_STATE_UNPLUGGED
@ MEDIA_DEVICE_STATE_UNPLUGGED
Definition: IAgoraRtcEngine.h:8741
agora::rtc::IRtcEngine::setVoiceConversionParameters
virtual int setVoiceConversionParameters(VOICE_CONVERSION_PRESET preset, int param1, int param2)=0
agora::rtc::SimulcastConfig::STREAM_LAYER_COUNT_MAX
@ STREAM_LAYER_COUNT_MAX
Definition: AgoraBase.h:2193
agora::rtc::ChannelMediaOptions::publishLipSyncTrack
Optional< bool > publishLipSyncTrack
Definition: IAgoraRtcEngine.h:1183
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoFrame
virtual void onFirstRemoteVideoFrame(uid_t uid, int width, int height, int elapsed)
Definition: IAgoraRtcEngine.h:1914
agora::rtc::IScreenCaptureSourceList::release
virtual void release()=0
agora::rtc::IRtcEngine::adjustAudioMixingVolume
virtual int adjustAudioMixingVolume(int volume)=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_240P
@ VIDEO_PROFILE_PORTRAIT_240P
Definition: IAgoraRtcEngine.h:8826
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_9
@ VIDEO_PROFILE_LANDSCAPE_360P_9
Definition: IAgoraRtcEngine.h:8774
agora::rtc::WatermarkOptions
Definition: AgoraBase.h:2280
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1440P_2
@ VIDEO_PROFILE_LANDSCAPE_1440P_2
Definition: IAgoraRtcEngine.h:8810
agora::rtc::PERMISSION_TYPE
PERMISSION_TYPE
Definition: AgoraBase.h:6600
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_9
@ VIDEO_PROFILE_PORTRAIT_480P_9
Definition: IAgoraRtcEngine.h:8860
agora::rtc::IRtcEngine::setLocalRenderTargetFps
virtual int setLocalRenderTargetFps(VIDEO_SOURCE_TYPE sourceType, int targetFps)=0
agora::rtc::DIRECT_CDN_STREAMING_STATE_FAILED
@ DIRECT_CDN_STREAMING_STATE_FAILED
Definition: IAgoraRtcEngine.h:3517
agora::rtc::ChannelMediaOptions::publishThirdScreenTrack
Optional< bool > publishThirdScreenTrack
Definition: IAgoraRtcEngine.h:1123
agora::rtc::IRtcEngineEventHandler::onAudioDeviceVolumeChanged
virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted)
Definition: IAgoraRtcEngine.h:2477
agora::rtc::IRtcEngine::leaveChannel
virtual int leaveChannel()=0
agora::rtc::IRtcEngine::setAudioScenario
virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario)=0
agora::rtc::IRtcEngine::setClientRole
virtual int setClientRole(CLIENT_ROLE_TYPE role)=0
agora::rtc::IRtcEngine::preloadChannel
virtual int preloadChannel(const char *token, const char *channelId, uid_t uid)=0
agora::rtc::IRtcEngineEventHandler::onClientRoleChanged
virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions &newRoleOptions)
Definition: IAgoraRtcEngine.h:2452
agora::rtc::IRtcEngine::startScreenCaptureByDisplayId
virtual int startScreenCaptureByDisplayId(int64_t displayId, const Rectangle &regionRect, const ScreenCaptureParameters &captureParams)=0
agora::rtc::RemoteVideoStats::width
int width
Definition: IAgoraRtcEngine.h:512
agora::rtc::HTTPS_PROXY_TYPE
@ HTTPS_PROXY_TYPE
Definition: IAgoraRtcEngine.h:1458
agora::rtc::RtcEngineContext::audioScenario
AUDIO_SCENARIO_TYPE audioScenario
Definition: IAgoraRtcEngine.h:3339
agora::rtc::RemoteVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition: IAgoraRtcEngine.h:529
agora::rtc::CameraCapturerConfiguration::CameraCapturerConfiguration
CameraCapturerConfiguration()
Definition: IAgoraRtcEngine.h:843
agora::rtc::IRtcEngine::setVoiceBeautifierPreset
virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset)=0
agora::rtc::RemoteVideoStats::decoderInputFrameRate
int decoderInputFrameRate
Definition: IAgoraRtcEngine.h:523
agora::rtc::IRtcEngine::rate
virtual int rate(const char *callId, int rating, const char *description)=0
agora::rtc::LOCAL_AUDIO_STREAM_REASON
LOCAL_AUDIO_STREAM_REASON
Definition: AgoraBase.h:2925
agora::rtc::LocalVideoStats::targetBitrate
int targetBitrate
Definition: IAgoraRtcEngine.h:323
agora::rtc::ChannelMediaOptions::publishSecondaryScreenTrack
Optional< bool > publishSecondaryScreenTrack
Definition: IAgoraRtcEngine.h:1117
agora::RefCountInterface
Definition: AgoraRefPtr.h:31
agora::rtc::IRtcEngine::loadExtensionProvider
virtual int loadExtensionProvider(const char *path, bool unload_after_use=false)=0
agora::rtc::CAMERA_REAR
@ CAMERA_REAR
Definition: IAgoraRtcEngine.h:789
agora::rtc::RemoteAudioStats::qualityChangedReason
int qualityChangedReason
Definition: IAgoraRtcEngine.h:457
agora::rtc::IRtcEngine::isCameraFaceDetectSupported
virtual bool isCameraFaceDetectSupported()=0
agora::rtc::IRtcEngine::getCallId
virtual int getCallId(agora::util::AString &callId)=0
agora::rtc::VIDEO_CAPTURE_DEVICE
@ VIDEO_CAPTURE_DEVICE
Definition: IAgoraRtcEngine.h:60
agora::rtc::IRtcEngine::isCameraAutoFocusFaceModeSupported
virtual bool isCameraAutoFocusFaceModeSupported()=0
agora::rtc::PROXY_TYPE
PROXY_TYPE
Definition: IAgoraRtcEngine.h:1437
agora::rtc::IMetadataObserver::MAX_METADATA_SIZE_IN_BYTE
@ MAX_METADATA_SIZE_IN_BYTE
Definition: IAgoraRtcEngine.h:3427
agora::rtc::InjectStreamConfig
Definition: IAgoraRtcEngine.h:657
agora::rtc::IRtcEngine::uploadLogFile
virtual int uploadLogFile(agora::util::AString &requestId)=0
agora::rtc::IRtcEngine::startMediaRenderingTracing
virtual int startMediaRenderingTracing()=0
Start tracing media rendering events.
agora::rtc::IRtcEngineEventHandler::~IRtcEngineEventHandler
virtual ~IRtcEngineEventHandler()
Definition: IAgoraRtcEngine.h:1510
agora::rtc::CameraCapturerConfiguration::format
VideoFormat format
Definition: IAgoraRtcEngine.h:842
agora::rtc::LocalVideoStats::encodedFrameCount
int encodedFrameCount
Definition: IAgoraRtcEngine.h:337
agora::rtc::PublisherConfiguration::bitrate
int bitrate
Definition: IAgoraRtcEngine.h:732
agora::rtc::LocalVideoStats::regulatedCaptureFrameRate
int regulatedCaptureFrameRate
Definition: IAgoraRtcEngine.h:300
agora::rtc::IRtcEngine::enableWirelessAccelerate
virtual int enableWirelessAccelerate(bool enabled)=0
agora::rtc::VIDEO_PROFILE_LANDSCAPE_120P
@ VIDEO_PROFILE_LANDSCAPE_120P
Definition: IAgoraRtcEngine.h:8746
agora::rtc::IRtcEngine::createCustomEncodedVideoTrack
virtual video_track_id_t createCustomEncodedVideoTrack(const SenderOptions &sender_option)=0
agora::rtc::AUDIO_MIXING_REASON_TOO_FREQUENT_CALL
@ AUDIO_MIXING_REASON_TOO_FREQUENT_CALL
Definition: IAgoraRtcEngine.h:97
agora::rtc::VIDEO_STREAM_TYPE
VIDEO_STREAM_TYPE
Definition: AgoraBase.h:1573
agora::rtc::DIRECT_CDN_STREAMING_STATE_IDLE
@ DIRECT_CDN_STREAMING_STATE_IDLE
Definition: IAgoraRtcEngine.h:3511
agora::rtc::CameraCapturerConfiguration::followEncodeDimensionRatio
Optional< bool > followEncodeDimensionRatio
Definition: IAgoraRtcEngine.h:840
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1080P_5
@ VIDEO_PROFILE_LANDSCAPE_1080P_5
Definition: IAgoraRtcEngine.h:8806
agora::rtc::IRtcEngine::unloadAllEffects
virtual int unloadAllEffects()=0
agora::rtc::RtcEngineContext::RtcEngineContext
RtcEngineContext()
Definition: IAgoraRtcEngine.h:3395
agora::rtc::ChannelMediaOptions
Definition: IAgoraRtcEngine.h:1059
agora::rtc::IRtcEngine
Definition: IAgoraRtcEngine.h:3728
agora::rtc::AUDIO_MIXING_REASON_CAN_NOT_OPEN
@ AUDIO_MIXING_REASON_CAN_NOT_OPEN
Definition: IAgoraRtcEngine.h:95
agora::rtc::INJECT_STREAM_STATUS
INJECT_STREAM_STATUS
Definition: IAgoraRtcEngine.h:115
agora::rtc::IRtcEngine::enableLoopbackRecording
virtual int enableLoopbackRecording(bool enabled, const char *deviceName=NULL)=0
agora::rtc::IRtcEngine::sendAudioMetadata
virtual int sendAudioMetadata(const char *metadata, size_t length)=0
send audio metadata
agora::rtc::IRtcEngine::createMediaRecorder
virtual agora_refptr< IMediaRecorder > createMediaRecorder(const RecorderStreamInfo &info)=0
agora::rtc::VIDEO_VIRTUAL_BACKGROUND
@ VIDEO_VIRTUAL_BACKGROUND
Definition: IAgoraRtcEngine.h:1462
agora::rtc::AUDIO_EQUALIZATION_BAND_FREQUENCY
AUDIO_EQUALIZATION_BAND_FREQUENCY
Definition: IAgoraRtcEngine.h:165
agora::rtc::ScreenCaptureConfiguration
Definition: IAgoraRtcEngine.h:848
agora::rtc::IRtcEngine::setAudioMixingDualMonoMode
virtual int setAudioMixingDualMonoMode(media::AUDIO_MIXING_DUAL_MONO_MODE mode)=0
agora::rtc::ChannelMediaOptions::autoSubscribeVideo
Optional< bool > autoSubscribeVideo
Definition: IAgoraRtcEngine.h:1195
agora::rtc::VOICE_BEAUTIFIER_PRESET
VOICE_BEAUTIFIER_PRESET
Definition: AgoraBase.h:5418
agora::rtc::DIRECT_CDN_STREAMING_REASON_NET_CONNECT
@ DIRECT_CDN_STREAMING_REASON_NET_CONNECT
Definition: IAgoraRtcEngine.h:3502
agora::rtc::DirectCdnStreamingMediaOptions::~DirectCdnStreamingMediaOptions
~DirectCdnStreamingMediaOptions()
Definition: IAgoraRtcEngine.h:3623
agora::rtc::VIDEO_MIRROR_MODE_DISABLED
@ VIDEO_MIRROR_MODE_DISABLED
Definition: AgoraBase.h:1830
agora::rtc::UPLOAD_ERROR_REASON
UPLOAD_ERROR_REASON
Definition: AgoraBase.h:6592
agora::rtc::IRtcEngine::getEffectCurrentPosition
virtual int getEffectCurrentPosition(int soundId)=0
agora::rtc::ChannelMediaOptions::publishMicrophoneTrack
Optional< bool > publishMicrophoneTrack
Definition: IAgoraRtcEngine.h:1089
agora::rtc::IRtcEngine::updatePreloadChannelToken
virtual int updatePreloadChannelToken(const char *token)=0
agora::rtc::IRtcEngine::resumeAudio
virtual int resumeAudio() __deprecated=0
agora::rtc::IRtcEngine::muteLocalAudioStream
virtual int muteLocalAudioStream(bool mute)=0
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_3
@ VIDEO_PROFILE_LANDSCAPE_480P_3
Definition: IAgoraRtcEngine.h:8782
agora::rtc::IRtcEngine::joinChannelWithUserAccount
virtual int joinChannelWithUserAccount(const char *token, const char *channelId, const char *userAccount)=0
agora::rtc::IRtcEngine::setChannelProfile
virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile)=0
agora::rtc::SIZE::SIZE
SIZE()
Definition: IAgoraRtcEngine.h:896
agora::rtc::HTTP_PROXY_TYPE
@ HTTP_PROXY_TYPE
Definition: IAgoraRtcEngine.h:1455
agora::rtc::RemoteVideoStats::frameLossRate
int frameLossRate
Definition: IAgoraRtcEngine.h:532
agora::rtc::VideoDimensions
Definition: AgoraBase.h:1099
agora::rtc::IRtcEngine::updateDirectCdnStreamingMediaOptions
virtual int updateDirectCdnStreamingMediaOptions(const DirectCdnStreamingMediaOptions &options)=0
agora::rtc::IRtcEngine::setLocalVoicePitch
virtual int setLocalVoicePitch(double pitch)=0
agora::rtc::IRtcEngineEventHandler::onTranscodedStreamLayoutInfo
virtual void onTranscodedStreamLayoutInfo(uid_t uid, int width, int height, int layoutCount, const VideoLayout *layoutlist)
Definition: IAgoraRtcEngine.h:2880
agora::rtc::MEDIA_TRACE_EVENT
MEDIA_TRACE_EVENT
Definition: AgoraBase.h:6858
agora::rtc::RemoteVideoStats::height
int height
Definition: IAgoraRtcEngine.h:516
agora::rtc::LocalVideoStats::captureFrameWidth
int captureFrameWidth
Definition: IAgoraRtcEngine.h:293
agora::rtc::IRtcEngine::setScreenCaptureContentHint
virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint)=0
agora::rtc::VIDEO_MODULE_TYPE
VIDEO_MODULE_TYPE
Definition: AgoraBase.h:1845
agora::rtc::IRtcEngine::setAudioEffectPreset
virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset)=0
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P
@ VIDEO_PROFILE_LANDSCAPE_480P
Definition: IAgoraRtcEngine.h:8780
agora::rtc::IRtcEngine::release
static AGORA_CPP_API void release(RtcEngineReleaseCallback callback=nullptr)
agora::rtc::AUDIO_SAMPLE_RATE_TYPE
AUDIO_SAMPLE_RATE_TYPE
Definition: AgoraBase.h:3513
agora::rtc::MEDIA_DEVICE_STATE_IDLE
@ MEDIA_DEVICE_STATE_IDLE
Definition: IAgoraRtcEngine.h:8724
agora::rtc::IRtcEngine::updateScreenCaptureParameters
virtual int updateScreenCaptureParameters(const ScreenCaptureParameters &captureParams)=0
agora::rtc::RtcEngineContext::useExternalEglContext
bool useExternalEglContext
Definition: IAgoraRtcEngine.h:3379
agora::rtc::IRtcEngine::preloadEffect
virtual int preloadEffect(int soundId, const char *filePath, int startPos=0)=0
agora::rtc::RemoteAudioStats::frozenRate
int frozenRate
Definition: IAgoraRtcEngine.h:413
agora::rtc::IRtcEngine::setVideoScenario
virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType)=0
agora::rtc::RemoteAudioStats::plcCount
uint32_t plcCount
Definition: IAgoraRtcEngine.h:439
agora::rtc::IRtcEngine::stopEchoTest
virtual int stopEchoTest()=0
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_3
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_3
Definition: IAgoraRtcEngine.h:255
agora::rtc::IRtcEngine::startAudioRecording
virtual int startAudioRecording(const char *filePath, AUDIO_RECORDING_QUALITY_TYPE quality)=0
agora::rtc::IRtcEngine::setLocalVoiceEqualization
virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain)=0
agora::rtc::DirectCdnStreamingMediaOptions::publishMediaPlayerAudioTrack
Optional< bool > publishMediaPlayerAudioTrack
Definition: IAgoraRtcEngine.h:3610
agora::util::CopyableAutoPtr
Definition: AgoraBase.h:156
agora::rtc::IRtcEngine::getCameraMaxZoomFactor
virtual float getCameraMaxZoomFactor()=0
agora::rtc::IRtcEngine::getNetworkType
virtual int getNetworkType()=0
agora::rtc::AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED
@ AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED
Definition: IAgoraRtcEngine.h:103
agora::rtc::VIDEO_PROFILE_LANDSCAPE_720P
@ VIDEO_PROFILE_LANDSCAPE_720P
Definition: IAgoraRtcEngine.h:8794
agora::rtc::InjectStreamConfig::audioSampleRate
AUDIO_SAMPLE_RATE_TYPE audioSampleRate
Definition: IAgoraRtcEngine.h:681
agora::rtc::IRtcEngine::enableExtension
virtual int enableExtension(const char *provider, const char *extension, const ExtensionInfo &extensionInfo, bool enable=true)=0
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_8
@ VIDEO_PROFILE_LANDSCAPE_480P_8
Definition: IAgoraRtcEngine.h:8788
agora::rtc::PublisherConfiguration::framerate
int framerate
Definition: IAgoraRtcEngine.h:728
agora::rtc::IRtcEngine::resumeEffect
virtual int resumeEffect(int soundId)=0
agora::rtc::PublisherConfiguration::injectStreamUrl
const char * injectStreamUrl
Definition: IAgoraRtcEngine.h:755
agora::rtc::ChannelMediaOptions::publishScreenTrack
Optional< bool > publishScreenTrack
Definition: IAgoraRtcEngine.h:1111
agora::rtc::AUDIO_EQUALIZATION_BAND_2K
@ AUDIO_EQUALIZATION_BAND_2K
Definition: IAgoraRtcEngine.h:193
agora::rtc::IRtcEngineEventHandler::onAudioRoutingChanged
virtual void onAudioRoutingChanged(int routing)
Definition: IAgoraRtcEngine.h:2536
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::InjectStreamConfig::videoBitrate
int videoBitrate
Definition: IAgoraRtcEngine.h:677
agora::rtc::IRtcEngine::setCameraStabilizationMode
virtual int setCameraStabilizationMode(CAMERA_STABILIZATION_MODE mode)=0
agora::rtc::IScreenCaptureSourceList::getSourceInfo
virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index)=0
agora::rtc::VIDEO_PROFILE_LANDSCAPE_4K
@ VIDEO_PROFILE_LANDSCAPE_4K
Definition: IAgoraRtcEngine.h:8812
agora::rtc::LocalVideoStats::captureBrightnessLevel
CAPTURE_BRIGHTNESS_LEVEL_TYPE captureBrightnessLevel
Definition: IAgoraRtcEngine.h:347
agora::rtc::VIDEO_PROFILE_LANDSCAPE_240P
@ VIDEO_PROFILE_LANDSCAPE_240P
Definition: IAgoraRtcEngine.h:8756
agora::rtc::IRtcEngine::enableVideo
virtual int enableVideo()=0
agora::rtc::IRtcEngineEventHandler::onExtensionStoppedWithContext
virtual void onExtensionStoppedWithContext(const ExtensionContext &context)
Definition: IAgoraRtcEngine.h:2935
agora::rtc::LOCAL_AUDIO_STREAM_STATE
LOCAL_AUDIO_STREAM_STATE
Definition: AgoraBase.h:2903
agora::rtc::VIDEO_PROFILE_PORTRAIT_4K
@ VIDEO_PROFILE_PORTRAIT_4K
Definition: IAgoraRtcEngine.h:8882
agora::rtc::IRtcEngine::setRemoteUserSpatialAudioParams
virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams &params)=0
agora::rtc::VOICE_AI_TUNER_TYPE
VOICE_AI_TUNER_TYPE
Definition: AgoraBase.h:5707
agora::rtc::IVideoEffectObject::VIDEO_EFFECT_NODE_ID::BEAUTY
@ BEAUTY
agora::rtc::IVideoEffectObject::VIDEO_EFFECT_NODE_ID::STICKER
@ STICKER
agora::rtc::AUDIO_EQUALIZATION_BAND_1K
@ AUDIO_EQUALIZATION_BAND_1K
Definition: IAgoraRtcEngine.h:189
agora::rtc::INJECT_STREAM_STATUS_STOP_FAILED
@ INJECT_STREAM_STATUS_STOP_FAILED
Definition: IAgoraRtcEngine.h:155
agora::rtc::video_track_id_t
unsigned int video_track_id_t
Definition: AgoraMediaBase.h:31
agora::rtc::IRtcEngine::setHeadphoneEQParameters
virtual int setHeadphoneEQParameters(int lowGain, int highGain)=0
agora::rtc::ScreenCaptureSourceType
ScreenCaptureSourceType
Definition: IAgoraRtcEngine.h:929
agora::rtc::IVideoEffectObject::removeVideoEffect
virtual int removeVideoEffect(uint32_t nodeId)=0
Removes a video effect with specified node ID.
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::IMetadataObserver::UNKNOWN_METADATA
@ UNKNOWN_METADATA
Definition: IAgoraRtcEngine.h:3415
agora::rtc::IRtcEngineEventHandler::onFirstLocalVideoFramePublished
virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed)
Definition: IAgoraRtcEngine.h:1814
agora::rtc::LOCAL_PROXY_TYPE
@ LOCAL_PROXY_TYPE
Definition: IAgoraRtcEngine.h:1449
agora::rtc::VIDEO_CONTENT_HINT
VIDEO_CONTENT_HINT
Definition: AgoraBase.h:2767
agora::rtc::IRtcEngine::updateChannelMediaOptions
virtual int updateChannelMediaOptions(const ChannelMediaOptions &options)=0
agora::rtc::RemoteAudioStats::numChannels
int numChannels
Definition: IAgoraRtcEngine.h:392
agora::rtc::IRtcEngineEventHandler::onSetRtmFlagResult
virtual void onSetRtmFlagResult(int code)
Definition: IAgoraRtcEngine.h:2961
agora::rtc::IDirectCdnStreamingEventHandler::onDirectCdnStreamingStats
virtual void onDirectCdnStreamingStats(const DirectCdnStreamingStats &stats)
Definition: IAgoraRtcEngine.h:3572
agora::rtc::ChannelMediaOptions::audioDelayMs
Optional< int > audioDelayMs
Definition: IAgoraRtcEngine.h:1229
agora::rtc::IRtcEngine::initialize
virtual int initialize(const RtcEngineContext &context)=0
agora::rtc::CLIENT_ROLE_CHANGE_FAILED_REASON
CLIENT_ROLE_CHANGE_FAILED_REASON
Definition: AgoraBase.h:4535
agora::rtc::VIDEO_PROFILE_PORTRAIT_120P
@ VIDEO_PROFILE_PORTRAIT_120P
Definition: IAgoraRtcEngine.h:8816
agora::rtc::IRtcEngineEventHandler::onNetworkQuality
virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality)
Definition: IAgoraRtcEngine.h:1734
agora::rtc::IRtcEngine::resumeAudioMixing
virtual int resumeAudioMixing()=0
agora::rtc::uid_t
unsigned int uid_t
Definition: AgoraMediaBase.h:28
agora::rtc::ImageTrackOptions
Definition: IAgoraRtcEngine.h:1044
agora::rtc::INJECT_STREAM_STATUS_START_TIMEDOUT
@ INJECT_STREAM_STATUS_START_TIMEDOUT
Definition: IAgoraRtcEngine.h:131
agora::rtc::IRtcEngine::unloadEffect
virtual int unloadEffect(int soundId)=0
agora::rtc::VideoCompositingLayout::Region
Definition: IAgoraRtcEngine.h:579
agora::rtc::IRtcEngine::stopRhythmPlayer
virtual int stopRhythmPlayer()=0
agora::rtc::IRtcEngine::getAudioMixingPlayoutVolume
virtual int getAudioMixingPlayoutVolume()=0
agora::rtc::IRtcEngine::startLastmileProbeTest
virtual int startLastmileProbeTest(const LastmileProbeConfig &config)=0
agora::rtc::CameraCapturerConfiguration::cameraId
Optional< const char * > cameraId
Definition: IAgoraRtcEngine.h:838
agora::rtc::IRtcEngine::adjustCustomAudioPublishVolume
virtual int adjustCustomAudioPublishVolume(track_id_t trackId, int volume)=0
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_6
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_6
Definition: IAgoraRtcEngine.h:258
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:2831
agora::rtc::ChannelMediaOptions::publishFourthScreenTrack
Optional< bool > publishFourthScreenTrack
Definition: IAgoraRtcEngine.h:1129
agora::rtc::RemoteAudioStats::jitterBufferDelay
int jitterBufferDelay
Definition: IAgoraRtcEngine.h:384
agora::rtc::AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED
@ AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED
Definition: IAgoraRtcEngine.h:101
agora::rtc::IRtcEngine::adjustPlaybackSignalVolume
virtual int adjustPlaybackSignalVolume(int volume)=0
agora::rtc::IRtcEngineEventHandler::onRemoteVideoStateChanged
virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed)
Definition: IAgoraRtcEngine.h:1900
agora::rtc::CLIENT_ROLE_TYPE
CLIENT_ROLE_TYPE
Definition: AgoraBase.h:2516
agora::rtc::IRtcEngine::setExtensionProviderProperty
virtual int setExtensionProviderProperty(const char *provider, const char *key, const char *value)=0
agora::rtc::INJECT_STREAM_STATUS_STOP_UNAUTHORIZED
@ INJECT_STREAM_STATUS_STOP_UNAUTHORIZED
Definition: IAgoraRtcEngine.h:147
agora::rtc::PublisherConfiguration::injectStreamWidth
int injectStreamWidth
Definition: IAgoraRtcEngine.h:749
agora::rtc::ChannelMediaOptions::publishScreenCaptureVideo
Optional< bool > publishScreenCaptureVideo
Definition: IAgoraRtcEngine.h:1104
agora::rtc::ChannelMediaOptions::publishMixedAudioTrack
Optional< bool > publishMixedAudioTrack
Definition: IAgoraRtcEngine.h:1177
agora::rtc::IRtcEngine::startLocalAudioMixer
virtual int startLocalAudioMixer(const LocalAudioMixerConfiguration &config)=0
agora::rtc::RemoteVideoStats::rxStreamType
VIDEO_STREAM_TYPE rxStreamType
Definition: IAgoraRtcEngine.h:539
agora::rtc::IRtcEngine::enableAudio
virtual int enableAudio()=0
agora::rtc::IVideoDeviceManager::stopDeviceTest
virtual int stopDeviceTest()=0
agora::rtc::IMetadataObserver::Metadata::uid
unsigned int uid
Definition: IAgoraRtcEngine.h:3441
agora::rtc::RemoteAudioStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:370
agora::rtc::IRtcEngine::disableVideo
virtual int disableVideo()=0
agora::rtc::IRtcEngine::enableDualStreamMode
virtual int enableDualStreamMode(bool enabled) __deprecated=0
agora::rtc::ChannelMediaOptions::~ChannelMediaOptions
~ChannelMediaOptions()
Definition: IAgoraRtcEngine.h:1285
agora::rtc::ENCRYPTION_ERROR_TYPE
ENCRYPTION_ERROR_TYPE
Definition: AgoraBase.h:6567
agora::rtc::InjectStreamConfig::videoGop
int videoGop
Definition: IAgoraRtcEngine.h:669
agora::rtc::IRtcEngine::setVideoQoEPreference
virtual int setVideoQoEPreference(VIDEO_QOE_PREFERENCE_TYPE qoePreference)=0
agora::rtc::ChannelMediaOptions::isInteractiveAudience
Optional< bool > isInteractiveAudience
Definition: IAgoraRtcEngine.h:1265
agora::SpatialAudioParams
Definition: AgoraBase.h:7078
agora::media::MEDIA_SOURCE_TYPE
MEDIA_SOURCE_TYPE
Definition: AgoraMediaBase.h:247
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_4
@ VIDEO_PROFILE_LANDSCAPE_360P_4
Definition: IAgoraRtcEngine.h:8766
agora::rtc::IRtcEngine::setLogFilter
virtual int setLogFilter(unsigned int filter)=0
agora::rtc::IRtcEngine::getLoopbackRecordingVolume
virtual int getLoopbackRecordingVolume()=0
agora::rtc::IRtcEngineEventHandler::onPermissionError
virtual void onPermissionError(PERMISSION_TYPE permissionType)
Definition: IAgoraRtcEngine.h:2727
agora::rtc::IRtcEngineEventHandler::onUploadLogResult
virtual void onUploadLogResult(const char *requestId, bool success, UPLOAD_ERROR_REASON reason)
Definition: IAgoraRtcEngine.h:2799
agora::rtc::RemoteAudioStats::qoeQuality
int qoeQuality
Definition: IAgoraRtcEngine.h:453
agora::rtc::LeaveChannelOptions::LeaveChannelOptions
LeaveChannelOptions()
Definition: IAgoraRtcEngine.h:1495
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_2
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_2
Definition: IAgoraRtcEngine.h:254
agora::rtc::IRtcEngine::setFaceShapeAreaOptions
virtual int setFaceShapeAreaOptions(const FaceShapeAreaOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_10
@ VIDEO_PROFILE_LANDSCAPE_360P_10
Definition: IAgoraRtcEngine.h:8776
agora::rtc::IRtcEngine::setHeadphoneEQPreset
virtual int setHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset)=0
agora::rtc::IRtcEngine::startCameraCapture
virtual int startCameraCapture(VIDEO_SOURCE_TYPE sourceType, const CameraCapturerConfiguration &config)=0
agora::rtc::IRtcEngine::setLocalAccessPoint
virtual int setLocalAccessPoint(const LocalAccessPointConfiguration &config)=0
agora::media::CONTENT_INSPECT_RESULT
CONTENT_INSPECT_RESULT
Definition: AgoraMediaBase.h:1154
agora::rtc::IRtcEngine::createCustomVideoTrack
virtual video_track_id_t createCustomVideoTrack()=0
agora::rtc::DIRECT_CDN_STREAMING_REASON_BAD_NAME
@ DIRECT_CDN_STREAMING_REASON_BAD_NAME
Definition: IAgoraRtcEngine.h:3504
agora::rtc::SetFrom
static void SetFrom(Optional< T > *s, const Optional< T > &o)
Definition: IAgoraRtcEngine.h:24
agora::rtc::IRtcEngine::disableAudio
virtual int disableAudio()=0
agora::rtc::IRtcEngine::muteAllRemoteAudioStreams
virtual int muteAllRemoteAudioStreams(bool mute)=0
agora::rtc::IRtcEngineEventHandler::onRtcStats
virtual void onRtcStats(const RtcStats &stats)
Definition: IAgoraRtcEngine.h:1651
agora::rtc::IRtcEngineEventHandler::onUserJoined
virtual void onUserJoined(uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1940
agora::rtc::VIDEO_PROFILE_LANDSCAPE_240P_4
@ VIDEO_PROFILE_LANDSCAPE_240P_4
Definition: IAgoraRtcEngine.h:8760
agora::rtc::AAudioDeviceManager
Definition: IAgoraRtcEngine.h:8889
agora::rtc::STREAM_PUBLISH_STATE
STREAM_PUBLISH_STATE
Definition: AgoraBase.h:6648
agora::rtc::CONNECTION_STATE_TYPE
CONNECTION_STATE_TYPE
Definition: AgoraBase.h:3847
agora::rtc::VIDEO_BEAUTY_EFFECT
@ VIDEO_BEAUTY_EFFECT
Definition: IAgoraRtcEngine.h:1463
agora::rtc::IRtcEngine::sendCustomReportMessage
virtual int sendCustomReportMessage(const char *id, const char *category, const char *event, const char *label, int value)=0
agora::rtc::FocalLengthInfo
Definition: AgoraBase.h:1910
agora::rtc::ScreenCaptureSourceInfo::ScreenCaptureSourceInfo
ScreenCaptureSourceInfo()
Definition: IAgoraRtcEngine.h:992
agora::rtc::IVideoEffectObject::~IVideoEffectObject
virtual ~IVideoEffectObject()
Definition: IAgoraRtcEngine.h:3127
agora::rtc::RemoteVideoStats::packetLossRate
int packetLossRate
Definition: IAgoraRtcEngine.h:535
agora::rtc::LocalVideoStats::hwEncoderAccelerating
int hwEncoderAccelerating
Definition: IAgoraRtcEngine.h:356
agora::rtc::DeviceInfo
Definition: AgoraBase.h:3442
agora::base::IEngineBase
Definition: AgoraBase.h:7044
agora::rtc::LocalVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition: IAgoraRtcEngine.h:320
agora::rtc::IRtcEngine::startScreenCaptureByScreenRect
virtual int startScreenCaptureByScreenRect(const Rectangle &screenRect, const Rectangle &regionRect, const ScreenCaptureParameters &captureParams) __deprecated=0
agora::rtc::ThumbImageBuffer::height
unsigned int height
Definition: IAgoraRtcEngine.h:923
agora::rtc::IRtcEngineEventHandler::onDownlinkNetworkInfoUpdated
virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo &info)
Definition: IAgoraRtcEngine.h:1769
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition: IAgoraRtcEngine.h:3598
agora::rtc::IRtcEngineEventHandler::onAudioMixingStateChanged
virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:2188
agora::rtc::AGORA_IID_AUDIO_DEVICE_MANAGER
@ AGORA_IID_AUDIO_DEVICE_MANAGER
Definition: AgoraBase.h:866
agora::rtc::ScreenCaptureSourceInfo::sourceId
int64_t sourceId
Definition: IAgoraRtcEngine.h:948
agora::rtc::IRtcEngine::setLocalRenderMode
virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode)=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::setAudioProfile
virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) __deprecated=0
agora::rtc::RtcEngineContext::areaCode
unsigned int areaCode
Definition: IAgoraRtcEngine.h:3348
agora::rtc::IRtcEngine::setSimulcastConfig
virtual int setSimulcastConfig(const SimulcastConfig &simulcastConfig)=0
agora::rtc::IRtcEngineEventHandler::onLicenseValidationFailure
virtual void onLicenseValidationFailure(LICENSE_ERROR_TYPE error)
Definition: IAgoraRtcEngine.h:2304
agora::rtc::CameraCapturerConfiguration
Definition: IAgoraRtcEngine.h:812
agora::rtc::IMetadataObserver::VIDEO_METADATA
@ VIDEO_METADATA
Definition: IAgoraRtcEngine.h:3418
rtc
Definition: video_node_i.h:28
agora::rtc::IRtcEngine::selectAudioTrack
virtual int selectAudioTrack(int index)=0
agora::rtc::RemoteVideoStats
Definition: IAgoraRtcEngine.h:492
agora::rtc::PublisherConfiguration::injectStreamHeight
int injectStreamHeight
Definition: IAgoraRtcEngine.h:752
agora::Optional
Definition: AgoraOptional.h:52
agora::rtc::IRtcEngine::joinChannel
virtual int joinChannel(const char *token, const char *channelId, const char *info, uid_t uid)=0
agora::rtc::IMetadataObserver::Metadata::size
unsigned int size
Definition: IAgoraRtcEngine.h:3444
agora::rtc::CAMERA_DIRECTION
CAMERA_DIRECTION
Definition: IAgoraRtcEngine.h:787
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_10
@ VIDEO_PROFILE_PORTRAIT_360P_10
Definition: IAgoraRtcEngine.h:8846
agora::AUDIO_SESSION_OPERATION_RESTRICTION
AUDIO_SESSION_OPERATION_RESTRICTION
Definition: AgoraBase.h:788
agora::rtc::IRtcEngine::setRecordingAudioFrameParameters
virtual int setRecordingAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_180P_3
@ VIDEO_PROFILE_PORTRAIT_180P_3
Definition: IAgoraRtcEngine.h:8822
agora::rtc::ScreenCaptureConfiguration::screenRect
Rectangle screenRect
Definition: IAgoraRtcEngine.h:863
agora::rtc::IScreenCaptureSourceList::~IScreenCaptureSourceList
virtual ~IScreenCaptureSourceList()
Definition: IAgoraRtcEngine.h:1003
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1080P
@ VIDEO_PROFILE_LANDSCAPE_1080P
Definition: IAgoraRtcEngine.h:8802
agora::rtc::IRtcEngineEventHandler::onUserEnableLocalVideo
virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) __deprecated
Definition: IAgoraRtcEngine.h:2037
agora::rtc::IVideoDeviceManager::setDevice
virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngineEventHandler::onChannelMediaRelayStateChanged
virtual void onChannelMediaRelayStateChanged(int state, int code)
Definition: IAgoraRtcEngine.h:2569
agora::rtc::IRtcEngine::complain
virtual int complain(const char *callId, const char *description)=0
agora::rtc::IRtcEngine::clearVideoWatermarks
virtual int clearVideoWatermarks()=0
agora::rtc::IRtcEngine::stopAudioRecording
virtual int stopAudioRecording()=0
agora::rtc::SIZE::height
int height
Definition: IAgoraRtcEngine.h:894
agora::rtc::IRtcEngine::queryScreenCaptureCapability
virtual int queryScreenCaptureCapability()=0
agora::rtc::IRtcEngineEventHandler::onAudioPublishStateChanged
virtual void onAudioPublishStateChanged(const char *channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)
Definition: IAgoraRtcEngine.h:2847
agora::rtc::IMetadataObserver::~IMetadataObserver
virtual ~IMetadataObserver()
Definition: IAgoraRtcEngine.h:3405
agora::rtc::IRtcEngine::setHighPriorityUserList
virtual int setHighPriorityUserList(uid_t *uidList, int uidNum, STREAM_FALLBACK_OPTIONS option)=0
agora::rtc::IRtcEngine::setScreenCaptureOrientation
virtual int setScreenCaptureOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation)=0
agora::rtc::RemoteAudioStats::receivedSampleRate
int receivedSampleRate
Definition: IAgoraRtcEngine.h:396
agora::rtc::VideoCompositingLayout::Region::uid
uid_t uid
Definition: IAgoraRtcEngine.h:582
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_8
@ VIDEO_PROFILE_PORTRAIT_360P_8
Definition: IAgoraRtcEngine.h:8842
agora::rtc::PRIORITY_TYPE
PRIORITY_TYPE
Definition: IAgoraRtcEngine.h:261
agora::rtc::IRtcEngineEventHandler::onConnectionStateChanged
virtual void onConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:2666
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_6
@ VIDEO_PROFILE_LANDSCAPE_480P_6
Definition: IAgoraRtcEngine.h:8786
agora::rtc::IVideoEffectObject::getVideoEffectIntParam
virtual int getVideoEffectIntParam(const char *option, const char *key)=0
Gets an integer parameter from the video effect.
agora::rtc::PRIORITY_HIGH
@ PRIORITY_HIGH
Definition: IAgoraRtcEngine.h:264
agora::rtc::VideoCompositingLayout::Region::x
double x
Definition: IAgoraRtcEngine.h:585
agora::CHANNEL_PROFILE_LIVE_BROADCASTING
@ CHANNEL_PROFILE_LIVE_BROADCASTING
Definition: AgoraBase.h:279