Agora RTC Objective-C API Reference Refactor

IAgoraRtcEngine.h
Go to the documentation of this file.
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 rtc {
19
20 template <typename T>
21 static void SetFrom(Optional<T>* s, const Optional<T>& o) {
22 if (o) {
23 *s = o;
24 }
25 }
26
27 template <typename T>
28 static void ReplaceBy(Optional<T>* s, const Optional<T>& o) {
29 *s = o;
30 }
31
32 //class IAudioDeviceManager;
33
37 enum MEDIA_DEVICE_TYPE {
41 UNKNOWN_AUDIO_DEVICE = -1,
45 AUDIO_PLAYOUT_DEVICE = 0,
49 AUDIO_RECORDING_DEVICE = 1,
53 VIDEO_RENDER_DEVICE = 2,
57 VIDEO_CAPTURE_DEVICE = 3,
61 AUDIO_APPLICATION_PLAYOUT_DEVICE = 4,
65 AUDIO_VIRTUAL_PLAYOUT_DEVICE = 5,
69 AUDIO_VIRTUAL_RECORDING_DEVICE = 6,
70 };
71
75 enum AUDIO_MIXING_STATE_TYPE {
77 AUDIO_MIXING_STATE_PLAYING = 710,
79 AUDIO_MIXING_STATE_PAUSED = 711,
81 AUDIO_MIXING_STATE_STOPPED = 713,
84 AUDIO_MIXING_STATE_FAILED = 714,
85 };
86
90 enum AUDIO_MIXING_REASON_TYPE {
92 AUDIO_MIXING_REASON_CAN_NOT_OPEN = 701,
94 AUDIO_MIXING_REASON_TOO_FREQUENT_CALL = 702,
96 AUDIO_MIXING_REASON_INTERRUPTED_EOF = 703,
98 AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED = 721,
100 AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED = 723,
102 AUDIO_MIXING_REASON_STOPPED_BY_USER = 724,
104 AUDIO_MIXING_REASON_OK = 0,
105 };
106
110 enum INJECT_STREAM_STATUS {
114 INJECT_STREAM_STATUS_START_SUCCESS = 0,
118 INJECT_STREAM_STATUS_START_ALREADY_EXISTS = 1,
122 INJECT_STREAM_STATUS_START_UNAUTHORIZED = 2,
126 INJECT_STREAM_STATUS_START_TIMEDOUT = 3,
130 INJECT_STREAM_STATUS_START_FAILED = 4,
134 INJECT_STREAM_STATUS_STOP_SUCCESS = 5,
138 INJECT_STREAM_STATUS_STOP_NOT_FOUND = 6,
142 INJECT_STREAM_STATUS_STOP_UNAUTHORIZED = 7,
146 INJECT_STREAM_STATUS_STOP_TIMEDOUT = 8,
150 INJECT_STREAM_STATUS_STOP_FAILED = 9,
154 INJECT_STREAM_STATUS_BROKEN = 10,
155 };
156
160 enum AUDIO_EQUALIZATION_BAND_FREQUENCY {
164 AUDIO_EQUALIZATION_BAND_31 = 0,
168 AUDIO_EQUALIZATION_BAND_62 = 1,
172 AUDIO_EQUALIZATION_BAND_125 = 2,
176 AUDIO_EQUALIZATION_BAND_250 = 3,
180 AUDIO_EQUALIZATION_BAND_500 = 4,
184 AUDIO_EQUALIZATION_BAND_1K = 5,
188 AUDIO_EQUALIZATION_BAND_2K = 6,
192 AUDIO_EQUALIZATION_BAND_4K = 7,
196 AUDIO_EQUALIZATION_BAND_8K = 8,
200 AUDIO_EQUALIZATION_BAND_16K = 9,
201 };
202
206 enum AUDIO_REVERB_TYPE {
210 AUDIO_REVERB_DRY_LEVEL = 0,
214 AUDIO_REVERB_WET_LEVEL = 1,
218 AUDIO_REVERB_ROOM_SIZE = 2,
222 AUDIO_REVERB_WET_DELAY = 3,
226 AUDIO_REVERB_STRENGTH = 4,
227 };
228
229 enum STREAM_FALLBACK_OPTIONS {
233 STREAM_FALLBACK_OPTION_DISABLED = 0,
238 STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW = 1,
242 STREAM_FALLBACK_OPTION_AUDIO_ONLY = 2,
243 };
244
245 enum PRIORITY_TYPE {
248 PRIORITY_HIGH = 50,
251 PRIORITY_NORMAL = 100,
252 };
253
254 struct RtcConnection;
255
258 struct LocalVideoStats
259 {
263 uid_t uid;
267 int sentBitrate;
271 int sentFrameRate;
274 int captureFrameRate;
277 int captureFrameWidth;
280 int captureFrameHeight;
284 int regulatedCaptureFrameRate;
288 int regulatedCaptureFrameWidth;
292 int regulatedCaptureFrameHeight;
295 int encoderOutputFrameRate;
298 int encodedFrameWidth;
301 int encodedFrameHeight;
304 int rendererOutputFrameRate;
307 int targetBitrate;
310 int targetFrameRate;
314 QUALITY_ADAPT_INDICATION qualityAdaptIndication;
318 int encodedBitrate;
321 int encodedFrameCount;
324 VIDEO_CODEC_TYPE codecType;
328 unsigned short txPacketLossRate;
331 CAPTURE_BRIGHTNESS_LEVEL_TYPE captureBrightnessLevel;
335 bool dualStreamEnabled;
340 int hwEncoderAccelerating;
341 };
342
346 struct RemoteAudioStats
347 {
351 uid_t uid;
355 int quality;
359 int networkTransportDelay;
365 int jitterBufferDelay;
369 int audioLossRate;
373 int numChannels;
377 int receivedSampleRate;
382 int receivedBitrate;
389 int totalFrozenTime;
394 int frozenRate;
411 int mosValue;
416 uint32_t frozenRateByCustomPlcCount;
420 uint32_t plcCount;
421
426 int totalActiveTime;
430 int publishDuration;
434 int qoeQuality;
438 int qualityChangedReason;
442 unsigned int rxAudioBytes;
443
444 RemoteAudioStats() :
445 uid(0),
446 quality(0),
447 networkTransportDelay(0),
448 jitterBufferDelay(0),
449 audioLossRate(0),
450 numChannels(0),
451 receivedSampleRate(0),
452 receivedBitrate(0),
453 totalFrozenTime(0),
454 frozenRate(0),
455 mosValue(0),
456 frozenRateByCustomPlcCount(0),
457 plcCount(0),
458 totalActiveTime(0),
459 publishDuration(0),
460 qoeQuality(0),
461 qualityChangedReason(0),
462 rxAudioBytes(0) {}
463 };
464
468 struct RemoteVideoStats {
472 uid_t uid;
480 int delay __deprecated;
484 int e2eDelay;
488 int width;
492 int height;
496 int receivedBitrate;
499 int decoderOutputFrameRate;
502 int rendererOutputFrameRate;
505 int frameLossRate;
508 int packetLossRate;
512 VIDEO_STREAM_TYPE rxStreamType;
518 int totalFrozenTime;
522 int frozenRate;
527 int avSyncTimeMs;
532 int totalActiveTime;
536 int publishDuration;
544 int mosValue;
548 unsigned int rxVideoBytes;
549 };
550
551 struct VideoCompositingLayout {
552 struct Region {
555 uid_t uid;
558 double x; // [0,1]
561 double y; // [0,1]
565 double width; // [0,1]
567 double height; // [0,1]
571 int zOrder; // optional, [0, 100] //0 (default): bottom most, 100: top most
572
576 double alpha;
577
578 media::base::RENDER_MODE_TYPE
579 renderMode; // RENDER_MODE_HIDDEN: Crop, RENDER_MODE_FIT: Zoom to fit
580
581 Region()
582 : uid(0),
583 x(0),
584 y(0),
585 width(0),
586 height(0),
587 zOrder(0),
588 alpha(1.0),
589 renderMode(media::base::RENDER_MODE_HIDDEN) {}
590 };
591
596 int canvasWidth;
601 int canvasHeight;
604 const char* backgroundColor; // e.g. "#C0C0C0" in RGB
608 const Region* regions;
611 int regionCount;
614 const char* appData;
617 int appDataLength;
618
619 VideoCompositingLayout()
620 : canvasWidth(0),
621 canvasHeight(0),
622 backgroundColor(NULL),
623 regions(NULL),
624 regionCount(0),
625 appData(NULL),
626 appDataLength(0) {}
627 };
628
631 struct InjectStreamConfig {
635 int width;
639 int height;
643 int videoGop;
647 int videoFramerate;
651 int videoBitrate;
655 AUDIO_SAMPLE_RATE_TYPE audioSampleRate;
659 int audioBitrate;
662 int audioChannels;
663
664 // width / height default set to 0 means pull the stream with its original
665 // resolution
666 InjectStreamConfig()
667 : width(0),
668 height(0),
669 videoGop(30),
670 videoFramerate(15),
671 videoBitrate(400),
672 audioSampleRate(AUDIO_SAMPLE_RATE_48000),
673 audioBitrate(48),
674 audioChannels(1) {}
675 };
676
679 enum RTMP_STREAM_LIFE_CYCLE_TYPE {
682 RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL = 1,
685 RTMP_STREAM_LIFE_CYCLE_BIND2OWNER = 2,
686 };
687
690 struct PublisherConfiguration {
694 int width;
698 int height;
702 int framerate;
706 int bitrate;
712 int defaultLayout;
715 int lifecycle;
720 bool owner;
723 int injectStreamWidth;
726 int injectStreamHeight;
729 const char* injectStreamUrl;
733 const char* publishUrl;
737 const char* rawStreamUrl;
740 const char* extraInfo;
741
742 PublisherConfiguration()
743 : width(640),
744 height(360),
745 framerate(15),
746 bitrate(500),
747 defaultLayout(1),
748 lifecycle(RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL),
749 owner(true),
750 injectStreamWidth(0),
751 injectStreamHeight(0),
752 injectStreamUrl(NULL),
753 publishUrl(NULL),
754 rawStreamUrl(NULL),
755 extraInfo(NULL) {}
756 };
757
761 enum CAMERA_DIRECTION {
763 CAMERA_REAR = 0,
765 CAMERA_FRONT = 1,
766 };
767
772 enum CLOUD_PROXY_TYPE {
775 NONE_PROXY = 0,
778 UDP_PROXY = 1,
780
782 TCP_PROXY = 2,
784 };
785
787 struct CameraCapturerConfiguration {
789 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
790
793 CAMERA_DIRECTION cameraDirection;
794 #else
795
796 char deviceId[MAX_DEVICE_ID_LENGTH];
797 #endif
798
799 #if defined(__ANDROID__)
800
803 char cameraId[MAX_DEVICE_ID_LENGTH];
804 #endif
805
806 VideoFormat format;
807 bool followEncodeDimensionRatio;
808 CameraCapturerConfiguration() : followEncodeDimensionRatio(true) {
809 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
810 cameraDirection = CAMERA_REAR;
811
812 #else
813 memset(deviceId, 0, sizeof(deviceId));
814 #endif
815
816 #if defined(__ANDROID__)
817 memset(cameraId, 0, sizeof(cameraId));
818 #endif
819 }
820 };
824 struct ScreenCaptureConfiguration {
830 bool isCaptureWindow; // true - capture window, false - capture display
834 uint32_t displayId;
839 Rectangle screenRect; //Windows only
844 view_t windowId;
848 ScreenCaptureParameters params;
856 Rectangle regionRect;
857
858 ScreenCaptureConfiguration() : isCaptureWindow(false), displayId(0), windowId(0) {}
859 };
860
861 #if (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
862
864 struct SIZE {
867 int width;
870 int height;
871
872 SIZE() : width(0), height(0) {}
873 SIZE(int ww, int hh) : width(ww), height(hh) {}
874 };
875 #endif
876
877 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
878
883 struct ThumbImageBuffer {
887 const char* buffer;
891 unsigned int length;
895 unsigned int width;
899 unsigned int height;
900 ThumbImageBuffer() : buffer(nullptr), length(0), width(0), height(0) {}
901 };
905 enum ScreenCaptureSourceType {
907 ScreenCaptureSourceType_Unknown = -1,
909 ScreenCaptureSourceType_Window = 0,
911 ScreenCaptureSourceType_Screen = 1,
913 ScreenCaptureSourceType_Custom = 2,
914 };
916 struct ScreenCaptureSourceInfo {
920 ScreenCaptureSourceType type;
924 view_t sourceId;
928 const char* sourceName;
932 ThumbImageBuffer thumbImage;
936 ThumbImageBuffer iconImage;
940 const char* processPath;
944 const char* sourceTitle;
950 bool primaryMonitor;
951 bool isOccluded;
955 Rectangle position;
956 #if defined(_WIN32)
957
960 bool minimizeWindow;
967 view_t sourceDisplayId;
968 ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(nullptr), sourceName(nullptr),
969 processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false), minimizeWindow(false), sourceDisplayId((view_t)-2) {}
970 #else
971 ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(nullptr), sourceName(nullptr), processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false) {}
972 #endif
973 };
977 class IScreenCaptureSourceList {
978 protected:
979 virtual ~IScreenCaptureSourceList(){};
980
981 public:
987 virtual unsigned int getCount() = 0;
997 virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index) = 0;
1004 virtual void release() = 0;
1005 };
1006 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
1007
1010 struct AdvancedAudioOptions {
1014 Optional<int> audioProcessingChannels;
1015
1016 AdvancedAudioOptions() {}
1017 ~AdvancedAudioOptions() {}
1018 };
1019
1020 struct ImageTrackOptions {
1021 const char* imageUrl;
1022 int fps;
1023 VIDEO_MIRROR_MODE_TYPE mirrorMode;
1024 ImageTrackOptions() : imageUrl(NULL), fps(1), mirrorMode(VIDEO_MIRROR_MODE_DISABLED) {}
1025 };
1026
1035 struct ChannelMediaOptions {
1041 Optional<bool> publishCameraTrack;
1047 Optional<bool> publishSecondaryCameraTrack;
1053 Optional<bool> publishThirdCameraTrack;
1059 Optional<bool> publishFourthCameraTrack;
1065 Optional<bool> publishMicrophoneTrack;
1066
1067 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1068
1073 Optional<bool> publishScreenCaptureVideo;
1079 Optional<bool> publishScreenCaptureAudio;
1080 #else
1081
1086 Optional<bool> publishScreenTrack;
1092 Optional<bool> publishSecondaryScreenTrack;
1098 Optional<bool> publishThirdScreenTrack;
1104 Optional<bool> publishFourthScreenTrack;
1105 #endif
1106
1112 Optional<bool> publishCustomAudioTrack;
1116 Optional<int> publishCustomAudioTrackId;
1122 Optional<bool> publishLoopbackAudioTrack;
1126 Optional<int> publishLoopbackAudioTrackId;
1132 Optional<bool> publishCustomVideoTrack;
1138 Optional<bool> publishEncodedVideoTrack;
1144 Optional<bool> publishMediaPlayerAudioTrack;
1150 Optional<bool> publishMediaPlayerVideoTrack;
1156 Optional<bool> publishTranscodedVideoTrack;
1162 Optional<bool> publishMixedAudioTrack;
1172 Optional<int> mixPolicyForMixedTrack;
1178 Optional<bool> publishLipSyncTrack;
1184 Optional<bool> autoSubscribeAudio;
1190 Optional<bool> autoSubscribeVideo;
1196 Optional<bool> enableAudioRecordingOrPlayout;
1200 Optional<int> publishMediaPlayerId;
1205 Optional<CLIENT_ROLE_TYPE> clientRoleType;
1209 Optional<AUDIENCE_LATENCY_LEVEL_TYPE> audienceLatencyLevel;
1214 Optional<VIDEO_STREAM_TYPE> defaultVideoStreamType;
1219 Optional<CHANNEL_PROFILE_TYPE> channelProfile;
1224 Optional<int> audioDelayMs;
1229 Optional<int> mediaPlayerAudioDelayMs;
1238 Optional<const char*> token;
1246 Optional<bool> enableBuiltInMediaEncryption;
1252 Optional<bool> publishRhythmPlayerTrack;
1260 Optional<bool> isInteractiveAudience;
1265 Optional<video_track_id_t> customVideoTrackId;
1271 Optional<bool> isAudioFilterable;
1272
1276 Optional<const char*> parameters;
1277
1278 ChannelMediaOptions() {}
1279 ~ChannelMediaOptions() {}
1280
1281 void SetAll(const ChannelMediaOptions& change) {
1282 #define SET_FROM(X) SetFrom(&X, change.X)
1283
1284 SET_FROM(publishCameraTrack);
1285 SET_FROM(publishSecondaryCameraTrack);
1286 SET_FROM(publishThirdCameraTrack);
1287 SET_FROM(publishFourthCameraTrack);
1288 SET_FROM(publishMicrophoneTrack);
1289 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1290 SET_FROM(publishScreenCaptureVideo);
1291 SET_FROM(publishScreenCaptureAudio);
1292 #else
1293 SET_FROM(publishScreenTrack);
1294 SET_FROM(publishSecondaryScreenTrack);
1295 SET_FROM(publishThirdScreenTrack);
1296 SET_FROM(publishFourthScreenTrack);
1297 #endif
1298 SET_FROM(publishTranscodedVideoTrack);
1299 SET_FROM(publishMixedAudioTrack);
1300 SET_FROM(mixPolicyForMixedTrack);
1301 SET_FROM(publishLipSyncTrack);
1302 SET_FROM(publishCustomAudioTrack);
1303 SET_FROM(publishCustomAudioTrackId);
1304 SET_FROM(publishCustomVideoTrack);
1305 SET_FROM(publishEncodedVideoTrack);
1306 SET_FROM(publishMediaPlayerAudioTrack);
1307 SET_FROM(publishMediaPlayerVideoTrack);
1308 SET_FROM(autoSubscribeAudio);
1309 SET_FROM(autoSubscribeVideo);
1310 SET_FROM(publishMediaPlayerId);
1311 SET_FROM(enableAudioRecordingOrPlayout);
1312 SET_FROM(clientRoleType);
1313 SET_FROM(audienceLatencyLevel);
1314 SET_FROM(defaultVideoStreamType);
1315 SET_FROM(channelProfile);
1316 SET_FROM(audioDelayMs);
1317 SET_FROM(mediaPlayerAudioDelayMs);
1318 SET_FROM(token);
1319 SET_FROM(enableBuiltInMediaEncryption);
1320 SET_FROM(publishRhythmPlayerTrack);
1321 SET_FROM(customVideoTrackId);
1322 SET_FROM(isAudioFilterable);
1323 SET_FROM(isInteractiveAudience);
1324 SET_FROM(parameters);
1325 #undef SET_FROM
1326 }
1327
1328 bool operator==(const ChannelMediaOptions& o) const {
1329 #define BEGIN_COMPARE() bool b = true
1330 #define ADD_COMPARE(X) b = (b && (X == o.X))
1331 #define END_COMPARE()
1332
1333 BEGIN_COMPARE();
1334 ADD_COMPARE(publishCameraTrack);
1335 ADD_COMPARE(publishSecondaryCameraTrack);
1336 ADD_COMPARE(publishThirdCameraTrack);
1337 ADD_COMPARE(publishFourthCameraTrack);
1338 ADD_COMPARE(publishMicrophoneTrack);
1339 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1340 ADD_COMPARE(publishScreenCaptureVideo);
1341 ADD_COMPARE(publishScreenCaptureAudio);
1342 #else
1343 ADD_COMPARE(publishScreenTrack);
1344 ADD_COMPARE(publishSecondaryScreenTrack);
1345 ADD_COMPARE(publishThirdScreenTrack);
1346 ADD_COMPARE(publishFourthScreenTrack);
1347 #endif
1348 ADD_COMPARE(publishTranscodedVideoTrack);
1349 ADD_COMPARE(publishMixedAudioTrack);
1350 ADD_COMPARE(mixPolicyForMixedTrack);
1351 ADD_COMPARE(publishLipSyncTrack);
1352 ADD_COMPARE(publishCustomAudioTrack);
1353 ADD_COMPARE(publishCustomAudioTrackId);
1354 ADD_COMPARE(publishCustomVideoTrack);
1355 ADD_COMPARE(publishEncodedVideoTrack);
1356 ADD_COMPARE(publishMediaPlayerAudioTrack);
1357 ADD_COMPARE(publishMediaPlayerVideoTrack);
1358 ADD_COMPARE(autoSubscribeAudio);
1359 ADD_COMPARE(autoSubscribeVideo);
1360 ADD_COMPARE(publishMediaPlayerId);
1361 ADD_COMPARE(enableAudioRecordingOrPlayout);
1362 ADD_COMPARE(clientRoleType);
1363 ADD_COMPARE(audienceLatencyLevel);
1364 ADD_COMPARE(defaultVideoStreamType);
1365 ADD_COMPARE(channelProfile);
1366 ADD_COMPARE(audioDelayMs);
1367 ADD_COMPARE(mediaPlayerAudioDelayMs);
1368 ADD_COMPARE(token);
1369 ADD_COMPARE(enableBuiltInMediaEncryption);
1370 ADD_COMPARE(publishRhythmPlayerTrack);
1371 ADD_COMPARE(customVideoTrackId);
1372 ADD_COMPARE(isAudioFilterable);
1373 ADD_COMPARE(isInteractiveAudience);
1374 ADD_COMPARE(parameters);
1375 END_COMPARE();
1376
1377 #undef BEGIN_COMPARE
1378 #undef ADD_COMPARE
1379 #undef END_COMPARE
1380 return b;
1381 }
1382
1383 ChannelMediaOptions& operator=(const ChannelMediaOptions& replace) {
1384 if (this != &replace) {
1385 #define REPLACE_BY(X) ReplaceBy(&X, replace.X)
1386
1387 REPLACE_BY(publishCameraTrack);
1388 REPLACE_BY(publishSecondaryCameraTrack);
1389 REPLACE_BY(publishThirdCameraTrack);
1390 REPLACE_BY(publishFourthCameraTrack);
1391 REPLACE_BY(publishMicrophoneTrack);
1392 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1393 REPLACE_BY(publishScreenCaptureVideo);
1394 REPLACE_BY(publishScreenCaptureAudio);
1395 #else
1396 REPLACE_BY(publishScreenTrack);
1397 REPLACE_BY(publishSecondaryScreenTrack);
1398 REPLACE_BY(publishThirdScreenTrack);
1399 REPLACE_BY(publishFourthScreenTrack);
1400 #endif
1401 REPLACE_BY(publishTranscodedVideoTrack);
1402 REPLACE_BY(publishMixedAudioTrack);
1403 REPLACE_BY(mixPolicyForMixedTrack);
1404 REPLACE_BY(publishLipSyncTrack);
1405 REPLACE_BY(publishCustomAudioTrack);
1406 REPLACE_BY(publishCustomAudioTrackId);
1407 REPLACE_BY(publishCustomVideoTrack);
1408 REPLACE_BY(publishEncodedVideoTrack);
1409 REPLACE_BY(publishMediaPlayerAudioTrack);
1410 REPLACE_BY(publishMediaPlayerVideoTrack);
1411 REPLACE_BY(autoSubscribeAudio);
1412 REPLACE_BY(autoSubscribeVideo);
1413 REPLACE_BY(publishMediaPlayerId);
1414 REPLACE_BY(enableAudioRecordingOrPlayout);
1415 REPLACE_BY(clientRoleType);
1416 REPLACE_BY(audienceLatencyLevel);
1417 REPLACE_BY(defaultVideoStreamType);
1418 REPLACE_BY(channelProfile);
1419 REPLACE_BY(audioDelayMs);
1420 REPLACE_BY(mediaPlayerAudioDelayMs);
1421 REPLACE_BY(token);
1422 REPLACE_BY(enableBuiltInMediaEncryption);
1423 REPLACE_BY(publishRhythmPlayerTrack);
1424 REPLACE_BY(customVideoTrackId);
1425 REPLACE_BY(isAudioFilterable);
1426 REPLACE_BY(isInteractiveAudience);
1427 REPLACE_BY(parameters);
1428 #undef REPLACE_BY
1429 }
1430 return *this;
1431 }
1432 };
1433
1434 enum PROXY_TYPE {
1437 NONE_PROXY_TYPE = 0,
1440 UDP_PROXY_TYPE = 1,
1443 TCP_PROXY_TYPE = 2,
1446 LOCAL_PROXY_TYPE = 3,
1449 TCP_PROXY_AUTO_FALLBACK_TYPE = 4,
1452 HTTP_PROXY_TYPE = 5,
1455 HTTPS_PROXY_TYPE = 6,
1456 };
1457
1458 enum FeatureType {
1459 VIDEO_VIRTUAL_BACKGROUND = 1,
1460 VIDEO_BEAUTY_EFFECT = 2,
1461 };
1462
1466 struct LeaveChannelOptions {
1472 bool stopAudioMixing;
1478 bool stopAllEffect;
1484 bool stopMicrophoneRecording;
1485
1486 LeaveChannelOptions() : stopAudioMixing(true), stopAllEffect(true), stopMicrophoneRecording(true) {}
1487 };
1488
1499 class IRtcEngineEventHandler {
1500 public:
1501 virtual ~IRtcEngineEventHandler() {}
1502
1503 virtual const char* eventHandlerType() const { return "event_handler"; }
1504
1514 virtual void onJoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1515 (void)channel;
1516 (void)uid;
1517 (void)elapsed;
1518 }
1519
1530 virtual void onRejoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1531 (void)channel;
1532 (void)uid;
1533 (void)elapsed;
1534 }
1535
1543 virtual void onProxyConnected(const char* channel, uid_t uid, PROXY_TYPE proxyType, const char* localProxyIp, int elapsed) {
1544 (void)channel;
1545 (void)uid;
1546 (void)proxyType;
1547 (void)localProxyIp;
1548 (void)elapsed;
1549 }
1550
1556 virtual void onError(int err, const char* msg) {
1557 (void)err;
1558 (void)msg;
1559 }
1560
1576 virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay,
1577 unsigned short lost) __deprecated {
1578 (void)uid;
1579 (void)quality;
1580 (void)delay;
1581 (void)lost;
1582 }
1583
1589 virtual void onLastmileProbeResult(const LastmileProbeResult& result) {
1590 (void)result;
1591 }
1592
1619 virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, unsigned int speakerNumber,
1620 int totalVolume) {
1621 (void)speakers;
1622 (void)speakerNumber;
1623 (void)totalVolume;
1624 }
1625
1634 virtual void onLeaveChannel(const RtcStats& stats) { (void)stats; }
1635
1643 virtual void onRtcStats(const RtcStats& stats) { (void)stats; }
1644
1658 virtual void onAudioDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1659 (void)deviceId;
1660 (void)deviceType;
1661 (void)deviceState;
1662 }
1663
1670 virtual void onAudioMixingPositionChanged(int64_t position) {}
1671
1678 virtual void onAudioMixingFinished() __deprecated {}
1686 virtual void onAudioEffectFinished(int soundId) {}
1687
1697 virtual void onVideoDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1698 (void)deviceId;
1699 (void)deviceType;
1700 (void)deviceState;
1701 }
1702
1725 virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) {
1726 (void)uid;
1727 (void)txQuality;
1728 (void)rxQuality;
1729 }
1730
1737 virtual void onIntraRequestReceived() {}
1738
1749 virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo& info) {
1750 (void)info;
1751 }
1752
1760 virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo& info) {
1761 (void)info;
1762 }
1763
1776 virtual void onLastmileQuality(int quality) { (void)quality; }
1777
1788 virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed) {
1789 (void)source;
1790 (void)width;
1791 (void)height;
1792 (void)elapsed;
1793 }
1794
1805 virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed) {
1806 (void)source;
1807 (void)elapsed;
1808 }
1809
1826 virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) __deprecated {
1827 (void)uid;
1828 (void)width;
1829 (void)height;
1830 (void)elapsed;
1831 }
1832
1841 virtual void onVideoSizeChanged(VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation) {
1842 (void)uid;
1843 (void)width;
1844 (void)height;
1845 (void)rotation;
1846 }
1847
1874 virtual void onLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_ERROR error) {
1875 (void)source;
1876 (void)state;
1877 (void)error;
1878 }
1879
1891 virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) {
1892 (void)uid;
1893 (void)state;
1894 (void)reason;
1895 (void)elapsed;
1896 }
1897
1905 virtual void onFirstRemoteVideoFrame(uid_t userId, int width, int height, int elapsed) {
1906 (void)userId;
1907 (void)width;
1908 (void)height;
1909 (void)elapsed;
1910 }
1911
1931 virtual void onUserJoined(uid_t uid, int elapsed) {
1932 (void)uid;
1933 (void)elapsed;
1934 }
1935
1950 virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) {
1951 (void)uid;
1952 (void)reason;
1953 }
1954
1967 virtual void onUserMuteAudio(uid_t uid, bool muted) {
1968 (void)uid;
1969 (void)muted;
1970 }
1971
1986 virtual void onUserMuteVideo(uid_t userId, bool muted) {
1987 (void)userId;
1988 (void)muted;
1989 }
1990
2003 virtual void onUserEnableVideo(uid_t uid, bool enabled) {
2004 (void)uid;
2005 (void)enabled;
2006 }
2007
2013 virtual void onUserStateChanged(uid_t uid, uint32_t state) {
2014 (void)uid;
2015 (void)state;
2016 }
2017
2028 virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) __deprecated {
2029 (void)uid;
2030 (void)enabled;
2031 }
2032
2040 virtual void onLocalAudioStats(const LocalAudioStats& stats) {
2041 (void)stats;
2042 }
2043
2051 virtual void onRemoteAudioStats(const RemoteAudioStats& stats) {
2052 (void)stats;
2053 }
2054
2068 virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats& stats) {
2069 (void)source;
2070 (void)stats;
2071 }
2072
2081 virtual void onRemoteVideoStats(const RemoteVideoStats& stats) {
2082 (void)stats;
2083 }
2089 virtual void onCameraReady() __deprecated {}
2100 virtual void onCameraFocusAreaChanged(int x, int y, int width, int height) {
2101 (void)x;
2102 (void)y;
2103 (void)width;
2104 (void)height;
2105 }
2114 virtual void onCameraExposureAreaChanged(int x, int y, int width, int height) {
2115 (void)x;
2116 (void)y;
2117 (void)width;
2118 (void)height;
2119 }
2120 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
2121
2151 virtual void onFacePositionChanged(int imageWidth, int imageHeight,
2152 const Rectangle* vecRectangle, const int* vecDistance,
2153 int numFaces) {
2154 (void) imageWidth;
2155 (void) imageHeight;
2156 (void) vecRectangle;
2157 (void) vecDistance;
2158 (void) numFaces;
2159 }
2160 #endif
2161
2168 virtual void onVideoStopped() __deprecated {}
2169
2177 virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) {
2178 (void)state;
2179 (void)reason;
2180 }
2181
2190 virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_ERROR_TYPE errorCode) {
2191 (void)state;
2192 (void)errorCode;
2193 }
2194
2203 virtual void onConnectionLost() {}
2204
2216 virtual void onConnectionInterrupted() __deprecated {}
2217
2221 virtual void onConnectionBanned() __deprecated {}
2222
2234 virtual void onStreamMessage(uid_t userId, int streamId, const char* data, size_t length, uint64_t sentTs) {
2235 (void)userId;
2236 (void)streamId;
2237 (void)data;
2238 (void)length;
2239 (void)sentTs;
2240 }
2241
2254 virtual void onStreamMessageError(uid_t userId, int streamId, int code, int missed, int cached) {
2255 (void)userId;
2256 (void)streamId;
2257 (void)code;
2258 (void)missed;
2259 (void)cached;
2260 }
2261
2271 virtual void onRequestToken() {}
2272
2284 virtual void onTokenPrivilegeWillExpire(const char* token) {
2285 (void)token;
2286 }
2287
2293 virtual void onLicenseValidationFailure(LICENSE_ERROR_TYPE error) {
2294 (void)error;
2295 }
2296
2307 virtual void onFirstLocalAudioFramePublished(int elapsed) {
2308 (void)elapsed;
2309 }
2310
2318 virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) __deprecated {
2319 (void)uid;
2320 (void)elapsed;
2321 }
2322
2339 virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) __deprecated {
2340 (void)uid;
2341 (void)elapsed;
2342 }
2343
2358 virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error) {
2359 (void)state;
2360 (void)error;
2361 }
2362
2379 virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) {
2380 (void)uid;
2381 (void)state;
2382 (void)reason;
2383 (void)elapsed;
2384 }
2385
2399 virtual void onActiveSpeaker(uid_t userId) { (void)userId; }
2404 virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result) { (void)result; }
2422 virtual void onSnapshotTaken(uid_t uid, const char* filePath, int width, int height, int errCode) {
2423 (void)uid;
2424 (void)filePath;
2425 (void)width;
2426 (void)height;
2427 (void)errCode;
2428 }
2436 virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions& newRoleOptions) {
2437 (void)oldRole;
2438 (void)newRole;
2439 (void)newRoleOptions;
2440 }
2448 virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole) {
2449 (void)reason;
2450 (void)currentRole;
2451 }
2459 virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) {
2460 (void)deviceType;
2461 (void)volume;
2462 (void)muted;
2463 }
2464
2476 virtual void onRtmpStreamingStateChanged(const char* url, RTMP_STREAM_PUBLISH_STATE state,
2477 RTMP_STREAM_PUBLISH_ERROR_TYPE errCode) {
2478 (void)url;
2479 (void)state;
2480 (void)errCode;
2481 }
2482
2488 virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode) {
2489 (void)url;
2490 (void)eventCode;
2491 }
2492
2503 virtual void onTranscodingUpdated() {}
2504
2520 virtual void onAudioRoutingChanged(int routing) __deprecated { (void)routing; }
2521
2530 virtual void onAudioRoutingChanged(int deviceType, int routing) {
2531 (void)deviceType;
2532 (void)routing;
2533 }
2565 virtual void onChannelMediaRelayStateChanged(int state, int code) {
2566 (void)state;
2567 (void)code;
2568 }
2569
2593 virtual void onChannelMediaRelayEvent(int code) __deprecated {
2594 (void)code;
2595 }
2609 virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) {
2610 (void)isFallbackOrRecover;
2611 }
2629 virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover) {
2630 (void)uid;
2631 (void)isFallbackOrRecover;
2632 }
2633
2648 virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost,
2649 unsigned short rxKBitRate) __deprecated {
2650 (void)uid;
2651 (void)delay;
2652 (void)lost;
2653 (void)rxKBitRate;
2654 }
2655
2673 virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost,
2674 unsigned short rxKBitRate) __deprecated {
2675 (void)uid;
2676 (void)delay;
2677 (void)lost;
2678 (void)rxKBitRate;
2679 }
2680
2689 virtual void onConnectionStateChanged(
2690 CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) {
2691 (void)state;
2692 (void)reason;
2693 }
2694
2701 virtual void onWlAccMessage(WLACC_MESSAGE_REASON reason, WLACC_SUGGEST_ACTION action, const char* wlAccMsg) {
2702 (void)reason;
2703 (void)action;
2704 (void)wlAccMsg;
2705 }
2706
2712 virtual void onWlAccStats(WlAccStats currentStats, WlAccStats averageStats) {
2713 (void)currentStats;
2714 (void)averageStats;
2715 }
2716
2726 virtual void onNetworkTypeChanged(NETWORK_TYPE type) {
2727 (void)type;
2728 }
2729
2737 virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) {
2738 (void)errorType;
2739 }
2740
2750 virtual void onPermissionError(PERMISSION_TYPE permissionType) {
2751 (void)permissionType;
2752 }
2753
2754 #if defined(__ANDROID__)
2755
2759 virtual void onPermissionGranted(agora::rtc::PERMISSION_TYPE permissionType) {}
2760 #endif
2761
2771 virtual void onLocalUserRegistered(uid_t uid, const char* userAccount) {
2772 (void)uid;
2773 (void)userAccount;
2774 }
2775
2784 virtual void onUserInfoUpdated(uid_t uid, const UserInfo& info) {
2785 (void)uid;
2786 (void)info;
2787 }
2794 virtual void onUploadLogResult(const char* requestId, bool success, UPLOAD_ERROR_REASON reason) {
2795 (void)requestId;
2796 (void)success;
2797 (void)reason;
2798 }
2799
2809 virtual void onAudioSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
2810 (void)channel;
2811 (void)uid;
2812 (void)oldState;
2813 (void)newState;
2814 (void)elapseSinceLastState;
2815 }
2816
2826 virtual void onVideoSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
2827 (void)channel;
2828 (void)uid;
2829 (void)oldState;
2830 (void)newState;
2831 (void)elapseSinceLastState;
2832 }
2833
2842 virtual void onAudioPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
2843 (void)channel;
2844 (void)oldState;
2845 (void)newState;
2846 (void)elapseSinceLastState;
2847 }
2848
2858 virtual void onVideoPublishStateChanged(VIDEO_SOURCE_TYPE source, const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
2859 (void)source;
2860 (void)channel;
2861 (void)oldState;
2862 (void)newState;
2863 (void)elapseSinceLastState;
2864 }
2875 virtual void onExtensionEvent(const char* provider, const char* extension, const char* key, const char* value) {
2876 (void)provider;
2877 (void)extension;
2878 (void)key;
2879 (void)value;
2880 }
2889 virtual void onExtensionStarted(const char* provider, const char* extension) {
2890 (void)provider;
2891 (void)extension;
2892 }
2901 virtual void onExtensionStopped(const char* provider, const char* extension) {
2902 (void)provider;
2903 (void)extension;
2904 }
2916 virtual void onExtensionError(const char* provider, const char* extension, int error, const char* message) {
2917 (void)provider;
2918 (void)extension;
2919 (void)error;
2920 (void)message;
2921 }
2928 virtual void onUserAccountUpdated(uid_t uid, const char* userAccount){
2929 (void)uid;
2930 (void)userAccount;
2931 }
2932
2939 virtual void onLocalVideoTranscoderError(const TranscodingVideoStream& stream, VIDEO_TRANSCODER_ERROR error){
2940 (void)stream;
2941 (void)error;
2942 }
2943
2951 virtual void onVideoRenderingTracingResult(uid_t uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo) {
2952 (void)uid;
2953 (void)currentEvent;
2954 (void)tracingInfo;
2955 }
2956 };
2957
2961 class IVideoDeviceCollection {
2962 public:
2963 virtual ~IVideoDeviceCollection() {}
2964
2970 virtual int getCount() = 0;
2971
2981 virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2982
2993 virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH],
2994 char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2995
2999 virtual void release() = 0;
3000 };
3001
3005 class IVideoDeviceManager {
3006 public:
3007 virtual ~IVideoDeviceManager() {}
3019 virtual IVideoDeviceCollection* enumerateVideoDevices() = 0;
3020
3031 virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3032
3041 virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3042
3043 #if defined(_WIN32) || (defined(__linux__) && !defined(__ANDROID__)) || \
3044 (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
3045
3062 virtual int numberOfCapabilities(const char* deviceIdUTF8) = 0;
3063
3081 virtual int getCapability(const char* deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat& capability) = 0;
3082 #endif
3083
3096 virtual int startDeviceTest(view_t hwnd) = 0;
3097
3104 virtual int stopDeviceTest() = 0;
3105
3109 virtual void release() = 0;
3110 };
3111
3112
3113 class IRtcEngineEventHandlerEx;
3117 struct RtcEngineContext {
3121 IRtcEngineEventHandler* eventHandler;
3128 const char* appId;
3134 void* context;
3138 CHANNEL_PROFILE_TYPE channelProfile;
3139
3143 const char* license;
3144
3152 AUDIO_SCENARIO_TYPE audioScenario;
3161 unsigned int areaCode;
3162
3178 commons::LogConfig logConfig;
3179
3183 Optional<THREAD_PRIORITY_TYPE> threadPriority;
3184
3192 bool useExternalEglContext;
3193
3199 bool domainLimit;
3200
3206 bool autoRegisterAgoraExtensions;
3207
3208 RtcEngineContext()
3209 : eventHandler(NULL), appId(NULL), context(NULL),
3210 channelProfile(CHANNEL_PROFILE_LIVE_BROADCASTING),
3211 license(NULL),
3212 audioScenario(AUDIO_SCENARIO_DEFAULT),
3213 areaCode(AREA_CODE_GLOB),
3214 logConfig(), useExternalEglContext(false), domainLimit(false), autoRegisterAgoraExtensions(true) {}
3215 };
3216
3219 class IMetadataObserver {
3220 public:
3225 enum METADATA_TYPE
3226 {
3229 UNKNOWN_METADATA = -1,
3232 VIDEO_METADATA = 0,
3233 };
3237 enum MAX_METADATA_SIZE_TYPE
3238 {
3239 INVALID_METADATA_SIZE_IN_BYTE = -1,
3240 DEFAULT_METADATA_SIZE_IN_BYTE = 512,
3241 MAX_METADATA_SIZE_IN_BYTE = 1024
3242 };
3243
3246 struct Metadata
3247 {
3252 unsigned int uid;
3255 unsigned int size;
3258 unsigned char *buffer;
3262 long long timeStampMs;
3263 };
3264
3265 virtual ~IMetadataObserver() {}
3266
3277 virtual int getMaxMetadataSize() { return DEFAULT_METADATA_SIZE_IN_BYTE; }
3278
3289 virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type) = 0;
3290
3298 virtual void onMetadataReceived(const Metadata &metadata) = 0;
3299 };
3300
3301 // The error codes for media streaming
3302 // GENERATED_JAVA_ENUM_PACKAGE: io.agora.streaming
3303 enum DIRECT_CDN_STREAMING_ERROR {
3304 // No error occurs.
3305 DIRECT_CDN_STREAMING_ERROR_OK = 0,
3306 // A general error occurs (no specified reason).
3307 DIRECT_CDN_STREAMING_ERROR_FAILED = 1,
3308 // Audio publication error.
3309 DIRECT_CDN_STREAMING_ERROR_AUDIO_PUBLICATION = 2,
3310 // Video publication error.
3311 DIRECT_CDN_STREAMING_ERROR_VIDEO_PUBLICATION = 3,
3312
3313 DIRECT_CDN_STREAMING_ERROR_NET_CONNECT = 4,
3314 // Already exist stream name.
3315 DIRECT_CDN_STREAMING_ERROR_BAD_NAME = 5,
3316 };
3317
3318 // The connection state of media streaming
3319 // GENERATED_JAVA_ENUM_PACKAGE: io.agora.streaming
3320 enum DIRECT_CDN_STREAMING_STATE {
3321
3322 DIRECT_CDN_STREAMING_STATE_IDLE = 0,
3323
3324 DIRECT_CDN_STREAMING_STATE_RUNNING = 1,
3325
3326 DIRECT_CDN_STREAMING_STATE_STOPPED = 2,
3327
3328 DIRECT_CDN_STREAMING_STATE_FAILED = 3,
3329
3330 DIRECT_CDN_STREAMING_STATE_RECOVERING = 4,
3331 };
3332
3336 struct DirectCdnStreamingStats {
3340 int videoWidth;
3341
3345 int videoHeight;
3346
3350 int fps;
3351
3355 int videoBitrate;
3356
3360 int audioBitrate;
3361 };
3362
3367 class IDirectCdnStreamingEventHandler {
3368 public:
3369 virtual ~IDirectCdnStreamingEventHandler() {}
3370
3377 virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_ERROR error, const char* message) {
3378 (void)state;
3379 (void)error;
3380 (void)message;
3381 };
3382
3383 virtual void onDirectCdnStreamingStats(const DirectCdnStreamingStats& stats) {
3384 (void)stats;
3385 };
3386 };
3387
3391 struct DirectCdnStreamingMediaOptions {
3397 Optional<bool> publishCameraTrack;
3403 Optional<bool> publishMicrophoneTrack;
3409 Optional<bool> publishCustomAudioTrack;
3415 Optional<bool> publishCustomVideoTrack;
3421 Optional<bool> publishMediaPlayerAudioTrack;
3426 Optional<int> publishMediaPlayerId;
3431 Optional<video_track_id_t> customVideoTrackId;
3432
3433 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
3434
3440 Optional<bool> publishScreenTrack;
3447 Optional<bool> publishSecondaryScreenTrack;
3454 Optional<bool> publishThirdScreenTrack;
3461 Optional<bool> publishFourthScreenTrack;
3462
3469 Optional<bool> publishLoopbackAudioTrack;
3470
3477 Optional<const char*> publishLoopbackDeviceName;
3478 #endif
3479
3480 DirectCdnStreamingMediaOptions() {}
3481 ~DirectCdnStreamingMediaOptions() {}
3482
3483 void SetAll(const DirectCdnStreamingMediaOptions& change) {
3484 #define SET_FROM(X) SetFrom(&X, change.X)
3485 SET_FROM(publishCameraTrack);
3486 SET_FROM(publishMicrophoneTrack);
3487 SET_FROM(publishCustomAudioTrack);
3488 SET_FROM(publishCustomVideoTrack);
3489 SET_FROM(publishMediaPlayerAudioTrack);
3490 SET_FROM(publishMediaPlayerId);
3491 SET_FROM(customVideoTrackId);
3492 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
3493 SET_FROM(publishScreenTrack);
3494 SET_FROM(publishSecondaryScreenTrack);
3495 SET_FROM(publishThirdScreenTrack);
3496 SET_FROM(publishFourthScreenTrack);
3497 SET_FROM(publishLoopbackAudioTrack);
3498 SET_FROM(publishLoopbackDeviceName);
3499 #endif
3500 #undef SET_FROM
3501 }
3502
3503 bool operator==(const DirectCdnStreamingMediaOptions& o) const {
3504 #define BEGIN_COMPARE() bool b = true
3505 #define ADD_COMPARE(X) b = (b && (X == o.X))
3506 #define END_COMPARE()
3507
3508 BEGIN_COMPARE();
3509 ADD_COMPARE(publishCameraTrack);
3510 ADD_COMPARE(publishMicrophoneTrack);
3511 ADD_COMPARE(publishCustomAudioTrack);
3512 ADD_COMPARE(publishCustomVideoTrack);
3513 ADD_COMPARE(publishMediaPlayerAudioTrack);
3514 ADD_COMPARE(customVideoTrackId);
3515 ADD_COMPARE(publishMediaPlayerId);
3516 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
3517 ADD_COMPARE(publishScreenTrack);
3518 ADD_COMPARE(publishSecondaryScreenTrack);
3519 ADD_COMPARE(publishThirdScreenTrack);
3520 ADD_COMPARE(publishFourthScreenTrack);
3521 ADD_COMPARE(publishLoopbackAudioTrack);
3522 ADD_COMPARE(publishLoopbackDeviceName);
3523 #endif
3524 END_COMPARE();
3525
3526 #undef BEGIN_COMPARE
3527 #undef ADD_COMPARE
3528 #undef END_COMPARE
3529 return b;
3530 }
3531
3532 DirectCdnStreamingMediaOptions& operator=(const DirectCdnStreamingMediaOptions& replace) {
3533 if (this != &replace) {
3534 #define REPLACE_BY(X) ReplaceBy(&X, replace.X)
3535
3536 REPLACE_BY(publishCameraTrack);
3537 REPLACE_BY(publishMicrophoneTrack);
3538 REPLACE_BY(publishCustomAudioTrack);
3539 REPLACE_BY(publishCustomVideoTrack);
3540 REPLACE_BY(publishMediaPlayerAudioTrack);
3541 REPLACE_BY(customVideoTrackId);
3542 REPLACE_BY(publishMediaPlayerId);
3543 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
3544 REPLACE_BY(publishScreenTrack);
3545 REPLACE_BY(publishSecondaryScreenTrack);
3546 REPLACE_BY(publishThirdScreenTrack);
3547 REPLACE_BY(publishFourthScreenTrack);
3548 REPLACE_BY(publishLoopbackAudioTrack);
3549 REPLACE_BY(publishLoopbackDeviceName);
3550 #endif
3551 #undef REPLACE_BY
3552 }
3553 return *this;
3554 }
3555 };
3556
3560 struct ExtensionInfo {
3564 agora::media::MEDIA_SOURCE_TYPE mediaSourceType;
3565
3571 uid_t remoteUid;
3572
3584 const char* channelId;
3585
3589 uid_t localUid;
3590
3591 ExtensionInfo()
3592 : mediaSourceType(agora::media::UNKNOWN_MEDIA_SOURCE),
3593 remoteUid(0),
3594 channelId(NULL),
3595 localUid(0) {}
3596 };
3597
3598 class IMediaPlayer;
3599 class IMediaRecorder;
3600
3608 class IRtcEngine : public agora::base::IEngineBase {
3609 public:
3634 virtual void release(bool sync = false) = 0;
3635
3652 virtual int initialize(const RtcEngineContext& context) = 0;
3653
3663 virtual int queryInterface(INTERFACE_ID_TYPE iid, void** inter) = 0;
3664
3665
3671 virtual const char* getVersion(int* build) = 0;
3672
3678 virtual const char* getErrorDescription(int code) = 0;
3679
3689 virtual int queryCodecCapability(CodecCapInfo* codecInfo, int& size) = 0;
3690
3700 virtual int queryDeviceScore() = 0;
3701
3740 virtual int preloadChannel(const char* token, const char* channelId, uid_t uid) = 0;
3741
3782 virtual int preloadChannel(const char* token, const char* channelId, const char* userAccount) = 0;
3783
3803 virtual int updatePreloadChannelToken(const char* token) = 0;
3804
3864 virtual int joinChannel(const char* token, const char* channelId, const char* info,
3865 uid_t uid) = 0;
3866
3934 virtual int joinChannel(const char* token, const char* channelId, uid_t uid,
3935 const ChannelMediaOptions& options) = 0;
3936
3945 virtual int updateChannelMediaOptions(const ChannelMediaOptions& options) = 0;
3946
3964 virtual int leaveChannel() = 0;
3965
3985 virtual int leaveChannel(const LeaveChannelOptions& options) = 0;
3986
4003 virtual int renewToken(const char* token) = 0;
4004
4023 virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile) = 0;
4024
4048 virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0;
4049
4071 virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0;
4072
4092 virtual int startEchoTest() = 0;
4093
4110 virtual int startEchoTest(int intervalInSeconds) = 0;
4111
4120 virtual int startEchoTest(const EchoTestConfiguration& config) = 0;
4121
4128 virtual int stopEchoTest() = 0;
4129
4130 #if defined(__APPLE__) && TARGET_OS_IOS
4131
4140 virtual int enableMultiCamera(bool enabled, const CameraCapturerConfiguration& config) = 0;
4141 #endif
4142
4157 virtual int enableVideo() = 0;
4158
4168 virtual int disableVideo() = 0;
4169
4181 virtual int startPreview() = 0;
4182
4190 virtual int startPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
4191
4199 virtual int stopPreview() = 0;
4200
4208 virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
4209
4243 virtual int startLastmileProbeTest(const LastmileProbeConfig& config) = 0;
4244
4246 virtual int stopLastmileProbeTest() = 0;
4247
4264 virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration& config) = 0;
4265
4275 virtual int setBeautyEffectOptions(bool enabled, const BeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4302 virtual int setLowlightEnhanceOptions(bool enabled, const LowlightEnhanceOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4329 virtual int setVideoDenoiserOptions(bool enabled, const VideoDenoiserOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4356 virtual int setColorEnhanceOptions(bool enabled, const ColorEnhanceOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4357
4390 virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4391
4414 virtual int setupRemoteVideo(const VideoCanvas& canvas) = 0;
4415
4432 virtual int setupLocalVideo(const VideoCanvas& canvas) = 0;
4433
4452 virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType) = 0;
4453
4467 virtual int enableAudio() = 0;
4468
4480 virtual int disableAudio() = 0;
4481
4503 virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) __deprecated = 0;
4504
4520 virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile) = 0;
4529 virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario) = 0;
4552 virtual int enableLocalAudio(bool enabled) = 0;
4553
4579 virtual int muteLocalAudioStream(bool mute) = 0;
4580
4622 virtual int muteAllRemoteAudioStreams(bool mute) = 0;
4623
4645 virtual int setDefaultMuteAllRemoteAudioStreams(bool mute) __deprecated = 0;
4646
4663 virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0;
4664
4676 virtual int muteLocalVideoStream(bool mute) = 0;
4677
4702 virtual int enableLocalVideo(bool enabled) = 0;
4703
4743 virtual int muteAllRemoteVideoStreams(bool mute) = 0;
4744
4766 virtual int setDefaultMuteAllRemoteVideoStreams(bool mute) __deprecated = 0;
4767
4784 virtual int muteRemoteVideoStream(uid_t uid, bool mute) = 0;
4785
4803 virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0;
4804
4815 virtual int setRemoteVideoSubscriptionOptions(uid_t uid, const VideoSubscriptionOptions &options) = 0;
4816
4826 virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType) = 0;
4827
4842 virtual int setSubscribeAudioBlocklist(uid_t* uidList, int uidNumber) = 0;
4843
4860 virtual int setSubscribeAudioAllowlist(uid_t* uidList, int uidNumber) = 0;
4861
4876 virtual int setSubscribeVideoBlocklist(uid_t* uidList, int uidNumber) = 0;
4877
4894 virtual int setSubscribeVideoAllowlist(uid_t* uidList, int uidNumber) = 0;
4895
4922 virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad) = 0;
4923
4944 virtual int startAudioRecording(const char* filePath,
4945 AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
4967 virtual int startAudioRecording(const char* filePath,
4968 int sampleRate,
4969 AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
4970
4989 virtual int startAudioRecording(const AudioRecordingConfiguration& config) = 0;
4990
4996 virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig& config, IAudioEncodedFrameObserver *observer) = 0;
4997
5006 virtual int stopAudioRecording() = 0;
5007
5018 virtual agora_refptr<IMediaPlayer> createMediaPlayer() = 0;
5019
5031 virtual int destroyMediaPlayer(agora_refptr<IMediaPlayer> media_player) = 0;
5032
5043 virtual agora_refptr<IMediaRecorder> createMediaRecorder(const RecorderStreamInfo& info) = 0;
5044
5054 virtual int destroyMediaRecorder(agora_refptr<IMediaRecorder> mediaRecorder) = 0;
5055
5097 virtual int startAudioMixing(const char* filePath, bool loopback, int cycle) = 0;
5098
5142 virtual int startAudioMixing(const char* filePath, bool loopback, int cycle, int startPos) = 0;
5143
5152 virtual int stopAudioMixing() = 0;
5153
5162 virtual int pauseAudioMixing() = 0;
5163
5172 virtual int resumeAudioMixing() = 0;
5173
5182 virtual int selectAudioTrack(int index) = 0;
5191 virtual int getAudioTrackCount() = 0;
5192
5207 virtual int adjustAudioMixingVolume(int volume) = 0;
5208
5216 virtual int adjustAudioMixingPublishVolume(int volume) = 0;
5217
5225 virtual int getAudioMixingPublishVolume() = 0;
5226
5234 virtual int adjustAudioMixingPlayoutVolume(int volume) = 0;
5235
5243 virtual int getAudioMixingPlayoutVolume() = 0;
5244
5253 virtual int getAudioMixingDuration() = 0;
5254
5264 virtual int getAudioMixingCurrentPosition() = 0;
5265
5275 virtual int setAudioMixingPosition(int pos /*in ms*/) = 0;
5276
5287 virtual int setAudioMixingDualMonoMode(media::AUDIO_MIXING_DUAL_MONO_MODE mode) = 0;
5288
5305 virtual int setAudioMixingPitch(int pitch) = 0;
5313 virtual int getEffectsVolume() = 0;
5323 virtual int setEffectsVolume(int volume) = 0;
5351 virtual int preloadEffect(int soundId, const char* filePath, int startPos = 0) = 0;
5397 virtual int playEffect(int soundId, const char* filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0) = 0;
5428 virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false) = 0;
5429
5439 virtual int getVolumeOfEffect(int soundId) = 0;
5440
5451 virtual int setVolumeOfEffect(int soundId, int volume) = 0;
5460 virtual int pauseEffect(int soundId) = 0;
5467 virtual int pauseAllEffects() = 0;
5476 virtual int resumeEffect(int soundId) = 0;
5483 virtual int resumeAllEffects() = 0;
5492 virtual int stopEffect(int soundId) = 0;
5499 virtual int stopAllEffects() = 0;
5508 virtual int unloadEffect(int soundId) = 0;
5515 virtual int unloadAllEffects() = 0;
5534 virtual int getEffectDuration(const char* filePath) = 0;
5551 virtual int setEffectPosition(int soundId, int pos) = 0;
5566 virtual int getEffectCurrentPosition(int soundId) = 0;
5579 virtual int enableSoundPositionIndication(bool enabled) = 0;
5600 virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0;
5601
5611 virtual int enableSpatialAudio(bool enabled) = 0;
5612
5622 virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams& params) = 0;
5623
5661 virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset) = 0;
5662
5700 virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset) = 0;
5701
5738 virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset) = 0;
5739
5815 virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2) = 0;
5816
5859 virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset,
5860 int param1, int param2) = 0;
5861
5874 virtual int setVoiceConversionParameters(VOICE_CONVERSION_PRESET preset,
5875 int param1, int param2) = 0;
5876
5887 virtual int setLocalVoicePitch(double pitch) = 0;
5888
5899 virtual int setLocalVoiceFormant(double formantRatio) = 0;
5900
5912 virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency,
5913 int bandGain) = 0;
5914
5923 virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value) = 0;
5935 virtual int setHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset) = 0;
5945 virtual int setHeadphoneEQParameters(int lowGain, int highGain) = 0;
5946
5962 virtual int setLogFile(const char* filePath) = 0;
5963
5986 virtual int setLogFilter(unsigned int filter) = 0;
5987
6004 virtual int setLogLevel(commons::LOG_LEVEL level) = 0;
6005
6020 virtual int setLogFileSize(unsigned int fileSizeInKBytes) = 0;
6021
6030 virtual int uploadLogFile(agora::util::AString& requestId) = 0;
6031
6047 virtual int writeLog(commons::LOG_LEVEL level, const char* fmt, ...) = 0;
6048
6067 virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
6088 virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode,
6089 VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
6090
6091 // The following APIs are either deprecated and going to deleted.
6092
6110 virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) = 0;
6111
6123 virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
6124
6141 virtual int enableDualStreamMode(bool enabled) __deprecated = 0;
6142
6161 virtual int enableDualStreamMode(bool enabled, const SimulcastStreamConfig& streamConfig) __deprecated = 0;
6162
6163
6177 virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode) = 0;
6178
6192 virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode,
6193 const SimulcastStreamConfig& streamConfig) = 0;
6194
6209 virtual int enableCustomAudioLocalPlayback(track_id_t trackId, bool enabled) = 0;
6210
6229 virtual int setRecordingAudioFrameParameters(int sampleRate, int channel,
6230 RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
6231 int samplesPerCall) = 0;
6232
6252 virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel,
6253 RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
6254 int samplesPerCall) = 0;
6255
6271 virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall) = 0;
6272
6292 virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel,
6293 RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
6294 int samplesPerCall) = 0;
6295
6311 virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel) = 0;
6312
6323 virtual int enableAudioSpectrumMonitor(int intervalInMS = 100) = 0;
6331 virtual int disableAudioSpectrumMonitor() = 0;
6332
6347 virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver * observer) = 0;
6357 virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver * observer) = 0;
6358
6372 virtual int adjustRecordingSignalVolume(int volume) = 0;
6373
6385 virtual int muteRecordingSignal(bool mute) = 0;
6386
6400 virtual int adjustPlaybackSignalVolume(int volume) = 0;
6401
6402 /*
6403 * Adjust the playback volume of the user specified by uid.
6404 *
6405 * You can call this method to adjust the playback volume of the user specified by uid
6406 * in call. If you want to adjust playback volume of the multi user, you can call this
6407 * this method multi times.
6408 *
6409 * @note
6410 * Please call this method after join channel.
6411 * This method adjust the playback volume of specified user.
6412 *
6413 * @param uid Remote user ID.
6414 * @param volume The playback volume of the specified remote user. The value ranges between 0 and 400, including the following:
6415 * 0: Mute.
6416 * 100: (Default) Original volume.
6417 * 400: Four times the original volume with signal-clipping protection.
6418 * @return
6419 * - 0: Success.
6420 * - < 0: Failure.
6421 */
6422 virtual int adjustUserPlaybackSignalVolume(unsigned int uid, int volume) = 0;
6423
6445 virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0;
6446
6462 virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0;
6463
6477 virtual int setHighPriorityUserList(uid_t* uidList, int uidNum, STREAM_FALLBACK_OPTIONS option) = 0;
6478
6497 virtual int enableLoopbackRecording(bool enabled, const char* deviceName = NULL) = 0;
6498
6499
6512 virtual int adjustLoopbackSignalVolume(int volume) = 0;
6513
6520 virtual int getLoopbackRecordingVolume() = 0;
6521
6533 virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters) = 0;
6534
6545 virtual int setInEarMonitoringVolume(int volume) = 0;
6546
6547 #if defined (_WIN32) || defined(__linux__) || defined(__ANDROID__)
6548 virtual int loadExtensionProvider(const char* path, bool unload_after_use = false) = 0;
6549 #endif
6550
6562 virtual int setExtensionProviderProperty(
6563 const char* provider, const char* key, const char* value) = 0;
6564
6577 virtual int registerExtension(const char* provider, const char* extension,
6578 agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6579
6600 virtual int enableExtension(
6601 const char* provider, const char* extension, bool enable=true, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6602
6623 virtual int enableExtension(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, bool enable = true) = 0;
6624
6637 virtual int setExtensionProperty(
6638 const char* provider, const char* extension,
6639 const char* key, const char* value, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6640
6654 virtual int getExtensionProperty(
6655 const char* provider, const char* extension,
6656 const char* key, char* value, int buf_len, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6657
6671 virtual int setExtensionProperty(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, const char* key, const char* value) = 0;
6672
6687 virtual int getExtensionProperty(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, const char* key, char* value, int buf_len) = 0;
6688
6700 virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration& config) = 0;
6701
6702
6710 virtual video_track_id_t createCustomVideoTrack() = 0;
6711
6719 virtual video_track_id_t createCustomEncodedVideoTrack(const SenderOptions& sender_option) = 0;
6720
6729 virtual int destroyCustomVideoTrack(video_track_id_t video_track_id) = 0;
6730
6739 virtual int destroyCustomEncodedVideoTrack(video_track_id_t video_track_id) = 0;
6740
6741
6742 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
6743
6752 virtual int switchCamera() = 0;
6753
6761 virtual bool isCameraZoomSupported() = 0;
6762
6770 virtual bool isCameraFaceDetectSupported() = 0;
6771
6779 virtual bool isCameraTorchSupported() = 0;
6780
6788 virtual bool isCameraFocusSupported() = 0;
6789
6797 virtual bool isCameraAutoFocusFaceModeSupported() = 0;
6798
6808 virtual int setCameraZoomFactor(float factor) = 0;
6809
6818 virtual int enableFaceDetection(bool enabled) = 0;
6819
6824 virtual float getCameraMaxZoomFactor() = 0;
6825
6835 virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0;
6836
6844 virtual int setCameraTorchOn(bool isOn) = 0;
6845
6853 virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0;
6854
6866 virtual bool isCameraExposurePositionSupported() = 0;
6867
6883 virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0;
6884
6897 virtual bool isCameraExposureSupported() = 0;
6898
6909 virtual int setCameraExposureFactor(float factor) = 0;
6910
6911 #if defined(__APPLE__)
6912
6919 virtual bool isCameraAutoExposureFaceModeSupported() = 0;
6920
6921
6929 virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0;
6930
6936 virtual int setCameraStabilizationMode(CAMERA_STABILIZATION_MODE mode) = 0;
6937 #endif
6938
6972 virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0;
6973
7000 virtual int setEnableSpeakerphone(bool speakerOn) = 0;
7001
7009 virtual bool isSpeakerphoneEnabled() = 0;
7010
7018 virtual int setRouteInCommunicationMode(int route) = 0;
7019
7020 #endif // __ANDROID__ || (__APPLE__ && TARGET_OS_IOS)
7021
7022 #if defined(__APPLE__)
7023
7030 virtual bool isSupportPortraitCenterStage() = 0;
7031
7040 virtual int enablePortraitCenterStage(bool enabled) = 0;
7041 #endif
7042
7043 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
7044
7054 virtual IScreenCaptureSourceList* getScreenCaptureSources(const SIZE& thumbSize, const SIZE& iconSize, const bool includeScreen) = 0;
7055 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
7056 #if (defined(__APPLE__) && TARGET_OS_IOS)
7057
7081 virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction) = 0;
7082 #endif // __APPLE__ && TARGET_OS_IOS
7083
7084 #if defined(_WIN32) || (defined(__APPLE__) && !TARGET_OS_IPHONE && TARGET_OS_MAC)
7085
7106 virtual int startScreenCaptureByDisplayId(uint32_t displayId, const Rectangle& regionRect,
7107 const ScreenCaptureParameters& captureParams) = 0;
7108
7109 #endif // __APPLE__ && TARGET_OS_MAC && !TARGET_OS_IPHONE
7110
7111 #if defined(_WIN32)
7112
7136 virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect,
7137 const Rectangle& regionRect,
7138 const ScreenCaptureParameters& captureParams) __deprecated = 0;
7139
7140
7141 #endif // _WIN32
7142
7143 #if defined(__ANDROID__)
7144
7150 virtual int getAudioDeviceInfo(DeviceInfo& deviceInfo) = 0;
7151 #endif // __ANDROID__
7152
7166 virtual int setRemoteRenderRotation(uid_t uid, VIDEO_ORIENTATION rotation) = 0;
7167
7168 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
7169
7187 virtual int startScreenCaptureByWindowId(view_t windowId, const Rectangle& regionRect,
7188 const ScreenCaptureParameters& captureParams) = 0;
7189
7205 virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint) = 0;
7206
7223 virtual int updateScreenCaptureRegion(const Rectangle& regionRect) = 0;
7224
7238 virtual int updateScreenCaptureParameters(const ScreenCaptureParameters& captureParams) = 0;
7239 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
7240
7241 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
7242
7251 virtual int startScreenCapture(const ScreenCaptureParameters2& captureParams) = 0;
7252
7262 virtual int updateScreenCapture(const ScreenCaptureParameters2& captureParams) = 0;
7263
7275 virtual int queryScreenCaptureCapability() = 0;
7276 #endif
7277
7278 #if defined(_WIN32) || defined(__APPLE__) || defined(__ANDROID__)
7279
7295 virtual int setScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario) = 0;
7296
7304 virtual int stopScreenCapture() = 0;
7305 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC) || __ANDROID__
7306
7323 virtual int getCallId(agora::util::AString& callId) = 0;
7324
7339 virtual int rate(const char* callId, int rating,
7340 const char* description) = 0; // 0~10
7341
7355 virtual int complain(const char* callId, const char* description) = 0;
7356
7377 virtual int startRtmpStreamWithoutTranscoding(const char* url) = 0;
7378
7400 virtual int startRtmpStreamWithTranscoding(const char* url, const LiveTranscoding& transcoding) = 0;
7401
7411 virtual int updateRtmpTranscoding(const LiveTranscoding& transcoding) = 0;
7430 virtual int stopRtmpStream(const char* url) = 0;
7431
7432
7433 virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration& config) = 0;
7434 virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration& config) = 0;
7435 virtual int stopLocalVideoTranscoder() = 0;
7445 virtual int startCameraCapture(VIDEO_SOURCE_TYPE sourceType, const CameraCapturerConfiguration& config) = 0;
7446
7457 virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType) = 0;
7469 virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
7481 virtual int setScreenCaptureOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
7482
7492 virtual int startScreenCapture(VIDEO_SOURCE_TYPE sourceType, const ScreenCaptureConfiguration& config) = 0;
7493
7504 virtual int stopScreenCapture(VIDEO_SOURCE_TYPE sourceType) = 0;
7505
7510 virtual CONNECTION_STATE_TYPE getConnectionState() = 0;
7511
7512 // The following APIs are not implemented yet.
7513 virtual bool registerEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
7514 virtual bool unregisterEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
7515 virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0;
7516
7528 virtual int registerPacketObserver(IPacketObserver* observer) = 0;
7529
7552 virtual int setEncryptionMode(const char* encryptionMode) __deprecated = 0;
7553
7570 virtual int setEncryptionSecret(const char* secret) __deprecated = 0;
7571
7593 virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0;
7594
7626 virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0;
7627
7637 virtual int createDataStream(int* streamId, DataStreamConfig& config) = 0;
7638
7669 virtual int sendStreamMessage(int streamId, const char* data, size_t length) = 0;
7670
7692 virtual int addVideoWatermark(const RtcImage& watermark) = 0;
7693
7719 virtual int addVideoWatermark(const char* watermarkUrl, const WatermarkOptions& options) = 0;
7720
7728 virtual int clearVideoWatermarks() = 0;
7729
7730 // The following APIs are either deprecated and going to deleted.
7731
7740 virtual int pauseAudio() __deprecated = 0;
7749 virtual int resumeAudio() __deprecated = 0;
7750
7768 virtual int enableWebSdkInteroperability(bool enabled) __deprecated = 0;
7769
7779 virtual int sendCustomReportMessage(
7780 const char* id, const char* category, const char* event, const char* label, int value) = 0;
7781
7803 virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0;
7804
7813 virtual int unregisterMediaMetadataObserver(IMetadataObserver* observer, IMetadataObserver::METADATA_TYPE type) = 0;
7814
7824 virtual int startAudioFrameDump(const char* channel_id, uid_t user_id, const char* location,
7825 const char* uuid, const char* passwd, long duration_ms, bool auto_upload) = 0;
7829 virtual int stopAudioFrameDump(const char* channel_id, uid_t user_id, const char* location) = 0;
7830
7846 virtual int setAINSMode(bool enabled, AUDIO_AINS_MODE mode) = 0;
7847
7879 virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0;
7880
7911 virtual int joinChannelWithUserAccount(const char* token, const char* channelId,
7912 const char* userAccount) = 0;
7913
7945 virtual int joinChannelWithUserAccount(const char* token, const char* channelId,
7946 const char* userAccount, const ChannelMediaOptions& options) = 0;
7947
7980 virtual int joinChannelWithUserAccountEx(const char* token, const char* channelId,
7981 const char* userAccount, const ChannelMediaOptions& options,
7982 IRtcEngineEventHandler* eventHandler) = 0;
7983
8001 virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo) = 0;
8002
8020 virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo) = 0;
8062 virtual int startOrUpdateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0;
8063
8109 virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) __deprecated = 0;
8110
8139 virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) __deprecated = 0;
8140
8169 virtual int stopChannelMediaRelay() = 0;
8170
8171
8181 virtual int pauseAllChannelMediaRelay() = 0;
8182
8192 virtual int resumeAllChannelMediaRelay() = 0;
8193
8206 virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile) = 0;
8207
8222 virtual int setDirectCdnStreamingVideoConfiguration(const VideoEncoderConfiguration& config) = 0;
8223
8237 virtual int startDirectCdnStreaming(IDirectCdnStreamingEventHandler* eventHandler,
8238 const char* publishUrl, const DirectCdnStreamingMediaOptions& options) = 0;
8239
8249 virtual int stopDirectCdnStreaming() = 0;
8250
8262 virtual int updateDirectCdnStreamingMediaOptions(const DirectCdnStreamingMediaOptions& options) = 0;
8263
8274 virtual int startRhythmPlayer(const char* sound1, const char* sound2, const AgoraRhythmPlayerConfig& config) = 0;
8275
8282 virtual int stopRhythmPlayer() = 0;
8283
8292 virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig& config) = 0;
8322 virtual int takeSnapshot(uid_t uid, const char* filePath) = 0;
8332 virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config) = 0;
8333 /*
8334 * Adjust the custom audio publish volume by track id.
8335 * @param trackId custom audio track id.
8336 * @param volume The volume, range is [0,100]:
8337 * 0: mute, 100: The original volume
8338 * @return
8339 * - 0: Success.
8340 * - < 0: Failure.
8341 */
8342 virtual int adjustCustomAudioPublishVolume(track_id_t trackId, int volume) = 0;
8343
8344 /*
8345 * Adjust the custom audio playout volume by track id.
8346 * @param trackId custom audio track id.
8347 * @param volume The volume, range is [0,100]:
8348 * 0: mute, 100: The original volume
8349 * @return
8350 * - 0: Success.
8351 * - < 0: Failure.
8352 */
8353 virtual int adjustCustomAudioPlayoutVolume(track_id_t trackId, int volume) = 0;
8354
8384 virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0;
8393 virtual int setLocalAccessPoint(const LocalAccessPointConfiguration& config) = 0;
8394
8402 virtual int setAdvancedAudioOptions(AdvancedAudioOptions &options, int sourceType = 0) = 0;
8403
8414 virtual int setAVSyncSource(const char* channelId, uid_t uid) = 0;
8415
8422 virtual int enableVideoImageSource(bool enable, const ImageTrackOptions& options) = 0;
8423
8424 /*
8425 * Get monotonic time in ms which can be used by capture time,
8426 * typical scenario is as follows:
8427 *
8428 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8429 * | // custom audio/video base capture time, e.g. the first audio/video capture time. |
8430 * | int64_t custom_capture_time_base; |
8431 * | |
8432 * | int64_t agora_monotonic_time = getCurrentMonotonicTimeInMs(); |
8433 * | |
8434 * | // offset is fixed once calculated in the begining. |
8435 * | const int64_t offset = agora_monotonic_time - custom_capture_time_base; |
8436 * | |
8437 * | // realtime_custom_audio/video_capture_time is the origin capture time that customer provided.|
8438 * | // actual_audio/video_capture_time is the actual capture time transfered to sdk. |
8439 * | int64_t actual_audio_capture_time = realtime_custom_audio_capture_time + offset; |
8440 * | int64_t actual_video_capture_time = realtime_custom_video_capture_time + offset; |
8441 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8442 *
8443 * @return
8444 * - >= 0: Success.
8445 * - < 0: Failure.
8446 */
8447 virtual int64_t getCurrentMonotonicTimeInMs() = 0;
8448
8464 virtual int enableWirelessAccelerate(bool enabled) = 0;
8465
8480 virtual int getNetworkType() = 0;
8481
8490 virtual int setParameters(const char* parameters) = 0;
8491
8506 virtual int startMediaRenderingTracing() = 0;
8507
8521 virtual int enableInstantMediaRendering() = 0;
8522
8526 virtual uint64_t getNtpWallTimeInMs() = 0;
8527
8536 virtual bool isFeatureAvailableOnDevice(FeatureType type) = 0;
8537
8538 };
8539
8540 class AAudioDeviceManager : public agora::util::AutoPtr<IAudioDeviceManager> {
8541 public:
8542 AAudioDeviceManager(IRtcEngine* engine) {
8543 queryInterface(engine, AGORA_IID_AUDIO_DEVICE_MANAGER);
8544 }
8545 };
8546
8547 class AVideoDeviceManager : public agora::util::AutoPtr<IVideoDeviceManager> {
8548 public:
8549 AVideoDeviceManager(IRtcEngine* engine) {
8550 queryInterface(engine, AGORA_IID_VIDEO_DEVICE_MANAGER);
8551 }
8552 };
8553
8554 // The following types are either deprecated or not implmented yet.
8555 enum QUALITY_REPORT_FORMAT_TYPE {
8558 QUALITY_REPORT_JSON = 0,
8561 QUALITY_REPORT_HTML = 1,
8562 };
8563
8565 enum MEDIA_DEVICE_STATE_TYPE {
8568 MEDIA_DEVICE_STATE_IDLE = 0,
8571 MEDIA_DEVICE_STATE_ACTIVE = 1,
8574 MEDIA_DEVICE_STATE_DISABLED = 2,
8577 MEDIA_DEVICE_STATE_NOT_PRESENT = 4,
8580 MEDIA_DEVICE_STATE_UNPLUGGED = 8
8581 };
8582
8583 enum VIDEO_PROFILE_TYPE { // res fps
8585 VIDEO_PROFILE_LANDSCAPE_120P = 0, // 160x120 15
8587 VIDEO_PROFILE_LANDSCAPE_120P_3 = 2, // 120x120 15
8589 VIDEO_PROFILE_LANDSCAPE_180P = 10, // 320x180 15
8591 VIDEO_PROFILE_LANDSCAPE_180P_3 = 12, // 180x180 15
8593 VIDEO_PROFILE_LANDSCAPE_180P_4 = 13, // 240x180 15
8595 VIDEO_PROFILE_LANDSCAPE_240P = 20, // 320x240 15
8597 VIDEO_PROFILE_LANDSCAPE_240P_3 = 22, // 240x240 15
8599 VIDEO_PROFILE_LANDSCAPE_240P_4 = 23, // 424x240 15
8601 VIDEO_PROFILE_LANDSCAPE_360P = 30, // 640x360 15
8603 VIDEO_PROFILE_LANDSCAPE_360P_3 = 32, // 360x360 15
8605 VIDEO_PROFILE_LANDSCAPE_360P_4 = 33, // 640x360 30
8607 VIDEO_PROFILE_LANDSCAPE_360P_6 = 35, // 360x360 30
8609 VIDEO_PROFILE_LANDSCAPE_360P_7 = 36, // 480x360 15
8611 VIDEO_PROFILE_LANDSCAPE_360P_8 = 37, // 480x360 30
8613 VIDEO_PROFILE_LANDSCAPE_360P_9 = 38, // 640x360 15
8615 VIDEO_PROFILE_LANDSCAPE_360P_10 = 39, // 640x360 24
8617 VIDEO_PROFILE_LANDSCAPE_360P_11 = 100, // 640x360 24
8619 VIDEO_PROFILE_LANDSCAPE_480P = 40, // 640x480 15
8621 VIDEO_PROFILE_LANDSCAPE_480P_3 = 42, // 480x480 15
8623 VIDEO_PROFILE_LANDSCAPE_480P_4 = 43, // 640x480 30
8625 VIDEO_PROFILE_LANDSCAPE_480P_6 = 45, // 480x480 30
8627 VIDEO_PROFILE_LANDSCAPE_480P_8 = 47, // 848x480 15
8629 VIDEO_PROFILE_LANDSCAPE_480P_9 = 48, // 848x480 30
8631 VIDEO_PROFILE_LANDSCAPE_480P_10 = 49, // 640x480 10
8633 VIDEO_PROFILE_LANDSCAPE_720P = 50, // 1280x720 15
8635 VIDEO_PROFILE_LANDSCAPE_720P_3 = 52, // 1280x720 30
8637 VIDEO_PROFILE_LANDSCAPE_720P_5 = 54, // 960x720 15
8639 VIDEO_PROFILE_LANDSCAPE_720P_6 = 55, // 960x720 30
8641 VIDEO_PROFILE_LANDSCAPE_1080P = 60, // 1920x1080 15
8643 VIDEO_PROFILE_LANDSCAPE_1080P_3 = 62, // 1920x1080 30
8645 VIDEO_PROFILE_LANDSCAPE_1080P_5 = 64, // 1920x1080 60
8647 VIDEO_PROFILE_LANDSCAPE_1440P = 66, // 2560x1440 30
8649 VIDEO_PROFILE_LANDSCAPE_1440P_2 = 67, // 2560x1440 60
8651 VIDEO_PROFILE_LANDSCAPE_4K = 70, // 3840x2160 30
8653 VIDEO_PROFILE_LANDSCAPE_4K_3 = 72, // 3840x2160 60
8655 VIDEO_PROFILE_PORTRAIT_120P = 1000, // 120x160 15
8657 VIDEO_PROFILE_PORTRAIT_120P_3 = 1002, // 120x120 15
8659 VIDEO_PROFILE_PORTRAIT_180P = 1010, // 180x320 15
8661 VIDEO_PROFILE_PORTRAIT_180P_3 = 1012, // 180x180 15
8663 VIDEO_PROFILE_PORTRAIT_180P_4 = 1013, // 180x240 15
8665 VIDEO_PROFILE_PORTRAIT_240P = 1020, // 240x320 15
8667 VIDEO_PROFILE_PORTRAIT_240P_3 = 1022, // 240x240 15
8669 VIDEO_PROFILE_PORTRAIT_240P_4 = 1023, // 240x424 15
8671 VIDEO_PROFILE_PORTRAIT_360P = 1030, // 360x640 15
8673 VIDEO_PROFILE_PORTRAIT_360P_3 = 1032, // 360x360 15
8675 VIDEO_PROFILE_PORTRAIT_360P_4 = 1033, // 360x640 30
8677 VIDEO_PROFILE_PORTRAIT_360P_6 = 1035, // 360x360 30
8679 VIDEO_PROFILE_PORTRAIT_360P_7 = 1036, // 360x480 15
8681 VIDEO_PROFILE_PORTRAIT_360P_8 = 1037, // 360x480 30
8683 VIDEO_PROFILE_PORTRAIT_360P_9 = 1038, // 360x640 15
8685 VIDEO_PROFILE_PORTRAIT_360P_10 = 1039, // 360x640 24
8687 VIDEO_PROFILE_PORTRAIT_360P_11 = 1100, // 360x640 24
8689 VIDEO_PROFILE_PORTRAIT_480P = 1040, // 480x640 15
8691 VIDEO_PROFILE_PORTRAIT_480P_3 = 1042, // 480x480 15
8693 VIDEO_PROFILE_PORTRAIT_480P_4 = 1043, // 480x640 30
8695 VIDEO_PROFILE_PORTRAIT_480P_6 = 1045, // 480x480 30
8697 VIDEO_PROFILE_PORTRAIT_480P_8 = 1047, // 480x848 15
8699 VIDEO_PROFILE_PORTRAIT_480P_9 = 1048, // 480x848 30
8701 VIDEO_PROFILE_PORTRAIT_480P_10 = 1049, // 480x640 10
8703 VIDEO_PROFILE_PORTRAIT_720P = 1050, // 720x1280 15
8705 VIDEO_PROFILE_PORTRAIT_720P_3 = 1052, // 720x1280 30
8707 VIDEO_PROFILE_PORTRAIT_720P_5 = 1054, // 720x960 15
8709 VIDEO_PROFILE_PORTRAIT_720P_6 = 1055, // 720x960 30
8711 VIDEO_PROFILE_PORTRAIT_1080P = 1060, // 1080x1920 15
8713 VIDEO_PROFILE_PORTRAIT_1080P_3 = 1062, // 1080x1920 30
8715 VIDEO_PROFILE_PORTRAIT_1080P_5 = 1064, // 1080x1920 60
8717 VIDEO_PROFILE_PORTRAIT_1440P = 1066, // 1440x2560 30
8719 VIDEO_PROFILE_PORTRAIT_1440P_2 = 1067, // 1440x2560 60
8721 VIDEO_PROFILE_PORTRAIT_4K = 1070, // 2160x3840 30
8723 VIDEO_PROFILE_PORTRAIT_4K_3 = 1072, // 2160x3840 60
8725 VIDEO_PROFILE_DEFAULT = VIDEO_PROFILE_LANDSCAPE_360P,
8726 };
8727
8728 } // namespace rtc
8729 } // namespace agora
8730
8736 #define getAgoraRtcEngineVersion getAgoraSdkVersion
8737
8739
8742
8748 AGORA_API agora::rtc::IRtcEngine* AGORA_CALL createAgoraRtcEngine();
8749
8751
8752
8759 #define getAgoraRtcEngineErrorDescription getAgoraSdkErrorDescription
8760 #define setAgoraRtcEngineExternalSymbolLoader setAgoraSdkExternalSymbolLoader
agora::rtc::IRtcEngine::setVideoEncoderConfiguration
virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration &config)=0
agora::rtc::IRtcEngine::stopLocalVideoTranscoder
virtual int stopLocalVideoTranscoder()=0
agora::rtc::WLACC_MESSAGE_REASON
WLACC_MESSAGE_REASON
Definition: AgoraBase.h:4106
agora::rtc::IRtcEngineEventHandler::onFirstLocalVideoFrame
virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed)
Definition: IAgoraRtcEngine.h:1788
agora::rtc::RemoteVideoStats::delay
int delay
Definition: IAgoraRtcEngine.h:480
agora::rtc::VIDEO_TRANSCODER_ERROR
VIDEO_TRANSCODER_ERROR
Definition: AgoraBase.h:3856
agora::rtc::UPLOAD_ERROR_REASON
UPLOAD_ERROR_REASON
Definition: AgoraBase.h:5659
agora::rtc::ChannelMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition: IAgoraRtcEngine.h:1200
agora::rtc::IRtcEngine::configRhythmPlayer
virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig &config)=0
agora::rtc::IRtcEngine::getAudioTrackCount
virtual int getAudioTrackCount()=0
agora::rtc::IRtcEngineEventHandler::onRequestToken
virtual void onRequestToken()
Definition: IAgoraRtcEngine.h:2271
agora::rtc::ChannelMediaOptions::defaultVideoStreamType
Optional< VIDEO_STREAM_TYPE > defaultVideoStreamType
Definition: IAgoraRtcEngine.h:1214
agora::rtc::DirectCdnStreamingStats::videoWidth
int videoWidth
Definition: IAgoraRtcEngine.h:3340
agora::rtc::AUDIO_EQUALIZATION_BAND_16K
@ AUDIO_EQUALIZATION_BAND_16K
Definition: IAgoraRtcEngine.h:200
agora::rtc::IRtcEngine::getVersion
virtual const char * getVersion(int *build)=0
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_10
@ VIDEO_PROFILE_LANDSCAPE_360P_10
Definition: IAgoraRtcEngine.h:8615
agora::rtc::ExtensionInfo::mediaSourceType
agora::media::MEDIA_SOURCE_TYPE mediaSourceType
Definition: IAgoraRtcEngine.h:3564
agora::rtc::DIRECT_CDN_STREAMING_STATE_FAILED
@ DIRECT_CDN_STREAMING_STATE_FAILED
Definition: IAgoraRtcEngine.h:3328
agora::rtc::ChannelMediaOptions::SetAll
void SetAll(const ChannelMediaOptions &change)
Definition: IAgoraRtcEngine.h:1281
agora::CHANNEL_PROFILE_LIVE_BROADCASTING
@ CHANNEL_PROFILE_LIVE_BROADCASTING
Definition: AgoraBase.h:268
agora::rtc::IRtcEngineEventHandler::onExtensionStopped
virtual void onExtensionStopped(const char *provider, const char *extension)
Definition: IAgoraRtcEngine.h:2901
agora::rtc::VIDEO_PROFILE_LANDSCAPE_720P_3
@ VIDEO_PROFILE_LANDSCAPE_720P_3
Definition: IAgoraRtcEngine.h:8635
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_8
@ VIDEO_PROFILE_LANDSCAPE_360P_8
Definition: IAgoraRtcEngine.h:8611
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_3
@ VIDEO_PROFILE_LANDSCAPE_360P_3
Definition: IAgoraRtcEngine.h:8603
agora::rtc::ChannelMediaOptions::publishCameraTrack
Optional< bool > publishCameraTrack
Definition: IAgoraRtcEngine.h:1041
agora::rtc::IRtcEngine::updateChannelMediaOptions
virtual int updateChannelMediaOptions(const ChannelMediaOptions &options)=0
agora::rtc::IRtcEngine::setParameters
virtual int setParameters(const char *parameters)=0
agora::rtc::ChannelMediaOptions::channelProfile
Optional< CHANNEL_PROFILE_TYPE > channelProfile
Definition: IAgoraRtcEngine.h:1219
agora::rtc::ReplaceBy
static void ReplaceBy(Optional< T > *s, const Optional< T > &o)
Definition: IAgoraRtcEngine.h:28
agora::rtc::MEDIA_DEVICE_STATE_DISABLED
@ MEDIA_DEVICE_STATE_DISABLED
Definition: IAgoraRtcEngine.h:8574
agora::rtc::IRtcEngine::setRemoteRenderMode
virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
agora::rtc::ChannelMediaOptions::mixPolicyForMixedTrack
Optional< int > mixPolicyForMixedTrack
Definition: IAgoraRtcEngine.h:1172
agora::rtc::IRtcEngine::uploadLogFile
virtual int uploadLogFile(agora::util::AString &requestId)=0
agora::rtc::AUDIO_EQUALIZATION_BAND_FREQUENCY
AUDIO_EQUALIZATION_BAND_FREQUENCY
Definition: IAgoraRtcEngine.h:160
agora::rtc::UserInfo
Definition: AgoraBase.h:5767
agora::rtc::IRtcEngine::enableExtension
virtual int enableExtension(const char *provider, const char *extension, const ExtensionInfo &extensionInfo, bool enable=true)=0
agora::rtc::IRtcEngineEventHandler::onLocalAudioStats
virtual void onLocalAudioStats(const LocalAudioStats &stats)
Definition: IAgoraRtcEngine.h:2040
agora::rtc::ChannelMediaOptions::publishMixedAudioTrack
Optional< bool > publishMixedAudioTrack
Definition: IAgoraRtcEngine.h:1162
agora::rtc::LastmileProbeResult
Definition: AgoraBase.h:3954
agora::rtc::AudioEncodedFrameObserverConfig
Definition: AgoraBase.h:5106
agora::rtc::ScreenCaptureParameters
Definition: AgoraBase.h:4889
agora::rtc::IRtcEngine::updateLocalTranscoderConfiguration
virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration &config)=0
agora::rtc::IMetadataObserver::MAX_METADATA_SIZE_IN_BYTE
@ MAX_METADATA_SIZE_IN_BYTE
Definition: IAgoraRtcEngine.h:3241
agora::rtc::IRtcEngine::initialize
virtual int initialize(const RtcEngineContext &context)=0
agora::rtc::SCREEN_SCENARIO_TYPE
SCREEN_SCENARIO_TYPE
Definition: AgoraBase.h:2563
agora::rtc::MEDIA_DEVICE_TYPE
MEDIA_DEVICE_TYPE
Definition: IAgoraRtcEngine.h:37
agora::rtc::CameraCapturerConfiguration::CameraCapturerConfiguration
CameraCapturerConfiguration()
Definition: IAgoraRtcEngine.h:808
agora::rtc::AudioVolumeInfo
Definition: AgoraBase.h:3137
agora::rtc::VideoCompositingLayout::regionCount
int regionCount
Definition: IAgoraRtcEngine.h:611
agora::rtc::VIDEO_SOURCE_TYPE
VIDEO_SOURCE_TYPE
Definition: AgoraMediaBase.h:48
agora::rtc::AUDIO_MIXING_STATE_PAUSED
@ AUDIO_MIXING_STATE_PAUSED
Definition: IAgoraRtcEngine.h:79
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1080P_5
@ VIDEO_PROFILE_LANDSCAPE_1080P_5
Definition: IAgoraRtcEngine.h:8645
agora::rtc::REMOTE_AUDIO_STATE
REMOTE_AUDIO_STATE
Definition: AgoraBase.h:2863
agora::rtc::RemoteAudioStats::rxAudioBytes
unsigned int rxAudioBytes
Definition: IAgoraRtcEngine.h:442
agora::rtc::BeautyOptions
Definition: AgoraBase.h:4297
agora::rtc::IRtcEngine::createMediaPlayer
virtual agora_refptr< IMediaPlayer > createMediaPlayer()=0
agora::rtc::INJECT_STREAM_STATUS_START_FAILED
@ INJECT_STREAM_STATUS_START_FAILED
Definition: IAgoraRtcEngine.h:130
agora::rtc::IMetadataObserver::METADATA_TYPE
METADATA_TYPE
Definition: IAgoraRtcEngine.h:3226
agora::rtc::SenderOptions
Definition: AgoraBase.h:1205
agora::rtc::IRtcEngineEventHandler::onConnectionStateChanged
virtual void onConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:2689
agora::rtc::AUDIO_EQUALIZATION_BAND_2K
@ AUDIO_EQUALIZATION_BAND_2K
Definition: IAgoraRtcEngine.h:188
agora::rtc::RemoteVideoStats::avSyncTimeMs
int avSyncTimeMs
Definition: IAgoraRtcEngine.h:527
agora::rtc::ScreenCaptureConfiguration::screenRect
Rectangle screenRect
Definition: IAgoraRtcEngine.h:839
agora::rtc::DIRECT_CDN_STREAMING_ERROR_NET_CONNECT
@ DIRECT_CDN_STREAMING_ERROR_NET_CONNECT
Definition: IAgoraRtcEngine.h:3313
agora::rtc::ScreenCaptureConfiguration::ScreenCaptureConfiguration
ScreenCaptureConfiguration()
Definition: IAgoraRtcEngine.h:858
agora::rtc::IRtcEngineEventHandler::onConnectionBanned
virtual void onConnectionBanned() 1
Definition: IAgoraRtcEngine.h:2221
agora::rtc::video_track_id_t
unsigned int video_track_id_t
Definition: AgoraMediaBase.h:32
agora::rtc::AUDIO_MIXING_STATE_STOPPED
@ AUDIO_MIXING_STATE_STOPPED
Definition: IAgoraRtcEngine.h:81
agora::rtc::UNKNOWN_AUDIO_DEVICE
@ UNKNOWN_AUDIO_DEVICE
Definition: IAgoraRtcEngine.h:41
agora::rtc::IRtcEngineEventHandler::eventHandlerType
virtual const char * eventHandlerType() const
Definition: IAgoraRtcEngine.h:1503
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_3
@ VIDEO_PROFILE_PORTRAIT_480P_3
Definition: IAgoraRtcEngine.h:8691
agora::rtc::RemoteVideoStats::width
int width
Definition: IAgoraRtcEngine.h:488
agora::rtc::VideoCompositingLayout
Definition: IAgoraRtcEngine.h:551
agora::rtc::LastmileProbeConfig
Definition: AgoraBase.h:3886
agora::rtc::LocalVideoStats::captureFrameRate
int captureFrameRate
Definition: IAgoraRtcEngine.h:274
agora::rtc::VIDEO_PROFILE_PORTRAIT_1440P_2
@ VIDEO_PROFILE_PORTRAIT_1440P_2
Definition: IAgoraRtcEngine.h:8719
agora::rtc::IVideoDeviceManager::release
virtual void release()=0
agora::rtc::InjectStreamConfig::audioBitrate
int audioBitrate
Definition: IAgoraRtcEngine.h:659
agora::rtc::ChannelMediaOptions::~ChannelMediaOptions
~ChannelMediaOptions()
Definition: IAgoraRtcEngine.h:1279
agora::rtc::VIDEO_PROFILE_LANDSCAPE_720P
@ VIDEO_PROFILE_LANDSCAPE_720P
Definition: IAgoraRtcEngine.h:8633
agora::rtc::IVideoDeviceManager::startDeviceTest
virtual int startDeviceTest(view_t hwnd)=0
agora::rtc::AUDIO_APPLICATION_PLAYOUT_DEVICE
@ AUDIO_APPLICATION_PLAYOUT_DEVICE
Definition: IAgoraRtcEngine.h:61
agora::rtc::IRtcEngine::enableVirtualBackground
virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IRtcEngine::enableEncryption
virtual int enableEncryption(bool enabled, const EncryptionConfig &config)=0
agora::rtc::AAudioDeviceManager::AAudioDeviceManager
AAudioDeviceManager(IRtcEngine *engine)
Definition: IAgoraRtcEngine.h:8542
agora::rtc::AdvancedAudioOptions::AdvancedAudioOptions
AdvancedAudioOptions()
Definition: IAgoraRtcEngine.h:1016
agora::rtc::IRtcEngine::setChannelProfile
virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile)=0
agora::rtc::DirectCdnStreamingStats::videoHeight
int videoHeight
Definition: IAgoraRtcEngine.h:3345
agora::rtc::RtcEngineContext::domainLimit
bool domainLimit
Definition: IAgoraRtcEngine.h:3199
agora::rtc::VIDEO_PROFILE_LANDSCAPE_240P_3
@ VIDEO_PROFILE_LANDSCAPE_240P_3
Definition: IAgoraRtcEngine.h:8597
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:2858
agora::rtc::RtcEngineContext::useExternalEglContext
bool useExternalEglContext
Definition: IAgoraRtcEngine.h:3192
AgoraBase.h
agora::rtc::IRtcEngine::adjustCustomAudioPlayoutVolume
virtual int adjustCustomAudioPlayoutVolume(track_id_t trackId, int volume)=0
agora::rtc::INJECT_STREAM_STATUS_STOP_NOT_FOUND
@ INJECT_STREAM_STATUS_STOP_NOT_FOUND
Definition: IAgoraRtcEngine.h:138
agora::rtc::ChannelMediaOptions::publishMicrophoneTrack
Optional< bool > publishMicrophoneTrack
Definition: IAgoraRtcEngine.h:1065
agora::rtc::IMetadataObserver::Metadata::size
unsigned int size
Definition: IAgoraRtcEngine.h:3255
agora::rtc::IRtcEngineEventHandler::onCameraFocusAreaChanged
virtual void onCameraFocusAreaChanged(int x, int y, int width, int height)
Definition: IAgoraRtcEngine.h:2100
agora::rtc::IRtcEngineEventHandler::onChannelMediaRelayEvent
virtual void onChannelMediaRelayEvent(int code) 1
Definition: IAgoraRtcEngine.h:2593
agora::rtc::AGORA_IID_AUDIO_DEVICE_MANAGER
@ AGORA_IID_AUDIO_DEVICE_MANAGER
Definition: AgoraBase.h:853
agora::rtc::USER_OFFLINE_REASON_TYPE
USER_OFFLINE_REASON_TYPE
Definition: AgoraBase.h:835
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P
@ VIDEO_PROFILE_PORTRAIT_360P
Definition: IAgoraRtcEngine.h:8671
agora::rtc::uid_t
unsigned int uid_t
Definition: AgoraMediaBase.h:29
agora::rtc::IRtcEngine::enableWirelessAccelerate
virtual int enableWirelessAccelerate(bool enabled)=0
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::VIDEO_PROFILE_DEFAULT
@ VIDEO_PROFILE_DEFAULT
Definition: IAgoraRtcEngine.h:8725
agora::rtc::MEDIA_DEVICE_STATE_IDLE
@ MEDIA_DEVICE_STATE_IDLE
Definition: IAgoraRtcEngine.h:8568
agora::rtc::VideoCompositingLayout::canvasHeight
int canvasHeight
Definition: IAgoraRtcEngine.h:601
agora::rtc::VIDEO_PROFILE_PORTRAIT_180P_4
@ VIDEO_PROFILE_PORTRAIT_180P_4
Definition: IAgoraRtcEngine.h:8663
agora::rtc::ChannelMediaOptions::token
Optional< const char * > token
Definition: IAgoraRtcEngine.h:1238
agora::rtc::RemoteAudioStats::numChannels
int numChannels
Definition: IAgoraRtcEngine.h:373
agora::rtc::RemoteVideoStats::packetLossRate
int packetLossRate
Definition: IAgoraRtcEngine.h:508
AgoraRhythmPlayerConfig
Definition: AgoraObjects.h:3070
agora::media::IAudioSpectrumObserver
Definition: AgoraMediaBase.h:1320
agora::rtc::QUALITY_ADAPT_INDICATION
QUALITY_ADAPT_INDICATION
Definition: AgoraBase.h:2312
agora::rtc::IRtcEngine::stopLastmileProbeTest
virtual int stopLastmileProbeTest()=0
agora::rtc::PublisherConfiguration::injectStreamUrl
const char * injectStreamUrl
Definition: IAgoraRtcEngine.h:729
agora::rtc::VIDEO_APPLICATION_SCENARIO_TYPE
VIDEO_APPLICATION_SCENARIO_TYPE
Definition: AgoraBase.h:2592
agora::rtc::PublisherConfiguration::injectStreamWidth
int injectStreamWidth
Definition: IAgoraRtcEngine.h:723
agora::rtc::IRtcEngineEventHandler::onClientRoleChanged
virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions &newRoleOptions)
Definition: IAgoraRtcEngine.h:2436
agora::rtc::IRtcEngine::startPreview
virtual int startPreview(VIDEO_SOURCE_TYPE sourceType)=0
agora::rtc::VideoCompositingLayout::Region::y
double y
Definition: IAgoraRtcEngine.h:561
agora::rtc::IRtcEngine::getCurrentMonotonicTimeInMs
virtual int64_t getCurrentMonotonicTimeInMs()=0
agora::rtc::IRtcEngineEventHandler::~IRtcEngineEventHandler
virtual ~IRtcEngineEventHandler()
Definition: IAgoraRtcEngine.h:1501
agora::rtc::IRtcEngineEventHandler::onLocalVideoStats
virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats &stats)
Definition: IAgoraRtcEngine.h:2068
agora::rtc::ExtensionInfo
Definition: IAgoraRtcEngine.h:3560
BEGIN_COMPARE
#define BEGIN_COMPARE()
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::VIDEO_PROFILE_LANDSCAPE_4K
@ VIDEO_PROFILE_LANDSCAPE_4K
Definition: IAgoraRtcEngine.h:8651
agora::rtc::RemoteVideoStats::totalActiveTime
int totalActiveTime
Definition: IAgoraRtcEngine.h:532
agora::rtc::IRtcEngine::setRemoteRenderRotation
virtual int setRemoteRenderRotation(uid_t uid, VIDEO_ORIENTATION rotation)=0
agora::rtc::IRtcEngineEventHandler::onUserInfoUpdated
virtual void onUserInfoUpdated(uid_t uid, const UserInfo &info)
Definition: IAgoraRtcEngine.h:2784
agora::rtc::ImageTrackOptions::mirrorMode
VIDEO_MIRROR_MODE_TYPE mirrorMode
Definition: IAgoraRtcEngine.h:1023
agora::rtc::RemoteAudioStats::totalFrozenTime
int totalFrozenTime
Definition: IAgoraRtcEngine.h:389
agora::rtc::LocalAccessPointConfiguration
Definition: AgoraBase.h:6075
agora::rtc::CAMERA_REAR
@ CAMERA_REAR
Definition: IAgoraRtcEngine.h:763
agora::media::base::RENDER_MODE_HIDDEN
@ RENDER_MODE_HIDDEN
Definition: AgoraMediaBase.h:614
agora::rtc::IRtcEngineEventHandler::onWlAccStats
virtual void onWlAccStats(WlAccStats currentStats, WlAccStats averageStats)
Definition: IAgoraRtcEngine.h:2712
agora::rtc::MEDIA_DEVICE_STATE_UNPLUGGED
@ MEDIA_DEVICE_STATE_UNPLUGGED
Definition: IAgoraRtcEngine.h:8580
agora::rtc::AUDIO_MIXING_REASON_TOO_FREQUENT_CALL
@ AUDIO_MIXING_REASON_TOO_FREQUENT_CALL
Definition: IAgoraRtcEngine.h:94
agora::rtc::RemoteAudioStats::receivedBitrate
int receivedBitrate
Definition: IAgoraRtcEngine.h:382
agora::rtc::IMetadataObserver::getMaxMetadataSize
virtual int getMaxMetadataSize()
Definition: IAgoraRtcEngine.h:3277
agora::rtc::RtcEngineContext::threadPriority
Optional< THREAD_PRIORITY_TYPE > threadPriority
Definition: IAgoraRtcEngine.h:3183
agora::rtc::VIDEO_PROFILE_PORTRAIT_720P_5
@ VIDEO_PROFILE_PORTRAIT_720P_5
Definition: IAgoraRtcEngine.h:8707
agora::rtc::INJECT_STREAM_STATUS_START_SUCCESS
@ INJECT_STREAM_STATUS_START_SUCCESS
Definition: IAgoraRtcEngine.h:114
agora::rtc::LiveTranscoding
Definition: AgoraBase.h:3648
agora::rtc::IRtcEngineEventHandler::onLocalUserRegistered
virtual void onLocalUserRegistered(uid_t uid, const char *userAccount)
Definition: IAgoraRtcEngine.h:2771
agora::rtc::IRtcEngineEventHandler::onWlAccMessage
virtual void onWlAccMessage(WLACC_MESSAGE_REASON reason, WLACC_SUGGEST_ACTION action, const char *wlAccMsg)
Definition: IAgoraRtcEngine.h:2701
agora::rtc::IRtcEngineEventHandler::onVideoStopped
virtual void onVideoStopped() 1
Definition: IAgoraRtcEngine.h:2168
agora::rtc::ChannelMediaOptions::autoSubscribeVideo
Optional< bool > autoSubscribeVideo
Definition: IAgoraRtcEngine.h:1190
agora::AUDIO_SESSION_OPERATION_RESTRICTION
AUDIO_SESSION_OPERATION_RESTRICTION
Definition: AgoraBase.h:775
agora::rtc::RemoteVideoStats::decoderOutputFrameRate
int decoderOutputFrameRate
Definition: IAgoraRtcEngine.h:499
agora::rtc::VIDEO_RENDER_DEVICE
@ VIDEO_RENDER_DEVICE
Definition: IAgoraRtcEngine.h:53
agora::rtc::VIDEO_PROFILE_LANDSCAPE_120P
@ VIDEO_PROFILE_LANDSCAPE_120P
Definition: IAgoraRtcEngine.h:8585
agora::rtc::IRtcEngine::updateChannelMediaRelay
virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) 1=0
agora::rtc::Rectangle
Definition: AgoraBase.h:2008
agora::rtc::IDirectCdnStreamingEventHandler::onDirectCdnStreamingStateChanged
virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_ERROR error, const char *message)
Definition: IAgoraRtcEngine.h:3377
agora::rtc::IRtcEngineEventHandler::onUserOffline
virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:1950
agora::rtc::CameraCapturerConfiguration::format
VideoFormat format
Definition: IAgoraRtcEngine.h:806
agora::rtc::AUDIO_SAMPLE_RATE_48000
@ AUDIO_SAMPLE_RATE_48000
Definition: AgoraBase.h:3257
agora::rtc::ChannelMediaOptions::operator=
ChannelMediaOptions & operator=(const ChannelMediaOptions &replace)
Definition: IAgoraRtcEngine.h:1383
agora::rtc::ScreenCaptureConfiguration::regionRect
Rectangle regionRect
Definition: IAgoraRtcEngine.h:856
agora::rtc::DirectCdnStreamingStats::audioBitrate
int audioBitrate
Definition: IAgoraRtcEngine.h:3360
agora::rtc::IRtcEngine::unregisterAudioSpectrumObserver
virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
agora::rtc::IRtcEngineEventHandler::onLocalAudioStateChanged
virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error)
Definition: IAgoraRtcEngine.h:2358
agora::rtc::CameraCapturerConfiguration::followEncodeDimensionRatio
bool followEncodeDimensionRatio
Definition: IAgoraRtcEngine.h:807
agora::rtc::ChannelMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition: IAgoraRtcEngine.h:1132
agora::rtc::IRtcEngine::setColorEnhanceOptions
virtual int setColorEnhanceOptions(bool enabled, const ColorEnhanceOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IRtcEngineEventHandler::onAudioPublishStateChanged
virtual void onAudioPublishStateChanged(const char *channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)
Definition: IAgoraRtcEngine.h:2842
agora::rtc::INJECT_STREAM_STATUS_STOP_TIMEDOUT
@ INJECT_STREAM_STATUS_STOP_TIMEDOUT
Definition: IAgoraRtcEngine.h:146
agora::rtc::InjectStreamConfig::audioChannels
int audioChannels
Definition: IAgoraRtcEngine.h:662
agora::rtc::QUALITY_REPORT_FORMAT_TYPE
QUALITY_REPORT_FORMAT_TYPE
Definition: IAgoraRtcEngine.h:8555
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:2826
agora::rtc::IRtcEngineEventHandler::onAudioQuality
virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay, unsigned short lost) 1
Definition: IAgoraRtcEngine.h:1576
agora::rtc::ChannelMediaOptions::customVideoTrackId
Optional< video_track_id_t > customVideoTrackId
Definition: IAgoraRtcEngine.h:1265
agora::rtc::IRtcEngine::setVoiceConversionPreset
virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset)=0
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_6
@ VIDEO_PROFILE_LANDSCAPE_480P_6
Definition: IAgoraRtcEngine.h:8625
agora::rtc::InjectStreamConfig::InjectStreamConfig
InjectStreamConfig()
Definition: IAgoraRtcEngine.h:666
agora::rtc::IRtcEngine::unregisterEventHandler
virtual bool unregisterEventHandler(IRtcEngineEventHandler *eventHandler)=0
agora::rtc::IRtcEngine::setLocalVideoMirrorMode
virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
agora::rtc::IMetadataObserver::Metadata::uid
unsigned int uid
Definition: IAgoraRtcEngine.h:3252
agora::rtc::IRtcEngineEventHandlerEx
Definition: IAgoraRtcEngineEx.h:42
agora::rtc::IRtcEngine::complain
virtual int complain(const char *callId, const char *description)=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_8
@ VIDEO_PROFILE_PORTRAIT_360P_8
Definition: IAgoraRtcEngine.h:8681
agora::rtc::IRtcEngineEventHandler::onRtmpStreamingEvent
virtual void onRtmpStreamingEvent(const char *url, RTMP_STREAMING_EVENT eventCode)
Definition: IAgoraRtcEngine.h:2488
agora::rtc::AUDIO_EQUALIZATION_BAND_250
@ AUDIO_EQUALIZATION_BAND_250
Definition: IAgoraRtcEngine.h:176
agora::util::AutoPtr
Definition: AgoraBase.h:89
agora::rtc::IRtcEngine::startRhythmPlayer
virtual int startRhythmPlayer(const char *sound1, const char *sound2, const AgoraRhythmPlayerConfig &config)=0
agora::rtc::IRtcEngine::queryInterface
virtual int queryInterface(INTERFACE_ID_TYPE iid, void **inter)=0
agora::rtc::IRtcEngineEventHandler::onActiveSpeaker
virtual void onActiveSpeaker(uid_t userId)
Definition: IAgoraRtcEngine.h:2399
agora::rtc::HTTPS_PROXY_TYPE
@ HTTPS_PROXY_TYPE
Definition: IAgoraRtcEngine.h:1455
agora::rtc::RemoteVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition: IAgoraRtcEngine.h:502
agora::rtc::AdvancedAudioOptions::audioProcessingChannels
Optional< int > audioProcessingChannels
Definition: IAgoraRtcEngine.h:1014
agora::rtc::IRtcEngineEventHandler::onCameraExposureAreaChanged
virtual void onCameraExposureAreaChanged(int x, int y, int width, int height)
Definition: IAgoraRtcEngine.h:2114
agora::rtc::IRtcEngine::setHeadphoneEQParameters
virtual int setHeadphoneEQParameters(int lowGain, int highGain)=0
agora::rtc::VideoCompositingLayout::Region::x
double x
Definition: IAgoraRtcEngine.h:558
agora::rtc::ChannelMediaOptions::publishLoopbackAudioTrack
Optional< bool > publishLoopbackAudioTrack
Definition: IAgoraRtcEngine.h:1122
agora::rtc::IRtcEngine::stopAudioFrameDump
virtual int stopAudioFrameDump(const char *channel_id, uid_t user_id, const char *location)=0
agora::rtc::IRtcEngine::startChannelMediaRelay
virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) 1=0
agora::rtc::RemoteAudioStats::qualityChangedReason
int qualityChangedReason
Definition: IAgoraRtcEngine.h:438
agora::rtc::IRtcEngine::enableSoundPositionIndication
virtual int enableSoundPositionIndication(bool enabled)=0
agora::view_t
void * view_t
Definition: AgoraBase.h:801
agora::rtc::DIRECT_CDN_STREAMING_ERROR_BAD_NAME
@ DIRECT_CDN_STREAMING_ERROR_BAD_NAME
Definition: IAgoraRtcEngine.h:3315
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1440P_2
@ VIDEO_PROFILE_LANDSCAPE_1440P_2
Definition: IAgoraRtcEngine.h:8649
agora::rtc::AUDIO_MIXING_REASON_STOPPED_BY_USER
@ AUDIO_MIXING_REASON_STOPPED_BY_USER
Definition: IAgoraRtcEngine.h:102
agora::rtc::IRtcEngineEventHandler::onUserMuteVideo
virtual void onUserMuteVideo(uid_t userId, bool muted)
Definition: IAgoraRtcEngine.h:1986
agora::rtc::IRtcEngine::setCloudProxy
virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType)=0
agora::rtc::VideoEncoderConfiguration
Definition: AgoraBase.h:1775
agora::rtc::RemoteAudioStats::quality
int quality
Definition: IAgoraRtcEngine.h:355
agora::rtc::IRtcEngineEventHandler
Definition: IAgoraRtcEngine.h:1499
agora::rtc::LocalVideoStats::encodedFrameHeight
int encodedFrameHeight
Definition: IAgoraRtcEngine.h:301
agora::rtc::IRtcEngine::muteRemoteAudioStream
virtual int muteRemoteAudioStream(uid_t uid, bool mute)=0
agora::rtc::AUDIO_REVERB_WET_DELAY
@ AUDIO_REVERB_WET_DELAY
Definition: IAgoraRtcEngine.h:222
agora::rtc::PRIORITY_TYPE
PRIORITY_TYPE
Definition: IAgoraRtcEngine.h:245
agora::rtc::INJECT_STREAM_STATUS_BROKEN
@ INJECT_STREAM_STATUS_BROKEN
Definition: IAgoraRtcEngine.h:154
agora::rtc::VOICE_CONVERSION_PRESET
VOICE_CONVERSION_PRESET
Definition: AgoraBase.h:4820
agora::rtc::IRtcEngineEventHandler::onUserEnableVideo
virtual void onUserEnableVideo(uid_t uid, bool enabled)
Definition: IAgoraRtcEngine.h:2003
agora::rtc::LocalVideoStats::dualStreamEnabled
bool dualStreamEnabled
Definition: IAgoraRtcEngine.h:335
agora::rtc::IRtcEngine::setLogFilter
virtual int setLogFilter(unsigned int filter)=0
agora::rtc::VIDEO_BEAUTY_EFFECT
@ VIDEO_BEAUTY_EFFECT
Definition: IAgoraRtcEngine.h:1460
agora::rtc::ChannelMediaOptions::publishTranscodedVideoTrack
Optional< bool > publishTranscodedVideoTrack
Definition: IAgoraRtcEngine.h:1156
agora::rtc::IRtcEngine::startPreview
virtual int startPreview()=0
agora::rtc::IRtcEngine::enableVideoImageSource
virtual int enableVideoImageSource(bool enable, const ImageTrackOptions &options)=0
enable or disable video image source to replace the current video source published or resume it
agora::rtc::VideoSubscriptionOptions
Definition: AgoraBase.h:1544
agora::rtc::IRtcEngineEventHandler::onAudioRoutingChanged
virtual void onAudioRoutingChanged(int routing) 1
Definition: IAgoraRtcEngine.h:2520
agora::rtc::IRtcEngine::createDataStream
virtual int createDataStream(int *streamId, DataStreamConfig &config)=0
agora::rtc::VideoCompositingLayout::Region::width
double width
Definition: IAgoraRtcEngine.h:565
agora::rtc::DIRECT_CDN_STREAMING_STATE
DIRECT_CDN_STREAMING_STATE
Definition: IAgoraRtcEngine.h:3320
agora::rtc::LocalVideoStats::regulatedCaptureFrameHeight
int regulatedCaptureFrameHeight
Definition: IAgoraRtcEngine.h:292
agora::rtc::LocalVideoStats::regulatedCaptureFrameRate
int regulatedCaptureFrameRate
Definition: IAgoraRtcEngine.h:284
agora::rtc::VOICE_BEAUTIFIER_PRESET
VOICE_BEAUTIFIER_PRESET
Definition: AgoraBase.h:4616
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1440P
@ VIDEO_PROFILE_LANDSCAPE_1440P
Definition: IAgoraRtcEngine.h:8647
agora::rtc::IRtcEngine::setScreenCaptureOrientation
virtual int setScreenCaptureOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation)=0
agora::rtc::CLOUD_PROXY_TYPE
CLOUD_PROXY_TYPE
Definition: IAgoraRtcEngine.h:772
agora::rtc::RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL
@ RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL
Definition: IAgoraRtcEngine.h:682
agora::rtc::IRtcEngine::joinChannel
virtual int joinChannel(const char *token, const char *channelId, const char *info, uid_t uid)=0
agora::rtc::PublisherConfiguration::extraInfo
const char * extraInfo
Definition: IAgoraRtcEngine.h:740
agora::rtc::EchoTestConfiguration
Definition: AgoraBase.h:5749
agora::rtc::RtcImage
Definition: AgoraBase.h:3470
agora::rtc::DIRECT_CDN_STREAMING_ERROR_OK
@ DIRECT_CDN_STREAMING_ERROR_OK
Definition: IAgoraRtcEngine.h:3305
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_11
@ VIDEO_PROFILE_PORTRAIT_360P_11
Definition: IAgoraRtcEngine.h:8687
agora::rtc::AUDIO_SCENARIO_DEFAULT
@ AUDIO_SCENARIO_DEFAULT
Definition: AgoraBase.h:2466
agora::rtc::IRtcEngineEventHandler::onError
virtual void onError(int err, const char *msg)
Definition: IAgoraRtcEngine.h:1556
agora::rtc::IRtcEngineEventHandler::onVideoRenderingTracingResult
virtual void onVideoRenderingTracingResult(uid_t uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo)
Definition: IAgoraRtcEngine.h:2951
agora::media::PRIMARY_CAMERA_SOURCE
@ PRIMARY_CAMERA_SOURCE
Definition: AgoraMediaBase.h:287
agora::rtc::ChannelMediaOptions::publishSecondaryCameraTrack
Optional< bool > publishSecondaryCameraTrack
Definition: IAgoraRtcEngine.h:1047
agora::rtc::ChannelMediaOptions::publishEncodedVideoTrack
Optional< bool > publishEncodedVideoTrack
Definition: IAgoraRtcEngine.h:1138
agora::rtc::IRtcEngineEventHandler::onContentInspectResult
virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result)
Definition: IAgoraRtcEngine.h:2404
agora::rtc::IRtcEngineEventHandler::onAudioVolumeIndication
virtual void onAudioVolumeIndication(const AudioVolumeInfo *speakers, unsigned int speakerNumber, int totalVolume)
Definition: IAgoraRtcEngine.h:1619
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_9
@ VIDEO_PROFILE_LANDSCAPE_360P_9
Definition: IAgoraRtcEngine.h:8613
agora::rtc::IRtcEngine::preloadChannel
virtual int preloadChannel(const char *token, const char *channelId, uid_t uid)=0
agora::rtc::RTMP_STREAM_PUBLISH_ERROR_TYPE
RTMP_STREAM_PUBLISH_ERROR_TYPE
Definition: AgoraBase.h:3377
agora::rtc::HTTP_PROXY_TYPE
@ HTTP_PROXY_TYPE
Definition: IAgoraRtcEngine.h:1452
agora::rtc::IRtcEngineEventHandler::onUserEnableLocalVideo
virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) 1
Definition: IAgoraRtcEngine.h:2028
agora::rtc::IRtcEngineEventHandler::onLocalPublishFallbackToAudioOnly
virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover)
Definition: IAgoraRtcEngine.h:2609
agora::rtc::IRtcEngine::getNetworkType
virtual int getNetworkType()=0
agora::rtc::IRtcEngine::setDefaultMuteAllRemoteAudioStreams
virtual int setDefaultMuteAllRemoteAudioStreams(bool mute) 1=0
agora::rtc::AUDIO_REVERB_STRENGTH
@ AUDIO_REVERB_STRENGTH
Definition: IAgoraRtcEngine.h:226
agora::rtc::ChannelMediaOptions::publishCustomAudioTrackId
Optional< int > publishCustomAudioTrackId
Definition: IAgoraRtcEngine.h:1116
agora::rtc::SimulcastStreamConfig
Definition: AgoraBase.h:1985
agora::rtc::RemoteVideoStats::totalFrozenTime
int totalFrozenTime
Definition: IAgoraRtcEngine.h:518
agora::rtc::IRtcEngineEventHandler::onUploadLogResult
virtual void onUploadLogResult(const char *requestId, bool success, UPLOAD_ERROR_REASON reason)
Definition: IAgoraRtcEngine.h:2794
agora::rtc::PRIORITY_NORMAL
@ PRIORITY_NORMAL
Definition: IAgoraRtcEngine.h:251
agora::rtc::IRtcEngine::setEarMonitoringAudioFrameParameters
virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
agora::rtc::IRtcEngineEventHandler::onRejoinChannelSuccess
virtual void onRejoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1530
agora::rtc::VIDEO_CONTENT_HINT
VIDEO_CONTENT_HINT
Definition: AgoraBase.h:2541
agora::rtc::IRtcEngine::muteAllRemoteVideoStreams
virtual int muteAllRemoteVideoStreams(bool mute)=0
agora::rtc::IRtcEngine::createDataStream
virtual int createDataStream(int *streamId, bool reliable, bool ordered)=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_180P
@ VIDEO_PROFILE_PORTRAIT_180P
Definition: IAgoraRtcEngine.h:8659
agora::rtc::ChannelMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition: IAgoraRtcEngine.h:1112
agora::rtc::PublisherConfiguration::publishUrl
const char * publishUrl
Definition: IAgoraRtcEngine.h:733
agora::rtc::IRtcEngine::getErrorDescription
virtual const char * getErrorDescription(int code)=0
agora::rtc::VIDEO_MIRROR_MODE_TYPE
VIDEO_MIRROR_MODE_TYPE
Definition: AgoraBase.h:1721
agora::rtc::PublisherConfiguration::owner
bool owner
Definition: IAgoraRtcEngine.h:720
agora::rtc::IRtcEngineEventHandler::onExtensionEvent
virtual void onExtensionEvent(const char *provider, const char *extension, const char *key, const char *value)
Definition: IAgoraRtcEngine.h:2875
agora::rtc::IMetadataObserver::onReadyToSendMetadata
virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type)=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_9
@ VIDEO_PROFILE_PORTRAIT_360P_9
Definition: IAgoraRtcEngine.h:8683
agora::rtc::ExtensionInfo::remoteUid
uid_t remoteUid
Definition: IAgoraRtcEngine.h:3571
agora::rtc::IRtcEngine::enableDualStreamMode
virtual int enableDualStreamMode(bool enabled, const SimulcastStreamConfig &streamConfig) 1=0
agora::rtc::IRtcEngineEventHandler::onRemoteVideoStats
virtual void onRemoteVideoStats(const RemoteVideoStats &stats)
Definition: IAgoraRtcEngine.h:2081
agora::rtc::VIDEO_PROFILE_PORTRAIT_1080P
@ VIDEO_PROFILE_PORTRAIT_1080P
Definition: IAgoraRtcEngine.h:8711
agora::rtc::ChannelMediaOptions::publishScreenCaptureVideo
Optional< bool > publishScreenCaptureVideo
Definition: IAgoraRtcEngine.h:1073
agora::rtc::IRtcEngine::destroyCustomVideoTrack
virtual int destroyCustomVideoTrack(video_track_id_t video_track_id)=0
agora::rtc::VideoCompositingLayout::Region::renderMode
media::base::RENDER_MODE_TYPE renderMode
Definition: IAgoraRtcEngine.h:579
agora::rtc::RemoteAudioStats::frozenRateByCustomPlcCount
uint32_t frozenRateByCustomPlcCount
Definition: IAgoraRtcEngine.h:416
agora::rtc::IRtcEngine::enableInstantMediaRendering
virtual int enableInstantMediaRendering()=0
Enable instant media rendering.
agora::rtc::VIDEO_PROFILE_PORTRAIT_1080P_5
@ VIDEO_PROFILE_PORTRAIT_1080P_5
Definition: IAgoraRtcEngine.h:8715
agora::rtc::LocalVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition: IAgoraRtcEngine.h:304
agora::rtc::AUDIO_MIXING_STATE_FAILED
@ AUDIO_MIXING_STATE_FAILED
Definition: IAgoraRtcEngine.h:84
agora::rtc::CLIENT_ROLE_TYPE
CLIENT_ROLE_TYPE
Definition: AgoraBase.h:2298
agora::rtc::IMetadataObserver
Definition: IAgoraRtcEngine.h:3219
agora::rtc::IRtcEngine::getCallId
virtual int getCallId(agora::util::AString &callId)=0
agora::rtc::IRtcEngine::createMediaRecorder
virtual agora_refptr< IMediaRecorder > createMediaRecorder(const RecorderStreamInfo &info)=0
agora
Definition: AgoraAtomicOps.h:21
agora::rtc::NONE_PROXY
@ NONE_PROXY
Definition: IAgoraRtcEngine.h:775
agora::rtc::IRtcEngine::setSubscribeVideoAllowlist
virtual int setSubscribeVideoAllowlist(uid_t *uidList, int uidNumber)=0
agora::rtc::IRtcEngine::release
virtual void release(bool sync=false)=0
agora::rtc::RemoteAudioStats::mosValue
int mosValue
Definition: IAgoraRtcEngine.h:411
agora::rtc::RemoteVideoStats::receivedBitrate
int receivedBitrate
Definition: IAgoraRtcEngine.h:496
agora::rtc::ColorEnhanceOptions
Definition: AgoraBase.h:4421
agora::rtc::INJECT_STREAM_STATUS_START_ALREADY_EXISTS
@ INJECT_STREAM_STATUS_START_ALREADY_EXISTS
Definition: IAgoraRtcEngine.h:118
agora::rtc::VIDEO_PROFILE_PORTRAIT_240P
@ VIDEO_PROFILE_PORTRAIT_240P
Definition: IAgoraRtcEngine.h:8665
agora::rtc::CAMERA_FRONT
@ CAMERA_FRONT
Definition: IAgoraRtcEngine.h:765
agora::rtc::PublisherConfiguration::framerate
int framerate
Definition: IAgoraRtcEngine.h:702
agora::rtc::VIDEO_PROFILE_PORTRAIT_240P_3
@ VIDEO_PROFILE_PORTRAIT_240P_3
Definition: IAgoraRtcEngine.h:8667
agora::rtc::ENCRYPTION_ERROR_TYPE
ENCRYPTION_ERROR_TYPE
Definition: AgoraBase.h:5635
agora::rtc::WLACC_SUGGEST_ACTION
WLACC_SUGGEST_ACTION
Definition: AgoraBase.h:4120
agora::rtc::AUDIO_VIRTUAL_PLAYOUT_DEVICE
@ AUDIO_VIRTUAL_PLAYOUT_DEVICE
Definition: IAgoraRtcEngine.h:65
agora::rtc::IRtcEngineEventHandler::onLocalVideoStateChanged
virtual void onLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_ERROR error)
Definition: IAgoraRtcEngine.h:1874
agora::rtc::CAPTURE_BRIGHTNESS_LEVEL_TYPE
CAPTURE_BRIGHTNESS_LEVEL_TYPE
Definition: AgoraBase.h:2606
agora::rtc::IRtcEngineEventHandler::onSnapshotTaken
virtual void onSnapshotTaken(uid_t uid, const char *filePath, int width, int height, int errCode)
Definition: IAgoraRtcEngine.h:2422
agora::rtc::IRtcEngine::registerMediaMetadataObserver
virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type)=0
agora::rtc::UplinkNetworkInfo
Definition: AgoraBase.h:5418
agora::rtc::IRtcEngine::stopChannelMediaRelay
virtual int stopChannelMediaRelay()=0
agora::rtc::PublisherConfiguration::bitrate
int bitrate
Definition: IAgoraRtcEngine.h:706
agora::rtc::IRtcEngine::updatePreloadChannelToken
virtual int updatePreloadChannelToken(const char *token)=0
agora::rtc::IRtcEngine::getNtpWallTimeInMs
virtual uint64_t getNtpWallTimeInMs()=0
agora::rtc::IRtcEngine::destroyCustomEncodedVideoTrack
virtual int destroyCustomEncodedVideoTrack(video_track_id_t video_track_id)=0
agora::rtc::AUDIO_MIXING_REASON_OK
@ AUDIO_MIXING_REASON_OK
Definition: IAgoraRtcEngine.h:104
agora::rtc::RemoteVideoStats::frozenRate
int frozenRate
Definition: IAgoraRtcEngine.h:522
agora::rtc::IRtcEngine::adjustLoopbackSignalVolume
virtual int adjustLoopbackSignalVolume(int volume)=0
agora::rtc::VIDEO_PROFILE_LANDSCAPE_180P_3
@ VIDEO_PROFILE_LANDSCAPE_180P_3
Definition: IAgoraRtcEngine.h:8591
agora::rtc::IRtcEngine::updateDirectCdnStreamingMediaOptions
virtual int updateDirectCdnStreamingMediaOptions(const DirectCdnStreamingMediaOptions &options)=0
agora::rtc::IRtcEngine::setHighPriorityUserList
virtual int setHighPriorityUserList(uid_t *uidList, int uidNum, STREAM_FALLBACK_OPTIONS option)=0
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_8
@ VIDEO_PROFILE_LANDSCAPE_480P_8
Definition: IAgoraRtcEngine.h:8627
agora::rtc::AVideoDeviceManager
Definition: IAgoraRtcEngine.h:8547
agora::rtc::ChannelMediaOptions::publishFourthCameraTrack
Optional< bool > publishFourthCameraTrack
Definition: IAgoraRtcEngine.h:1059
agora::rtc::IRtcEngine::setSubscribeAudioAllowlist
virtual int setSubscribeAudioAllowlist(uid_t *uidList, int uidNumber)=0
agora::rtc::SIMULCAST_STREAM_MODE
SIMULCAST_STREAM_MODE
Definition: AgoraBase.h:1967
agora::rtc::RemoteAudioStats::publishDuration
int publishDuration
Definition: IAgoraRtcEngine.h:430
agora::rtc::IRtcEngine::setDirectCdnStreamingAudioConfiguration
virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile)=0
agora::rtc::VIDEO_PROFILE_LANDSCAPE_180P
@ VIDEO_PROFILE_LANDSCAPE_180P
Definition: IAgoraRtcEngine.h:8589
agora::rtc::LocalTranscoderConfiguration
Definition: AgoraBase.h:3829
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_9
@ VIDEO_PROFILE_PORTRAIT_480P_9
Definition: IAgoraRtcEngine.h:8699
agora::rtc::IRtcEngine::startMediaRenderingTracing
virtual int startMediaRenderingTracing()=0
Start tracing media rendering events.
agora::rtc::IRtcEngine::setLocalRenderMode
virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
agora::rtc::REMOTE_VIDEO_STATE
REMOTE_VIDEO_STATE
Definition: AgoraBase.h:2946
agora::rtc::DirectCdnStreamingMediaOptions::SetAll
void SetAll(const DirectCdnStreamingMediaOptions &change)
Definition: IAgoraRtcEngine.h:3483
agora::rtc::RemoteAudioStats::audioLossRate
int audioLossRate
Definition: IAgoraRtcEngine.h:369
agora::rtc::VIDEO_PROFILE_PORTRAIT_1440P
@ VIDEO_PROFILE_PORTRAIT_1440P
Definition: IAgoraRtcEngine.h:8717
agora::rtc::IRtcEngine::pauseAllChannelMediaRelay
virtual int pauseAllChannelMediaRelay()=0
agora::rtc::IMetadataObserver::INVALID_METADATA_SIZE_IN_BYTE
@ INVALID_METADATA_SIZE_IN_BYTE
Definition: IAgoraRtcEngine.h:3239
agora::rtc::RemoteVideoStats::frameLossRate
int frameLossRate
Definition: IAgoraRtcEngine.h:505
agora::rtc::IRtcEngine::selectAudioTrack
virtual int selectAudioTrack(int index)=0
agora::rtc::InjectStreamConfig::videoFramerate
int videoFramerate
Definition: IAgoraRtcEngine.h:647
agora::rtc::RemoteAudioStats::receivedSampleRate
int receivedSampleRate
Definition: IAgoraRtcEngine.h:377
agora::rtc::IRtcEngine::updateRtmpTranscoding
virtual int updateRtmpTranscoding(const LiveTranscoding &transcoding)=0
agora::rtc::IPacketObserver
Definition: AgoraBase.h:3188
agora::rtc::LOCAL_VIDEO_STREAM_STATE
LOCAL_VIDEO_STREAM_STATE
Definition: AgoraBase.h:2716
agora::rtc::CONNECTION_CHANGED_REASON_TYPE
CONNECTION_CHANGED_REASON_TYPE
Definition: AgoraBase.h:3981
agora::rtc::AUDIO_EQUALIZATION_BAND_125
@ AUDIO_EQUALIZATION_BAND_125
Definition: IAgoraRtcEngine.h:172
agora::rtc::IRtcEngine::enableInEarMonitoring
virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters)=0
agora::rtc::ChannelMediaOptions::isInteractiveAudience
Optional< bool > isInteractiveAudience
Definition: IAgoraRtcEngine.h:1260
agora::rtc::ChannelMediaOptions::enableAudioRecordingOrPlayout
Optional< bool > enableAudioRecordingOrPlayout
Definition: IAgoraRtcEngine.h:1196
agora::rtc::VIDEO_PROFILE_PORTRAIT_120P_3
@ VIDEO_PROFILE_PORTRAIT_120P_3
Definition: IAgoraRtcEngine.h:8657
agora::rtc::RemoteVideoStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:472
agora::rtc::RemoteAudioStats::totalActiveTime
int totalActiveTime
Definition: IAgoraRtcEngine.h:426
agora::rtc::IRtcEngineEventHandler::onProxyConnected
virtual void onProxyConnected(const char *channel, uid_t uid, PROXY_TYPE proxyType, const char *localProxyIp, int elapsed)
Definition: IAgoraRtcEngine.h:1543
agora::rtc::DirectCdnStreamingStats
Definition: IAgoraRtcEngine.h:3336
agora::media::AUDIO_MIXING_DUAL_MONO_MODE
AUDIO_MIXING_DUAL_MONO_MODE
Definition: IAgoraMediaEngine.h:17
agora::rtc::VideoFormat
Definition: AgoraBase.h:2496
agora::rtc::LocalVideoStats::captureFrameHeight
int captureFrameHeight
Definition: IAgoraRtcEngine.h:280
agora::rtc::IRtcEngineEventHandler::onAudioRoutingChanged
virtual void onAudioRoutingChanged(int deviceType, int routing)
Definition: IAgoraRtcEngine.h:2530
agora::rtc::AGORA_IID_VIDEO_DEVICE_MANAGER
@ AGORA_IID_VIDEO_DEVICE_MANAGER
Definition: AgoraBase.h:854
agora::rtc::IRtcEngine::startEchoTest
virtual int startEchoTest(int intervalInSeconds)=0
agora::rtc::RTMP_STREAM_LIFE_CYCLE_TYPE
RTMP_STREAM_LIFE_CYCLE_TYPE
Definition: IAgoraRtcEngine.h:679
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::VIDEO_PROFILE_PORTRAIT_360P_6
@ VIDEO_PROFILE_PORTRAIT_360P_6
Definition: IAgoraRtcEngine.h:8677
agora::rtc::IRtcEngine::setVideoScenario
virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType)=0
agora::rtc::IRtcEngine::getUserInfoByUserAccount
virtual int getUserInfoByUserAccount(const char *userAccount, rtc::UserInfo *userInfo)=0
agora::rtc::DataStreamConfig
Definition: AgoraBase.h:1941
agora::rtc::IRtcEngineEventHandler::onVideoDeviceStateChanged
virtual void onVideoDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition: IAgoraRtcEngine.h:1697
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::PublisherConfiguration
Definition: IAgoraRtcEngine.h:690
agora::rtc::IRtcEngine::enableAudioVolumeIndication
virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad)=0
agora::rtc::IRtcEngine::setAVSyncSource
virtual int setAVSyncSource(const char *channelId, uid_t uid)=0
agora::rtc::DownlinkNetworkInfo
Definition: AgoraBase.h:5434
agora::rtc::VIDEO_PROFILE_PORTRAIT_240P_4
@ VIDEO_PROFILE_PORTRAIT_240P_4
Definition: IAgoraRtcEngine.h:8669
agora::rtc::IRtcEngineEventHandler::onUserJoined
virtual void onUserJoined(uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1931
agora::rtc::RemoteVideoStats::e2eDelay
int e2eDelay
Definition: IAgoraRtcEngine.h:484
agora::rtc::DirectCdnStreamingMediaOptions::customVideoTrackId
Optional< video_track_id_t > customVideoTrackId
Definition: IAgoraRtcEngine.h:3431
agora::rtc::AUDIO_EQUALIZATION_BAND_8K
@ AUDIO_EQUALIZATION_BAND_8K
Definition: IAgoraRtcEngine.h:196
REPLACE_BY
#define REPLACE_BY(X)
agora::rtc::IRtcEngine::setHeadphoneEQPreset
virtual int setHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset)=0
agora::rtc::DirectCdnStreamingMediaOptions
Definition: IAgoraRtcEngine.h:3391
agora::rtc::AdvancedAudioOptions
Definition: IAgoraRtcEngine.h:1010
agora::rtc::ScreenCaptureConfiguration::displayId
uint32_t displayId
Definition: IAgoraRtcEngine.h:834
agora::rtc::PERMISSION_TYPE
PERMISSION_TYPE
Definition: AgoraBase.h:5667
agora::rtc::AUDIO_MIXING_REASON_INTERRUPTED_EOF
@ AUDIO_MIXING_REASON_INTERRUPTED_EOF
Definition: IAgoraRtcEngine.h:96
agora::rtc::RemoteAudioStats::qoeQuality
int qoeQuality
Definition: IAgoraRtcEngine.h:434
agora::rtc::IRtcEngine::setLogFileSize
virtual int setLogFileSize(unsigned int fileSizeInKBytes)=0
agora::rtc::LocalVideoStats::regulatedCaptureFrameWidth
int regulatedCaptureFrameWidth
Definition: IAgoraRtcEngine.h:288
agora::rtc::InjectStreamConfig::audioSampleRate
AUDIO_SAMPLE_RATE_TYPE audioSampleRate
Definition: IAgoraRtcEngine.h:655
agora::rtc::IRtcEngineEventHandler::onExtensionStarted
virtual void onExtensionStarted(const char *provider, const char *extension)
Definition: IAgoraRtcEngine.h:2889
agora::rtc::IRtcEngine::startAudioRecording
virtual int startAudioRecording(const char *filePath, int sampleRate, AUDIO_RECORDING_QUALITY_TYPE quality)=0
agora::rtc::VideoCompositingLayout::regions
const Region * regions
Definition: IAgoraRtcEngine.h:608
agora::rtc::IVideoDeviceCollection::~IVideoDeviceCollection
virtual ~IVideoDeviceCollection()
Definition: IAgoraRtcEngine.h:2963
agora::commons::LOG_LEVEL
OPTIONAL_ENUM_CLASS LOG_LEVEL
Definition: IAgoraLog.h:33
agora::rtc::AUDIO_MIXING_STATE_PLAYING
@ AUDIO_MIXING_STATE_PLAYING
Definition: IAgoraRtcEngine.h:77
agora::rtc::DIRECT_CDN_STREAMING_STATE_IDLE
@ DIRECT_CDN_STREAMING_STATE_IDLE
Definition: IAgoraRtcEngine.h:3322
agora::rtc::IRtcEngine::addVideoWatermark
virtual int addVideoWatermark(const char *watermarkUrl, const WatermarkOptions &options)=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_8
@ VIDEO_PROFILE_PORTRAIT_480P_8
Definition: IAgoraRtcEngine.h:8697
agora::rtc::IRtcEngineEventHandler::onRemoteSubscribeFallbackToAudioOnly
virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover)
Definition: IAgoraRtcEngine.h:2629
agora::rtc::DirectCdnStreamingMediaOptions::publishCameraTrack
Optional< bool > publishCameraTrack
Definition: IAgoraRtcEngine.h:3397
agora::media::UNKNOWN_MEDIA_SOURCE
@ UNKNOWN_MEDIA_SOURCE
Definition: AgoraMediaBase.h:335
agora::rtc::IRtcEngineEventHandler::onNetworkTypeChanged
virtual void onNetworkTypeChanged(NETWORK_TYPE type)
Definition: IAgoraRtcEngine.h:2726
agora::rtc::RtcEngineContext::eventHandler
IRtcEngineEventHandler * eventHandler
Definition: IAgoraRtcEngine.h:3121
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_3
@ VIDEO_PROFILE_LANDSCAPE_480P_3
Definition: IAgoraRtcEngine.h:8621
agora::rtc::INJECT_STREAM_STATUS_STOP_FAILED
@ INJECT_STREAM_STATUS_STOP_FAILED
Definition: IAgoraRtcEngine.h:150
agora::rtc::IRtcEngine::setRemoteVideoSubscriptionOptions
virtual int setRemoteVideoSubscriptionOptions(uid_t uid, const VideoSubscriptionOptions &options)=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_10
@ VIDEO_PROFILE_PORTRAIT_480P_10
Definition: IAgoraRtcEngine.h:8701
agora::rtc::IRtcEngine::startScreenCapture
virtual int startScreenCapture(VIDEO_SOURCE_TYPE sourceType, const ScreenCaptureConfiguration &config)=0
agora::rtc::IRtcEngine::disableVideo
virtual int disableVideo()=0
agora::rtc::AVideoDeviceManager::AVideoDeviceManager
AVideoDeviceManager(IRtcEngine *engine)
Definition: IAgoraRtcEngine.h:8549
agora::rtc::LocalVideoStats::hwEncoderAccelerating
int hwEncoderAccelerating
Definition: IAgoraRtcEngine.h:340
agora::rtc::IRtcEngineEventHandler::onRemoteVideoStateChanged
virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed)
Definition: IAgoraRtcEngine.h:1891
agora::rtc::IAudioEncodedFrameObserver
Definition: AgoraBase.h:5124
agora::rtc::DirectCdnStreamingMediaOptions::operator=
DirectCdnStreamingMediaOptions & operator=(const DirectCdnStreamingMediaOptions &replace)
Definition: IAgoraRtcEngine.h:3532
agora::rtc::IRtcEngine::setAudioScenario
virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario)=0
agora::rtc::IDirectCdnStreamingEventHandler::~IDirectCdnStreamingEventHandler
virtual ~IDirectCdnStreamingEventHandler()
Definition: IAgoraRtcEngine.h:3369
agora::rtc::IRtcEngine::setLocalAccessPoint
virtual int setLocalAccessPoint(const LocalAccessPointConfiguration &config)=0
agora::rtc::IRtcEngineEventHandler::onLocalVideoTranscoderError
virtual void onLocalVideoTranscoderError(const TranscodingVideoStream &stream, VIDEO_TRANSCODER_ERROR error)
Definition: IAgoraRtcEngine.h:2939
agora::rtc::IRtcEngine::setExtensionProviderProperty
virtual int setExtensionProviderProperty(const char *provider, const char *key, const char *value)=0
agora::rtc::LeaveChannelOptions
Definition: IAgoraRtcEngine.h:1466
agora::rtc::VIDEO_PROFILE_PORTRAIT_120P
@ VIDEO_PROFILE_PORTRAIT_120P
Definition: IAgoraRtcEngine.h:8655
agora::CHANNEL_PROFILE_TYPE
CHANNEL_PROFILE_TYPE
Definition: AgoraBase.h:256
agora::rtc::LocalVideoStats::sentBitrate
int sentBitrate
Definition: IAgoraRtcEngine.h:267
agora::rtc::ChannelMediaOptions::ChannelMediaOptions
ChannelMediaOptions()
Definition: IAgoraRtcEngine.h:1278
agora::rtc::IRtcEngine::stopPreview
virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType)=0
agora::rtc::DIRECT_CDN_STREAMING_ERROR_AUDIO_PUBLICATION
@ DIRECT_CDN_STREAMING_ERROR_AUDIO_PUBLICATION
Definition: IAgoraRtcEngine.h:3309
agora::rtc::STREAM_SUBSCRIBE_STATE
STREAM_SUBSCRIBE_STATE
Definition: AgoraBase.h:5692
agora::rtc::IRtcEngine::startRtmpStreamWithTranscoding
virtual int startRtmpStreamWithTranscoding(const char *url, const LiveTranscoding &transcoding)=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P
@ VIDEO_PROFILE_PORTRAIT_480P
Definition: IAgoraRtcEngine.h:8689
agora::rtc::IRtcEngineEventHandler::onFirstLocalAudioFramePublished
virtual void onFirstLocalAudioFramePublished(int elapsed)
Definition: IAgoraRtcEngine.h:2307
agora::rtc::IRtcEngine::queryDeviceScore
virtual int queryDeviceScore()=0
agora::rtc::ChannelMediaRelayConfiguration
Definition: AgoraBase.h:5373
agora::rtc::IRtcEngine::enableExtension
virtual int enableExtension(const char *provider, const char *extension, bool enable=true, agora::media::MEDIA_SOURCE_TYPE type=agora::media::UNKNOWN_MEDIA_SOURCE)=0
agora::rtc::INTERFACE_ID_TYPE
INTERFACE_ID_TYPE
Definition: AgoraBase.h:852
agora::rtc::AUDIO_REVERB_ROOM_SIZE
@ AUDIO_REVERB_ROOM_SIZE
Definition: IAgoraRtcEngine.h:218
agora::rtc::VIDEO_VIRTUAL_BACKGROUND
@ VIDEO_VIRTUAL_BACKGROUND
Definition: IAgoraRtcEngine.h:1459
agora::rtc::IRtcEngine::sendStreamMessage
virtual int sendStreamMessage(int streamId, const char *data, size_t length)=0
agora::rtc::IRtcEngine::setRemoteVoicePosition
virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain)=0
agora::rtc::IRtcEngine::startCameraCapture
virtual int startCameraCapture(VIDEO_SOURCE_TYPE sourceType, const CameraCapturerConfiguration &config)=0
agora::rtc::IVideoDeviceCollection
Definition: IAgoraRtcEngine.h:2961
agora::rtc::IRtcEngine::setDualStreamMode
virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode, const SimulcastStreamConfig &streamConfig)=0
agora::rtc::VideoCompositingLayout::Region::height
double height
Definition: IAgoraRtcEngine.h:567
agora::rtc::IRtcEngine::setAINSMode
virtual int setAINSMode(bool enabled, AUDIO_AINS_MODE mode)=0
agora::rtc::LocalVideoStats::sentFrameRate
int sentFrameRate
Definition: IAgoraRtcEngine.h:271
IAgoraH265Transcoder.h
AGORA_API
#define AGORA_API
Definition: AgoraBase.h:60
agora::rtc::VIDEO_CODEC_TYPE
VIDEO_CODEC_TYPE
Definition: AgoraBase.h:1151
agora::rtc::LocalVideoStats::encodedFrameWidth
int encodedFrameWidth
Definition: IAgoraRtcEngine.h:298
agora::rtc::VideoDenoiserOptions
Definition: AgoraBase.h:4374
agora::rtc::CameraCapturerConfiguration::deviceId
char deviceId[MAX_DEVICE_ID_LENGTH]
Definition: IAgoraRtcEngine.h:796
agora::rtc::IRtcEngine::leaveChannel
virtual int leaveChannel(const LeaveChannelOptions &options)=0
agora::rtc::IRtcEngine::getLoopbackRecordingVolume
virtual int getLoopbackRecordingVolume()=0
agora::rtc::IRtcEngine::registerPacketObserver
virtual int registerPacketObserver(IPacketObserver *observer)=0
agora::rtc::DirectCdnStreamingStats::videoBitrate
int videoBitrate
Definition: IAgoraRtcEngine.h:3355
agora::rtc::IRtcEngine::stopRhythmPlayer
virtual int stopRhythmPlayer()=0
agora::rtc::IRtcEngine::muteLocalAudioStream
virtual int muteLocalAudioStream(bool mute)=0
agora::rtc::DirectCdnStreamingStats::fps
int fps
Definition: IAgoraRtcEngine.h:3350
agora::rtc::LOCAL_AUDIO_STREAM_ERROR
LOCAL_AUDIO_STREAM_ERROR
Definition: AgoraBase.h:2668
END_COMPARE
#define END_COMPARE()
agora::rtc::VIDEO_PROFILE_LANDSCAPE_240P_4
@ VIDEO_PROFILE_LANDSCAPE_240P_4
Definition: IAgoraRtcEngine.h:8599
agora::rtc::IRtcEngine::takeSnapshot
virtual int takeSnapshot(uid_t uid, const char *filePath)=0
agora::rtc::IRtcEngine::setRemoteSubscribeFallbackOption
virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option)=0
agora::rtc::AUDIO_EQUALIZATION_BAND_1K
@ AUDIO_EQUALIZATION_BAND_1K
Definition: IAgoraRtcEngine.h:184
agora::rtc::IMetadataObserver::VIDEO_METADATA
@ VIDEO_METADATA
Definition: IAgoraRtcEngine.h:3232
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_9
@ VIDEO_PROFILE_LANDSCAPE_480P_9
Definition: IAgoraRtcEngine.h:8629
agora::rtc::IRtcEngine::enableContentInspect
virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config)=0
agora::rtc::AUDIO_MIXING_REASON_CAN_NOT_OPEN
@ AUDIO_MIXING_REASON_CAN_NOT_OPEN
Definition: IAgoraRtcEngine.h:92
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_4
@ VIDEO_PROFILE_PORTRAIT_360P_4
Definition: IAgoraRtcEngine.h:8675
agora::rtc::RemoteAudioStats::frozenRate
int frozenRate
Definition: IAgoraRtcEngine.h:394
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_6
@ VIDEO_PROFILE_LANDSCAPE_360P_6
Definition: IAgoraRtcEngine.h:8607
agora::rtc::ChannelMediaOptions::autoSubscribeAudio
Optional< bool > autoSubscribeAudio
Definition: IAgoraRtcEngine.h:1184
agora::rtc::VirtualBackgroundSource
Definition: AgoraBase.h:4440
agora::rtc::ChannelMediaOptions::parameters
Optional< const char * > parameters
Definition: IAgoraRtcEngine.h:1276
agora::rtc::IVideoDeviceManager
Definition: IAgoraRtcEngine.h:3005
agora::rtc::IRtcEngine::adjustCustomAudioPublishVolume
virtual int adjustCustomAudioPublishVolume(track_id_t trackId, int volume)=0
agora::rtc::IRtcEngine::writeLog
virtual int writeLog(commons::LOG_LEVEL level, const char *fmt,...)=0
agora::rtc::IMetadataObserver::DEFAULT_METADATA_SIZE_IN_BYTE
@ DEFAULT_METADATA_SIZE_IN_BYTE
Definition: IAgoraRtcEngine.h:3240
agora::rtc::AUDIO_REVERB_WET_LEVEL
@ AUDIO_REVERB_WET_LEVEL
Definition: IAgoraRtcEngine.h:214
agora::rtc::VIDEO_CAPTURE_DEVICE
@ VIDEO_CAPTURE_DEVICE
Definition: IAgoraRtcEngine.h:57
agora::rtc::IRtcEngineEventHandler::onStreamMessage
virtual void onStreamMessage(uid_t userId, int streamId, const char *data, size_t length, uint64_t sentTs)
Definition: IAgoraRtcEngine.h:2234
agora::rtc::AUDIO_REVERB_TYPE
AUDIO_REVERB_TYPE
Definition: IAgoraRtcEngine.h:206
agora::media::base::RENDER_MODE_TYPE
RENDER_MODE_TYPE
Definition: AgoraMediaBase.h:609
agora::rtc::IRtcEngine::muteLocalVideoStream
virtual int muteLocalVideoStream(bool mute)=0
agora::rtc::LocalVideoStats::targetBitrate
int targetBitrate
Definition: IAgoraRtcEngine.h:307
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition: IAgoraRtcEngine.h:3409
agora::rtc::IMetadataObserver::UNKNOWN_METADATA
@ UNKNOWN_METADATA
Definition: IAgoraRtcEngine.h:3229
agora::rtc::INJECT_STREAM_STATUS
INJECT_STREAM_STATUS
Definition: IAgoraRtcEngine.h:110
agora::rtc::IRtcEngine::setVoiceBeautifierParameters
virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2)=0
agora::rtc::ChannelMediaOptions::publishScreenCaptureAudio
Optional< bool > publishScreenCaptureAudio
Definition: IAgoraRtcEngine.h:1079
agora::rtc::IRtcEngine::setLogLevel
virtual int setLogLevel(commons::LOG_LEVEL level)=0
agora::rtc::IRtcEngineEventHandler::onChannelMediaRelayStateChanged
virtual void onChannelMediaRelayStateChanged(int state, int code)
Definition: IAgoraRtcEngine.h:2565
agora::rtc::IRtcEngine::setExtensionProperty
virtual int setExtensionProperty(const char *provider, const char *extension, const char *key, const char *value, agora::media::MEDIA_SOURCE_TYPE type=agora::media::UNKNOWN_MEDIA_SOURCE)=0
agora::rtc::IRtcEngine::setRemoteUserPriority
virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority)=0
agora::rtc::RemoteAudioStats::jitterBufferDelay
int jitterBufferDelay
Definition: IAgoraRtcEngine.h:365
agora::rtc::VIDEO_PROFILE_PORTRAIT_720P_6
@ VIDEO_PROFILE_PORTRAIT_720P_6
Definition: IAgoraRtcEngine.h:8709
agora::rtc::PublisherConfiguration::width
int width
Definition: IAgoraRtcEngine.h:694
agora::rtc::IRtcEngineEventHandler::onUserStateChanged
virtual void onUserStateChanged(uid_t uid, uint32_t state)
Definition: IAgoraRtcEngine.h:2013
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1080P_3
@ VIDEO_PROFILE_LANDSCAPE_1080P_3
Definition: IAgoraRtcEngine.h:8643
agora::rtc::IRtcEngineEventHandler::onRhythmPlayerStateChanged
virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_ERROR_TYPE errorCode)
Definition: IAgoraRtcEngine.h:2190
agora::rtc::IRtcEngineEventHandler::onStreamMessageError
virtual void onStreamMessageError(uid_t userId, int streamId, int code, int missed, int cached)
Definition: IAgoraRtcEngine.h:2254
agora::rtc::IRtcEngine::startDirectCdnStreaming
virtual int startDirectCdnStreaming(IDirectCdnStreamingEventHandler *eventHandler, const char *publishUrl, const DirectCdnStreamingMediaOptions &options)=0
agora::rtc::IRtcEngine::setPlaybackAudioFrameParameters
virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
agora::rtc::IVideoDeviceManager::getDevice
virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IMetadataObserver::onMetadataReceived
virtual void onMetadataReceived(const Metadata &metadata)=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_4
@ VIDEO_PROFILE_PORTRAIT_480P_4
Definition: IAgoraRtcEngine.h:8693
agora::rtc::WlAccStats
Definition: AgoraBase.h:4142
agora::rtc::RtcEngineContext::logConfig
commons::LogConfig logConfig
Definition: IAgoraRtcEngine.h:3178
agora::rtc::IRtcEngineEventHandler::onRtmpStreamingStateChanged
virtual void onRtmpStreamingStateChanged(const char *url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_ERROR_TYPE errCode)
Definition: IAgoraRtcEngine.h:2476
agora::rtc::PublisherConfiguration::defaultLayout
int defaultLayout
Definition: IAgoraRtcEngine.h:712
agora::rtc::STREAM_FALLBACK_OPTION_DISABLED
@ STREAM_FALLBACK_OPTION_DISABLED
Definition: IAgoraRtcEngine.h:233
agora::rtc::AUDIO_EQUALIZATION_BAND_31
@ AUDIO_EQUALIZATION_BAND_31
Definition: IAgoraRtcEngine.h:164
agora::rtc::UDP_PROXY_TYPE
@ UDP_PROXY_TYPE
Definition: IAgoraRtcEngine.h:1440
agora::rtc::VideoCompositingLayout::canvasWidth
int canvasWidth
Definition: IAgoraRtcEngine.h:596
agora::rtc::IRtcEngine::stopScreenCapture
virtual int stopScreenCapture(VIDEO_SOURCE_TYPE sourceType)=0
agora::rtc::VideoCompositingLayout::appDataLength
int appDataLength
Definition: IAgoraRtcEngine.h:617
agora::rtc::PROXY_TYPE
PROXY_TYPE
Definition: IAgoraRtcEngine.h:1434
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW
Definition: IAgoraRtcEngine.h:238
agora::rtc::ExtensionInfo::ExtensionInfo
ExtensionInfo()
Definition: IAgoraRtcEngine.h:3591
agora::rtc::MEDIA_TRACE_EVENT
MEDIA_TRACE_EVENT
Definition: AgoraBase.h:5944
agora::rtc::DirectCdnStreamingMediaOptions::DirectCdnStreamingMediaOptions
DirectCdnStreamingMediaOptions()
Definition: IAgoraRtcEngine.h:3480
agora::rtc::AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED
@ AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED
Definition: IAgoraRtcEngine.h:98
agora::rtc::IRtcEngine::setDirectCdnStreamingVideoConfiguration
virtual int setDirectCdnStreamingVideoConfiguration(const VideoEncoderConfiguration &config)=0
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoDecoded
virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) 1
Definition: IAgoraRtcEngine.h:1826
agora::rtc::RTMP_STREAMING_EVENT
RTMP_STREAMING_EVENT
Definition: AgoraBase.h:3448
agora::rtc::VideoCompositingLayout::Region::zOrder
int zOrder
Definition: IAgoraRtcEngine.h:571
agora::rtc::IRtcEngine::registerAudioEncodedFrameObserver
virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig &config, IAudioEncodedFrameObserver *observer)=0
agora::rtc::RtcEngineContext::audioScenario
AUDIO_SCENARIO_TYPE audioScenario
Definition: IAgoraRtcEngine.h:3152
agora::rtc::STREAM_FALLBACK_OPTION_AUDIO_ONLY
@ STREAM_FALLBACK_OPTION_AUDIO_ONLY
Definition: IAgoraRtcEngine.h:242
agora::rtc::IRtcEngine::joinChannel
virtual int joinChannel(const char *token, const char *channelId, uid_t uid, const ChannelMediaOptions &options)=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_720P_3
@ VIDEO_PROFILE_PORTRAIT_720P_3
Definition: IAgoraRtcEngine.h:8705
agora::rtc::AUDIO_EQUALIZATION_BAND_500
@ AUDIO_EQUALIZATION_BAND_500
Definition: IAgoraRtcEngine.h:180
agora::rtc::RemoteVideoStats::publishDuration
int publishDuration
Definition: IAgoraRtcEngine.h:536
agora::rtc::RemoteAudioStats::RemoteAudioStats
RemoteAudioStats()
Definition: IAgoraRtcEngine.h:444
agora::rtc::IRtcEngine::setDualStreamMode
virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode)=0
agora::rtc::IRtcEngine::joinChannelWithUserAccountEx
virtual int joinChannelWithUserAccountEx(const char *token, const char *channelId, const char *userAccount, const ChannelMediaOptions &options, IRtcEngineEventHandler *eventHandler)=0
agora::media::CONTENT_INSPECT_RESULT
CONTENT_INSPECT_RESULT
Definition: AgoraMediaBase.h:340
agora::rtc::LocalVideoStats::targetFrameRate
int targetFrameRate
Definition: IAgoraRtcEngine.h:310
agora::rtc::ChannelMediaOptions::enableBuiltInMediaEncryption
Optional< bool > enableBuiltInMediaEncryption
Definition: IAgoraRtcEngine.h:1246
agora::rtc::IRtcEngine::sendCustomReportMessage
virtual int sendCustomReportMessage(const char *id, const char *category, const char *event, const char *label, int value)=0
agora::rtc::IRtcEngineEventHandler::onUserMuteAudio
virtual void onUserMuteAudio(uid_t uid, bool muted)
Definition: IAgoraRtcEngine.h:1967
agora::rtc::NONE_PROXY_TYPE
@ NONE_PROXY_TYPE
Definition: IAgoraRtcEngine.h:1437
agora::rtc::CodecCapInfo
Definition: AgoraBase.h:1763
agora::commons::LogConfig
Definition: IAgoraLog.h:82
agora::rtc::IRtcEngine::enableDualStreamMode
virtual int enableDualStreamMode(bool enabled) 1=0
agora::rtc::IRtcEngineEventHandler::onPermissionError
virtual void onPermissionError(PERMISSION_TYPE permissionType)
Definition: IAgoraRtcEngine.h:2750
agora::rtc::IRtcEngineEventHandler::onVideoSizeChanged
virtual void onVideoSizeChanged(VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation)
Definition: IAgoraRtcEngine.h:1841
agora::rtc::MEDIA_DEVICE_STATE_TYPE
MEDIA_DEVICE_STATE_TYPE
Definition: IAgoraRtcEngine.h:8565
agora::rtc::ChannelMediaOptions::operator==
bool operator==(const ChannelMediaOptions &o) const
Definition: IAgoraRtcEngine.h:1328
createAgoraRtcEngine
AGORA_API agora::rtc::IRtcEngine *AGORA_CALL createAgoraRtcEngine()
IAgoraLog.h
agora::rtc::LocalVideoStats
Definition: IAgoraRtcEngine.h:259
agora::rtc::RemoteVideoStats::mosValue
int mosValue
Definition: IAgoraRtcEngine.h:544
agora::rtc::VIDEO_ORIENTATION
VIDEO_ORIENTATION
Definition: AgoraBase.h:935
agora::rtc::InjectStreamConfig::height
int height
Definition: IAgoraRtcEngine.h:639
agora::rtc::INJECT_STREAM_STATUS_STOP_UNAUTHORIZED
@ INJECT_STREAM_STATUS_STOP_UNAUTHORIZED
Definition: IAgoraRtcEngine.h:142
agora::rtc::IRtcEngine::muteAllRemoteAudioStreams
virtual int muteAllRemoteAudioStreams(bool mute)=0
agora::rtc::IRtcEngine::enableLoopbackRecording
virtual int enableLoopbackRecording(bool enabled, const char *deviceName=NULL)=0
agora::rtc::TCP_PROXY_AUTO_FALLBACK_TYPE
@ TCP_PROXY_AUTO_FALLBACK_TYPE
Definition: IAgoraRtcEngine.h:1449
agora::rtc::IRtcEngine::enableAudio
virtual int enableAudio()=0
agora::rtc::IDirectCdnStreamingEventHandler
Definition: IAgoraRtcEngine.h:3367
agora::rtc::STREAM_FALLBACK_OPTIONS
STREAM_FALLBACK_OPTIONS
Definition: IAgoraRtcEngine.h:229
agora::rtc::MEDIA_DEVICE_STATE_ACTIVE
@ MEDIA_DEVICE_STATE_ACTIVE
Definition: IAgoraRtcEngine.h:8571
agora::rtc::IMetadataObserver::~IMetadataObserver
virtual ~IMetadataObserver()
Definition: IAgoraRtcEngine.h:3265
agora::rtc::DirectCdnStreamingMediaOptions::operator==
bool operator==(const DirectCdnStreamingMediaOptions &o) const
Definition: IAgoraRtcEngine.h:3503
agora::rtc::ChannelMediaOptions::publishLipSyncTrack
Optional< bool > publishLipSyncTrack
Definition: IAgoraRtcEngine.h:1178
agora::rtc::AUDIO_SCENARIO_TYPE
AUDIO_SCENARIO_TYPE
Definition: AgoraBase.h:2461
agora::rtc::IRtcEngine::createCustomEncodedVideoTrack
virtual video_track_id_t createCustomEncodedVideoTrack(const SenderOptions &sender_option)=0
agora::rtc::EncryptionConfig
Definition: AgoraBase.h:5576
agora::rtc::IRtcEngine::startEchoTest
virtual int startEchoTest()=0
agora::rtc::LocalVideoStats::qualityAdaptIndication
QUALITY_ADAPT_INDICATION qualityAdaptIndication
Definition: IAgoraRtcEngine.h:314
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::INJECT_STREAM_STATUS_START_TIMEDOUT
@ INJECT_STREAM_STATUS_START_TIMEDOUT
Definition: IAgoraRtcEngine.h:126
agora::rtc::RtcEngineContext::channelProfile
CHANNEL_PROFILE_TYPE channelProfile
Definition: IAgoraRtcEngine.h:3138
agora::rtc::AUDIO_PLAYOUT_DEVICE
@ AUDIO_PLAYOUT_DEVICE
Definition: IAgoraRtcEngine.h:45
agora::rtc::IRtcEngineEventHandler::onFirstRemoteAudioDecoded
virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) 1
Definition: IAgoraRtcEngine.h:2339
agora::rtc::REMOTE_AUDIO_STATE_REASON
REMOTE_AUDIO_STATE_REASON
Definition: AgoraBase.h:2896
agora::rtc::RtcEngineContext::autoRegisterAgoraExtensions
bool autoRegisterAgoraExtensions
Definition: IAgoraRtcEngine.h:3206
agora::rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE
RAW_AUDIO_FRAME_OP_MODE_TYPE
Definition: AgoraMediaBase.h:187
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_4
@ VIDEO_PROFILE_LANDSCAPE_480P_4
Definition: IAgoraRtcEngine.h:8623
agora::rtc::IRtcEngine::setMixedAudioFrameParameters
virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall)=0
agora::rtc::IRtcEngineEventHandler::onTokenPrivilegeWillExpire
virtual void onTokenPrivilegeWillExpire(const char *token)
Definition: IAgoraRtcEngine.h:2284
agora::rtc::AdvancedAudioOptions::~AdvancedAudioOptions
~AdvancedAudioOptions()
Definition: IAgoraRtcEngine.h:1017
agora::rtc::IRtcEngineEventHandler::onFirstRemoteAudioFrame
virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) 1
Definition: IAgoraRtcEngine.h:2318
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_10
@ VIDEO_PROFILE_LANDSCAPE_480P_10
Definition: IAgoraRtcEngine.h:8631
agora::rtc::PRIORITY_HIGH
@ PRIORITY_HIGH
Definition: IAgoraRtcEngine.h:248
AgoraOptional.h
agora::rtc::IRtcEngine::startLastmileProbeTest
virtual int startLastmileProbeTest(const LastmileProbeConfig &config)=0
agora::rtc::RtcEngineContext::appId
const char * appId
Definition: IAgoraRtcEngine.h:3128
agora::rtc::RemoteVideoStats::rxVideoBytes
unsigned int rxVideoBytes
Definition: IAgoraRtcEngine.h:548
agora::rtc::RemoteAudioStats
Definition: IAgoraRtcEngine.h:347
agora::rtc::VideoCompositingLayout::VideoCompositingLayout
VideoCompositingLayout()
Definition: IAgoraRtcEngine.h:619
agora::rtc::TranscodingVideoStream
Definition: AgoraBase.h:3759
agora::rtc::IVideoDeviceCollection::setDevice
virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngine::setLocalRenderMode
virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode)=0
agora::rtc::IRtcEngineEventHandler::onAudioDeviceStateChanged
virtual void onAudioDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition: IAgoraRtcEngine.h:1658
agora::rtc::RemoteAudioStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:351
agora::rtc::IRtcEngineEventHandler::onCameraReady
virtual void onCameraReady() 1
Definition: IAgoraRtcEngine.h:2089
agora::rtc::ChannelMediaOptions::publishThirdCameraTrack
Optional< bool > publishThirdCameraTrack
Definition: IAgoraRtcEngine.h:1053
agora::rtc::AUDIO_EFFECT_PRESET
AUDIO_EFFECT_PRESET
Definition: AgoraBase.h:4702
agora::rtc::IRtcEngine::destroyMediaPlayer
virtual int destroyMediaPlayer(agora_refptr< IMediaPlayer > media_player)=0
agora::rtc::IRtcEngine::setVoiceBeautifierPreset
virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset)=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:2379
agora::rtc::LocalVideoStats::captureBrightnessLevel
CAPTURE_BRIGHTNESS_LEVEL_TYPE captureBrightnessLevel
Definition: IAgoraRtcEngine.h:331
agora::rtc::IRtcEngineEventHandler::onUserAccountUpdated
virtual void onUserAccountUpdated(uid_t uid, const char *userAccount)
Definition: IAgoraRtcEngine.h:2928
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P
@ VIDEO_PROFILE_LANDSCAPE_360P
Definition: IAgoraRtcEngine.h:8601
agora::rtc::IRtcEngine::setAudioProfile
virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) 1=0
agora::rtc::LocalVideoStats::encoderOutputFrameRate
int encoderOutputFrameRate
Definition: IAgoraRtcEngine.h:295
agora::rtc::LocalVideoStats::codecType
VIDEO_CODEC_TYPE codecType
Definition: IAgoraRtcEngine.h:324
agora::rtc::ChannelMediaOptions::isAudioFilterable
Optional< bool > isAudioFilterable
Definition: IAgoraRtcEngine.h:1271
agora::rtc::AUDIO_AINS_MODE
AUDIO_AINS_MODE
Definition: AgoraBase.h:2397
agora::rtc::VIDEO_STREAM_TYPE
VIDEO_STREAM_TYPE
Definition: AgoraBase.h:1533
agora::rtc::VIDEO_PROFILE_PORTRAIT_4K_3
@ VIDEO_PROFILE_PORTRAIT_4K_3
Definition: IAgoraRtcEngine.h:8723
agora::rtc::IVideoDeviceManager::setDevice
virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::RtcStats
Definition: AgoraBase.h:2102
agora::rtc::PublisherConfiguration::lifecycle
int lifecycle
Definition: IAgoraRtcEngine.h:715
agora::rtc::ChannelMediaOptions::audienceLatencyLevel
Optional< AUDIENCE_LATENCY_LEVEL_TYPE > audienceLatencyLevel
Definition: IAgoraRtcEngine.h:1209
agora::rtc::RtcEngineContext::license
const char * license
Definition: IAgoraRtcEngine.h:3143
AgoraMediaBase.h
agora::rtc::PublisherConfiguration::PublisherConfiguration
PublisherConfiguration()
Definition: IAgoraRtcEngine.h:742
agora::rtc::ChannelMediaOptions::publishMediaPlayerVideoTrack
Optional< bool > publishMediaPlayerVideoTrack
Definition: IAgoraRtcEngine.h:1150
agora::rtc::VIDEO_PROFILE_PORTRAIT_1080P_3
@ VIDEO_PROFILE_PORTRAIT_1080P_3
Definition: IAgoraRtcEngine.h:8713
agora::rtc::IRtcEngine::startRtmpStreamWithoutTranscoding
virtual int startRtmpStreamWithoutTranscoding(const char *url)=0
agora::rtc::QUALITY_REPORT_HTML
@ QUALITY_REPORT_HTML
Definition: IAgoraRtcEngine.h:8561
agora::rtc::LowlightEnhanceOptions
Definition: AgoraBase.h:4333
agora::rtc::IRtcEngine::setRecordingAudioFrameParameters
virtual int setRecordingAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
agora::rtc::RemoteVideoStats::rxStreamType
VIDEO_STREAM_TYPE rxStreamType
Definition: IAgoraRtcEngine.h:512
agora::rtc::DIRECT_CDN_STREAMING_STATE_STOPPED
@ DIRECT_CDN_STREAMING_STATE_STOPPED
Definition: IAgoraRtcEngine.h:3326
agora::rtc::IRtcEngine::stopRtmpStream
virtual int stopRtmpStream(const char *url)=0
agora::rtc::IRtcEngine::adjustUserPlaybackSignalVolume
virtual int adjustUserPlaybackSignalVolume(unsigned int uid, int volume)=0
agora::rtc::IRtcEngine::startEchoTest
virtual int startEchoTest(const EchoTestConfiguration &config)=0
agora::rtc::ChannelMediaOptions::mediaPlayerAudioDelayMs
Optional< int > mediaPlayerAudioDelayMs
Definition: IAgoraRtcEngine.h:1229
agora::rtc::ChannelMediaOptions::clientRoleType
Optional< CLIENT_ROLE_TYPE > clientRoleType
Definition: IAgoraRtcEngine.h:1205
agora::rtc::LocalVideoStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:263
agora::rtc::STREAM_PUBLISH_STATE
STREAM_PUBLISH_STATE
Definition: AgoraBase.h:5723
agora::rtc::IRtcEngineEventHandler::onJoinChannelSuccess
virtual void onJoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1514
agora::rtc::WatermarkOptions
Definition: AgoraBase.h:2065
agora::rtc::IRtcEngine::adjustPlaybackSignalVolume
virtual int adjustPlaybackSignalVolume(int volume)=0
agora::rtc::LocalAudioStats
Definition: AgoraBase.h:3314
agora::rtc::RecorderStreamInfo
Definition: AgoraBase.h:6025
agora::rtc::LOCAL_AUDIO_STREAM_STATE
LOCAL_AUDIO_STREAM_STATE
Definition: AgoraBase.h:2646
agora::rtc::VIDEO_MIRROR_MODE_DISABLED
@ VIDEO_MIRROR_MODE_DISABLED
Definition: AgoraBase.h:1733
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::AUDIO_RECORDING_QUALITY_TYPE
AUDIO_RECORDING_QUALITY_TYPE
Definition: AgoraBase.h:4973
agora::rtc::IRtcEngine::setupRemoteVideo
virtual int setupRemoteVideo(const VideoCanvas &canvas)=0
agora::rtc::IRtcEngine::stopCameraCapture
virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType)=0
__deprecated
#define __deprecated
Definition: AgoraBase.h:63
agora::rtc::VideoCompositingLayout::backgroundColor
const char * backgroundColor
Definition: IAgoraRtcEngine.h:604
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_4
@ VIDEO_PROFILE_LANDSCAPE_360P_4
Definition: IAgoraRtcEngine.h:8605
agora::rtc::ScreenCaptureConfiguration::params
ScreenCaptureParameters params
Definition: IAgoraRtcEngine.h:848
agora::rtc::IMetadataObserver::Metadata::buffer
unsigned char * buffer
Definition: IAgoraRtcEngine.h:3258
agora::rtc::IRtcEngine::setVoiceConversionParameters
virtual int setVoiceConversionParameters(VOICE_CONVERSION_PRESET preset, int param1, int param2)=0
agora::rtc::VIDEO_PROFILE_LANDSCAPE_720P_5
@ VIDEO_PROFILE_LANDSCAPE_720P_5
Definition: IAgoraRtcEngine.h:8637
agora::rtc::IRtcEngine::setupLocalVideo
virtual int setupLocalVideo(const VideoCanvas &canvas)=0
agora::rtc::InjectStreamConfig
Definition: IAgoraRtcEngine.h:631
agora::rtc::HEADPHONE_EQUALIZER_PRESET
HEADPHONE_EQUALIZER_PRESET
Definition: AgoraBase.h:4874
agora::media::MEDIA_SOURCE_TYPE
MEDIA_SOURCE_TYPE
Definition: AgoraMediaBase.h:275
agora::rtc::VIDEO_PROFILE_LANDSCAPE_240P
@ VIDEO_PROFILE_LANDSCAPE_240P
Definition: IAgoraRtcEngine.h:8595
agora::rtc::ChannelMediaOptions::publishRhythmPlayerTrack
Optional< bool > publishRhythmPlayerTrack
Definition: IAgoraRtcEngine.h:1252
agora::rtc::IRtcEngine::startOrUpdateChannelMediaRelay
virtual int startOrUpdateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration)=0
agora::rtc::ScreenCaptureConfiguration::isCaptureWindow
bool isCaptureWindow
Definition: IAgoraRtcEngine.h:830
agora::rtc::QUALITY_REPORT_JSON
@ QUALITY_REPORT_JSON
Definition: IAgoraRtcEngine.h:8558
agora::rtc::AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED
@ AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED
Definition: IAgoraRtcEngine.h:100
agora::rtc::IRtcEngine::startAudioRecording
virtual int startAudioRecording(const AudioRecordingConfiguration &config)=0
agora::rtc::IRtcEngineEventHandler::onConnectionInterrupted
virtual void onConnectionInterrupted() 1
Definition: IAgoraRtcEngine.h:2216
agora::rtc::LocalVideoStats::captureFrameWidth
int captureFrameWidth
Definition: IAgoraRtcEngine.h:277
agora::rtc::IRtcEngine::getExtensionProperty
virtual int getExtensionProperty(const char *provider, const char *extension, const char *key, char *value, int buf_len, agora::media::MEDIA_SOURCE_TYPE type=agora::media::UNKNOWN_MEDIA_SOURCE)=0
agora::rtc::RtcEngineContext
Definition: IAgoraRtcEngine.h:3117
agora::rtc::IRtcEngine::resumeAllChannelMediaRelay
virtual int resumeAllChannelMediaRelay()=0
agora::rtc::ChannelMediaOptions
Definition: IAgoraRtcEngine.h:1035
agora::rtc::IRtcEngine::enableVideo
virtual int enableVideo()=0
agora::rtc::IRtcEngine
Definition: IAgoraRtcEngine.h:3608
agora::rtc::LocalVideoStats::encodedBitrate
int encodedBitrate
Definition: IAgoraRtcEngine.h:318
agora::rtc::IVideoDeviceCollection::getDevice
virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH], char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=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:2809
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStats
virtual void onRemoteAudioStats(const RemoteAudioStats &stats)
Definition: IAgoraRtcEngine.h:2051
agora::rtc::IRtcEngineEventHandler::onRemoteAudioTransportStats
virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) 1
Definition: IAgoraRtcEngine.h:2648
agora::rtc::IRtcEngine::setClientRole
virtual int setClientRole(CLIENT_ROLE_TYPE role)=0
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoFrame
virtual void onFirstRemoteVideoFrame(uid_t userId, int width, int height, int elapsed)
Definition: IAgoraRtcEngine.h:1905
agora::rtc::DIRECT_CDN_STREAMING_ERROR_VIDEO_PUBLICATION
@ DIRECT_CDN_STREAMING_ERROR_VIDEO_PUBLICATION
Definition: IAgoraRtcEngine.h:3311
agora::rtc::AUDIO_MIXING_REASON_TYPE
AUDIO_MIXING_REASON_TYPE
Definition: IAgoraRtcEngine.h:90
agora::rtc::RemoteAudioStats::plcCount
uint32_t plcCount
Definition: IAgoraRtcEngine.h:420
agora::rtc::ScreenCaptureConfiguration
Definition: IAgoraRtcEngine.h:824
agora::rtc::IRtcEngine::startAudioRecording
virtual int startAudioRecording(const char *filePath, AUDIO_RECORDING_QUALITY_TYPE quality)=0
agora::rtc::IVideoDeviceManager::enumerateVideoDevices
virtual IVideoDeviceCollection * enumerateVideoDevices()=0
agora::rtc::VideoCompositingLayout::Region::Region
Region()
Definition: IAgoraRtcEngine.h:581
agora::rtc::ImageTrackOptions::fps
int fps
Definition: IAgoraRtcEngine.h:1022
agora::rtc::LOCAL_VIDEO_STREAM_ERROR
LOCAL_VIDEO_STREAM_ERROR
Definition: AgoraBase.h:2739
agora::rtc::DIRECT_CDN_STREAMING_STATE_RECOVERING
@ DIRECT_CDN_STREAMING_STATE_RECOVERING
Definition: IAgoraRtcEngine.h:3330
agora::rtc::IVideoDeviceManager::~IVideoDeviceManager
virtual ~IVideoDeviceManager()
Definition: IAgoraRtcEngine.h:3007
agora::rtc::AudioRecordingConfiguration
Definition: AgoraBase.h:5031
agora::rtc::AUDIO_RECORDING_DEVICE
@ AUDIO_RECORDING_DEVICE
Definition: IAgoraRtcEngine.h:49
agora::rtc::ExtensionInfo::channelId
const char * channelId
Definition: IAgoraRtcEngine.h:3584
agora::rtc::IMetadataObserver::Metadata::timeStampMs
long long timeStampMs
Definition: IAgoraRtcEngine.h:3262
agora::rtc::IVideoDeviceCollection::release
virtual void release()=0
agora::rtc::REMOTE_VIDEO_STATE_REASON
REMOTE_VIDEO_STATE_REASON
Definition: AgoraBase.h:2975
agora::rtc::DirectCdnStreamingMediaOptions::publishMediaPlayerAudioTrack
Optional< bool > publishMediaPlayerAudioTrack
Definition: IAgoraRtcEngine.h:3421
agora::rtc::IRtcEngine::renewToken
virtual int renewToken(const char *token)=0
agora::rtc::ChannelMediaOptions::publishLoopbackAudioTrackId
Optional< int > publishLoopbackAudioTrackId
Definition: IAgoraRtcEngine.h:1126
agora::rtc::IRtcEngine::disableAudioSpectrumMonitor
virtual int disableAudioSpectrumMonitor()=0
agora::rtc::AUDIO_EQUALIZATION_BAND_62
@ AUDIO_EQUALIZATION_BAND_62
Definition: IAgoraRtcEngine.h:168
agora::rtc::IRtcEngine::setAdvancedAudioOptions
virtual int setAdvancedAudioOptions(AdvancedAudioOptions &options, int sourceType=0)=0
agora::rtc::IRtcEngine::startLocalVideoTranscoder
virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration &config)=0
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_7
@ VIDEO_PROFILE_LANDSCAPE_360P_7
Definition: IAgoraRtcEngine.h:8609
agora::rtc::IRtcEngineEventHandler::onClientRoleChangeFailed
virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole)
Definition: IAgoraRtcEngine.h:2448
agora::rtc::IRtcEngine::unregisterMediaMetadataObserver
virtual int unregisterMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type)=0
agora::rtc::IRtcEngine::muteRecordingSignal
virtual int muteRecordingSignal(bool mute)=0
agora::rtc::IRtcEngine::enableSpatialAudio
virtual int enableSpatialAudio(bool enabled)=0
agora::rtc::InjectStreamConfig::videoGop
int videoGop
Definition: IAgoraRtcEngine.h:643
agora::rtc::IRtcEngine::rate
virtual int rate(const char *callId, int rating, const char *description)=0
agora::rtc::ImageTrackOptions::ImageTrackOptions
ImageTrackOptions()
Definition: IAgoraRtcEngine.h:1024
agora::rtc::FeatureType
FeatureType
Definition: IAgoraRtcEngine.h:1458
agora::util::CopyableAutoPtr
Definition: AgoraBase.h:145
agora::rtc::INJECT_STREAM_STATUS_STOP_SUCCESS
@ INJECT_STREAM_STATUS_STOP_SUCCESS
Definition: IAgoraRtcEngine.h:134
agora::rtc::NETWORK_TYPE
NETWORK_TYPE
Definition: AgoraBase.h:4160
agora::rtc::IRtcEngineEventHandler::onAudioDeviceVolumeChanged
virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted)
Definition: IAgoraRtcEngine.h:2459
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_3
@ VIDEO_PROFILE_PORTRAIT_360P_3
Definition: IAgoraRtcEngine.h:8673
agora::rtc::VIDEO_PROFILE_PORTRAIT_720P
@ VIDEO_PROFILE_PORTRAIT_720P
Definition: IAgoraRtcEngine.h:8703
agora::rtc::VideoCompositingLayout::appData
const char * appData
Definition: IAgoraRtcEngine.h:614
agora::rtc::CAMERA_STABILIZATION_MODE
CAMERA_STABILIZATION_MODE
Definition: AgoraBase.h:2622
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_6
@ VIDEO_PROFILE_PORTRAIT_480P_6
Definition: IAgoraRtcEngine.h:8695
agora::rtc::IRtcEngine::muteRemoteVideoStream
virtual int muteRemoteVideoStream(uid_t uid, bool mute)=0
agora::rtc::IRtcEngine::setRemoteVideoStreamType
virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType)=0
agora::rtc::IRtcEngineEventHandler::onExtensionError
virtual void onExtensionError(const char *provider, const char *extension, int error, const char *message)
Definition: IAgoraRtcEngine.h:2916
agora::rtc::DirectCdnStreamingMediaOptions::~DirectCdnStreamingMediaOptions
~DirectCdnStreamingMediaOptions()
Definition: IAgoraRtcEngine.h:3481
agora::rtc::IRtcEngineEventHandler::onNetworkQuality
virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality)
Definition: IAgoraRtcEngine.h:1725
agora::rtc::CAMERA_DIRECTION
CAMERA_DIRECTION
Definition: IAgoraRtcEngine.h:761
agora::rtc::ChannelMediaOptions::audioDelayMs
Optional< int > audioDelayMs
Definition: IAgoraRtcEngine.h:1224
agora::rtc::IRtcEngine::setRemoteDefaultVideoStreamType
virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType)=0
agora::rtc::AUDIO_PROFILE_TYPE
AUDIO_PROFILE_TYPE
Definition: AgoraBase.h:2415
agora::rtc::DirectCdnStreamingMediaOptions::publishMicrophoneTrack
Optional< bool > publishMicrophoneTrack
Definition: IAgoraRtcEngine.h:3403
agora::rtc::IRtcEngine::setPlaybackAudioFrameBeforeMixingParameters
virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel)=0
agora::rtc::IRtcEngine::disableAudio
virtual int disableAudio()=0
agora::rtc::IRtcEngine::leaveChannel
virtual int leaveChannel()=0
agora::rtc::IRtcEngineEventHandler::onLicenseValidationFailure
virtual void onLicenseValidationFailure(LICENSE_ERROR_TYPE error)
Definition: IAgoraRtcEngine.h:2293
agora::rtc::IRtcEngine::setClientRole
virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions &options)=0
agora::rtc::LeaveChannelOptions::LeaveChannelOptions
LeaveChannelOptions()
Definition: IAgoraRtcEngine.h:1486
agora::rtc::IDirectCdnStreamingEventHandler::onDirectCdnStreamingStats
virtual void onDirectCdnStreamingStats(const DirectCdnStreamingStats &stats)
Definition: IAgoraRtcEngine.h:3383
agora::rtc::IMetadataObserver::MAX_METADATA_SIZE_TYPE
MAX_METADATA_SIZE_TYPE
Definition: IAgoraRtcEngine.h:3238
agora::rtc::DIRECT_CDN_STREAMING_STATE_RUNNING
@ DIRECT_CDN_STREAMING_STATE_RUNNING
Definition: IAgoraRtcEngine.h:3324
agora::rtc::MEDIA_DEVICE_STATE_NOT_PRESENT
@ MEDIA_DEVICE_STATE_NOT_PRESENT
Definition: IAgoraRtcEngine.h:8577
agora::rtc::INJECT_STREAM_STATUS_START_UNAUTHORIZED
@ INJECT_STREAM_STATUS_START_UNAUTHORIZED
Definition: IAgoraRtcEngine.h:122
agora::rtc::VideoCompositingLayout::Region::uid
uid_t uid
Definition: IAgoraRtcEngine.h:555
agora::rtc::IRtcEngine::destroyMediaRecorder
virtual int destroyMediaRecorder(agora_refptr< IMediaRecorder > mediaRecorder)=0
agora::rtc::IRtcEngine::setLogFile
virtual int setLogFile(const char *filePath)=0
agora::rtc::RtcEngineContext::context
void * context
Definition: IAgoraRtcEngine.h:3134
ADD_COMPARE
#define ADD_COMPARE(X)
agora::rtc::ImageTrackOptions
Definition: IAgoraRtcEngine.h:1020
agora::rtc::ImageTrackOptions::imageUrl
const char * imageUrl
Definition: IAgoraRtcEngine.h:1021
agora::rtc::VIDEO_PROFILE_PORTRAIT_4K
@ VIDEO_PROFILE_PORTRAIT_4K
Definition: IAgoraRtcEngine.h:8721
agora::rtc::VideoCompositingLayout::Region
Definition: IAgoraRtcEngine.h:552
agora::rtc::IRtcEngine::registerLocalUserAccount
virtual int registerLocalUserAccount(const char *appId, const char *userAccount)=0
agora::rtc::LocalVideoStats::encodedFrameCount
int encodedFrameCount
Definition: IAgoraRtcEngine.h:321
agora::rtc::IRtcEngine::stopPreview
virtual int stopPreview()=0
agora::rtc::IRtcEngine::createCustomVideoTrack
virtual video_track_id_t createCustomVideoTrack()=0
agora::rtc::RemoteVideoStats::height
int height
Definition: IAgoraRtcEngine.h:492
agora::rtc::IRtcEngine::registerEventHandler
virtual bool registerEventHandler(IRtcEngineEventHandler *eventHandler)=0
agora::rtc::IVideoDeviceCollection::getCount
virtual int getCount()=0
agora::rtc::ScreenCaptureConfiguration::windowId
view_t windowId
Definition: IAgoraRtcEngine.h:844
agora::rtc::PublisherConfiguration::height
int height
Definition: IAgoraRtcEngine.h:698
agora::rtc::ChannelMediaOptions::publishMediaPlayerAudioTrack
Optional< bool > publishMediaPlayerAudioTrack
Definition: IAgoraRtcEngine.h:1144
agora::rtc::DirectCdnStreamingMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition: IAgoraRtcEngine.h:3426
agora::rtc::IRtcEngineEventHandler::onUplinkNetworkInfoUpdated
virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo &info)
Definition: IAgoraRtcEngine.h:1749
agora::rtc::VIDEO_PROFILE_TYPE
VIDEO_PROFILE_TYPE
Definition: IAgoraRtcEngine.h:8583
agora::rtc::IRtcEngine::stopDirectCdnStreaming
virtual int stopDirectCdnStreaming()=0
agora::rtc::IRtcEngine::preloadChannel
virtual int preloadChannel(const char *token, const char *channelId, const char *userAccount)=0
agora::rtc::AUDIO_EQUALIZATION_BAND_4K
@ AUDIO_EQUALIZATION_BAND_4K
Definition: IAgoraRtcEngine.h:192
agora::rtc::RtcEngineContext::RtcEngineContext
RtcEngineContext()
Definition: IAgoraRtcEngine.h:3208
agora::rtc::InjectStreamConfig::width
int width
Definition: IAgoraRtcEngine.h:635
agora::rtc::IRtcEngine::getUserInfoByUid
virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo *userInfo)=0
agora::rtc::IVideoDeviceManager::stopDeviceTest
virtual int stopDeviceTest()=0
IAgoraMediaEngine.h
agora::rtc::VIDEO_PROFILE_LANDSCAPE_720P_6
@ VIDEO_PROFILE_LANDSCAPE_720P_6
Definition: IAgoraRtcEngine.h:8639
agora::rtc::IRtcEngine::adjustRecordingSignalVolume
virtual int adjustRecordingSignalVolume(int volume)=0
agora::rtc::IRtcEngineEventHandler::onTranscodingUpdated
virtual void onTranscodingUpdated()
Definition: IAgoraRtcEngine.h:2503
agora::rtc::IRtcEngine::addVideoWatermark
virtual int addVideoWatermark(const RtcImage &watermark)=0
agora::rtc::VIDEO_PROFILE_LANDSCAPE_180P_4
@ VIDEO_PROFILE_LANDSCAPE_180P_4
Definition: IAgoraRtcEngine.h:8593
agora::LICENSE_ERROR_TYPE
LICENSE_ERROR_TYPE
Definition: AgoraBase.h:745
agora::rtc::IRtcEngine::joinChannelWithUserAccount
virtual int joinChannelWithUserAccount(const char *token, const char *channelId, const char *userAccount)=0
agora::rtc::AREA_CODE_GLOB
@ AREA_CODE_GLOB
Definition: AgoraBase.h:5195
AGORA_CALL
#define AGORA_CALL
Definition: AgoraBase.h:61
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P
@ VIDEO_PROFILE_LANDSCAPE_480P
Definition: IAgoraRtcEngine.h:8619
agora::rtc::IRtcEngine::isFeatureAvailableOnDevice
virtual bool isFeatureAvailableOnDevice(FeatureType type)=0
Whether the target feature is available for the device.
agora::rtc::TCP_PROXY_TYPE
@ TCP_PROXY_TYPE
Definition: IAgoraRtcEngine.h:1443
agora::rtc::IRtcEngineEventHandler::onDownlinkNetworkInfoUpdated
virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo &info)
Definition: IAgoraRtcEngine.h:1760
agora::rtc::IRtcEngine::getConnectionState
virtual CONNECTION_STATE_TYPE getConnectionState()=0
agora::rtc::LocalVideoStats::txPacketLossRate
unsigned short txPacketLossRate
Definition: IAgoraRtcEngine.h:328
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition: IAgoraRtcEngine.h:3415
agora::rtc::RemoteAudioStats::networkTransportDelay
int networkTransportDelay
Definition: IAgoraRtcEngine.h:359
agora::rtc::PublisherConfiguration::rawStreamUrl
const char * rawStreamUrl
Definition: IAgoraRtcEngine.h:737
agora::rtc::SetFrom
static void SetFrom(Optional< T > *s, const Optional< T > &o)
Definition: IAgoraRtcEngine.h:21
agora::rtc::CLIENT_ROLE_CHANGE_FAILED_REASON
CLIENT_ROLE_CHANGE_FAILED_REASON
Definition: AgoraBase.h:4084
agora::rtc::IRtcEngineEventHandler::onLeaveChannel
virtual void onLeaveChannel(const RtcStats &stats)
Definition: IAgoraRtcEngine.h:1634
agora::rtc::AAudioDeviceManager
Definition: IAgoraRtcEngine.h:8540
agora::rtc::IMetadataObserver::Metadata
Definition: IAgoraRtcEngine.h:3247
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_10
@ VIDEO_PROFILE_PORTRAIT_360P_10
Definition: IAgoraRtcEngine.h:8685
agora::rtc::IRtcEngine::registerAudioSpectrumObserver
virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
agora::rtc::IRtcEngineEventHandler::onLastmileQuality
virtual void onLastmileQuality(int quality)
Definition: IAgoraRtcEngine.h:1776
agora::rtc::IRtcEngine::startAudioFrameDump
virtual int startAudioFrameDump(const char *channel_id, uid_t user_id, const char *location, const char *uuid, const char *passwd, long duration_ms, bool auto_upload)=0
agora::rtc::LOCAL_PROXY_TYPE
@ LOCAL_PROXY_TYPE
Definition: IAgoraRtcEngine.h:1446
agora::rtc::IRtcEngineEventHandler::onEncryptionError
virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType)
Definition: IAgoraRtcEngine.h:2737
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_7
@ VIDEO_PROFILE_PORTRAIT_360P_7
Definition: IAgoraRtcEngine.h:8679
agora::rtc::DeviceInfo
Definition: AgoraBase.h:3174
agora::base::IEngineBase
Definition: AgoraBase.h:6106
agora::rtc::IRtcEngine::setLocalPublishFallbackOption
virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option)=0
agora::rtc::VIDEO_PROFILE_LANDSCAPE_120P_3
@ VIDEO_PROFILE_LANDSCAPE_120P_3
Definition: IAgoraRtcEngine.h:8587
agora::rtc::IRtcEngine::queryCodecCapability
virtual int queryCodecCapability(CodecCapInfo *codecInfo, int &size)=0
agora::rtc::VideoRenderingTracingInfo
Definition: AgoraBase.h:5958
agora::rtc::IRtcEngine::enableAudioSpectrumMonitor
virtual int enableAudioSpectrumMonitor(int intervalInMS=100)=0
agora::rtc::IRtcEngineEventHandler::onRtcStats
virtual void onRtcStats(const RtcStats &stats)
Definition: IAgoraRtcEngine.h:1643
agora::rtc::UDP_PROXY
@ UDP_PROXY
Definition: IAgoraRtcEngine.h:778
agora::rtc::IRtcEngineEventHandler::onConnectionLost
virtual void onConnectionLost()
Definition: IAgoraRtcEngine.h:2203
SET_FROM
#define SET_FROM(X)
agora::rtc::LeaveChannelOptions::stopMicrophoneRecording
bool stopMicrophoneRecording
Definition: IAgoraRtcEngine.h:1484
agora::rtc::PublisherConfiguration::injectStreamHeight
int injectStreamHeight
Definition: IAgoraRtcEngine.h:726
agora::rtc::DIRECT_CDN_STREAMING_ERROR_FAILED
@ DIRECT_CDN_STREAMING_ERROR_FAILED
Definition: IAgoraRtcEngine.h:3307
agora::rtc::IRtcEngine::setInEarMonitoringVolume
virtual int setInEarMonitoringVolume(int volume)=0
agora::rtc::IRtcEngineEventHandler::onFirstLocalVideoFramePublished
virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed)
Definition: IAgoraRtcEngine.h:1805
agora::rtc::CameraCapturerConfiguration
Definition: IAgoraRtcEngine.h:787
agora::rtc::ExtensionInfo::localUid
uid_t localUid
Definition: IAgoraRtcEngine.h:3589
agora::rtc::VIDEO_PROFILE_LANDSCAPE_4K_3
@ VIDEO_PROFILE_LANDSCAPE_4K_3
Definition: IAgoraRtcEngine.h:8653
agora::rtc::DIRECT_CDN_STREAMING_ERROR
DIRECT_CDN_STREAMING_ERROR
Definition: IAgoraRtcEngine.h:3303
agora::rtc::VIDEO_PROFILE_PORTRAIT_180P_3
@ VIDEO_PROFILE_PORTRAIT_180P_3
Definition: IAgoraRtcEngine.h:8661
agora::rtc::RemoteVideoStats
Definition: IAgoraRtcEngine.h:468
agora::rtc::AUDIO_MIXING_STATE_TYPE
AUDIO_MIXING_STATE_TYPE
Definition: IAgoraRtcEngine.h:75
agora::Optional
Definition: AgoraOptional.h:413
agora::rtc::IRtcEngine::enableLocalVideo
virtual int enableLocalVideo(bool enabled)=0
agora::rtc::IRtcEngine::enableCustomAudioLocalPlayback
virtual int enableCustomAudioLocalPlayback(track_id_t trackId, bool enabled)=0
agora::rtc::ClientRoleOptions
Definition: AgoraBase.h:2347
agora::rtc::IRtcEngine::setAudioProfile
virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile)=0
agora::rtc::RTMP_STREAM_PUBLISH_STATE
RTMP_STREAM_PUBLISH_STATE
Definition: AgoraBase.h:3345
agora::rtc::AUDIO_VIRTUAL_RECORDING_DEVICE
@ AUDIO_VIRTUAL_RECORDING_DEVICE
Definition: IAgoraRtcEngine.h:69
agora::rtc::IRtcEngine::setDefaultMuteAllRemoteVideoStreams
virtual int setDefaultMuteAllRemoteVideoStreams(bool mute) 1=0
agora::rtc::InjectStreamConfig::videoBitrate
int videoBitrate
Definition: IAgoraRtcEngine.h:651
agora::rtc::IRtcEngineEventHandler::onRemoteVideoTransportStats
virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) 1
Definition: IAgoraRtcEngine.h:2673
agora::rtc::RTMP_STREAM_LIFE_CYCLE_BIND2OWNER
@ RTMP_STREAM_LIFE_CYCLE_BIND2OWNER
Definition: IAgoraRtcEngine.h:685
agora::rtc::IRtcEngine::enableLocalAudio
virtual int enableLocalAudio(bool enabled)=0
agora::rtc::IRtcEngine::enableWebSdkInteroperability
virtual int enableWebSdkInteroperability(bool enabled) 1=0
agora::rtc::VideoCanvas
Definition: AgoraBase.h:4216
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_11
@ VIDEO_PROFILE_LANDSCAPE_360P_11
Definition: IAgoraRtcEngine.h:8617
agora::rtc::AUDIO_REVERB_DRY_LEVEL
@ AUDIO_REVERB_DRY_LEVEL
Definition: IAgoraRtcEngine.h:210
agora::rtc::VideoCompositingLayout::Region::alpha
double alpha
Definition: IAgoraRtcEngine.h:576
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1080P
@ VIDEO_PROFILE_LANDSCAPE_1080P
Definition: IAgoraRtcEngine.h:8641
agora::rtc::RtcEngineContext::areaCode
unsigned int areaCode
Definition: IAgoraRtcEngine.h:3161
agora::rtc::SegmentationProperty
Definition: AgoraBase.h:4507
agora::rtc::AUDIO_SAMPLE_RATE_TYPE
AUDIO_SAMPLE_RATE_TYPE
Definition: AgoraBase.h:3245
agora::rtc::IRtcEngineEventHandler::onIntraRequestReceived
virtual void onIntraRequestReceived()
Definition: IAgoraRtcEngine.h:1737
agora::rtc::track_id_t
unsigned int track_id_t
Definition: AgoraMediaBase.h:30
agora::rtc::IRtcEngineEventHandler::onLastmileProbeResult
virtual void onLastmileProbeResult(const LastmileProbeResult &result)
Definition: IAgoraRtcEngine.h:1589