Agora C++ API Reference for All Platforms

IAgoraRtcEngine.h
1 //
2 // Agora Rtc Engine SDK
3 //
4 // Copyright (c) 2018 Agora.io. All rights reserved.
5 //
6 #pragma once
7
8 #include "AgoraBase.h"
9 #include "AgoraMediaBase.h"
10 #include "IAgoraLog.h"
11 #include "AgoraOptional.h"
12 #include "IAudioDeviceManager.h"
13 #include "IAgoraRhythmPlayer.h"
14 #include "IAgoraMediaEngine.h"
15 #include "IAgoraH265Transcoder.h"
16
17 namespace agora {
18 namespace rtm {
19 class IStreamChannel;
20 }
21 namespace rtc {
22
23 template <typename T>
24 static void SetFrom(Optional<T>* s, const Optional<T>& o) {
25 if (o) {
26 *s = o;
27 }
28 }
29
30 template <typename T>
31 static void ReplaceBy(Optional<T>* s, const Optional<T>& o) {
32 *s = o;
33 }
34
35 //class IAudioDeviceManager;
36
40 enum MEDIA_DEVICE_TYPE {
44 UNKNOWN_AUDIO_DEVICE = -1,
48 AUDIO_PLAYOUT_DEVICE = 0,
52 AUDIO_RECORDING_DEVICE = 1,
56 VIDEO_RENDER_DEVICE = 2,
60 VIDEO_CAPTURE_DEVICE = 3,
64 AUDIO_APPLICATION_PLAYOUT_DEVICE = 4,
68 AUDIO_VIRTUAL_PLAYOUT_DEVICE = 5,
72 AUDIO_VIRTUAL_RECORDING_DEVICE = 6,
73 };
74
78 enum AUDIO_MIXING_STATE_TYPE {
80 AUDIO_MIXING_STATE_PLAYING = 710,
82 AUDIO_MIXING_STATE_PAUSED = 711,
84 AUDIO_MIXING_STATE_STOPPED = 713,
87 AUDIO_MIXING_STATE_FAILED = 714,
88 };
89
93 enum AUDIO_MIXING_REASON_TYPE {
95 AUDIO_MIXING_REASON_CAN_NOT_OPEN = 701,
97 AUDIO_MIXING_REASON_TOO_FREQUENT_CALL = 702,
99 AUDIO_MIXING_REASON_INTERRUPTED_EOF = 703,
101 AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED = 721,
103 AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED = 723,
105 AUDIO_MIXING_REASON_STOPPED_BY_USER = 724,
107 AUDIO_MIXING_REASON_RESUMED_BY_USER = 726,
109 AUDIO_MIXING_REASON_OK = 0,
110 };
111
115 enum INJECT_STREAM_STATUS {
119 INJECT_STREAM_STATUS_START_SUCCESS = 0,
123 INJECT_STREAM_STATUS_START_ALREADY_EXISTS = 1,
127 INJECT_STREAM_STATUS_START_UNAUTHORIZED = 2,
131 INJECT_STREAM_STATUS_START_TIMEDOUT = 3,
135 INJECT_STREAM_STATUS_START_FAILED = 4,
139 INJECT_STREAM_STATUS_STOP_SUCCESS = 5,
143 INJECT_STREAM_STATUS_STOP_NOT_FOUND = 6,
147 INJECT_STREAM_STATUS_STOP_UNAUTHORIZED = 7,
151 INJECT_STREAM_STATUS_STOP_TIMEDOUT = 8,
155 INJECT_STREAM_STATUS_STOP_FAILED = 9,
159 INJECT_STREAM_STATUS_BROKEN = 10,
160 };
161
165 enum AUDIO_EQUALIZATION_BAND_FREQUENCY {
169 AUDIO_EQUALIZATION_BAND_31 = 0,
173 AUDIO_EQUALIZATION_BAND_62 = 1,
177 AUDIO_EQUALIZATION_BAND_125 = 2,
181 AUDIO_EQUALIZATION_BAND_250 = 3,
185 AUDIO_EQUALIZATION_BAND_500 = 4,
189 AUDIO_EQUALIZATION_BAND_1K = 5,
193 AUDIO_EQUALIZATION_BAND_2K = 6,
197 AUDIO_EQUALIZATION_BAND_4K = 7,
201 AUDIO_EQUALIZATION_BAND_8K = 8,
205 AUDIO_EQUALIZATION_BAND_16K = 9,
206 };
207
211 enum AUDIO_REVERB_TYPE {
215 AUDIO_REVERB_DRY_LEVEL = 0,
219 AUDIO_REVERB_WET_LEVEL = 1,
223 AUDIO_REVERB_ROOM_SIZE = 2,
227 AUDIO_REVERB_WET_DELAY = 3,
231 AUDIO_REVERB_STRENGTH = 4,
232 };
233
234 enum STREAM_FALLBACK_OPTIONS {
239 STREAM_FALLBACK_OPTION_DISABLED = 0,
244 STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW = 1,
248 STREAM_FALLBACK_OPTION_AUDIO_ONLY = 2,
253 STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_1 = 3,
254 STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_2 = 4,
255 STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_3 = 5,
256 STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_4 = 6,
257 STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_5 = 7,
258 STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_6 = 8,
259 };
260
261 enum PRIORITY_TYPE {
264 PRIORITY_HIGH = 50,
267 PRIORITY_NORMAL = 100,
268 };
269
270 struct RtcConnection;
271
274 struct LocalVideoStats
275 {
279 uid_t uid;
283 int sentBitrate;
287 int sentFrameRate;
290 int captureFrameRate;
293 int captureFrameWidth;
296 int captureFrameHeight;
300 int regulatedCaptureFrameRate;
304 int regulatedCaptureFrameWidth;
308 int regulatedCaptureFrameHeight;
311 int encoderOutputFrameRate;
314 int encodedFrameWidth;
317 int encodedFrameHeight;
320 int rendererOutputFrameRate;
323 int targetBitrate;
326 int targetFrameRate;
330 QUALITY_ADAPT_INDICATION qualityAdaptIndication;
334 int encodedBitrate;
337 int encodedFrameCount;
340 VIDEO_CODEC_TYPE codecType;
344 unsigned short txPacketLossRate;
347 CAPTURE_BRIGHTNESS_LEVEL_TYPE captureBrightnessLevel;
351 bool dualStreamEnabled;
356 int hwEncoderAccelerating;
359 VideoDimensions simulcastDimensions[SimulcastConfig::STREAM_LAYER_COUNT_MAX];
360 };
361
365 struct RemoteAudioStats
366 {
370 uid_t uid;
374 int quality;
378 int networkTransportDelay;
384 int jitterBufferDelay;
388 int audioLossRate;
392 int numChannels;
396 int receivedSampleRate;
401 int receivedBitrate;
408 int totalFrozenTime;
413 int frozenRate;
430 int mosValue;
435 uint32_t frozenRateByCustomPlcCount;
439 uint32_t plcCount;
440
445 int totalActiveTime;
449 int publishDuration;
453 int qoeQuality;
457 int qualityChangedReason;
461 unsigned int rxAudioBytes;
465 int e2eDelay;
466
467 RemoteAudioStats()
468 : uid(0),
469 quality(0),
470 networkTransportDelay(0),
471 jitterBufferDelay(0),
472 audioLossRate(0),
473 numChannels(0),
474 receivedSampleRate(0),
475 receivedBitrate(0),
476 totalFrozenTime(0),
477 frozenRate(0),
478 mosValue(0),
479 frozenRateByCustomPlcCount(0),
480 plcCount(0),
481 totalActiveTime(0),
482 publishDuration(0),
483 qoeQuality(0),
484 qualityChangedReason(0),
485 rxAudioBytes(0),
486 e2eDelay(0) {}
487 };
488
492 struct RemoteVideoStats {
496 uid_t uid;
504 int delay __deprecated;
508 int e2eDelay;
512 int width;
516 int height;
520 int receivedBitrate;
523 int decoderInputFrameRate;
526 int decoderOutputFrameRate;
529 int rendererOutputFrameRate;
532 int frameLossRate;
535 int packetLossRate;
539 VIDEO_STREAM_TYPE rxStreamType;
545 int totalFrozenTime;
549 int frozenRate;
554 int avSyncTimeMs;
559 int totalActiveTime;
563 int publishDuration;
571 int mosValue;
575 unsigned int rxVideoBytes;
576 };
577
578 struct VideoCompositingLayout {
579 struct Region {
582 uid_t uid;
585 double x; // [0,1]
588 double y; // [0,1]
592 double width; // [0,1]
594 double height; // [0,1]
598 int zOrder; // optional, [0, 100] //0 (default): bottom most, 100: top most
599
603 double alpha;
604
605 media::base::RENDER_MODE_TYPE renderMode; // RENDER_MODE_HIDDEN: Crop, RENDER_MODE_FIT: Zoom to fit
606
607 Region()
608 : uid(0),
609 x(0),
610 y(0),
611 width(0),
612 height(0),
613 zOrder(0),
614 alpha(1.0),
615 renderMode(media::base::RENDER_MODE_HIDDEN) {}
616 };
617
622 int canvasWidth;
627 int canvasHeight;
630 const char* backgroundColor; // e.g. "#C0C0C0" in RGB
634 const Region* regions;
637 int regionCount;
640 const char* appData;
643 int appDataLength;
644
645 VideoCompositingLayout()
646 : canvasWidth(0),
647 canvasHeight(0),
648 backgroundColor(OPTIONAL_NULLPTR),
649 regions(NULL),
650 regionCount(0),
651 appData(OPTIONAL_NULLPTR),
652 appDataLength(0) {}
653 };
654
657 struct InjectStreamConfig {
661 int width;
665 int height;
669 int videoGop;
673 int videoFramerate;
677 int videoBitrate;
681 AUDIO_SAMPLE_RATE_TYPE audioSampleRate;
685 int audioBitrate;
688 int audioChannels;
689
690 // width / height default set to 0 means pull the stream with its original
691 // resolution
692 InjectStreamConfig()
693 : width(0),
694 height(0),
695 videoGop(30),
696 videoFramerate(15),
697 videoBitrate(400),
698 audioSampleRate(AUDIO_SAMPLE_RATE_48000),
699 audioBitrate(48),
700 audioChannels(1) {}
701 };
702
705 enum RTMP_STREAM_LIFE_CYCLE_TYPE {
708 RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL = 1,
711 RTMP_STREAM_LIFE_CYCLE_BIND2OWNER = 2,
712 };
713
716 struct PublisherConfiguration {
720 int width;
724 int height;
728 int framerate;
732 int bitrate;
738 int defaultLayout;
741 int lifecycle;
746 bool owner;
749 int injectStreamWidth;
752 int injectStreamHeight;
755 const char* injectStreamUrl;
759 const char* publishUrl;
763 const char* rawStreamUrl;
766 const char* extraInfo;
767
768 PublisherConfiguration()
769 : width(640),
770 height(360),
771 framerate(15),
772 bitrate(500),
773 defaultLayout(1),
774 lifecycle(RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL),
775 owner(true),
776 injectStreamWidth(0),
777 injectStreamHeight(0),
778 injectStreamUrl(NULL),
779 publishUrl(NULL),
780 rawStreamUrl(NULL),
781 extraInfo(NULL) {}
782 };
783
787 enum CAMERA_DIRECTION {
789 CAMERA_REAR = 0,
791 CAMERA_FRONT = 1,
792 };
793
798 enum CLOUD_PROXY_TYPE {
801 NONE_PROXY = 0,
804 UDP_PROXY = 1,
806
808 TCP_PROXY = 2,
810 };
811
813 struct CameraCapturerConfiguration {
815 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
816
819 Optional<CAMERA_DIRECTION> cameraDirection;
820
821 /*- CAMERA_FOCAL_LENGTH_TYPE.CAMERA_FOCAL_LENGTH_DEFAULT:
822 For iOS, if iPhone/iPad has 3 or 2 back camera, it means combination of triple (wide + ultra wide + telephoto) camera
823 or dual wide(wide + ultra wide) camera.In this situation, you can apply for ultra wide len by set smaller zoom fator
824 and bigger zoom fator for telephoto len.Otherwise, it always means wide back/front camera.
825
826 - CAMERA_FOCAL_LENGTH_TYPE.CAMERA_FOCAL_LENGTH_WIDE_ANGLE:wide camera
827 - CAMERA_FOCAL_LENGTH_TYPE.CAMERA_FOCAL_LENGTH_ULTRA_WIDE:ultra wide camera
828 - CAMERA_FOCAL_LENGTH_TYPE.CAMERA_FOCAL_LENGTH_TELEPHOTO:telephoto camera*/
829 Optional<CAMERA_FOCAL_LENGTH_TYPE> cameraFocalLengthType;
830 #else
831
832 Optional<const char *> deviceId;
833 #endif
834
835 #if defined(__ANDROID__)
836
839 Optional<const char *> cameraId;
840 #endif
841 Optional<bool> followEncodeDimensionRatio;
843 VideoFormat format;
844 CameraCapturerConfiguration() : format(VideoFormat(0, 0, 0)) {}
845 };
849 struct ScreenCaptureConfiguration {
855 bool isCaptureWindow; // true - capture window, false - capture display
859 int64_t displayId;
864 Rectangle screenRect; //Windows only
869 int64_t windowId;
873 ScreenCaptureParameters params;
881 Rectangle regionRect;
882
883 ScreenCaptureConfiguration() : isCaptureWindow(false), displayId(0), windowId(0) {}
884 };
885
886 #if (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
887
889 struct SIZE {
892 int width;
895 int height;
896
897 SIZE() : width(0), height(0) {}
898 SIZE(int ww, int hh) : width(ww), height(hh) {}
899 };
900 #endif
901
902 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
903
908 struct ThumbImageBuffer {
912 const char* buffer;
916 unsigned int length;
920 unsigned int width;
924 unsigned int height;
925 ThumbImageBuffer() : buffer(nullptr), length(0), width(0), height(0) {}
926 };
930 enum ScreenCaptureSourceType {
932 ScreenCaptureSourceType_Unknown = -1,
934 ScreenCaptureSourceType_Window = 0,
936 ScreenCaptureSourceType_Screen = 1,
938 ScreenCaptureSourceType_Custom = 2,
939 };
941 struct ScreenCaptureSourceInfo {
945 ScreenCaptureSourceType type;
949 int64_t sourceId;
953 const char* sourceName;
957 ThumbImageBuffer thumbImage;
961 ThumbImageBuffer iconImage;
965 const char* processPath;
969 const char* sourceTitle;
975 bool primaryMonitor;
976 bool isOccluded;
980 Rectangle position;
981 #if defined(_WIN32)
982
985 bool minimizeWindow;
992 int64_t sourceDisplayId;
993 ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(0), sourceName(nullptr),
994 processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false), minimizeWindow(false), sourceDisplayId(-2) {}
995 #else
996 ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(0), sourceName(nullptr), processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false) {}
997 #endif
998 };
1002 class IScreenCaptureSourceList {
1003 protected:
1004 virtual ~IScreenCaptureSourceList(){};
1005
1006 public:
1012 virtual unsigned int getCount() = 0;
1022 virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index) = 0;
1029 virtual void release() = 0;
1030 };
1031 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
1032
1035 struct AdvancedAudioOptions {
1039 Optional<int> audioProcessingChannels;
1040
1041 AdvancedAudioOptions() {}
1042 ~AdvancedAudioOptions() {}
1043 };
1044
1045 struct ImageTrackOptions {
1046 const char* imageUrl;
1047 int fps;
1048 VIDEO_MIRROR_MODE_TYPE mirrorMode;
1049 ImageTrackOptions() : imageUrl(NULL), fps(1), mirrorMode(VIDEO_MIRROR_MODE_DISABLED) {}
1050 };
1051
1060 struct ChannelMediaOptions {
1066 Optional<bool> publishCameraTrack;
1072 Optional<bool> publishSecondaryCameraTrack;
1078 Optional<bool> publishThirdCameraTrack;
1084 Optional<bool> publishFourthCameraTrack;
1090 Optional<bool> publishMicrophoneTrack;
1091
1092 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1093
1098 Optional<bool> publishScreenCaptureVideo;
1104 Optional<bool> publishScreenCaptureAudio;
1105 #else
1106
1111 Optional<bool> publishScreenTrack;
1117 Optional<bool> publishSecondaryScreenTrack;
1123 Optional<bool> publishThirdScreenTrack;
1129 Optional<bool> publishFourthScreenTrack;
1130 #endif
1131
1137 Optional<bool> publishCustomAudioTrack;
1141 Optional<int> publishCustomAudioTrackId;
1147 Optional<bool> publishCustomVideoTrack;
1153 Optional<bool> publishEncodedVideoTrack;
1159 Optional<bool> publishMediaPlayerAudioTrack;
1165 Optional<bool> publishMediaPlayerVideoTrack;
1171 Optional<bool> publishTranscodedVideoTrack;
1177 Optional<bool> publishMixedAudioTrack;
1183 Optional<bool> publishLipSyncTrack;
1189 Optional<bool> autoSubscribeAudio;
1195 Optional<bool> autoSubscribeVideo;
1201 Optional<bool> enableAudioRecordingOrPlayout;
1205 Optional<int> publishMediaPlayerId;
1210 Optional<CLIENT_ROLE_TYPE> clientRoleType;
1214 Optional<AUDIENCE_LATENCY_LEVEL_TYPE> audienceLatencyLevel;
1219 Optional<VIDEO_STREAM_TYPE> defaultVideoStreamType;
1224 Optional<CHANNEL_PROFILE_TYPE> channelProfile;
1229 Optional<int> audioDelayMs;
1234 Optional<int> mediaPlayerAudioDelayMs;
1243 Optional<const char*> token;
1251 Optional<bool> enableBuiltInMediaEncryption;
1257 Optional<bool> publishRhythmPlayerTrack;
1265 Optional<bool> isInteractiveAudience;
1270 Optional<video_track_id_t> customVideoTrackId;
1276 Optional<bool> isAudioFilterable;
1277
1282 Optional<const char*> parameters;
1283
1284 ChannelMediaOptions() {}
1285 ~ChannelMediaOptions() {}
1286
1287 void SetAll(const ChannelMediaOptions& change) {
1288 #define SET_FROM(X) SetFrom(&X, change.X)
1289
1290 SET_FROM(publishCameraTrack);
1291 SET_FROM(publishSecondaryCameraTrack);
1292 SET_FROM(publishThirdCameraTrack);
1293 SET_FROM(publishFourthCameraTrack);
1294 SET_FROM(publishMicrophoneTrack);
1295 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1296 SET_FROM(publishScreenCaptureVideo);
1297 SET_FROM(publishScreenCaptureAudio);
1298 #else
1299 SET_FROM(publishScreenTrack);
1300 SET_FROM(publishSecondaryScreenTrack);
1301 SET_FROM(publishThirdScreenTrack);
1302 SET_FROM(publishFourthScreenTrack);
1303 #endif
1304 SET_FROM(publishTranscodedVideoTrack);
1305 SET_FROM(publishMixedAudioTrack);
1306 SET_FROM(publishLipSyncTrack);
1307 SET_FROM(publishCustomAudioTrack);
1308 SET_FROM(publishCustomAudioTrackId);
1309 SET_FROM(publishCustomVideoTrack);
1310 SET_FROM(publishEncodedVideoTrack);
1311 SET_FROM(publishMediaPlayerAudioTrack);
1312 SET_FROM(publishMediaPlayerVideoTrack);
1313 SET_FROM(autoSubscribeAudio);
1314 SET_FROM(autoSubscribeVideo);
1315 SET_FROM(publishMediaPlayerId);
1316 SET_FROM(enableAudioRecordingOrPlayout);
1317 SET_FROM(clientRoleType);
1318 SET_FROM(audienceLatencyLevel);
1319 SET_FROM(defaultVideoStreamType);
1320 SET_FROM(channelProfile);
1321 SET_FROM(audioDelayMs);
1322 SET_FROM(mediaPlayerAudioDelayMs);
1323 SET_FROM(token);
1324 SET_FROM(enableBuiltInMediaEncryption);
1325 SET_FROM(publishRhythmPlayerTrack);
1326 SET_FROM(customVideoTrackId);
1327 SET_FROM(isAudioFilterable);
1328 SET_FROM(isInteractiveAudience);
1329 SET_FROM(parameters);
1330 #undef SET_FROM
1331 }
1332
1333 bool operator==(const ChannelMediaOptions& o) const {
1334 #define BEGIN_COMPARE() bool b = true
1335 #define ADD_COMPARE(X) b = (b && (X == o.X))
1336 #define END_COMPARE()
1337
1338 BEGIN_COMPARE();
1339 ADD_COMPARE(publishCameraTrack);
1340 ADD_COMPARE(publishSecondaryCameraTrack);
1341 ADD_COMPARE(publishThirdCameraTrack);
1342 ADD_COMPARE(publishFourthCameraTrack);
1343 ADD_COMPARE(publishMicrophoneTrack);
1344 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1345 ADD_COMPARE(publishScreenCaptureVideo);
1346 ADD_COMPARE(publishScreenCaptureAudio);
1347 #else
1348 ADD_COMPARE(publishScreenTrack);
1349 ADD_COMPARE(publishSecondaryScreenTrack);
1350 ADD_COMPARE(publishThirdScreenTrack);
1351 ADD_COMPARE(publishFourthScreenTrack);
1352 #endif
1353 ADD_COMPARE(publishTranscodedVideoTrack);
1354 ADD_COMPARE(publishMixedAudioTrack);
1355 ADD_COMPARE(publishLipSyncTrack);
1356 ADD_COMPARE(publishCustomAudioTrack);
1357 ADD_COMPARE(publishCustomAudioTrackId);
1358 ADD_COMPARE(publishCustomVideoTrack);
1359 ADD_COMPARE(publishEncodedVideoTrack);
1360 ADD_COMPARE(publishMediaPlayerAudioTrack);
1361 ADD_COMPARE(publishMediaPlayerVideoTrack);
1362 ADD_COMPARE(autoSubscribeAudio);
1363 ADD_COMPARE(autoSubscribeVideo);
1364 ADD_COMPARE(publishMediaPlayerId);
1365 ADD_COMPARE(enableAudioRecordingOrPlayout);
1366 ADD_COMPARE(clientRoleType);
1367 ADD_COMPARE(audienceLatencyLevel);
1368 ADD_COMPARE(defaultVideoStreamType);
1369 ADD_COMPARE(channelProfile);
1370 ADD_COMPARE(audioDelayMs);
1371 ADD_COMPARE(mediaPlayerAudioDelayMs);
1372 ADD_COMPARE(token);
1373 ADD_COMPARE(enableBuiltInMediaEncryption);
1374 ADD_COMPARE(publishRhythmPlayerTrack);
1375 ADD_COMPARE(customVideoTrackId);
1376 ADD_COMPARE(isAudioFilterable);
1377 ADD_COMPARE(isInteractiveAudience);
1378 ADD_COMPARE(parameters);
1379 END_COMPARE();
1380
1381 #undef BEGIN_COMPARE
1382 #undef ADD_COMPARE
1383 #undef END_COMPARE
1384 return b;
1385 }
1386
1387 ChannelMediaOptions& operator=(const ChannelMediaOptions& replace) {
1388 if (this != &replace) {
1389 #define REPLACE_BY(X) ReplaceBy(&X, replace.X)
1390
1391 REPLACE_BY(publishCameraTrack);
1392 REPLACE_BY(publishSecondaryCameraTrack);
1393 REPLACE_BY(publishThirdCameraTrack);
1394 REPLACE_BY(publishFourthCameraTrack);
1395 REPLACE_BY(publishMicrophoneTrack);
1396 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1397 REPLACE_BY(publishScreenCaptureVideo);
1398 REPLACE_BY(publishScreenCaptureAudio);
1399 #else
1400 REPLACE_BY(publishScreenTrack);
1401 REPLACE_BY(publishSecondaryScreenTrack);
1402 REPLACE_BY(publishThirdScreenTrack);
1403 REPLACE_BY(publishFourthScreenTrack);
1404 #endif
1405 REPLACE_BY(publishTranscodedVideoTrack);
1406 REPLACE_BY(publishMixedAudioTrack);
1407 REPLACE_BY(publishLipSyncTrack);
1408 REPLACE_BY(publishCustomAudioTrack);
1409 REPLACE_BY(publishCustomAudioTrackId);
1410 REPLACE_BY(publishCustomVideoTrack);
1411 REPLACE_BY(publishEncodedVideoTrack);
1412 REPLACE_BY(publishMediaPlayerAudioTrack);
1413 REPLACE_BY(publishMediaPlayerVideoTrack);
1414 REPLACE_BY(autoSubscribeAudio);
1415 REPLACE_BY(autoSubscribeVideo);
1416 REPLACE_BY(publishMediaPlayerId);
1417 REPLACE_BY(enableAudioRecordingOrPlayout);
1418 REPLACE_BY(clientRoleType);
1419 REPLACE_BY(audienceLatencyLevel);
1420 REPLACE_BY(defaultVideoStreamType);
1421 REPLACE_BY(channelProfile);
1422 REPLACE_BY(audioDelayMs);
1423 REPLACE_BY(mediaPlayerAudioDelayMs);
1424 REPLACE_BY(token);
1425 REPLACE_BY(enableBuiltInMediaEncryption);
1426 REPLACE_BY(publishRhythmPlayerTrack);
1427 REPLACE_BY(customVideoTrackId);
1428 REPLACE_BY(isAudioFilterable);
1429 REPLACE_BY(isInteractiveAudience);
1430 REPLACE_BY(parameters);
1431 #undef REPLACE_BY
1432 }
1433 return *this;
1434 }
1435 };
1436
1437 enum PROXY_TYPE {
1440 NONE_PROXY_TYPE = 0,
1443 UDP_PROXY_TYPE = 1,
1446 TCP_PROXY_TYPE = 2,
1449 LOCAL_PROXY_TYPE = 3,
1452 TCP_PROXY_AUTO_FALLBACK_TYPE = 4,
1455 HTTP_PROXY_TYPE = 5,
1458 HTTPS_PROXY_TYPE = 6,
1459 };
1460
1461 enum FeatureType {
1462 VIDEO_VIRTUAL_BACKGROUND = 1,
1463 VIDEO_BEAUTY_EFFECT = 2,
1464 };
1465
1469 struct LeaveChannelOptions {
1475 bool stopAudioMixing;
1481 bool stopAllEffect;
1487 bool unloadAllEffect;
1493 bool stopMicrophoneRecording;
1494
1495 LeaveChannelOptions() : stopAudioMixing(true), stopAllEffect(true), unloadAllEffect(false), stopMicrophoneRecording(true) {}
1496 };
1497
1508 class IRtcEngineEventHandler {
1509 public:
1510 virtual ~IRtcEngineEventHandler() {}
1511
1512 virtual const char* eventHandlerType() const { return "event_handler"; }
1513
1523 virtual void onJoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1524 (void)channel;
1525 (void)uid;
1526 (void)elapsed;
1527 }
1528
1539 virtual void onRejoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1540 (void)channel;
1541 (void)uid;
1542 (void)elapsed;
1543 }
1544
1552 virtual void onProxyConnected(const char* channel, uid_t uid, PROXY_TYPE proxyType, const char* localProxyIp, int elapsed) {
1553 (void)channel;
1554 (void)uid;
1555 (void)proxyType;
1556 (void)localProxyIp;
1557 (void)elapsed;
1558 }
1559
1565 virtual void onError(int err, const char* msg) {
1566 (void)err;
1567 (void)msg;
1568 }
1569
1585 virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay, unsigned short lost) __deprecated {
1586 (void)uid;
1587 (void)quality;
1588 (void)delay;
1589 (void)lost;
1590 }
1591
1597 virtual void onLastmileProbeResult(const LastmileProbeResult& result) {
1598 (void)result;
1599 }
1600
1627 virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, unsigned int speakerNumber,
1628 int totalVolume) {
1629 (void)speakers;
1630 (void)speakerNumber;
1631 (void)totalVolume;
1632 }
1633
1642 virtual void onLeaveChannel(const RtcStats& stats) { (void)stats; }
1643
1651 virtual void onRtcStats(const RtcStats& stats) { (void)stats; }
1652
1666 virtual void onAudioDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1667 (void)deviceId;
1668 (void)deviceType;
1669 (void)deviceState;
1670 }
1671
1678 virtual void onAudioMixingPositionChanged(int64_t position) {}
1679
1686 virtual void onAudioMixingFinished() __deprecated {}
1687
1695 virtual void onAudioEffectFinished(int soundId) {}
1696
1706 virtual void onVideoDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1707 (void)deviceId;
1708 (void)deviceType;
1709 (void)deviceState;
1710 }
1711
1734 virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) {
1735 (void)uid;
1736 (void)txQuality;
1737 (void)rxQuality;
1738 }
1739
1746 virtual void onIntraRequestReceived() {}
1747
1758 virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo& info) {
1759 (void)info;
1760 }
1761
1769 virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo& info) {
1770 (void)info;
1771 }
1772
1785 virtual void onLastmileQuality(int quality) { (void)quality; }
1786
1797 virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed) {
1798 (void)source;
1799 (void)width;
1800 (void)height;
1801 (void)elapsed;
1802 }
1803
1814 virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed) {
1815 (void)source;
1816 (void)elapsed;
1817 }
1818
1835 virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) __deprecated {
1836 (void)uid;
1837 (void)width;
1838 (void)height;
1839 (void)elapsed;
1840 }
1841
1850 virtual void onVideoSizeChanged(VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation) {
1851 (void)uid;
1852 (void)width;
1853 (void)height;
1854 (void)rotation;
1855 }
1856
1883 virtual void onLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_REASON reason) {
1884 (void)source;
1885 (void)state;
1886 (void)reason;
1887 }
1888
1900 virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) {
1901 (void)uid;
1902 (void)state;
1903 (void)reason;
1904 (void)elapsed;
1905 }
1906
1914 virtual void onFirstRemoteVideoFrame(uid_t uid, int width, int height, int elapsed) {
1915 (void)uid;
1916 (void)width;
1917 (void)height;
1918 (void)elapsed;
1919 }
1920
1940 virtual void onUserJoined(uid_t uid, int elapsed) {
1941 (void)uid;
1942 (void)elapsed;
1943 }
1944
1959 virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) {
1960 (void)uid;
1961 (void)reason;
1962 }
1963
1976 virtual void onUserMuteAudio(uid_t uid, bool muted) {
1977 (void)uid;
1978 (void)muted;
1979 }
1980
1995 virtual void onUserMuteVideo(uid_t uid, bool muted) {
1996 (void)uid;
1997 (void)muted;
1998 }
1999
2012 virtual void onUserEnableVideo(uid_t uid, bool enabled) {
2013 (void)uid;
2014 (void)enabled;
2015 }
2016
2022 virtual void onUserStateChanged(uid_t uid, REMOTE_USER_STATE state) {
2023 (void)uid;
2024 (void)state;
2025 }
2026
2037 virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) __deprecated {
2038 (void)uid;
2039 (void)enabled;
2040 }
2041
2049 virtual void onRemoteAudioStats(const RemoteAudioStats& stats) {
2050 (void)stats;
2051 }
2052
2060 virtual void onLocalAudioStats(const LocalAudioStats& stats) {
2061 (void)stats;
2062 }
2063
2077 virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats& stats) {
2078 (void)source;
2079 (void)stats;
2080 }
2081
2090 virtual void onRemoteVideoStats(const RemoteVideoStats& stats) {
2091 (void)stats;
2092 }
2093
2099 virtual void onCameraReady() __deprecated {}
2100
2111 virtual void onCameraFocusAreaChanged(int x, int y, int width, int height) {
2112 (void)x;
2113 (void)y;
2114 (void)width;
2115 (void)height;
2116 }
2125 virtual void onCameraExposureAreaChanged(int x, int y, int width, int height) {
2126 (void)x;
2127 (void)y;
2128 (void)width;
2129 (void)height;
2130 }
2131 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
2132
2162 virtual void onFacePositionChanged(int imageWidth, int imageHeight,
2163 const Rectangle* vecRectangle, const int* vecDistance,
2164 int numFaces) {
2165 (void) imageWidth;
2166 (void) imageHeight;
2167 (void) vecRectangle;
2168 (void) vecDistance;
2169 (void) numFaces;
2170 }
2171 #endif
2172
2179 virtual void onVideoStopped() __deprecated {}
2180
2188 virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) {
2189 (void)state;
2190 (void)reason;
2191 }
2192
2201 virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_REASON reason) {
2202 (void)state;
2203 (void)reason;
2204 }
2205
2214 virtual void onConnectionLost() {}
2215
2227 virtual void onConnectionInterrupted() __deprecated {}
2228
2232 virtual void onConnectionBanned() __deprecated {}
2233
2245 virtual void onStreamMessage(uid_t uid, int streamId, const char* data, size_t length, uint64_t sentTs) {
2246 (void)uid;
2247 (void)streamId;
2248 (void)data;
2249 (void)length;
2250 (void)sentTs;
2251 }
2252
2265 virtual void onStreamMessageError(uid_t uid, int streamId, int code, int missed, int cached) {
2266 (void)uid;
2267 (void)streamId;
2268 (void)code;
2269 (void)missed;
2270 (void)cached;
2271 }
2272
2282 virtual void onRequestToken() {}
2283
2295 virtual void onTokenPrivilegeWillExpire(const char* token) {
2296 (void)token;
2297 }
2298
2304 virtual void onLicenseValidationFailure(LICENSE_ERROR_TYPE error) {
2305 (void)error;
2306 }
2307
2318 virtual void onFirstLocalAudioFramePublished(int elapsed) {
2319 (void)elapsed;
2320 }
2321
2338 virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) __deprecated {
2339 (void)uid;
2340 (void)elapsed;
2341 }
2342
2350 virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) __deprecated {
2351 (void)uid;
2352 (void)elapsed;
2353 }
2354
2369 virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_REASON reason) {
2370 (void)state;
2371 (void)reason;
2372 }
2373
2390 virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) {
2391 (void)uid;
2392 (void)state;
2393 (void)reason;
2394 (void)elapsed;
2395 }
2396
2410 virtual void onActiveSpeaker(uid_t uid) {
2411 (void)uid;
2412 }
2413
2418 virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result) { (void)result; }
2419
2437 virtual void onSnapshotTaken(uid_t uid, const char* filePath, int width, int height, int errCode) {
2438 (void)uid;
2439 (void)filePath;
2440 (void)width;
2441 (void)height;
2442 (void)errCode;
2443 }
2444
2452 virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions& newRoleOptions) {
2453 (void)oldRole;
2454 (void)newRole;
2455 (void)newRoleOptions;
2456 }
2457
2465 virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole) {
2466 (void)reason;
2467 (void)currentRole;
2468 }
2469
2477 virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) {
2478 (void)deviceType;
2479 (void)volume;
2480 (void)muted;
2481 }
2482
2494 virtual void onRtmpStreamingStateChanged(const char* url, RTMP_STREAM_PUBLISH_STATE state,
2495 RTMP_STREAM_PUBLISH_REASON reason) {
2496 (void)url;
2497 (void)state;
2498 (void)reason;
2499 }
2500
2506 virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode) {
2507 (void)url;
2508 (void)eventCode;
2509 }
2510
2521 virtual void onTranscodingUpdated() {}
2522
2536 virtual void onAudioRoutingChanged(int routing) { (void)routing; }
2537
2569 virtual void onChannelMediaRelayStateChanged(int state, int code) {
2570 (void)state;
2571 (void)code;
2572 }
2573
2587 virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) {
2588 (void)isFallbackOrRecover;
2589 }
2590
2608 virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover) {
2609 (void)uid;
2610 (void)isFallbackOrRecover;
2611 }
2612
2627 virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated {
2628 (void)uid;
2629 (void)delay;
2630 (void)lost;
2631 (void)rxKBitRate;
2632 }
2633
2651 virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated {
2652 (void)uid;
2653 (void)delay;
2654 (void)lost;
2655 (void)rxKBitRate;
2656 }
2657
2666 virtual void onConnectionStateChanged(
2667 CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) {
2668 (void)state;
2669 (void)reason;
2670 }
2671
2678 virtual void onWlAccMessage(WLACC_MESSAGE_REASON reason, WLACC_SUGGEST_ACTION action, const char* wlAccMsg) {
2679 (void)reason;
2680 (void)action;
2681 (void)wlAccMsg;
2682 }
2683
2689 virtual void onWlAccStats(const WlAccStats& currentStats, const WlAccStats& averageStats) {
2690 (void)currentStats;
2691 (void)averageStats;
2692 }
2693
2703 virtual void onNetworkTypeChanged(NETWORK_TYPE type) {
2704 (void)type;
2705 }
2706
2714 virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) {
2715 (void)errorType;
2716 }
2717
2727 virtual void onPermissionError(PERMISSION_TYPE permissionType) {
2728 (void)permissionType;
2729 }
2730
2740 virtual void onLocalUserRegistered(uid_t uid, const char* userAccount) {
2741 (void)uid;
2742 (void)userAccount;
2743 }
2744
2753 virtual void onUserInfoUpdated(uid_t uid, const UserInfo& info) {
2754 (void)uid;
2755 (void)info;
2756 }
2757
2764 virtual void onUserAccountUpdated(uid_t uid, const char* userAccount){
2765 (void)uid;
2766 (void)userAccount;
2767 }
2768
2776 virtual void onVideoRenderingTracingResult(uid_t uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo) {
2777 (void)uid;
2778 (void)currentEvent;
2779 (void)tracingInfo;
2780 }
2781
2788 virtual void onLocalVideoTranscoderError(const TranscodingVideoStream& stream, VIDEO_TRANSCODER_ERROR error){
2789 (void)stream;
2790 (void)error;
2791 }
2792
2799 virtual void onUploadLogResult(const char* requestId, bool success, UPLOAD_ERROR_REASON reason) {
2800 (void)requestId;
2801 (void)success;
2802 (void)reason;
2803 }
2804
2814 virtual void onAudioSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
2815 (void)channel;
2816 (void)uid;
2817 (void)oldState;
2818 (void)newState;
2819 (void)elapseSinceLastState;
2820 }
2821
2831 virtual void onVideoSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
2832 (void)channel;
2833 (void)uid;
2834 (void)oldState;
2835 (void)newState;
2836 (void)elapseSinceLastState;
2837 }
2838
2847 virtual void onAudioPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
2848 (void)channel;
2849 (void)oldState;
2850 (void)newState;
2851 (void)elapseSinceLastState;
2852 }
2853
2863 virtual void onVideoPublishStateChanged(VIDEO_SOURCE_TYPE source, const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
2864 (void)source;
2865 (void)channel;
2866 (void)oldState;
2867 (void)newState;
2868 (void)elapseSinceLastState;
2869 }
2870
2880 virtual void onTranscodedStreamLayoutInfo(uid_t uid, int width, int height, int layoutCount,const VideoLayout* layoutlist) {
2881 (void)uid;
2882 (void)width;
2883 (void)height;
2884 (void)layoutCount;
2885 (void)layoutlist;
2886 }
2887
2896 virtual void onAudioMetadataReceived(uid_t uid, const char* metadata, size_t length) {
2897 (void)uid;
2898 (void)metadata;
2899 (void)length;
2900 }
2901
2911 virtual void onExtensionEventWithContext(const ExtensionContext &context, const char* key, const char* value) {
2912 (void)context;
2913 (void)key;
2914 (void)value;
2915 }
2916
2924 virtual void onExtensionStartedWithContext(const ExtensionContext &context) {
2925 (void)context;
2926 }
2927
2935 virtual void onExtensionStoppedWithContext(const ExtensionContext &context) {
2936 (void)context;
2937 }
2938
2949 virtual void onExtensionErrorWithContext(const ExtensionContext &context, int error, const char* message) {
2950 (void)context;
2951 (void)error;
2952 (void)message;
2953 }
2954
2961 virtual void onSetRtmFlagResult(int code) {
2962 (void)code;
2963 }
2964 };
2965
2969 class IVideoDeviceCollection {
2970 public:
2971 virtual ~IVideoDeviceCollection() {}
2972
2978 virtual int getCount() = 0;
2979
2989 virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2990
3001 virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH],
3002 char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3003
3007 virtual void release() = 0;
3008 };
3009
3013 class IVideoDeviceManager {
3014 public:
3015 virtual ~IVideoDeviceManager() {}
3027 virtual IVideoDeviceCollection* enumerateVideoDevices() = 0;
3028
3039 virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3040
3049 virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3050
3051 #if defined(_WIN32) || (defined(__linux__) && !defined(__ANDROID__)) || \
3052 (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
3053
3070 virtual int numberOfCapabilities(const char* deviceIdUTF8) = 0;
3071
3089 virtual int getCapability(const char* deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat& capability) = 0;
3090 #endif
3091
3104 virtual int startDeviceTest(view_t hwnd) = 0;
3105
3112 virtual int stopDeviceTest() = 0;
3113
3117 virtual void release() = 0;
3118 };
3119
3123 struct RtcEngineContext {
3127 IRtcEngineEventHandler* eventHandler;
3134 const char* appId;
3140 void* context;
3144 CHANNEL_PROFILE_TYPE channelProfile;
3145
3149 const char* license;
3150
3158 AUDIO_SCENARIO_TYPE audioScenario;
3167 unsigned int areaCode;
3168
3184 commons::LogConfig logConfig;
3185
3189 Optional<THREAD_PRIORITY_TYPE> threadPriority;
3190
3198 bool useExternalEglContext;
3199
3205 bool domainLimit;
3206
3212 bool autoRegisterAgoraExtensions;
3213
3214 RtcEngineContext()
3215 : eventHandler(NULL), appId(NULL), context(NULL), channelProfile(CHANNEL_PROFILE_LIVE_BROADCASTING),
3216 license(NULL), audioScenario(AUDIO_SCENARIO_DEFAULT), areaCode(AREA_CODE_GLOB),
3217 logConfig(), useExternalEglContext(false), domainLimit(false), autoRegisterAgoraExtensions(true) {}
3218 };
3219
3222 class IMetadataObserver {
3223 public:
3224 virtual ~IMetadataObserver() {}
3225
3230 enum METADATA_TYPE
3231 {
3234 UNKNOWN_METADATA = -1,
3237 VIDEO_METADATA = 0,
3238 };
3242 enum MAX_METADATA_SIZE_TYPE
3243 {
3244 INVALID_METADATA_SIZE_IN_BYTE = -1,
3245 DEFAULT_METADATA_SIZE_IN_BYTE = 512,
3246 MAX_METADATA_SIZE_IN_BYTE = 1024
3247 };
3248
3251 struct Metadata
3252 {
3255 const char* channelId;
3260 unsigned int uid;
3263 unsigned int size;
3266 unsigned char *buffer;
3270 long long timeStampMs;
3271
3272 Metadata() : channelId(NULL), uid(0), size(0), buffer(NULL), timeStampMs(0) {}
3273 };
3274
3285 virtual int getMaxMetadataSize() { return DEFAULT_METADATA_SIZE_IN_BYTE; }
3286
3297 virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type) = 0;
3298
3306 virtual void onMetadataReceived(const Metadata& metadata) = 0;
3307 };
3308
3309 // The reason codes for media streaming
3310 // GENERATED_JAVA_ENUM_PACKAGE: io.agora.streaming
3311 enum DIRECT_CDN_STREAMING_REASON {
3312 // No error occurs.
3313 DIRECT_CDN_STREAMING_REASON_OK = 0,
3314 // A general error occurs (no specified reason).
3315 DIRECT_CDN_STREAMING_REASON_FAILED = 1,
3316 // Audio publication error.
3317 DIRECT_CDN_STREAMING_REASON_AUDIO_PUBLICATION = 2,
3318 // Video publication error.
3319 DIRECT_CDN_STREAMING_REASON_VIDEO_PUBLICATION = 3,
3320
3321 DIRECT_CDN_STREAMING_REASON_NET_CONNECT = 4,
3322 // Already exist stream name.
3323 DIRECT_CDN_STREAMING_REASON_BAD_NAME = 5,
3324 };
3325
3326 // The connection state of media streaming
3327 // GENERATED_JAVA_ENUM_PACKAGE: io.agora.streaming
3328 enum DIRECT_CDN_STREAMING_STATE {
3329
3330 DIRECT_CDN_STREAMING_STATE_IDLE = 0,
3331
3332 DIRECT_CDN_STREAMING_STATE_RUNNING = 1,
3333
3334 DIRECT_CDN_STREAMING_STATE_STOPPED = 2,
3335
3336 DIRECT_CDN_STREAMING_STATE_FAILED = 3,
3337
3338 DIRECT_CDN_STREAMING_STATE_RECOVERING = 4,
3339 };
3340
3344 struct DirectCdnStreamingStats {
3348 int videoWidth;
3349
3353 int videoHeight;
3354
3358 int fps;
3359
3363 int videoBitrate;
3364
3368 int audioBitrate;
3369 };
3370
3375 class IDirectCdnStreamingEventHandler {
3376 public:
3377 virtual ~IDirectCdnStreamingEventHandler() {}
3378
3385 virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_REASON reason, const char* message) {
3386 (void)state;
3387 (void)reason;
3388 (void)message;
3389 };
3390
3391 virtual void onDirectCdnStreamingStats(const DirectCdnStreamingStats& stats) {
3392 (void)stats;
3393 };
3394 };
3395
3399 struct DirectCdnStreamingMediaOptions {
3405 Optional<bool> publishCameraTrack;
3411 Optional<bool> publishMicrophoneTrack;
3417 Optional<bool> publishCustomAudioTrack;
3423 Optional<bool> publishCustomVideoTrack;
3429 Optional<bool> publishMediaPlayerAudioTrack;
3434 Optional<int> publishMediaPlayerId;
3439 Optional<video_track_id_t> customVideoTrackId;
3440
3441 DirectCdnStreamingMediaOptions() {}
3442 ~DirectCdnStreamingMediaOptions() {}
3443
3444 void SetAll(const DirectCdnStreamingMediaOptions& change) {
3445 #define SET_FROM(X) SetFrom(&X, change.X)
3446 SET_FROM(publishCameraTrack);
3447 SET_FROM(publishMicrophoneTrack);
3448 SET_FROM(publishCustomAudioTrack);
3449 SET_FROM(publishCustomVideoTrack);
3450 SET_FROM(publishMediaPlayerAudioTrack);
3451 SET_FROM(publishMediaPlayerId);
3452 SET_FROM(customVideoTrackId);
3453 #undef SET_FROM
3454 }
3455
3456 bool operator==(const DirectCdnStreamingMediaOptions& o) const {
3457 #define BEGIN_COMPARE() bool b = true
3458 #define ADD_COMPARE(X) b = (b && (X == o.X))
3459 #define END_COMPARE()
3460
3461 BEGIN_COMPARE();
3462 ADD_COMPARE(publishCameraTrack);
3463 ADD_COMPARE(publishMicrophoneTrack);
3464 ADD_COMPARE(publishCustomAudioTrack);
3465 ADD_COMPARE(publishCustomVideoTrack);
3466 ADD_COMPARE(publishMediaPlayerAudioTrack);
3467 ADD_COMPARE(customVideoTrackId);
3468 ADD_COMPARE(publishMediaPlayerId);
3469 END_COMPARE();
3470
3471 #undef BEGIN_COMPARE
3472 #undef ADD_COMPARE
3473 #undef END_COMPARE
3474 return b;
3475 }
3476
3477 DirectCdnStreamingMediaOptions& operator=(const DirectCdnStreamingMediaOptions& replace) {
3478 if (this != &replace) {
3479 #define REPLACE_BY(X) ReplaceBy(&X, replace.X)
3480
3481 REPLACE_BY(publishCameraTrack);
3482 REPLACE_BY(publishMicrophoneTrack);
3483 REPLACE_BY(publishCustomAudioTrack);
3484 REPLACE_BY(publishCustomVideoTrack);
3485 REPLACE_BY(publishMediaPlayerAudioTrack);
3486 REPLACE_BY(customVideoTrackId);
3487 REPLACE_BY(publishMediaPlayerId);
3488 #undef REPLACE_BY
3489 }
3490 return *this;
3491 }
3492 };
3493
3497 struct ExtensionInfo {
3501 agora::media::MEDIA_SOURCE_TYPE mediaSourceType;
3502
3508 uid_t remoteUid;
3509
3521 const char* channelId;
3522
3526 uid_t localUid;
3527
3528 ExtensionInfo() : mediaSourceType(agora::media::UNKNOWN_MEDIA_SOURCE), remoteUid(0), channelId(NULL), localUid(0) {}
3529 };
3530
3531 class IMediaPlayer;
3532 class IMediaRecorder;
3533
3540 class IRtcEngine : public agora::base::IEngineBase {
3541 public:
3564 AGORA_CPP_API static void release(bool sync = false);
3565
3582 virtual int initialize(const RtcEngineContext& context) = 0;
3583
3593 virtual int queryInterface(INTERFACE_ID_TYPE iid, void** inter) = 0;
3594
3595
3601 virtual const char* getVersion(int* build) = 0;
3602
3608 virtual const char* getErrorDescription(int code) = 0;
3609
3619 virtual int queryCodecCapability(CodecCapInfo* codecInfo, int& size) = 0;
3620
3630 virtual int queryDeviceScore() = 0;
3631
3669 virtual int preloadChannel(const char* token, const char* channelId, uid_t uid) = 0;
3670
3710 virtual int preloadChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount) = 0;
3711
3729 virtual int updatePreloadChannelToken(const char* token) = 0;
3730
3790 virtual int joinChannel(const char* token, const char* channelId, const char* info, uid_t uid) = 0;
3791
3859 virtual int joinChannel(const char* token, const char* channelId, uid_t uid, const ChannelMediaOptions& options) = 0;
3860
3869 virtual int updateChannelMediaOptions(const ChannelMediaOptions& options) = 0;
3870
3888 virtual int leaveChannel() = 0;
3889
3909 virtual int leaveChannel(const LeaveChannelOptions& options) = 0;
3910
3927 virtual int renewToken(const char* token) = 0;
3928
3948 virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile) = 0;
3949
3973 virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0;
3974
3997 virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0;
3998
4007 virtual int startEchoTest(const EchoTestConfiguration& config) = 0;
4008
4015 virtual int stopEchoTest() = 0;
4016
4017 #if defined(__APPLE__) && TARGET_OS_IOS
4018
4027 virtual int enableMultiCamera(bool enabled, const CameraCapturerConfiguration& config) = 0;
4028 #endif
4029
4044 virtual int enableVideo() = 0;
4045
4055 virtual int disableVideo() = 0;
4056
4068 virtual int startPreview() = 0;
4069
4077 virtual int startPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
4078
4086 virtual int stopPreview() = 0;
4087
4095 virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
4096
4130 virtual int startLastmileProbeTest(const LastmileProbeConfig& config) = 0;
4131
4133 virtual int stopLastmileProbeTest() = 0;
4134
4151 virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration& config) = 0;
4152
4162 virtual int setBeautyEffectOptions(bool enabled, const BeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4172 virtual int setFaceShapeBeautyOptions(bool enabled, const FaceShapeBeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4179 virtual int setFaceShapeAreaOptions(const FaceShapeAreaOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4180
4187 virtual int getFaceShapeBeautyOptions(FaceShapeBeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4188
4196 virtual int getFaceShapeAreaOptions(agora::rtc::FaceShapeAreaOptions::FACE_SHAPE_AREA shapeArea, FaceShapeAreaOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4197
4222 virtual int setFilterEffectOptions(bool enabled, const FilterEffectOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4223
4250 virtual int setLowlightEnhanceOptions(bool enabled, const LowlightEnhanceOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4277 virtual int setVideoDenoiserOptions(bool enabled, const VideoDenoiserOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4304 virtual int setColorEnhanceOptions(bool enabled, const ColorEnhanceOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4305
4338 virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4339
4362 virtual int setupRemoteVideo(const VideoCanvas& canvas) = 0;
4363
4380 virtual int setupLocalVideo(const VideoCanvas& canvas) = 0;
4381
4400 virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType) = 0;
4401
4420 virtual int setVideoQoEPreference(VIDEO_QOE_PREFERENCE_TYPE qoePreference) = 0;
4421
4435 virtual int enableAudio() = 0;
4436
4448 virtual int disableAudio() = 0;
4449
4471 virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) __deprecated = 0;
4472
4488 virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile) = 0;
4497 virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario) = 0;
4520 virtual int enableLocalAudio(bool enabled) = 0;
4521
4547 virtual int muteLocalAudioStream(bool mute) = 0;
4548
4590 virtual int muteAllRemoteAudioStreams(bool mute) = 0;
4591
4608 virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0;
4609
4621 virtual int muteLocalVideoStream(bool mute) = 0;
4622
4647 virtual int enableLocalVideo(bool enabled) = 0;
4648
4688 virtual int muteAllRemoteVideoStreams(bool mute) = 0;
4689
4699 virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType) = 0;
4700
4717 virtual int muteRemoteVideoStream(uid_t uid, bool mute) = 0;
4718
4736 virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0;
4737
4748 virtual int setRemoteVideoSubscriptionOptions(uid_t uid, const VideoSubscriptionOptions &options) = 0;
4749
4764 virtual int setSubscribeAudioBlocklist(uid_t* uidList, int uidNumber) = 0;
4765
4782 virtual int setSubscribeAudioAllowlist(uid_t* uidList, int uidNumber) = 0;
4783
4798 virtual int setSubscribeVideoBlocklist(uid_t* uidList, int uidNumber) = 0;
4799
4816 virtual int setSubscribeVideoAllowlist(uid_t* uidList, int uidNumber) = 0;
4817
4844 virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad) = 0;
4845
4866 virtual int startAudioRecording(const char* filePath,
4867 AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
4889 virtual int startAudioRecording(const char* filePath,
4890 int sampleRate,
4891 AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
4892
4911 virtual int startAudioRecording(const AudioRecordingConfiguration& config) = 0;
4912
4918 virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig& config, IAudioEncodedFrameObserver *observer) = 0;
4919
4928 virtual int stopAudioRecording() = 0;
4929
4940 virtual agora_refptr<IMediaPlayer> createMediaPlayer() = 0;
4941
4953 virtual int destroyMediaPlayer(agora_refptr<IMediaPlayer> media_player) = 0;
4954
4965 virtual agora_refptr<IMediaRecorder> createMediaRecorder(const RecorderStreamInfo& info) = 0;
4966
4976 virtual int destroyMediaRecorder(agora_refptr<IMediaRecorder> mediaRecorder) = 0;
4977
5019 virtual int startAudioMixing(const char* filePath, bool loopback, int cycle) = 0;
5020
5064 virtual int startAudioMixing(const char* filePath, bool loopback, int cycle, int startPos) = 0;
5065
5074 virtual int stopAudioMixing() = 0;
5075
5084 virtual int pauseAudioMixing() = 0;
5085
5094 virtual int resumeAudioMixing() = 0;
5095
5104 virtual int selectAudioTrack(int index) = 0;
5113 virtual int getAudioTrackCount() = 0;
5114
5129 virtual int adjustAudioMixingVolume(int volume) = 0;
5130
5138 virtual int adjustAudioMixingPublishVolume(int volume) = 0;
5139
5147 virtual int getAudioMixingPublishVolume() = 0;
5148
5156 virtual int adjustAudioMixingPlayoutVolume(int volume) = 0;
5157
5165 virtual int getAudioMixingPlayoutVolume() = 0;
5166
5175 virtual int getAudioMixingDuration() = 0;
5176
5186 virtual int getAudioMixingCurrentPosition() = 0;
5187
5197 virtual int setAudioMixingPosition(int pos /*in ms*/) = 0;
5198
5209 virtual int setAudioMixingDualMonoMode(media::AUDIO_MIXING_DUAL_MONO_MODE mode) = 0;
5210
5227 virtual int setAudioMixingPitch(int pitch) = 0;
5228
5244 virtual int setAudioMixingPlaybackSpeed(int speed) = 0;
5245
5253 virtual int getEffectsVolume() = 0;
5263 virtual int setEffectsVolume(int volume) = 0;
5291 virtual int preloadEffect(int soundId, const char* filePath, int startPos = 0) = 0;
5337 virtual int playEffect(int soundId, const char* filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0) = 0;
5368 virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false) = 0;
5369
5379 virtual int getVolumeOfEffect(int soundId) = 0;
5380
5391 virtual int setVolumeOfEffect(int soundId, int volume) = 0;
5400 virtual int pauseEffect(int soundId) = 0;
5407 virtual int pauseAllEffects() = 0;
5416 virtual int resumeEffect(int soundId) = 0;
5423 virtual int resumeAllEffects() = 0;
5432 virtual int stopEffect(int soundId) = 0;
5439 virtual int stopAllEffects() = 0;
5448 virtual int unloadEffect(int soundId) = 0;
5455 virtual int unloadAllEffects() = 0;
5474 virtual int getEffectDuration(const char* filePath) = 0;
5491 virtual int setEffectPosition(int soundId, int pos) = 0;
5506 virtual int getEffectCurrentPosition(int soundId) = 0;
5519 virtual int enableSoundPositionIndication(bool enabled) = 0;
5520
5541 virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0;
5542
5552 virtual int enableSpatialAudio(bool enabled) = 0;
5553
5563 virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams& params) = 0;
5564
5602 virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset) = 0;
5603
5641 virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset) = 0;
5642
5679 virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset) = 0;
5680
5756 virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2) = 0;
5757
5800 virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset,
5801 int param1, int param2) = 0;
5802
5815 virtual int setVoiceConversionParameters(VOICE_CONVERSION_PRESET preset,
5816 int param1, int param2) = 0;
5817
5828 virtual int setLocalVoicePitch(double pitch) = 0;
5829
5840 virtual int setLocalVoiceFormant(double formantRatio) = 0;
5841
5853 virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain) = 0;
5854
5863 virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value) = 0;
5875 virtual int setHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset) = 0;
5876
5886 virtual int setHeadphoneEQParameters(int lowGain, int highGain) = 0;
5887
5899 virtual int enableVoiceAITuner(bool enabled, VOICE_AI_TUNER_TYPE type) = 0;
5900
5916 virtual int setLogFile(const char* filePath) = 0;
5917
5940 virtual int setLogFilter(unsigned int filter) = 0;
5941
5958 virtual int setLogLevel(commons::LOG_LEVEL level) = 0;
5959
5974 virtual int setLogFileSize(unsigned int fileSizeInKBytes) = 0;
5975
5984 virtual int uploadLogFile(agora::util::AString& requestId) = 0;
5985
6001 virtual int writeLog(commons::LOG_LEVEL level, const char* fmt, ...) = 0;
6002
6021 virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
6022
6043 virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode,
6044 VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
6055 virtual int setLocalRenderTargetFps(VIDEO_SOURCE_TYPE sourceType, int targetFps) = 0;
6064 virtual int setRemoteRenderTargetFps(int targetFps) = 0;
6065 // The following APIs are either deprecated and going to deleted.
6066
6084 virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) __deprecated = 0;
6085
6097 virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) __deprecated = 0;
6098
6113 virtual int enableDualStreamMode(bool enabled) __deprecated = 0;
6114
6131 virtual int enableDualStreamMode(bool enabled, const SimulcastStreamConfig& streamConfig) __deprecated = 0;
6132
6133
6147 virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode) = 0;
6148
6164 virtual int setSimulcastConfig(const SimulcastConfig& simulcastConfig) = 0;
6165
6179 virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode, const SimulcastStreamConfig& streamConfig) = 0;
6180
6195 virtual int enableCustomAudioLocalPlayback(track_id_t trackId, bool enabled) = 0;
6196
6215 virtual int setRecordingAudioFrameParameters(int sampleRate, int channel,
6216 RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
6217 int samplesPerCall) = 0;
6218
6238 virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel,
6239 RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
6240 int samplesPerCall) = 0;
6241
6257 virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall) = 0;
6258
6278 virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel,
6279 RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
6280 int samplesPerCall) = 0;
6281
6297 virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel) = 0;
6298
6309 virtual int enableAudioSpectrumMonitor(int intervalInMS = 100) = 0;
6317 virtual int disableAudioSpectrumMonitor() = 0;
6318
6333 virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver * observer) = 0;
6343 virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver * observer) = 0;
6344
6358 virtual int adjustRecordingSignalVolume(int volume) = 0;
6359
6371 virtual int muteRecordingSignal(bool mute) = 0;
6372
6386 virtual int adjustPlaybackSignalVolume(int volume) = 0;
6387
6388 /*
6389 * Adjust the playback volume of the user specified by uid.
6390 *
6391 * You can call this method to adjust the playback volume of the user specified by uid
6392 * in call. If you want to adjust playback volume of the multi user, you can call this
6393 * this method multi times.
6394 *
6395 * @note
6396 * Please call this method after join channel.
6397 * This method adjust the playback volume of specified user.
6398 *
6399 * @param uid Remote user ID.
6400 * @param volume The playback volume of the specified remote user. The value ranges between 0 and 400, including the following:
6401 * 0: Mute.
6402 * 100: (Default) Original volume.
6403 * 400: Four times the original volume with signal-clipping protection.
6404 * @return
6405 * - 0: Success.
6406 * - < 0: Failure.
6407 */
6408 virtual int adjustUserPlaybackSignalVolume(uid_t uid, int volume) = 0;
6409
6431 virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0;
6432
6448 virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0;
6449
6463 virtual int setHighPriorityUserList(uid_t* uidList, int uidNum, STREAM_FALLBACK_OPTIONS option) = 0;
6464
6485 virtual int enableExtension(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, bool enable = true) = 0;
6486
6500 virtual int setExtensionProperty(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, const char* key, const char* value) = 0;
6501
6516 virtual int getExtensionProperty(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, const char* key, char* value, int buf_len) = 0;
6517
6536 virtual int enableLoopbackRecording(bool enabled, const char* deviceName = NULL) = 0;
6537
6538
6551 virtual int adjustLoopbackSignalVolume(int volume) = 0;
6552
6559 virtual int getLoopbackRecordingVolume() = 0;
6560
6572 virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters) = 0;
6573
6584 virtual int setInEarMonitoringVolume(int volume) = 0;
6585
6586 #if defined (_WIN32) || defined(__linux__) || defined(__ANDROID__)
6587 virtual int loadExtensionProvider(const char* path, bool unload_after_use = false) = 0;
6588 #endif
6589
6601 virtual int setExtensionProviderProperty(const char* provider, const char* key, const char* value) = 0;
6602
6615 virtual int registerExtension(const char* provider, const char* extension, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6616
6637 virtual int enableExtension(const char* provider, const char* extension, bool enable=true, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6638
6651 virtual int setExtensionProperty(
6652 const char* provider, const char* extension,
6653 const char* key, const char* value, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6654
6668 virtual int getExtensionProperty(
6669 const char* provider, const char* extension,
6670 const char* key, char* value, int buf_len, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6671
6683 virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration& config) = 0;
6684
6692 virtual video_track_id_t createCustomVideoTrack() = 0;
6693
6701 virtual video_track_id_t createCustomEncodedVideoTrack(const SenderOptions& sender_option) = 0;
6702
6711 virtual int destroyCustomVideoTrack(video_track_id_t video_track_id) = 0;
6712
6721 virtual int destroyCustomEncodedVideoTrack(video_track_id_t video_track_id) = 0;
6722
6723 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
6724
6732 virtual int switchCamera() = 0;
6733
6741 virtual bool isCameraZoomSupported() = 0;
6742
6750 virtual bool isCameraFaceDetectSupported() = 0;
6751
6759 virtual bool isCameraTorchSupported() = 0;
6760
6768 virtual bool isCameraFocusSupported() = 0;
6769
6777 virtual bool isCameraAutoFocusFaceModeSupported() = 0;
6778
6788 virtual int setCameraZoomFactor(float factor) = 0;
6789
6798 virtual int enableFaceDetection(bool enabled) = 0;
6799
6804 virtual float getCameraMaxZoomFactor() = 0;
6805
6815 virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0;
6816
6824 virtual int setCameraTorchOn(bool isOn) = 0;
6825
6833 virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0;
6834
6846 virtual bool isCameraExposurePositionSupported() = 0;
6847
6863 virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0;
6864
6877 virtual bool isCameraExposureSupported() = 0;
6878
6889 virtual int setCameraExposureFactor(float factor) = 0;
6890
6891 #if defined(__APPLE__)
6892
6899 virtual bool isCameraAutoExposureFaceModeSupported() = 0;
6900
6901
6909 virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0;
6910
6916 virtual int setCameraStabilizationMode(CAMERA_STABILIZATION_MODE mode) = 0;
6917 #endif
6918
6952 virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0;
6953
6980 virtual int setEnableSpeakerphone(bool speakerOn) = 0;
6981
6989 virtual bool isSpeakerphoneEnabled() = 0;
6990
6997 virtual int setRouteInCommunicationMode(int route) = 0;
6998
6999 #endif // __ANDROID__ || (__APPLE__ && TARGET_OS_IOS)
7000
7001 #if defined(__APPLE__)
7002
7009 virtual bool isCameraCenterStageSupported() = 0;
7010
7019 virtual int enableCameraCenterStage(bool enabled) = 0;
7020 #endif
7021
7022 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
7023
7033 virtual IScreenCaptureSourceList* getScreenCaptureSources(const SIZE& thumbSize, const SIZE& iconSize, const bool includeScreen) = 0;
7034 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
7035 #if (defined(__APPLE__) && TARGET_OS_IOS)
7036
7060 virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction) = 0;
7061 #endif // __APPLE__ && TARGET_OS_IOS
7062
7063 #if defined(_WIN32) || (defined(__APPLE__) && !TARGET_OS_IPHONE && TARGET_OS_MAC)
7064
7085 virtual int startScreenCaptureByDisplayId(int64_t displayId, const Rectangle& regionRect,
7086 const ScreenCaptureParameters& captureParams) = 0;
7087
7088 #endif // __APPLE__ && TARGET_OS_MAC && !TARGET_OS_IPHONE
7089
7090 #if defined(_WIN32)
7091
7114 virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect,
7115 const Rectangle& regionRect,
7116 const ScreenCaptureParameters& captureParams) __deprecated = 0;
7117 #endif
7118
7119 #if defined(__ANDROID__)
7120
7126 virtual int getAudioDeviceInfo(DeviceInfo& deviceInfo) = 0;
7127 #endif // __ANDROID__
7128
7129 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
7130
7148 virtual int startScreenCaptureByWindowId(int64_t windowId, const Rectangle& regionRect,
7149 const ScreenCaptureParameters& captureParams) = 0;
7150
7166 virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint) = 0;
7167
7184 virtual int updateScreenCaptureRegion(const Rectangle& regionRect) = 0;
7185
7199 virtual int updateScreenCaptureParameters(const ScreenCaptureParameters& captureParams) = 0;
7200 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
7201
7202 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
7203
7212 virtual int startScreenCapture(const ScreenCaptureParameters2& captureParams) = 0;
7213
7223 virtual int updateScreenCapture(const ScreenCaptureParameters2& captureParams) = 0;
7224
7236 virtual int queryScreenCaptureCapability() = 0;
7237
7249 virtual int queryCameraFocalLengthCapability(agora::rtc::FocalLengthInfo* focalLengthInfos, int& size) = 0;
7250
7251 #if defined(__ANDROID__)
7252
7268 virtual int setExternalMediaProjection(void* mediaProjection) = 0;
7269 #endif
7270 #endif
7271
7272 #if defined(_WIN32) || defined(__APPLE__) || defined(__ANDROID__)
7273
7289 virtual int setScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario) = 0;
7290
7298 virtual int stopScreenCapture() = 0;
7299 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC) || __ANDROID__
7300
7317 virtual int getCallId(agora::util::AString& callId) = 0;
7318
7333 virtual int rate(const char* callId, int rating, const char* description) = 0; // 0~10
7334
7348 virtual int complain(const char* callId, const char* description) = 0;
7349
7370 virtual int startRtmpStreamWithoutTranscoding(const char* url) = 0;
7371
7393 virtual int startRtmpStreamWithTranscoding(const char* url, const LiveTranscoding& transcoding) = 0;
7394
7404 virtual int updateRtmpTranscoding(const LiveTranscoding& transcoding) = 0;
7405
7406 virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration& config) = 0;
7407 virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration& config) = 0;
7408
7427 virtual int stopRtmpStream(const char* url) = 0;
7428
7429 virtual int stopLocalVideoTranscoder() = 0;
7430
7440 virtual int startLocalAudioMixer(const LocalAudioMixerConfiguration& config) = 0;
7441
7451 virtual int updateLocalAudioMixerConfiguration(const LocalAudioMixerConfiguration& config) = 0;
7452
7462 virtual int stopLocalAudioMixer() = 0;
7463
7473 virtual int startCameraCapture(VIDEO_SOURCE_TYPE sourceType, const CameraCapturerConfiguration& config) = 0;
7474
7485 virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType) = 0;
7497 virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
7509 virtual int setScreenCaptureOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
7510
7520 virtual int startScreenCapture(VIDEO_SOURCE_TYPE sourceType, const ScreenCaptureConfiguration& config) = 0;
7521
7532 virtual int stopScreenCapture(VIDEO_SOURCE_TYPE sourceType) = 0;
7533
7538 virtual CONNECTION_STATE_TYPE getConnectionState() = 0;
7539
7540 // The following APIs are not implemented yet.
7541 virtual bool registerEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
7542 virtual bool unregisterEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
7543 virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0;
7544
7556 virtual int registerPacketObserver(IPacketObserver* observer) = 0;
7557
7558
7580 virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0;
7581
7613 virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0;
7614
7624 virtual int createDataStream(int* streamId, const DataStreamConfig& config) = 0;
7625
7656 virtual int sendStreamMessage(int streamId, const char* data, size_t length) = 0;
7657
7679 virtual int addVideoWatermark(const RtcImage& watermark) __deprecated = 0;
7680
7706 virtual int addVideoWatermark(const char* watermarkUrl, const WatermarkOptions& options) = 0;
7707
7715 virtual int clearVideoWatermarks() = 0;
7716
7717 // The following APIs are either deprecated and going to deleted.
7718
7727 virtual int pauseAudio() __deprecated = 0;
7736 virtual int resumeAudio() __deprecated = 0;
7737
7755 virtual int enableWebSdkInteroperability(bool enabled) __deprecated = 0;
7756
7766 virtual int sendCustomReportMessage(const char* id, const char* category, const char* event, const char* label, int value) = 0;
7767
7789 virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0;
7790
7799 virtual int unregisterMediaMetadataObserver(IMetadataObserver* observer, IMetadataObserver::METADATA_TYPE type) = 0;
7800
7809 virtual int startAudioFrameDump(const char* channel_id, uid_t uid, const char* location, const char* uuid, const char* passwd, long duration_ms, bool auto_upload) = 0;
7810
7814 virtual int stopAudioFrameDump(const char* channel_id, uid_t uid, const char* location) = 0;
7815
7831 virtual int setAINSMode(bool enabled, AUDIO_AINS_MODE mode) = 0;
7832
7864 virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0;
7865
7896 virtual int joinChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount) = 0;
7897
7929 virtual int joinChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount, const ChannelMediaOptions& options) = 0;
7930
7963 virtual int joinChannelWithUserAccountEx(const char* token, const char* channelId,
7964 const char* userAccount, const ChannelMediaOptions& options,
7965 IRtcEngineEventHandler* eventHandler) = 0;
7966
7984 virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo) = 0;
7985
8003 virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo) = 0;
8004
8039 virtual int startOrUpdateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0;
8040
8069 virtual int stopChannelMediaRelay() = 0;
8070
8080 virtual int pauseAllChannelMediaRelay() = 0;
8081
8091 virtual int resumeAllChannelMediaRelay() = 0;
8092
8105 virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile) = 0;
8106
8121 virtual int setDirectCdnStreamingVideoConfiguration(const VideoEncoderConfiguration& config) = 0;
8122
8136 virtual int startDirectCdnStreaming(IDirectCdnStreamingEventHandler* eventHandler,
8137 const char* publishUrl, const DirectCdnStreamingMediaOptions& options) = 0;
8138
8148 virtual int stopDirectCdnStreaming() = 0;
8149
8161 virtual int updateDirectCdnStreamingMediaOptions(const DirectCdnStreamingMediaOptions& options) = 0;
8162
8173 virtual int startRhythmPlayer(const char* sound1, const char* sound2, const AgoraRhythmPlayerConfig& config) = 0;
8174
8181 virtual int stopRhythmPlayer() = 0;
8182
8191 virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig& config) = 0;
8192
8222 virtual int takeSnapshot(uid_t uid, const char* filePath) = 0;
8223
8248 virtual int takeSnapshot(uid_t uid, const media::SnapshotConfig& config) = 0;
8249
8259 virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config) = 0;
8260 /*
8261 * Adjust the custom audio publish volume by track id.
8262 * @param trackId custom audio track id.
8263 * @param volume The volume, range is [0,100]:
8264 * 0: mute, 100: The original volume
8265 * @return
8266 * - 0: Success.
8267 * - < 0: Failure.
8268 */
8269 virtual int adjustCustomAudioPublishVolume(track_id_t trackId, int volume) = 0;
8270
8271 /*
8272 * Adjust the custom audio playout volume by track id.
8273 * @param trackId custom audio track id.
8274 * @param volume The volume, range is [0,100]:
8275 * 0: mute, 100: The original volume
8276 * @return
8277 * - 0: Success.
8278 * - < 0: Failure.
8279 */
8280 virtual int adjustCustomAudioPlayoutVolume(track_id_t trackId, int volume) = 0;
8281
8311 virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0;
8320 virtual int setLocalAccessPoint(const LocalAccessPointConfiguration& config) = 0;
8321
8329 virtual int setAdvancedAudioOptions(AdvancedAudioOptions& options, int sourceType = 0) = 0;
8330
8341 virtual int setAVSyncSource(const char* channelId, uid_t uid) = 0;
8342
8349 virtual int enableVideoImageSource(bool enable, const ImageTrackOptions& options) = 0;
8350
8351 /*
8352 * Get monotonic time in ms which can be used by capture time,
8353 * typical scenario is as follows:
8354 *
8355 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8356 * | // custom audio/video base capture time, e.g. the first audio/video capture time. |
8357 * | int64_t custom_capture_time_base; |
8358 * | |
8359 * | int64_t agora_monotonic_time = getCurrentMonotonicTimeInMs(); |
8360 * | |
8361 * | // offset is fixed once calculated in the begining. |
8362 * | const int64_t offset = agora_monotonic_time - custom_capture_time_base; |
8363 * | |
8364 * | // realtime_custom_audio/video_capture_time is the origin capture time that customer provided.|
8365 * | // actual_audio/video_capture_time is the actual capture time transfered to sdk. |
8366 * | int64_t actual_audio_capture_time = realtime_custom_audio_capture_time + offset; |
8367 * | int64_t actual_video_capture_time = realtime_custom_video_capture_time + offset; |
8368 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8369 *
8370 * @return
8371 * - >= 0: Success.
8372 * - < 0: Failure.
8373 */
8374 virtual int64_t getCurrentMonotonicTimeInMs() = 0;
8375
8391 virtual int enableWirelessAccelerate(bool enabled) = 0;
8392
8407 virtual int getNetworkType() = 0;
8408
8417 virtual int setParameters(const char* parameters) = 0;
8418
8433 virtual int startMediaRenderingTracing() = 0;
8434
8448 virtual int enableInstantMediaRendering() = 0;
8449
8453 virtual uint64_t getNtpWallTimeInMs() = 0;
8454
8463 virtual bool isFeatureAvailableOnDevice(FeatureType type) = 0;
8464
8475 virtual int sendAudioMetadata(const char* metadata, size_t length) = 0;
8476
8486 virtual int queryHDRCapability(VIDEO_MODULE_TYPE videoModule, HDR_CAPABILITY& capability) = 0;
8487 };
8488
8489 // The following types are either deprecated or not implmented yet.
8490 enum QUALITY_REPORT_FORMAT_TYPE {
8493 QUALITY_REPORT_JSON = 0,
8496 QUALITY_REPORT_HTML = 1,
8497 };
8498
8500 enum MEDIA_DEVICE_STATE_TYPE {
8503 MEDIA_DEVICE_STATE_IDLE = 0,
8506 MEDIA_DEVICE_STATE_ACTIVE = 1,
8509 MEDIA_DEVICE_STATE_DISABLED = 2,
8510
8513 MEDIA_DEVICE_STATE_PLUGGED_IN = 3,
8514
8517 MEDIA_DEVICE_STATE_NOT_PRESENT = 4,
8520 MEDIA_DEVICE_STATE_UNPLUGGED = 8
8521 };
8522
8523 enum VIDEO_PROFILE_TYPE { // res fps
8525 VIDEO_PROFILE_LANDSCAPE_120P = 0, // 160x120 15
8527 VIDEO_PROFILE_LANDSCAPE_120P_3 = 2, // 120x120 15
8529 VIDEO_PROFILE_LANDSCAPE_180P = 10, // 320x180 15
8531 VIDEO_PROFILE_LANDSCAPE_180P_3 = 12, // 180x180 15
8533 VIDEO_PROFILE_LANDSCAPE_180P_4 = 13, // 240x180 15
8535 VIDEO_PROFILE_LANDSCAPE_240P = 20, // 320x240 15
8537 VIDEO_PROFILE_LANDSCAPE_240P_3 = 22, // 240x240 15
8539 VIDEO_PROFILE_LANDSCAPE_240P_4 = 23, // 424x240 15
8541 VIDEO_PROFILE_LANDSCAPE_360P = 30, // 640x360 15
8543 VIDEO_PROFILE_LANDSCAPE_360P_3 = 32, // 360x360 15
8545 VIDEO_PROFILE_LANDSCAPE_360P_4 = 33, // 640x360 30
8547 VIDEO_PROFILE_LANDSCAPE_360P_6 = 35, // 360x360 30
8549 VIDEO_PROFILE_LANDSCAPE_360P_7 = 36, // 480x360 15
8551 VIDEO_PROFILE_LANDSCAPE_360P_8 = 37, // 480x360 30
8553 VIDEO_PROFILE_LANDSCAPE_360P_9 = 38, // 640x360 15
8555 VIDEO_PROFILE_LANDSCAPE_360P_10 = 39, // 640x360 24
8557 VIDEO_PROFILE_LANDSCAPE_360P_11 = 100, // 640x360 24
8559 VIDEO_PROFILE_LANDSCAPE_480P = 40, // 640x480 15
8561 VIDEO_PROFILE_LANDSCAPE_480P_3 = 42, // 480x480 15
8563 VIDEO_PROFILE_LANDSCAPE_480P_4 = 43, // 640x480 30
8565 VIDEO_PROFILE_LANDSCAPE_480P_6 = 45, // 480x480 30
8567 VIDEO_PROFILE_LANDSCAPE_480P_8 = 47, // 848x480 15
8569 VIDEO_PROFILE_LANDSCAPE_480P_9 = 48, // 848x480 30
8571 VIDEO_PROFILE_LANDSCAPE_480P_10 = 49, // 640x480 10
8573 VIDEO_PROFILE_LANDSCAPE_720P = 50, // 1280x720 15
8575 VIDEO_PROFILE_LANDSCAPE_720P_3 = 52, // 1280x720 30
8577 VIDEO_PROFILE_LANDSCAPE_720P_5 = 54, // 960x720 15
8579 VIDEO_PROFILE_LANDSCAPE_720P_6 = 55, // 960x720 30
8581 VIDEO_PROFILE_LANDSCAPE_1080P = 60, // 1920x1080 15
8583 VIDEO_PROFILE_LANDSCAPE_1080P_3 = 62, // 1920x1080 30
8585 VIDEO_PROFILE_LANDSCAPE_1080P_5 = 64, // 1920x1080 60
8587 VIDEO_PROFILE_LANDSCAPE_1440P = 66, // 2560x1440 30
8589 VIDEO_PROFILE_LANDSCAPE_1440P_2 = 67, // 2560x1440 60
8591 VIDEO_PROFILE_LANDSCAPE_4K = 70, // 3840x2160 30
8593 VIDEO_PROFILE_LANDSCAPE_4K_3 = 72, // 3840x2160 60
8595 VIDEO_PROFILE_PORTRAIT_120P = 1000, // 120x160 15
8597 VIDEO_PROFILE_PORTRAIT_120P_3 = 1002, // 120x120 15
8599 VIDEO_PROFILE_PORTRAIT_180P = 1010, // 180x320 15
8601 VIDEO_PROFILE_PORTRAIT_180P_3 = 1012, // 180x180 15
8603 VIDEO_PROFILE_PORTRAIT_180P_4 = 1013, // 180x240 15
8605 VIDEO_PROFILE_PORTRAIT_240P = 1020, // 240x320 15
8607 VIDEO_PROFILE_PORTRAIT_240P_3 = 1022, // 240x240 15
8609 VIDEO_PROFILE_PORTRAIT_240P_4 = 1023, // 240x424 15
8611 VIDEO_PROFILE_PORTRAIT_360P = 1030, // 360x640 15
8613 VIDEO_PROFILE_PORTRAIT_360P_3 = 1032, // 360x360 15
8615 VIDEO_PROFILE_PORTRAIT_360P_4 = 1033, // 360x640 30
8617 VIDEO_PROFILE_PORTRAIT_360P_6 = 1035, // 360x360 30
8619 VIDEO_PROFILE_PORTRAIT_360P_7 = 1036, // 360x480 15
8621 VIDEO_PROFILE_PORTRAIT_360P_8 = 1037, // 360x480 30
8623 VIDEO_PROFILE_PORTRAIT_360P_9 = 1038, // 360x640 15
8625 VIDEO_PROFILE_PORTRAIT_360P_10 = 1039, // 360x640 24
8627 VIDEO_PROFILE_PORTRAIT_360P_11 = 1100, // 360x640 24
8629 VIDEO_PROFILE_PORTRAIT_480P = 1040, // 480x640 15
8631 VIDEO_PROFILE_PORTRAIT_480P_3 = 1042, // 480x480 15
8633 VIDEO_PROFILE_PORTRAIT_480P_4 = 1043, // 480x640 30
8635 VIDEO_PROFILE_PORTRAIT_480P_6 = 1045, // 480x480 30
8637 VIDEO_PROFILE_PORTRAIT_480P_8 = 1047, // 480x848 15
8639 VIDEO_PROFILE_PORTRAIT_480P_9 = 1048, // 480x848 30
8641 VIDEO_PROFILE_PORTRAIT_480P_10 = 1049, // 480x640 10
8643 VIDEO_PROFILE_PORTRAIT_720P = 1050, // 720x1280 15
8645 VIDEO_PROFILE_PORTRAIT_720P_3 = 1052, // 720x1280 30
8647 VIDEO_PROFILE_PORTRAIT_720P_5 = 1054, // 720x960 15
8649 VIDEO_PROFILE_PORTRAIT_720P_6 = 1055, // 720x960 30
8651 VIDEO_PROFILE_PORTRAIT_1080P = 1060, // 1080x1920 15
8653 VIDEO_PROFILE_PORTRAIT_1080P_3 = 1062, // 1080x1920 30
8655 VIDEO_PROFILE_PORTRAIT_1080P_5 = 1064, // 1080x1920 60
8657 VIDEO_PROFILE_PORTRAIT_1440P = 1066, // 1440x2560 30
8659 VIDEO_PROFILE_PORTRAIT_1440P_2 = 1067, // 1440x2560 60
8661 VIDEO_PROFILE_PORTRAIT_4K = 1070, // 2160x3840 30
8663 VIDEO_PROFILE_PORTRAIT_4K_3 = 1072, // 2160x3840 60
8665 VIDEO_PROFILE_DEFAULT = VIDEO_PROFILE_LANDSCAPE_360P,
8666 };
8667
8668 class AAudioDeviceManager : public agora::util::AutoPtr<IAudioDeviceManager> {
8669 public:
8670 AAudioDeviceManager(IRtcEngine* engine) {
8671 queryInterface(engine, AGORA_IID_AUDIO_DEVICE_MANAGER);
8672 }
8673 };
8674
8675 class AVideoDeviceManager : public agora::util::AutoPtr<IVideoDeviceManager> {
8676 public:
8677 AVideoDeviceManager(IRtcEngine* engine) {
8678 queryInterface(engine, AGORA_IID_VIDEO_DEVICE_MANAGER);
8679 }
8680 };
8681
8682 } // namespace rtc
8683 } // namespace agora
8684
8690 #define getAgoraRtcEngineVersion getAgoraSdkVersion
8691
8693
8696
8702 AGORA_API agora::rtc::IRtcEngine* AGORA_CALL createAgoraRtcEngine();
8703
8705
8706
8713 #define getAgoraRtcEngineErrorDescription getAgoraSdkErrorDescription
8714 #define setAgoraRtcEngineExternalSymbolLoader setAgoraSdkExternalSymbolLoader
agora::rtc::IRtcEngine::startScreenCapture
virtual int startScreenCapture(const ScreenCaptureParameters2 &captureParams)=0
agora::rtc::RemoteAudioStats::RemoteAudioStats
RemoteAudioStats()
Definition: IAgoraRtcEngine.h:467
agora::rtc::IRtcEngine::setDirectCdnStreamingAudioConfiguration
virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile)=0
agora::rtc::IRtcEngine::getErrorDescription
virtual const char * getErrorDescription(int code)=0
agora::rtc::IRtcEngine::enableAudioSpectrumMonitor
virtual int enableAudioSpectrumMonitor(int intervalInMS=100)=0
agora::rtc::IRtcEngine::setSubscribeVideoAllowlist
virtual int setSubscribeVideoAllowlist(uid_t *uidList, int uidNumber)=0
agora::rtc::IRtcEngine::adjustRecordingSignalVolume
virtual int adjustRecordingSignalVolume(int volume)=0
agora::rtc::IRtcEngine::enableWebSdkInteroperability
virtual int enableWebSdkInteroperability(bool enabled) __deprecated=0
agora::rtc::IRtcEngine::enableSpatialAudio
virtual int enableSpatialAudio(bool enabled)=0
agora::rtc::ChannelMediaOptions::publishMediaPlayerAudioTrack
Optional< bool > publishMediaPlayerAudioTrack
Definition: IAgoraRtcEngine.h:1158
agora::rtc::PublisherConfiguration::extraInfo
const char * extraInfo
Definition: IAgoraRtcEngine.h:766
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_11
@ VIDEO_PROFILE_LANDSCAPE_360P_11
Definition: IAgoraRtcEngine.h:8556
agora::rtc::IRtcEngine::setRemoteUserPriority
virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority)=0
agora::rtc::IRtcEngine::setCameraAutoFocusFaceModeEnabled
virtual int setCameraAutoFocusFaceModeEnabled(bool enabled)=0
agora::rtc::IRtcEngine::setAVSyncSource
virtual int setAVSyncSource(const char *channelId, uid_t uid)=0
agora::rtc::RtcEngineContext::appId
const char * appId
Definition: IAgoraRtcEngine.h:3133
agora::rtc::VIDEO_PROFILE_PORTRAIT_180P_4
@ VIDEO_PROFILE_PORTRAIT_180P_4
Definition: IAgoraRtcEngine.h:8602
agora::rtc::IRtcEngine::setSubscribeAudioBlocklist
virtual int setSubscribeAudioBlocklist(uid_t *uidList, int uidNumber)=0
agora::rtc::ChannelMediaOptions::SetAll
void SetAll(const ChannelMediaOptions &change)
Definition: IAgoraRtcEngine.h:1286
agora::rtc::IRtcEngineEventHandler::onUserAccountUpdated
virtual void onUserAccountUpdated(uid_t uid, const char *userAccount)
Definition: IAgoraRtcEngine.h:2763
agora::rtc::LOCAL_VIDEO_STREAM_STATE
LOCAL_VIDEO_STREAM_STATE
Definition: AgoraBase.h:2977
agora::rtc::IRtcEngine::enableInEarMonitoring
virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters)=0
agora::rtc::IRtcEngine::isSpeakerphoneEnabled
virtual bool isSpeakerphoneEnabled()=0
agora::rtc::ReplaceBy
static void ReplaceBy(Optional< T > *s, const Optional< T > &o)
Definition: IAgoraRtcEngine.h:31
agora::rtc::IRtcEngineEventHandler::onRtmpStreamingEvent
virtual void onRtmpStreamingEvent(const char *url, RTMP_STREAMING_EVENT eventCode)
Definition: IAgoraRtcEngine.h:2505
agora::rtc::IRtcEngineEventHandler::onExtensionErrorWithContext
virtual void onExtensionErrorWithContext(const ExtensionContext &context, int error, const char *message)
Definition: IAgoraRtcEngine.h:2948
agora::rtc::LocalVideoStats::regulatedCaptureFrameHeight
int regulatedCaptureFrameHeight
Definition: IAgoraRtcEngine.h:308
agora::rtc::AUDIO_SAMPLE_RATE_48000
@ AUDIO_SAMPLE_RATE_48000
Definition: AgoraBase.h:3528
agora::rtc::IRtcEngine::setEnableSpeakerphone
virtual int setEnableSpeakerphone(bool speakerOn)=0
agora::rtc::IRtcEngine::getScreenCaptureSources
virtual IScreenCaptureSourceList * getScreenCaptureSources(const SIZE &thumbSize, const SIZE &iconSize, const bool includeScreen)=0
agora::rtc::IRtcEngine::setEffectPosition
virtual int setEffectPosition(int soundId, int pos)=0
agora::rtc::UserInfo
Definition: AgoraBase.h:6474
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_6
@ VIDEO_PROFILE_PORTRAIT_360P_6
Definition: IAgoraRtcEngine.h:8616
agora::rtc::RemoteVideoStats::publishDuration
int publishDuration
Definition: IAgoraRtcEngine.h:563
agora::rtc::AUDIO_REVERB_TYPE
AUDIO_REVERB_TYPE
Definition: IAgoraRtcEngine.h:211
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_11
@ VIDEO_PROFILE_PORTRAIT_360P_11
Definition: IAgoraRtcEngine.h:8626
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_7
@ VIDEO_PROFILE_LANDSCAPE_360P_7
Definition: IAgoraRtcEngine.h:8548
agora::rtc::IRtcEngine::stopDirectCdnStreaming
virtual int stopDirectCdnStreaming()=0
agora::rtc::ImageTrackOptions::mirrorMode
VIDEO_MIRROR_MODE_TYPE mirrorMode
Definition: IAgoraRtcEngine.h:1047
agora::rtc::ScreenCaptureParameters
Definition: AgoraBase.h:5564
agora::rtc::IRtcEngine::muteAllRemoteVideoStreams
virtual int muteAllRemoteVideoStreams(bool mute)=0
agora::rtc::IRtcEngine::setRemoteVideoSubscriptionOptions
virtual int setRemoteVideoSubscriptionOptions(uid_t uid, const VideoSubscriptionOptions &options)=0
agora::rtc::INJECT_STREAM_STATUS_START_UNAUTHORIZED
@ INJECT_STREAM_STATUS_START_UNAUTHORIZED
Definition: IAgoraRtcEngine.h:127
agora::rtc::ScreenCaptureSourceInfo::processPath
const char * processPath
Definition: IAgoraRtcEngine.h:964
agora::rtc::RemoteVideoStats::e2eDelay
int e2eDelay
Definition: IAgoraRtcEngine.h:508
agora::rtc::InjectStreamConfig::audioChannels
int audioChannels
Definition: IAgoraRtcEngine.h:688
agora::rtc::IRtcEngine::updateScreenCapture
virtual int updateScreenCapture(const ScreenCaptureParameters2 &captureParams)=0
agora::rtc::LocalVideoStats::regulatedCaptureFrameWidth
int regulatedCaptureFrameWidth
Definition: IAgoraRtcEngine.h:304
agora::rtc::IRtcEngine::pauseEffect
virtual int pauseEffect(int soundId)=0
agora::rtc::ChannelMediaOptions::publishSecondaryCameraTrack
Optional< bool > publishSecondaryCameraTrack
Definition: IAgoraRtcEngine.h:1071
agora::rtc::AUDIO_MIXING_STATE_FAILED
@ AUDIO_MIXING_STATE_FAILED
Definition: IAgoraRtcEngine.h:87
agora::rtc::SenderOptions
Definition: AgoraBase.h:1257
agora::rtc::INJECT_STREAM_STATUS_STOP_TIMEDOUT
@ INJECT_STREAM_STATUS_STOP_TIMEDOUT
Definition: IAgoraRtcEngine.h:151
agora::rtc::IRtcEngine::muteLocalVideoStream
virtual int muteLocalVideoStream(bool mute)=0
agora::rtc::RtcEngineContext::eventHandler
IRtcEngineEventHandler * eventHandler
Definition: IAgoraRtcEngine.h:3126
agora::rtc::DIRECT_CDN_STREAMING_REASON_AUDIO_PUBLICATION
@ DIRECT_CDN_STREAMING_REASON_AUDIO_PUBLICATION
Definition: IAgoraRtcEngine.h:3316
agora::rtc::VIDEO_PROFILE_LANDSCAPE_720P_5
@ VIDEO_PROFILE_LANDSCAPE_720P_5
Definition: IAgoraRtcEngine.h:8576
agora::rtc::AUDIO_REVERB_STRENGTH
@ AUDIO_REVERB_STRENGTH
Definition: IAgoraRtcEngine.h:231
agora::rtc::IRtcEngineEventHandler::onIntraRequestReceived
virtual void onIntraRequestReceived()
Definition: IAgoraRtcEngine.h:1745
agora::rtc::VideoCompositingLayout
Definition: IAgoraRtcEngine.h:578
agora::rtc::VideoCompositingLayout::canvasHeight
int canvasHeight
Definition: IAgoraRtcEngine.h:627
agora::rtc::IRtcEngine::setVoiceConversionPreset
virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset)=0
agora::rtc::TCP_PROXY_TYPE
@ TCP_PROXY_TYPE
Definition: IAgoraRtcEngine.h:1445
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_6
@ VIDEO_PROFILE_LANDSCAPE_360P_6
Definition: IAgoraRtcEngine.h:8546
agora::rtc::DirectCdnStreamingStats::videoHeight
int videoHeight
Definition: IAgoraRtcEngine.h:3352
agora::rtc::IRtcEngine::enableLocalVideo
virtual int enableLocalVideo(bool enabled)=0
agora::rtc::IRtcEngineEventHandler::onLeaveChannel
virtual void onLeaveChannel(const RtcStats &stats)
Definition: IAgoraRtcEngine.h:1641
agora::media::UNKNOWN_MEDIA_SOURCE
@ UNKNOWN_MEDIA_SOURCE
Definition: AgoraMediaBase.h:307
agora::rtc::IRtcEngine::isCameraTorchSupported
virtual bool isCameraTorchSupported()=0
agora::rtc::IRtcEngineEventHandler::onRhythmPlayerStateChanged
virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_REASON reason)
Definition: IAgoraRtcEngine.h:2200
agora::rtc::IDirectCdnStreamingEventHandler::onDirectCdnStreamingStateChanged
virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_REASON reason, const char *message)
Definition: IAgoraRtcEngine.h:3384
agora::rtc::IRtcEngine::getAudioTrackCount
virtual int getAudioTrackCount()=0
agora::rtc::IRtcEngineEventHandler::onStreamMessage
virtual void onStreamMessage(uid_t uid, int streamId, const char *data, size_t length, uint64_t sentTs)
Definition: IAgoraRtcEngine.h:2244
agora::rtc::AUDIO_MIXING_REASON_OK
@ AUDIO_MIXING_REASON_OK
Definition: IAgoraRtcEngine.h:109
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoDecoded
virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) __deprecated
Definition: IAgoraRtcEngine.h:1834
agora::rtc::RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL
@ RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL
Definition: IAgoraRtcEngine.h:708
agora::rtc::IVideoDeviceManager::~IVideoDeviceManager
virtual ~IVideoDeviceManager()
Definition: IAgoraRtcEngine.h:3014
agora::rtc::LocalVideoStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:279
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_6
@ VIDEO_PROFILE_PORTRAIT_480P_6
Definition: IAgoraRtcEngine.h:8634
agora::rtc::IRtcEngine::stopChannelMediaRelay
virtual int stopChannelMediaRelay()=0
agora::rtc::IRtcEngineEventHandler::onAudioEffectFinished
virtual void onAudioEffectFinished(int soundId)
Definition: IAgoraRtcEngine.h:1694
agora::rtc::WLACC_MESSAGE_REASON
WLACC_MESSAGE_REASON
Definition: AgoraBase.h:4562
agora::rtc::ScreenCaptureSourceType_Custom
@ ScreenCaptureSourceType_Custom
Definition: IAgoraRtcEngine.h:937
agora::rtc::RtcEngineContext::threadPriority
Optional< THREAD_PRIORITY_TYPE > threadPriority
Definition: IAgoraRtcEngine.h:3188
agora::media::PRIMARY_CAMERA_SOURCE
@ PRIMARY_CAMERA_SOURCE
Definition: AgoraMediaBase.h:259
agora::rtc::IRtcEngine::registerAudioEncodedFrameObserver
virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig &config, IAudioEncodedFrameObserver *observer)=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_1440P
@ VIDEO_PROFILE_PORTRAIT_1440P
Definition: IAgoraRtcEngine.h:8656
agora::rtc::CameraCapturerConfiguration::cameraDirection
Optional< CAMERA_DIRECTION > cameraDirection
Definition: IAgoraRtcEngine.h:818
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_3
@ VIDEO_PROFILE_PORTRAIT_480P_3
Definition: IAgoraRtcEngine.h:8630
agora::rtc::AUDIO_MIXING_STATE_PLAYING
@ AUDIO_MIXING_STATE_PLAYING
Definition: IAgoraRtcEngine.h:80
agora::rtc::IRtcEngine::queryHDRCapability
virtual int queryHDRCapability(VIDEO_MODULE_TYPE videoModule, HDR_CAPABILITY &capability)=0
Queries the HDR capability of the video module.
agora::rtc::IRtcEngine::setFaceShapeBeautyOptions
virtual int setFaceShapeBeautyOptions(bool enabled, const FaceShapeBeautyOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_720P_6
@ VIDEO_PROFILE_PORTRAIT_720P_6
Definition: IAgoraRtcEngine.h:8648
agora::rtc::ChannelMediaOptions::enableBuiltInMediaEncryption
Optional< bool > enableBuiltInMediaEncryption
Definition: IAgoraRtcEngine.h:1250
agora::rtc::IRtcEngine::resumeAllEffects
virtual int resumeAllEffects()=0
agora::rtc::IRtcEngine::joinChannelWithUserAccountEx
virtual int joinChannelWithUserAccountEx(const char *token, const char *channelId, const char *userAccount, const ChannelMediaOptions &options, IRtcEngineEventHandler *eventHandler)=0
agora::rtc::InjectStreamConfig::width
int width
Definition: IAgoraRtcEngine.h:661
agora::rtc::IRtcEngine::pauseAudioMixing
virtual int pauseAudioMixing()=0
agora::rtc::IRtcEngine::setPlaybackAudioFrameBeforeMixingParameters
virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel)=0
agora::rtc::IRtcEngineEventHandler::onRemoteAudioTransportStats
virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated
Definition: IAgoraRtcEngine.h:2626
agora::rtc::SCREEN_SCENARIO_TYPE
SCREEN_SCENARIO_TYPE
Definition: AgoraBase.h:2792
agora::rtc::ScreenCaptureSourceInfo::type
ScreenCaptureSourceType type
Definition: IAgoraRtcEngine.h:944
agora::rtc::RemoteAudioStats::totalActiveTime
int totalActiveTime
Definition: IAgoraRtcEngine.h:445
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::IRtcEngineEventHandler::onFirstRemoteAudioFrame
virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) __deprecated
Definition: IAgoraRtcEngine.h:2349
agora::rtc::IVideoDeviceManager::getCapability
virtual int getCapability(const char *deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat &capability)=0
agora::rtc::ChannelMediaOptions::ChannelMediaOptions
ChannelMediaOptions()
Definition: IAgoraRtcEngine.h:1283
agora::rtc::IVideoDeviceCollection::release
virtual void release()=0
agora::rtc::AUDIO_RECORDING_DEVICE
@ AUDIO_RECORDING_DEVICE
Definition: IAgoraRtcEngine.h:52
agora::rtc::IVideoDeviceManager::enumerateVideoDevices
virtual IVideoDeviceCollection * enumerateVideoDevices()=0
agora::rtc::LeaveChannelOptions::stopAudioMixing
bool stopAudioMixing
Definition: IAgoraRtcEngine.h:1474
agora::rtc::IRtcEngine::getVersion
virtual const char * getVersion(int *build)=0
agora::rtc::RemoteVideoStats::totalActiveTime
int totalActiveTime
Definition: IAgoraRtcEngine.h:559
agora::rtc::IRtcEngine::setAudioMixingPitch
virtual int setAudioMixingPitch(int pitch)=0
agora::rtc::ChannelMediaOptions::publishRhythmPlayerTrack
Optional< bool > publishRhythmPlayerTrack
Definition: IAgoraRtcEngine.h:1256
agora::rtc::ChannelMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition: IAgoraRtcEngine.h:1146
agora::rtc::IRtcEngineEventHandler::onLocalVideoStateChanged
virtual void onLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_REASON reason)
Definition: IAgoraRtcEngine.h:1882
agora::media::IAudioSpectrumObserver
Definition: AgoraMediaBase.h:1586
agora::rtc::DirectCdnStreamingStats::videoWidth
int videoWidth
Definition: IAgoraRtcEngine.h:3347
agora::rtc::RTMP_STREAMING_EVENT
RTMP_STREAMING_EVENT
Definition: AgoraBase.h:3753
agora::rtc::MEDIA_DEVICE_STATE_DISABLED
@ MEDIA_DEVICE_STATE_DISABLED
Definition: IAgoraRtcEngine.h:8508
agora::rtc::HDR_CAPABILITY
HDR_CAPABILITY
Definition: AgoraBase.h:1864
agora::rtc::IMetadataObserver::Metadata::buffer
unsigned char * buffer
Definition: IAgoraRtcEngine.h:3265
agora::rtc::REMOTE_AUDIO_STATE
REMOTE_AUDIO_STATE
Definition: AgoraBase.h:3131
agora::rtc::ThumbImageBuffer::length
unsigned int length
Definition: IAgoraRtcEngine.h:915
agora::rtc::PublisherConfiguration::publishUrl
const char * publishUrl
Definition: IAgoraRtcEngine.h:759
agora::rtc::AUDIO_MIXING_REASON_RESUMED_BY_USER
@ AUDIO_MIXING_REASON_RESUMED_BY_USER
Definition: IAgoraRtcEngine.h:107
agora::rtc::IMetadataObserver::Metadata::Metadata
Metadata()
Definition: IAgoraRtcEngine.h:3271
agora::rtc::IRtcEngine::enableVoiceAITuner
virtual int enableVoiceAITuner(bool enabled, VOICE_AI_TUNER_TYPE type)=0
agora::rtc::NONE_PROXY
@ NONE_PROXY
Definition: IAgoraRtcEngine.h:801
agora::rtc::ExtensionInfo
Definition: IAgoraRtcEngine.h:3496
agora::rtc::IRtcEngineEventHandler::onVideoRenderingTracingResult
virtual void onVideoRenderingTracingResult(uid_t uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo)
Definition: IAgoraRtcEngine.h:2775
agora::rtc::ExtensionInfo::remoteUid
uid_t remoteUid
Definition: IAgoraRtcEngine.h:3507
agora::rtc::PublisherConfiguration::lifecycle
int lifecycle
Definition: IAgoraRtcEngine.h:741
agora::rtc::IRtcEngine::startPreview
virtual int startPreview()=0
agora::rtc::IMetadataObserver::Metadata::timeStampMs
long long timeStampMs
Definition: IAgoraRtcEngine.h:3269
agora::rtc::VideoCompositingLayout::Region::Region
Region()
Definition: IAgoraRtcEngine.h:607
agora::rtc::MEDIA_DEVICE_STATE_TYPE
MEDIA_DEVICE_STATE_TYPE
Definition: IAgoraRtcEngine.h:8499
agora::rtc::IRtcEngineEventHandler::onLocalAudioStats
virtual void onLocalAudioStats(const LocalAudioStats &stats)
Definition: IAgoraRtcEngine.h:2059
agora::rtc::IRtcEngine::setAINSMode
virtual int setAINSMode(bool enabled, AUDIO_AINS_MODE mode)=0
agora::rtc::IRtcEngine::updateLocalAudioMixerConfiguration
virtual int updateLocalAudioMixerConfiguration(const LocalAudioMixerConfiguration &config)=0
agora::rtc::ChannelMediaOptions::autoSubscribeAudio
Optional< bool > autoSubscribeAudio
Definition: IAgoraRtcEngine.h:1188
agora::rtc::VIDEO_PROFILE_PORTRAIT_1440P_2
@ VIDEO_PROFILE_PORTRAIT_1440P_2
Definition: IAgoraRtcEngine.h:8658
agora::rtc::IRtcEngineEventHandler::onCameraExposureAreaChanged
virtual void onCameraExposureAreaChanged(int x, int y, int width, int height)
Definition: IAgoraRtcEngine.h:2124
agora::rtc::LocalAccessPointConfiguration
Definition: AgoraBase.h:6766
agora::rtc::IRtcEngineEventHandler::onClientRoleChangeFailed
virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole)
Definition: IAgoraRtcEngine.h:2464
agora::rtc::VideoCompositingLayout::VideoCompositingLayout
VideoCompositingLayout()
Definition: IAgoraRtcEngine.h:645
agora::rtc::IVideoDeviceCollection::getDevice
virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH], char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::ThumbImageBuffer::buffer
const char * buffer
Definition: IAgoraRtcEngine.h:911
agora::rtc::DirectCdnStreamingStats::videoBitrate
int videoBitrate
Definition: IAgoraRtcEngine.h:3362
agora::rtc::VIDEO_PROFILE_LANDSCAPE_4K_3
@ VIDEO_PROFILE_LANDSCAPE_4K_3
Definition: IAgoraRtcEngine.h:8592
agora::rtc::IRtcEngineEventHandler::onLastmileQuality
virtual void onLastmileQuality(int quality)
Definition: IAgoraRtcEngine.h:1784
agora::rtc::IRtcEngine::enableInstantMediaRendering
virtual int enableInstantMediaRendering()=0
Enable instant media rendering.
agora::rtc::AUDIO_PROFILE_TYPE
AUDIO_PROFILE_TYPE
Definition: AgoraBase.h:2636
agora::rtc::IRtcEngine::setCameraFocusPositionInPreview
virtual int setCameraFocusPositionInPreview(float positionX, float positionY)=0
agora::rtc::IRtcEngine::setRemoteRenderMode
virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_180P
@ VIDEO_PROFILE_PORTRAIT_180P
Definition: IAgoraRtcEngine.h:8598
agora::rtc::ChannelMediaOptions::isAudioFilterable
Optional< bool > isAudioFilterable
Definition: IAgoraRtcEngine.h:1275
agora::rtc::AREA_CODE_GLOB
@ AREA_CODE_GLOB
Definition: AgoraBase.h:5943
agora::rtc::LiveTranscoding
Definition: AgoraBase.h:3967
agora::rtc::IVideoDeviceManager::numberOfCapabilities
virtual int numberOfCapabilities(const char *deviceIdUTF8)=0
agora::rtc::DIRECT_CDN_STREAMING_REASON_FAILED
@ DIRECT_CDN_STREAMING_REASON_FAILED
Definition: IAgoraRtcEngine.h:3314
agora::rtc::ChannelMediaOptions::audienceLatencyLevel
Optional< AUDIENCE_LATENCY_LEVEL_TYPE > audienceLatencyLevel
Definition: IAgoraRtcEngine.h:1213
agora::rtc::IRtcEngineEventHandler::onRemoteVideoTransportStats
virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated
Definition: IAgoraRtcEngine.h:2650
agora::rtc::VIDEO_PROFILE_PORTRAIT_1080P
@ VIDEO_PROFILE_PORTRAIT_1080P
Definition: IAgoraRtcEngine.h:8650
agora::rtc::IRtcEngineEventHandler::eventHandlerType
virtual const char * eventHandlerType() const
Definition: IAgoraRtcEngine.h:1511
agora::rtc::RTMP_STREAM_LIFE_CYCLE_TYPE
RTMP_STREAM_LIFE_CYCLE_TYPE
Definition: IAgoraRtcEngine.h:705
agora::rtc::LocalVideoStats::sentFrameRate
int sentFrameRate
Definition: IAgoraRtcEngine.h:287
agora::rtc::Rectangle
Definition: AgoraBase.h:2224
agora::rtc::IRtcEngine::setDirectCdnStreamingVideoConfiguration
virtual int setDirectCdnStreamingVideoConfiguration(const VideoEncoderConfiguration &config)=0
agora::rtc::STREAM_FALLBACK_OPTION_DISABLED
@ STREAM_FALLBACK_OPTION_DISABLED
Definition: IAgoraRtcEngine.h:239
agora::rtc::IRtcEngine::createDataStream
virtual int createDataStream(int *streamId, bool reliable, bool ordered)=0
agora::rtc::ScreenCaptureSourceInfo::sourceTitle
const char * sourceTitle
Definition: IAgoraRtcEngine.h:968
agora::rtc::IVideoDeviceManager::release
virtual void release()=0
agora::rtc::IRtcEngineEventHandler::onFacePositionChanged
virtual void onFacePositionChanged(int imageWidth, int imageHeight, const Rectangle *vecRectangle, const int *vecDistance, int numFaces)
Definition: IAgoraRtcEngine.h:2161
agora::rtc::IRtcEngine::setVolumeOfEffect
virtual int setVolumeOfEffect(int soundId, int volume)=0
agora::rtc::IRtcEngineEventHandler::onUserInfoUpdated
virtual void onUserInfoUpdated(uid_t uid, const UserInfo &info)
Definition: IAgoraRtcEngine.h:2752
agora::rtc::IRtcEngineEventHandler::onNetworkTypeChanged
virtual void onNetworkTypeChanged(NETWORK_TYPE type)
Definition: IAgoraRtcEngine.h:2702
agora::rtc::AUDIO_VIRTUAL_RECORDING_DEVICE
@ AUDIO_VIRTUAL_RECORDING_DEVICE
Definition: IAgoraRtcEngine.h:72
agora::rtc::IRtcEngineEventHandler::onFirstRemoteAudioDecoded
virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) __deprecated
Definition: IAgoraRtcEngine.h:2337
agora::rtc::InjectStreamConfig::videoFramerate
int videoFramerate
Definition: IAgoraRtcEngine.h:673
agora::rtc::SIMULCAST_STREAM_MODE
SIMULCAST_STREAM_MODE
Definition: AgoraBase.h:2119
agora::rtc::IRtcEngine::stopAudioFrameDump
virtual int stopAudioFrameDump(const char *channel_id, uid_t uid, const char *location)=0
agora::rtc::IRtcEngine::enableAudioVolumeIndication
virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad)=0
agora::rtc::VIDEO_PROFILE_LANDSCAPE_240P_3
@ VIDEO_PROFILE_LANDSCAPE_240P_3
Definition: IAgoraRtcEngine.h:8536
agora::rtc::ChannelMediaOptions::mediaPlayerAudioDelayMs
Optional< int > mediaPlayerAudioDelayMs
Definition: IAgoraRtcEngine.h:1233
agora::rtc::VIDEO_PROFILE_LANDSCAPE_180P_4
@ VIDEO_PROFILE_LANDSCAPE_180P_4
Definition: IAgoraRtcEngine.h:8532
agora::rtc::IRtcEngine::updateLocalTranscoderConfiguration
virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration &config)=0
agora::rtc::IMetadataObserver::onReadyToSendMetadata
virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type)=0
agora::rtc::INJECT_STREAM_STATUS_START_SUCCESS
@ INJECT_STREAM_STATUS_START_SUCCESS
Definition: IAgoraRtcEngine.h:119
agora::rtc::IRtcEngine::registerPacketObserver
virtual int registerPacketObserver(IPacketObserver *observer)=0
agora::rtc::IVideoDeviceCollection::~IVideoDeviceCollection
virtual ~IVideoDeviceCollection()
Definition: IAgoraRtcEngine.h:2970
agora::view_t
void * view_t
Definition: AgoraBase.h:818
agora::rtc::IRtcEngine::enableMultiCamera
virtual int enableMultiCamera(bool enabled, const CameraCapturerConfiguration &config)=0
agora::rtc::RemoteAudioStats::networkTransportDelay
int networkTransportDelay
Definition: IAgoraRtcEngine.h:378
agora::rtc::IRtcEngine::switchCamera
virtual int switchCamera()=0
agora::rtc::IRtcEngine::unregisterMediaMetadataObserver
virtual int unregisterMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type)=0
agora::rtc::IRtcEngineEventHandler::onLocalVideoTranscoderError
virtual void onLocalVideoTranscoderError(const TranscodingVideoStream &stream, VIDEO_TRANSCODER_ERROR error)
Definition: IAgoraRtcEngine.h:2787
agora::rtc::IRtcEngine::getUserInfoByUid
virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo *userInfo)=0
agora::rtc::IRtcEngine::pauseAllEffects
virtual int pauseAllEffects()=0
agora::rtc::FeatureType
FeatureType
Definition: IAgoraRtcEngine.h:1460
agora::rtc::IRtcEngine::disableAudioSpectrumMonitor
virtual int disableAudioSpectrumMonitor()=0
agora::rtc::CLOUD_PROXY_TYPE
CLOUD_PROXY_TYPE
Definition: IAgoraRtcEngine.h:798
agora::rtc::IRtcEngineEventHandler::onFirstLocalAudioFramePublished
virtual void onFirstLocalAudioFramePublished(int elapsed)
Definition: IAgoraRtcEngine.h:2317
agora::util::AutoPtr
Definition: AgoraBase.h:100
agora::rtc::LocalVideoStats::sentBitrate
int sentBitrate
Definition: IAgoraRtcEngine.h:283
agora::rtc::VIDEO_PROFILE_PORTRAIT_240P_3
@ VIDEO_PROFILE_PORTRAIT_240P_3
Definition: IAgoraRtcEngine.h:8606
agora::rtc::IRtcEngine::getAudioMixingPublishVolume
virtual int getAudioMixingPublishVolume()=0
agora::rtc::ScreenCaptureSourceType_Window
@ ScreenCaptureSourceType_Window
Definition: IAgoraRtcEngine.h:933
agora::rtc::IRtcEngineEventHandler::onRejoinChannelSuccess
virtual void onRejoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1538
agora::rtc::AUDIO_SCENARIO_TYPE
AUDIO_SCENARIO_TYPE
Definition: AgoraBase.h:2683
agora::rtc::SIZE::SIZE
SIZE(int ww, int hh)
Definition: IAgoraRtcEngine.h:897
agora::rtc::ImageTrackOptions::fps
int fps
Definition: IAgoraRtcEngine.h:1046
agora::rtc::STREAM_FALLBACK_OPTION_AUDIO_ONLY
@ STREAM_FALLBACK_OPTION_AUDIO_ONLY
Definition: IAgoraRtcEngine.h:248
agora::rtc::RemoteVideoStats::totalFrozenTime
int totalFrozenTime
Definition: IAgoraRtcEngine.h:545
agora::rtc::DIRECT_CDN_STREAMING_REASON_VIDEO_PUBLICATION
@ DIRECT_CDN_STREAMING_REASON_VIDEO_PUBLICATION
Definition: IAgoraRtcEngine.h:3318
agora::rtc::IMetadataObserver::METADATA_TYPE
METADATA_TYPE
Definition: IAgoraRtcEngine.h:3230
agora::rtc::IRtcEngine::isCameraExposureSupported
virtual bool isCameraExposureSupported()=0
agora::rtc::IRtcEngine::stopLocalVideoTranscoder
virtual int stopLocalVideoTranscoder()=0
agora::rtc::IRtcEngine::setCloudProxy
virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType)=0
agora::rtc::RemoteAudioStats::receivedBitrate
int receivedBitrate
Definition: IAgoraRtcEngine.h:401
agora::rtc::VideoEncoderConfiguration
Definition: AgoraBase.h:1924
agora::rtc::IMetadataObserver::Metadata::channelId
const char * channelId
Definition: IAgoraRtcEngine.h:3254
agora::rtc::IRtcEngineEventHandler
Definition: IAgoraRtcEngine.h:1507
agora::rtc::AUDIO_MIXING_STATE_TYPE
AUDIO_MIXING_STATE_TYPE
Definition: IAgoraRtcEngine.h:78
agora::rtc::VideoCompositingLayout::Region::height
double height
Definition: IAgoraRtcEngine.h:594
agora::rtc::IVideoDeviceManager::getDevice
virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngine::isCameraExposurePositionSupported
virtual bool isCameraExposurePositionSupported()=0
agora::rtc::DirectCdnStreamingMediaOptions::operator==
bool operator==(const DirectCdnStreamingMediaOptions &o) const
Definition: IAgoraRtcEngine.h:3455
agora::rtc::IRtcEngineEventHandler::onUserMuteAudio
virtual void onUserMuteAudio(uid_t uid, bool muted)
Definition: IAgoraRtcEngine.h:1975
agora::rtc::ChannelMediaOptions::publishCustomAudioTrackId
Optional< int > publishCustomAudioTrackId
Definition: IAgoraRtcEngine.h:1140
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P
@ VIDEO_PROFILE_LANDSCAPE_360P
Definition: IAgoraRtcEngine.h:8540
agora::rtc::ScreenCaptureSourceInfo::sourceName
const char * sourceName
Definition: IAgoraRtcEngine.h:952
agora::rtc::VIDEO_QOE_PREFERENCE_TYPE
VIDEO_QOE_PREFERENCE_TYPE
Definition: AgoraBase.h:2842
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_3
@ VIDEO_PROFILE_PORTRAIT_360P_3
Definition: IAgoraRtcEngine.h:8612
agora::rtc::IRtcEngine::registerLocalUserAccount
virtual int registerLocalUserAccount(const char *appId, const char *userAccount)=0
agora::rtc::QUALITY_ADAPT_INDICATION
QUALITY_ADAPT_INDICATION
Definition: AgoraBase.h:2535
agora::rtc::IRtcEngineEventHandler::onUplinkNetworkInfoUpdated
virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo &info)
Definition: IAgoraRtcEngine.h:1757
agora::rtc::AUDIO_EQUALIZATION_BAND_250
@ AUDIO_EQUALIZATION_BAND_250
Definition: IAgoraRtcEngine.h:181
agora::rtc::DirectCdnStreamingMediaOptions::publishMicrophoneTrack
Optional< bool > publishMicrophoneTrack
Definition: IAgoraRtcEngine.h:3410
agora::rtc::RtcImage
Definition: AgoraBase.h:3777
agora::rtc::InjectStreamConfig::InjectStreamConfig
InjectStreamConfig()
Definition: IAgoraRtcEngine.h:692
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_4
@ VIDEO_PROFILE_PORTRAIT_360P_4
Definition: IAgoraRtcEngine.h:8614
agora::rtc::VideoCompositingLayout::backgroundColor
const char * backgroundColor
Definition: IAgoraRtcEngine.h:630
agora::rtc::VIDEO_PROFILE_PORTRAIT_4K_3
@ VIDEO_PROFILE_PORTRAIT_4K_3
Definition: IAgoraRtcEngine.h:8662
agora::rtc::IRtcEngine::getAudioMixingCurrentPosition
virtual int getAudioMixingCurrentPosition()=0
agora::rtc::IMetadataObserver::DEFAULT_METADATA_SIZE_IN_BYTE
@ DEFAULT_METADATA_SIZE_IN_BYTE
Definition: IAgoraRtcEngine.h:3244
agora::rtc::IRtcEngine::startDirectCdnStreaming
virtual int startDirectCdnStreaming(IDirectCdnStreamingEventHandler *eventHandler, const char *publishUrl, const DirectCdnStreamingMediaOptions &options)=0
agora::rtc::IRtcEngine::registerAudioSpectrumObserver
virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
agora::rtc::AUDIO_MIXING_STATE_STOPPED
@ AUDIO_MIXING_STATE_STOPPED
Definition: IAgoraRtcEngine.h:84
agora::rtc::NONE_PROXY_TYPE
@ NONE_PROXY_TYPE
Definition: IAgoraRtcEngine.h:1439
agora::rtc::DIRECT_CDN_STREAMING_REASON_OK
@ DIRECT_CDN_STREAMING_REASON_OK
Definition: IAgoraRtcEngine.h:3312
agora::rtc::AUDIO_REVERB_WET_DELAY
@ AUDIO_REVERB_WET_DELAY
Definition: IAgoraRtcEngine.h:227
agora::rtc::LocalVideoStats::encodedBitrate
int encodedBitrate
Definition: IAgoraRtcEngine.h:334
agora::rtc::REMOTE_VIDEO_STATE_REASON
REMOTE_VIDEO_STATE_REASON
Definition: AgoraBase.h:3246
agora::rtc::LocalVideoStats::qualityAdaptIndication
QUALITY_ADAPT_INDICATION qualityAdaptIndication
Definition: IAgoraRtcEngine.h:330
agora::rtc::ChannelMediaOptions::customVideoTrackId
Optional< video_track_id_t > customVideoTrackId
Definition: IAgoraRtcEngine.h:1269
agora::rtc::RTMP_STREAM_PUBLISH_REASON
RTMP_STREAM_PUBLISH_REASON
Definition: AgoraBase.h:3670
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1440P
@ VIDEO_PROFILE_LANDSCAPE_1440P
Definition: IAgoraRtcEngine.h:8586
agora::rtc::IRtcEngineEventHandler::onConnectionInterrupted
virtual void onConnectionInterrupted() __deprecated
Definition: IAgoraRtcEngine.h:2226
agora::rtc::IRtcEngine::setMixedAudioFrameParameters
virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall)=0
agora::rtc::AUDIO_EQUALIZATION_BAND_31
@ AUDIO_EQUALIZATION_BAND_31
Definition: IAgoraRtcEngine.h:169
agora::rtc::VIDEO_PROFILE_TYPE
VIDEO_PROFILE_TYPE
Definition: IAgoraRtcEngine.h:8522
agora::rtc::IRtcEngine::getVolumeOfEffect
virtual int getVolumeOfEffect(int soundId)=0
agora::rtc::IMetadataObserver::getMaxMetadataSize
virtual int getMaxMetadataSize()
Definition: IAgoraRtcEngine.h:3284
agora::rtc::LeaveChannelOptions::unloadAllEffect
bool unloadAllEffect
Definition: IAgoraRtcEngine.h:1486
agora::rtc::IRtcEngine::setSubscribeAudioAllowlist
virtual int setSubscribeAudioAllowlist(uid_t *uidList, int uidNumber)=0
agora::rtc::VIDEO_MIRROR_MODE_TYPE
VIDEO_MIRROR_MODE_TYPE
Definition: AgoraBase.h:1822
agora::rtc::IRtcEngine::getConnectionState
virtual CONNECTION_STATE_TYPE getConnectionState()=0
agora::rtc::ExtensionInfo::channelId
const char * channelId
Definition: IAgoraRtcEngine.h:3520
agora::rtc::AUDIO_PLAYOUT_DEVICE
@ AUDIO_PLAYOUT_DEVICE
Definition: IAgoraRtcEngine.h:48
agora::rtc::IRtcEngine::setCameraTorchOn
virtual int setCameraTorchOn(bool isOn)=0
agora::rtc::IRtcEngine::adjustUserPlaybackSignalVolume
virtual int adjustUserPlaybackSignalVolume(uid_t uid, int volume)=0
agora::rtc::IRtcEngine::isFeatureAvailableOnDevice
virtual bool isFeatureAvailableOnDevice(FeatureType type)=0
Whether the target feature is available for the device.
agora::rtc::IRtcEngine::enableEncryption
virtual int enableEncryption(bool enabled, const EncryptionConfig &config)=0
agora::rtc::IRtcEngine::getFaceShapeBeautyOptions
virtual int getFaceShapeBeautyOptions(FaceShapeBeautyOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::UDP_PROXY_TYPE
@ UDP_PROXY_TYPE
Definition: IAgoraRtcEngine.h:1442
agora::rtc::IRtcEngine::enableContentInspect
virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config)=0
agora::rtc::IRtcEngine::isCameraZoomSupported
virtual bool isCameraZoomSupported()=0
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStateChanged
virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed)
Definition: IAgoraRtcEngine.h:2389
agora::rtc::IRtcEngine::setAudioSessionOperationRestriction
virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction)=0
agora::rtc::IRtcEngine::startRhythmPlayer
virtual int startRhythmPlayer(const char *sound1, const char *sound2, const AgoraRhythmPlayerConfig &config)=0
agora::rtc::IRtcEngine::configRhythmPlayer
virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig &config)=0
agora::rtc::IRtcEngine::adjustAudioMixingPublishVolume
virtual int adjustAudioMixingPublishVolume(int volume)=0
agora::rtc::DirectCdnStreamingMediaOptions::publishCameraTrack
Optional< bool > publishCameraTrack
Definition: IAgoraRtcEngine.h:3404
agora::rtc::IVideoDeviceCollection::getCount
virtual int getCount()=0
agora::rtc::IRtcEngine::getAudioMixingDuration
virtual int getAudioMixingDuration()=0
agora::rtc::HEADPHONE_EQUALIZER_PRESET
HEADPHONE_EQUALIZER_PRESET
Definition: AgoraBase.h:5514
agora::rtc::IScreenCaptureSourceList
Definition: IAgoraRtcEngine.h:1001
agora::rtc::IRtcEngine::adjustCustomAudioPlayoutVolume
virtual int adjustCustomAudioPlayoutVolume(track_id_t trackId, int volume)=0
agora::rtc::IRtcEngine::destroyMediaRecorder
virtual int destroyMediaRecorder(agora_refptr< IMediaRecorder > mediaRecorder)=0
agora::rtc::RemoteAudioStats::frozenRateByCustomPlcCount
uint32_t frozenRateByCustomPlcCount
Definition: IAgoraRtcEngine.h:435
agora::rtc::ScreenCaptureConfiguration::params
ScreenCaptureParameters params
Definition: IAgoraRtcEngine.h:872
agora::rtc::IRtcEngineEventHandler::onVideoDeviceStateChanged
virtual void onVideoDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition: IAgoraRtcEngine.h:1705
agora::rtc::IMetadataObserver
Definition: IAgoraRtcEngine.h:3221
agora::rtc::VideoCompositingLayout::appData
const char * appData
Definition: IAgoraRtcEngine.h:640
agora::rtc::SIZE::width
int width
Definition: IAgoraRtcEngine.h:891
agora::rtc::RemoteAudioStats::totalFrozenTime
int totalFrozenTime
Definition: IAgoraRtcEngine.h:408
agora::media::AUDIO_MIXING_DUAL_MONO_MODE
AUDIO_MIXING_DUAL_MONO_MODE
Definition: IAgoraMediaEngine.h:17
agora
Definition: AgoraAtomicOps.h:21
agora::rtc::IRtcEngineEventHandler::onAudioMixingPositionChanged
virtual void onAudioMixingPositionChanged(int64_t position)
Reports current AudioMixing progress.
Definition: IAgoraRtcEngine.h:1677
agora::rtc::IRtcEngine::setRemoteVoicePosition
virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain)=0
agora::rtc::DIRECT_CDN_STREAMING_STATE_RECOVERING
@ DIRECT_CDN_STREAMING_STATE_RECOVERING
Definition: IAgoraRtcEngine.h:3337
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_1
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_1
Definition: IAgoraRtcEngine.h:253
agora::rtc::AUDIO_EFFECT_PRESET
AUDIO_EFFECT_PRESET
Definition: AgoraBase.h:5330
agora::rtc::IRtcEngine::registerMediaMetadataObserver
virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type)=0
agora::rtc::ScreenCaptureSourceType_Screen
@ ScreenCaptureSourceType_Screen
Definition: IAgoraRtcEngine.h:935
agora::rtc::PublisherConfiguration::defaultLayout
int defaultLayout
Definition: IAgoraRtcEngine.h:738
agora::rtc::AUDIO_AINS_MODE
AUDIO_AINS_MODE
Definition: AgoraBase.h:2618
agora::rtc::track_id_t
unsigned int track_id_t
Definition: AgoraMediaBase.h:29
agora::rtc::IRtcEngineEventHandler::onTranscodingUpdated
virtual void onTranscodingUpdated()
Definition: IAgoraRtcEngine.h:2520
agora::rtc::IRtcEngine::updateRtmpTranscoding
virtual int updateRtmpTranscoding(const LiveTranscoding &transcoding)=0
agora::rtc::ScreenCaptureConfiguration::displayId
int64_t displayId
Definition: IAgoraRtcEngine.h:858
agora::rtc::DIRECT_CDN_STREAMING_REASON
DIRECT_CDN_STREAMING_REASON
Definition: IAgoraRtcEngine.h:3310
agora::rtc::RemoteAudioStats::publishDuration
int publishDuration
Definition: IAgoraRtcEngine.h:449
agora::rtc::IRtcEngineEventHandler::onWlAccMessage
virtual void onWlAccMessage(WLACC_MESSAGE_REASON reason, WLACC_SUGGEST_ACTION action, const char *wlAccMsg)
Definition: IAgoraRtcEngine.h:2677
agora::rtc::IRtcEngineEventHandler::onRequestToken
virtual void onRequestToken()
Definition: IAgoraRtcEngine.h:2281
agora::rtc::IRtcEngineEventHandler::onError
virtual void onError(int err, const char *msg)
Definition: IAgoraRtcEngine.h:1564
agora::rtc::REMOTE_VIDEO_STATE
REMOTE_VIDEO_STATE
Definition: AgoraBase.h:3215
agora::rtc::IRtcEngine::getNtpWallTimeInMs
virtual uint64_t getNtpWallTimeInMs()=0
agora::rtc::IRtcEngine::startRtmpStreamWithoutTranscoding
virtual int startRtmpStreamWithoutTranscoding(const char *url)=0
agora::rtc::IRtcEngine::enableCameraCenterStage
virtual int enableCameraCenterStage(bool enabled)=0
agora::rtc::VideoCompositingLayout::regionCount
int regionCount
Definition: IAgoraRtcEngine.h:637
agora::rtc::ExtensionInfo::mediaSourceType
agora::media::MEDIA_SOURCE_TYPE mediaSourceType
Definition: IAgoraRtcEngine.h:3500
agora::rtc::IRtcEngineEventHandler::onProxyConnected
virtual void onProxyConnected(const char *channel, uid_t uid, PROXY_TYPE proxyType, const char *localProxyIp, int elapsed)
Definition: IAgoraRtcEngine.h:1551
agora::rtc::MEDIA_DEVICE_TYPE
MEDIA_DEVICE_TYPE
Definition: IAgoraRtcEngine.h:40
agora::rtc::IRtcEngineEventHandler::onExtensionEventWithContext
virtual void onExtensionEventWithContext(const ExtensionContext &context, const char *key, const char *value)
Definition: IAgoraRtcEngine.h:2910
agora::rtc::IRtcEngineEventHandler::onLocalPublishFallbackToAudioOnly
virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover)
Definition: IAgoraRtcEngine.h:2586
agora::rtc::AUDIO_EQUALIZATION_BAND_62
@ AUDIO_EQUALIZATION_BAND_62
Definition: IAgoraRtcEngine.h:173
agora::rtc::ScreenCaptureSourceInfo::iconImage
ThumbImageBuffer iconImage
Definition: IAgoraRtcEngine.h:960
agora::rtc::INTERFACE_ID_TYPE
INTERFACE_ID_TYPE
Definition: AgoraBase.h:869
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_10
@ VIDEO_PROFILE_LANDSCAPE_480P_10
Definition: IAgoraRtcEngine.h:8570
agora::rtc::IRtcEngineEventHandler::onUserStateChanged
virtual void onUserStateChanged(uid_t uid, REMOTE_USER_STATE state)
Definition: IAgoraRtcEngine.h:2021
agora::rtc::PublisherConfiguration::height
int height
Definition: IAgoraRtcEngine.h:724
agora::rtc::IRtcEngineEventHandler::onAudioMixingFinished
virtual void onAudioMixingFinished() __deprecated
Definition: IAgoraRtcEngine.h:1685
agora::rtc::IRtcEngine::setScreenCaptureScenario
virtual int setScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario)=0
agora::rtc::AVideoDeviceManager
Definition: IAgoraRtcEngine.h:8674
agora::rtc::AUDIO_EQUALIZATION_BAND_4K
@ AUDIO_EQUALIZATION_BAND_4K
Definition: IAgoraRtcEngine.h:197
agora::rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE
RAW_AUDIO_FRAME_OP_MODE_TYPE
Definition: AgoraMediaBase.h:228
agora::rtc::IRtcEngine::startScreenCaptureByWindowId
virtual int startScreenCaptureByWindowId(int64_t windowId, const Rectangle &regionRect, const ScreenCaptureParameters &captureParams)=0
agora::rtc::LocalVideoStats::codecType
VIDEO_CODEC_TYPE codecType
Definition: IAgoraRtcEngine.h:340
agora::rtc::QUALITY_REPORT_JSON
@ QUALITY_REPORT_JSON
Definition: IAgoraRtcEngine.h:8492
agora::rtc::ExtensionInfo::localUid
uid_t localUid
Definition: IAgoraRtcEngine.h:3525
agora::rtc::INJECT_STREAM_STATUS_START_FAILED
@ INJECT_STREAM_STATUS_START_FAILED
Definition: IAgoraRtcEngine.h:135
agora::rtc::IRtcEngine::setSubscribeVideoBlocklist
virtual int setSubscribeVideoBlocklist(uid_t *uidList, int uidNumber)=0
agora::rtc::LocalTranscoderConfiguration
Definition: AgoraBase.h:4191
agora::rtc::TCP_PROXY_AUTO_FALLBACK_TYPE
@ TCP_PROXY_AUTO_FALLBACK_TYPE
Definition: IAgoraRtcEngine.h:1451
agora::rtc::IRtcEngine::adjustAudioMixingPlayoutVolume
virtual int adjustAudioMixingPlayoutVolume(int volume)=0
agora::rtc::STREAM_FALLBACK_OPTIONS
STREAM_FALLBACK_OPTIONS
Definition: IAgoraRtcEngine.h:234
agora::rtc::InjectStreamConfig::audioBitrate
int audioBitrate
Definition: IAgoraRtcEngine.h:685
agora::rtc::DirectCdnStreamingMediaOptions::SetAll
void SetAll(const DirectCdnStreamingMediaOptions &change)
Definition: IAgoraRtcEngine.h:3443
agora::rtc::WLACC_SUGGEST_ACTION
WLACC_SUGGEST_ACTION
Definition: AgoraBase.h:4576
agora::rtc::ScreenCaptureSourceInfo::minimizeWindow
bool minimizeWindow
Definition: IAgoraRtcEngine.h:984
agora::rtc::IRtcEngine::setCameraDeviceOrientation
virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation)=0
agora::rtc::IRtcEngineEventHandler::onAudioVolumeIndication
virtual void onAudioVolumeIndication(const AudioVolumeInfo *speakers, unsigned int speakerNumber, int totalVolume)
Definition: IAgoraRtcEngine.h:1626
agora::rtc::IRtcEngineEventHandler::onStreamMessageError
virtual void onStreamMessageError(uid_t uid, int streamId, int code, int missed, int cached)
Definition: IAgoraRtcEngine.h:2264
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_4
@ VIDEO_PROFILE_LANDSCAPE_480P_4
Definition: IAgoraRtcEngine.h:8562
agora::rtc::IPacketObserver
Definition: AgoraBase.h:3459
agora::rtc::IRtcEngine::setLocalPublishFallbackOption
virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option)=0
agora::rtc::LocalVideoStats::dualStreamEnabled
bool dualStreamEnabled
Definition: IAgoraRtcEngine.h:351
agora::rtc::VIDEO_PROFILE_PORTRAIT_120P_3
@ VIDEO_PROFILE_PORTRAIT_120P_3
Definition: IAgoraRtcEngine.h:8596
agora::rtc::IRtcEngine::writeLog
virtual int writeLog(commons::LOG_LEVEL level, const char *fmt,...)=0
agora::rtc::RemoteAudioStats::rxAudioBytes
unsigned int rxAudioBytes
Definition: IAgoraRtcEngine.h:461
agora::rtc::ChannelMediaOptions::publishEncodedVideoTrack
Optional< bool > publishEncodedVideoTrack
Definition: IAgoraRtcEngine.h:1152
agora::rtc::IRtcEngine::setDualStreamMode
virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode)=0
agora::rtc::DirectCdnStreamingStats
Definition: IAgoraRtcEngine.h:3343
agora::rtc::IRtcEngine::registerEventHandler
virtual bool registerEventHandler(IRtcEngineEventHandler *eventHandler)=0
agora::rtc::VideoFormat
Definition: AgoraBase.h:2727
agora::rtc::RemoteVideoStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:496
agora::rtc::IRtcEngineEventHandler::onUserOffline
virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:1958
agora::rtc::IRtcEngine::registerExtension
virtual int registerExtension(const char *provider, const char *extension, agora::media::MEDIA_SOURCE_TYPE type=agora::media::UNKNOWN_MEDIA_SOURCE)=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P
@ VIDEO_PROFILE_PORTRAIT_480P
Definition: IAgoraRtcEngine.h:8628
agora::rtc::IRtcEngine::setCameraAutoExposureFaceModeEnabled
virtual int setCameraAutoExposureFaceModeEnabled(bool enabled)=0
agora::rtc::VIDEO_CODEC_TYPE
VIDEO_CODEC_TYPE
Definition: AgoraBase.h:1173
agora::rtc::IRtcEngine::stopRtmpStream
virtual int stopRtmpStream(const char *url)=0
agora::rtc::ChannelMediaOptions::operator==
bool operator==(const ChannelMediaOptions &o) const
Definition: IAgoraRtcEngine.h:1332
agora::rtc::DataStreamConfig
Definition: AgoraBase.h:2092
agora::rtc::IRtcEngineEventHandler::onCameraFocusAreaChanged
virtual void onCameraFocusAreaChanged(int x, int y, int width, int height)
Definition: IAgoraRtcEngine.h:2110
agora::rtc::VideoCompositingLayout::Region::y
double y
Definition: IAgoraRtcEngine.h:588
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW
Definition: IAgoraRtcEngine.h:244
agora::rtc::IRtcEngine::stopAudioMixing
virtual int stopAudioMixing()=0
agora::rtc::PublisherConfiguration
Definition: IAgoraRtcEngine.h:716
agora::rtc::IRtcEngineEventHandler::onExtensionStartedWithContext
virtual void onExtensionStartedWithContext(const ExtensionContext &context)
Definition: IAgoraRtcEngine.h:2923
agora::rtc::IRtcEngine::setLogLevel
virtual int setLogLevel(commons::LOG_LEVEL level)=0
agora::rtc::RtcEngineContext::logConfig
commons::LogConfig logConfig
Definition: IAgoraRtcEngine.h:3183
agora::rtc::IRtcEngine::setRemoteDefaultVideoStreamType
virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType)=0
agora::rtc::LocalAudioMixerConfiguration
Definition: AgoraBase.h:4300
agora::rtc::NETWORK_TYPE
NETWORK_TYPE
Definition: AgoraBase.h:4618
agora::rtc::IRtcEngine::setRemoteVideoStreamType
virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType)=0
agora::rtc::AUDIO_EQUALIZATION_BAND_8K
@ AUDIO_EQUALIZATION_BAND_8K
Definition: IAgoraRtcEngine.h:201
agora::rtc::IRtcEngineEventHandler::onUserEnableVideo
virtual void onUserEnableVideo(uid_t uid, bool enabled)
Definition: IAgoraRtcEngine.h:2011
agora::CHANNEL_PROFILE_TYPE
CHANNEL_PROFILE_TYPE
Definition: AgoraBase.h:267
agora::rtc::IRtcEngineEventHandler::onRtmpStreamingStateChanged
virtual void onRtmpStreamingStateChanged(const char *url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_REASON reason)
Definition: IAgoraRtcEngine.h:2493
agora::rtc::InjectStreamConfig::height
int height
Definition: IAgoraRtcEngine.h:665
agora::rtc::CAMERA_FRONT
@ CAMERA_FRONT
Definition: IAgoraRtcEngine.h:791
agora::rtc::ChannelMediaOptions::publishFourthCameraTrack
Optional< bool > publishFourthCameraTrack
Definition: IAgoraRtcEngine.h:1083
agora::rtc::CAPTURE_BRIGHTNESS_LEVEL_TYPE
CAPTURE_BRIGHTNESS_LEVEL_TYPE
Definition: AgoraBase.h:2865
agora::rtc::DIRECT_CDN_STREAMING_STATE_STOPPED
@ DIRECT_CDN_STREAMING_STATE_STOPPED
Definition: IAgoraRtcEngine.h:3333
agora::rtc::IRtcEngine::startRtmpStreamWithTranscoding
virtual int startRtmpStreamWithTranscoding(const char *url, const LiveTranscoding &transcoding)=0
agora::rtc::ScreenCaptureConfiguration::ScreenCaptureConfiguration
ScreenCaptureConfiguration()
Definition: IAgoraRtcEngine.h:882
agora::rtc::DirectCdnStreamingMediaOptions
Definition: IAgoraRtcEngine.h:3398
agora::rtc::AdvancedAudioOptions
Definition: IAgoraRtcEngine.h:1034
agora::rtc::IRtcEngine::setVideoEncoderConfiguration
virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration &config)=0
agora::rtc::IRtcEngine::queryCodecCapability
virtual int queryCodecCapability(CodecCapInfo *codecInfo, int &size)=0
agora::rtc::IRtcEngine::stopAllEffects
virtual int stopAllEffects()=0
agora::rtc::ExtensionInfo::ExtensionInfo
ExtensionInfo()
Definition: IAgoraRtcEngine.h:3527
agora::rtc::IRtcEngine::pauseAllChannelMediaRelay
virtual int pauseAllChannelMediaRelay()=0
agora::rtc::ScreenCaptureSourceType_Unknown
@ ScreenCaptureSourceType_Unknown
Definition: IAgoraRtcEngine.h:931
agora::rtc::LocalVideoStats::captureFrameHeight
int captureFrameHeight
Definition: IAgoraRtcEngine.h:296
agora::rtc::IRtcEngineEventHandler::onAudioQuality
virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay, unsigned short lost) __deprecated
Definition: IAgoraRtcEngine.h:1584
agora::rtc::IRtcEngine::startAudioMixing
virtual int startAudioMixing(const char *filePath, bool loopback, int cycle)=0
agora::rtc::IRtcEngine::adjustLoopbackSignalVolume
virtual int adjustLoopbackSignalVolume(int volume)=0
agora::rtc::VIDEO_ORIENTATION
VIDEO_ORIENTATION
Definition: AgoraBase.h:951
agora::rtc::IRtcEngine::takeSnapshot
virtual int takeSnapshot(uid_t uid, const char *filePath)=0
agora::rtc::RtcEngineContext::license
const char * license
Definition: IAgoraRtcEngine.h:3148
agora::rtc::AUDIO_EQUALIZATION_BAND_125
@ AUDIO_EQUALIZATION_BAND_125
Definition: IAgoraRtcEngine.h:177
agora::rtc::ScreenCaptureConfiguration::regionRect
Rectangle regionRect
Definition: IAgoraRtcEngine.h:880
agora::rtc::VideoCompositingLayout::canvasWidth
int canvasWidth
Definition: IAgoraRtcEngine.h:622
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_3
@ VIDEO_PROFILE_LANDSCAPE_360P_3
Definition: IAgoraRtcEngine.h:8542
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_5
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_5
Definition: IAgoraRtcEngine.h:257
agora::rtc::LeaveChannelOptions::stopMicrophoneRecording
bool stopMicrophoneRecording
Definition: IAgoraRtcEngine.h:1492
agora::rtc::PublisherConfiguration::rawStreamUrl
const char * rawStreamUrl
Definition: IAgoraRtcEngine.h:763
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_8
@ VIDEO_PROFILE_LANDSCAPE_360P_8
Definition: IAgoraRtcEngine.h:8550
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_9
@ VIDEO_PROFILE_LANDSCAPE_480P_9
Definition: IAgoraRtcEngine.h:8568
agora::rtc::ScreenCaptureSourceInfo::thumbImage
ThumbImageBuffer thumbImage
Definition: IAgoraRtcEngine.h:956
agora::rtc::VIDEO_APPLICATION_SCENARIO_TYPE
VIDEO_APPLICATION_SCENARIO_TYPE
Definition: AgoraBase.h:2820
agora::rtc::RemoteAudioStats::mosValue
int mosValue
Definition: IAgoraRtcEngine.h:430
agora::rtc::IRtcEngineEventHandler::onRemoteVideoStats
virtual void onRemoteVideoStats(const RemoteVideoStats &stats)
Definition: IAgoraRtcEngine.h:2089
agora::rtc::AUDIO_MIXING_STATE_PAUSED
@ AUDIO_MIXING_STATE_PAUSED
Definition: IAgoraRtcEngine.h:82
agora::rtc::IRtcEngine::setAudioEffectParameters
virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2)=0
agora::rtc::IRtcEngine::setColorEnhanceOptions
virtual int setColorEnhanceOptions(bool enabled, const ColorEnhanceOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::commons::LOG_LEVEL
OPTIONAL_ENUM_CLASS LOG_LEVEL
Definition: IAgoraLog.h:33
agora::rtc::IRtcEngineEventHandler::onTokenPrivilegeWillExpire
virtual void onTokenPrivilegeWillExpire(const char *token)
Definition: IAgoraRtcEngine.h:2294
agora::rtc::LocalVideoStats::targetFrameRate
int targetFrameRate
Definition: IAgoraRtcEngine.h:326
agora::rtc::DirectCdnStreamingStats::audioBitrate
int audioBitrate
Definition: IAgoraRtcEngine.h:3367
agora::rtc::IRtcEngine::setRemoteSubscribeFallbackOption
virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option)=0
agora::rtc::IRtcEngine::getExtensionProperty
virtual int getExtensionProperty(const char *provider, const char *extension, const ExtensionInfo &extensionInfo, const char *key, char *value, int buf_len)=0
agora::rtc::RtcEngineContext::channelProfile
CHANNEL_PROFILE_TYPE channelProfile
Definition: IAgoraRtcEngine.h:3143
agora::rtc::IRtcEngineEventHandler::onRemoteSubscribeFallbackToAudioOnly
virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover)
Definition: IAgoraRtcEngine.h:2607
agora::rtc::IRtcEngine::setEarMonitoringAudioFrameParameters
virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
agora::rtc::IRtcEngineEventHandler::onContentInspectResult
virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result)
Definition: IAgoraRtcEngine.h:2417
agora::rtc::IRtcEngine::release
static AGORA_CPP_API void release(bool sync=false)
agora::rtc::IRtcEngine::getAudioDeviceInfo
virtual int getAudioDeviceInfo(DeviceInfo &deviceInfo)=0
agora::rtc::IRtcEngineEventHandler::onAudioDeviceStateChanged
virtual void onAudioDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition: IAgoraRtcEngine.h:1665
agora::rtc::ChannelMediaOptions::token
Optional< const char * > token
Definition: IAgoraRtcEngine.h:1242
agora::rtc::AUDIO_EQUALIZATION_BAND_16K
@ AUDIO_EQUALIZATION_BAND_16K
Definition: IAgoraRtcEngine.h:205
agora::rtc::ChannelMediaOptions::parameters
Optional< const char * > parameters
Definition: IAgoraRtcEngine.h:1281
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStats
virtual void onRemoteAudioStats(const RemoteAudioStats &stats)
Definition: IAgoraRtcEngine.h:2048
agora::rtc::IRtcEngine::setEffectsVolume
virtual int setEffectsVolume(int volume)=0
agora::rtc::__deprecated
@ __deprecated
Definition: AgoraBase.h:894
agora::rtc::IRtcEngine::playAllEffects
virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish=false)=0
agora::rtc::DirectCdnStreamingStats::fps
int fps
Definition: IAgoraRtcEngine.h:3357
agora::rtc::IDirectCdnStreamingEventHandler::~IDirectCdnStreamingEventHandler
virtual ~IDirectCdnStreamingEventHandler()
Definition: IAgoraRtcEngine.h:3376
agora::rtc::AUDIO_RECORDING_QUALITY_TYPE
AUDIO_RECORDING_QUALITY_TYPE
Definition: AgoraBase.h:5705
agora::rtc::ScreenCaptureSourceInfo::isOccluded
bool isOccluded
Definition: IAgoraRtcEngine.h:975
agora::rtc::IRtcEngine::stopLastmileProbeTest
virtual int stopLastmileProbeTest()=0
agora::rtc::ChannelMediaRelayConfiguration
Definition: AgoraBase.h:6072
agora::rtc::IRtcEngine::setAdvancedAudioOptions
virtual int setAdvancedAudioOptions(AdvancedAudioOptions &options, int sourceType=0)=0
agora::rtc::IRtcEngine::createMediaPlayer
virtual agora_refptr< IMediaPlayer > createMediaPlayer()=0
agora::rtc::IRtcEngine::queryInterface
virtual int queryInterface(INTERFACE_ID_TYPE iid, void **inter)=0
agora::rtc::IVideoDeviceCollection
Definition: IAgoraRtcEngine.h:2968
agora::rtc::IRtcEngine::renewToken
virtual int renewToken(const char *token)=0
agora::rtc::IRtcEngine::pauseAudio
virtual int pauseAudio() __deprecated=0
agora::rtc::IRtcEngine::sendStreamMessage
virtual int sendStreamMessage(int streamId, const char *data, size_t length)=0
agora::rtc::LocalVideoStats::txPacketLossRate
unsigned short txPacketLossRate
Definition: IAgoraRtcEngine.h:344
agora::rtc::VOICE_CONVERSION_PRESET
VOICE_CONVERSION_PRESET
Definition: AgoraBase.h:5456
agora::rtc::AUDIO_VIRTUAL_PLAYOUT_DEVICE
@ AUDIO_VIRTUAL_PLAYOUT_DEVICE
Definition: IAgoraRtcEngine.h:68
agora::rtc::IRtcEngineEventHandler::onLocalVideoStats
virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats &stats)
Definition: IAgoraRtcEngine.h:2076
agora::rtc::ChannelMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition: IAgoraRtcEngine.h:1136
agora::rtc::RemoteVideoStats::avSyncTimeMs
int avSyncTimeMs
Definition: IAgoraRtcEngine.h:554
agora::rtc::IRtcEngine::setFilterEffectOptions
virtual int setFilterEffectOptions(bool enabled, const FilterEffectOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::RtcEngineContext::domainLimit
bool domainLimit
Definition: IAgoraRtcEngine.h:3204
agora::rtc::IRtcEngine::isCameraAutoExposureFaceModeSupported
virtual bool isCameraAutoExposureFaceModeSupported()=0
agora::rtc::IRtcEngine::enableFaceDetection
virtual int enableFaceDetection(bool enabled)=0
agora::rtc::IRtcEngine::isCameraCenterStageSupported
virtual bool isCameraCenterStageSupported()=0
agora::rtc::IRtcEngine::unregisterEventHandler
virtual bool unregisterEventHandler(IRtcEngineEventHandler *eventHandler)=0
agora::rtc::VIDEO_RENDER_DEVICE
@ VIDEO_RENDER_DEVICE
Definition: IAgoraRtcEngine.h:56
agora::rtc::IRtcEngine::setLocalVideoMirrorMode
virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) __deprecated=0
agora::rtc::RemoteVideoStats::decoderOutputFrameRate
int decoderOutputFrameRate
Definition: IAgoraRtcEngine.h:526
agora::rtc::RtcEngineContext::context
void * context
Definition: IAgoraRtcEngine.h:3139
agora::rtc::IRtcEngine::setExternalMediaProjection
virtual int setExternalMediaProjection(void *mediaProjection)=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P
@ VIDEO_PROFILE_PORTRAIT_360P
Definition: IAgoraRtcEngine.h:8610
agora::rtc::UNKNOWN_AUDIO_DEVICE
@ UNKNOWN_AUDIO_DEVICE
Definition: IAgoraRtcEngine.h:44
agora::rtc::IRtcEngine::setCameraExposureFactor
virtual int setCameraExposureFactor(float factor)=0
agora::rtc::IRtcEngine::stopLocalAudioMixer
virtual int stopLocalAudioMixer()=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_240P_4
@ VIDEO_PROFILE_PORTRAIT_240P_4
Definition: IAgoraRtcEngine.h:8608
agora::rtc::IRtcEngineEventHandler::onActiveSpeaker
virtual void onActiveSpeaker(uid_t uid)
Definition: IAgoraRtcEngine.h:2409
agora::rtc::ChannelMediaOptions::publishCameraTrack
Optional< bool > publishCameraTrack
Definition: IAgoraRtcEngine.h:1065
agora::rtc::RemoteAudioStats::e2eDelay
int e2eDelay
Definition: IAgoraRtcEngine.h:465
agora::rtc::IRtcEngineEventHandler::onFirstLocalVideoFrame
virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed)
Definition: IAgoraRtcEngine.h:1796
agora::rtc::AUDIO_SCENARIO_DEFAULT
@ AUDIO_SCENARIO_DEFAULT
Definition: AgoraBase.h:2688
agora::rtc::ChannelMediaOptions::clientRoleType
Optional< CLIENT_ROLE_TYPE > clientRoleType
Definition: IAgoraRtcEngine.h:1209
agora::rtc::AUDIO_MIXING_REASON_STOPPED_BY_USER
@ AUDIO_MIXING_REASON_STOPPED_BY_USER
Definition: IAgoraRtcEngine.h:105
agora::rtc::AUDIO_REVERB_WET_LEVEL
@ AUDIO_REVERB_WET_LEVEL
Definition: IAgoraRtcEngine.h:219
agora::rtc::ChannelMediaOptions::publishThirdCameraTrack
Optional< bool > publishThirdCameraTrack
Definition: IAgoraRtcEngine.h:1077
agora::rtc::ScreenCaptureParameters2
Definition: AgoraBase.h:6616
agora::rtc::IRtcEngineEventHandler::onJoinChannelSuccess
virtual void onJoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1522
agora::rtc::IRtcEngine::startLocalVideoTranscoder
virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration &config)=0
agora::rtc::ThumbImageBuffer::width
unsigned int width
Definition: IAgoraRtcEngine.h:919
agora::rtc::DirectCdnStreamingMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition: IAgoraRtcEngine.h:3433
agora::rtc::ChannelMediaOptions::channelProfile
Optional< CHANNEL_PROFILE_TYPE > channelProfile
Definition: IAgoraRtcEngine.h:1223
agora::rtc::RemoteAudioStats::audioLossRate
int audioLossRate
Definition: IAgoraRtcEngine.h:388
agora::rtc::AUDIO_REVERB_ROOM_SIZE
@ AUDIO_REVERB_ROOM_SIZE
Definition: IAgoraRtcEngine.h:223
agora::rtc::VideoCompositingLayout::Region::zOrder
int zOrder
Definition: IAgoraRtcEngine.h:598
agora::rtc::IRtcEngine::queryDeviceScore
virtual int queryDeviceScore()=0
agora::rtc::LocalVideoStats::captureFrameRate
int captureFrameRate
Definition: IAgoraRtcEngine.h:290
agora::rtc::ScreenCaptureSourceInfo::sourceDisplayId
int64_t sourceDisplayId
Definition: IAgoraRtcEngine.h:991
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_4
@ VIDEO_PROFILE_PORTRAIT_480P_4
Definition: IAgoraRtcEngine.h:8632
agora::rtc::ChannelMediaOptions::operator=
ChannelMediaOptions & operator=(const ChannelMediaOptions &replace)
Definition: IAgoraRtcEngine.h:1386
agora::rtc::IRtcEngine::setParameters
virtual int setParameters(const char *parameters)=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_720P_3
@ VIDEO_PROFILE_PORTRAIT_720P_3
Definition: IAgoraRtcEngine.h:8644
agora::rtc::IRtcEngine::muteRemoteVideoStream
virtual int muteRemoteVideoStream(uid_t uid, bool mute)=0
agora::rtc::ChannelMediaOptions::publishScreenCaptureAudio
Optional< bool > publishScreenCaptureAudio
Definition: IAgoraRtcEngine.h:1103
agora::rtc::IRtcEngine::isCameraFocusSupported
virtual bool isCameraFocusSupported()=0
agora::rtc::IRtcEngine::setLowlightEnhanceOptions
virtual int setLowlightEnhanceOptions(bool enabled, const LowlightEnhanceOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IScreenCaptureSourceList::getCount
virtual unsigned int getCount()=0
agora::rtc::VIDEO_PROFILE_LANDSCAPE_180P
@ VIDEO_PROFILE_LANDSCAPE_180P
Definition: IAgoraRtcEngine.h:8528
agora::rtc::CONNECTION_CHANGED_REASON_TYPE
CONNECTION_CHANGED_REASON_TYPE
Definition: AgoraBase.h:4417
agora::rtc::RemoteVideoStats::frozenRate
int frozenRate
Definition: IAgoraRtcEngine.h:549
agora::rtc::IRtcEngine::getCurrentMonotonicTimeInMs
virtual int64_t getCurrentMonotonicTimeInMs()=0
agora::rtc::ScreenCaptureConfiguration::windowId
int64_t windowId
Definition: IAgoraRtcEngine.h:868
agora::rtc::IRtcEngine::enableLocalAudio
virtual int enableLocalAudio(bool enabled)=0
agora::rtc::IRtcEngine::setupLocalVideo
virtual int setupLocalVideo(const VideoCanvas &canvas)=0
agora::rtc::AUDIO_EQUALIZATION_BAND_500
@ AUDIO_EQUALIZATION_BAND_500
Definition: IAgoraRtcEngine.h:185
agora::rtc::VideoCompositingLayout::appDataLength
int appDataLength
Definition: IAgoraRtcEngine.h:643
agora::rtc::IRtcEngine::setRouteInCommunicationMode
virtual int setRouteInCommunicationMode(int route)=0
agora::rtc::IRtcEngine::setLocalVoiceReverb
virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value)=0
agora::rtc::IRtcEngine::stopEffect
virtual int stopEffect(int soundId)=0
agora::rtc::VideoCompositingLayout::Region::alpha
double alpha
Definition: IAgoraRtcEngine.h:603
agora::rtc::ScreenCaptureSourceInfo::position
Rectangle position
Definition: IAgoraRtcEngine.h:979
agora::rtc::DirectCdnStreamingMediaOptions::operator=
DirectCdnStreamingMediaOptions & operator=(const DirectCdnStreamingMediaOptions &replace)
Definition: IAgoraRtcEngine.h:3476
agora::rtc::IRtcEngine::enableCustomAudioLocalPlayback
virtual int enableCustomAudioLocalPlayback(track_id_t trackId, bool enabled)=0
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition: IAgoraRtcEngine.h:3422
agora::rtc::ScreenCaptureConfiguration::isCaptureWindow
bool isCaptureWindow
Definition: IAgoraRtcEngine.h:854
agora::rtc::LocalVideoStats::encodedFrameHeight
int encodedFrameHeight
Definition: IAgoraRtcEngine.h:317
agora::rtc::AGORA_IID_VIDEO_DEVICE_MANAGER
@ AGORA_IID_VIDEO_DEVICE_MANAGER
Definition: AgoraBase.h:871
agora::rtc::IRtcEngineEventHandler::onAudioMetadataReceived
virtual void onAudioMetadataReceived(uid_t uid, const char *metadata, size_t length)
Definition: IAgoraRtcEngine.h:2895
agora::rtc::IRtcEngine::setLocalVoiceFormant
virtual int setLocalVoiceFormant(double formantRatio)=0
agora::rtc::AdvancedAudioOptions::audioProcessingChannels
Optional< int > audioProcessingChannels
Definition: IAgoraRtcEngine.h:1038
agora::rtc::IRtcEngine::stopScreenCapture
virtual int stopScreenCapture()=0
agora::rtc::ImageTrackOptions::imageUrl
const char * imageUrl
Definition: IAgoraRtcEngine.h:1045
agora::rtc::VIDEO_PROFILE_PORTRAIT_1080P_3
@ VIDEO_PROFILE_PORTRAIT_1080P_3
Definition: IAgoraRtcEngine.h:8652
agora::rtc::DirectCdnStreamingMediaOptions::DirectCdnStreamingMediaOptions
DirectCdnStreamingMediaOptions()
Definition: IAgoraRtcEngine.h:3440
agora::rtc::IRtcEngine::getUserInfoByUserAccount
virtual int getUserInfoByUserAccount(const char *userAccount, rtc::UserInfo *userInfo)=0
agora::rtc::IRtcEngine::setLogFile
virtual int setLogFile(const char *filePath)=0
agora::rtc::IRtcEngine::enableVirtualBackground
virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IVideoDeviceCollection::setDevice
virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngine::setCameraCapturerConfiguration
virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration &config)=0
agora::rtc::FaceShapeAreaOptions::FACE_SHAPE_AREA
FACE_SHAPE_AREA
Definition: AgoraBase.h:4861
agora::rtc::VideoCompositingLayout::Region::renderMode
media::base::RENDER_MODE_TYPE renderMode
Definition: IAgoraRtcEngine.h:605
agora::rtc::IRtcEngine::setCameraZoomFactor
virtual int setCameraZoomFactor(float factor)=0
agora::rtc::IMetadataObserver::INVALID_METADATA_SIZE_IN_BYTE
@ INVALID_METADATA_SIZE_IN_BYTE
Definition: IAgoraRtcEngine.h:3243
agora::rtc::RemoteVideoStats::__deprecated
int delay __deprecated
Definition: IAgoraRtcEngine.h:504
agora::rtc::CameraCapturerConfiguration::cameraFocalLengthType
Optional< CAMERA_FOCAL_LENGTH_TYPE > cameraFocalLengthType
Definition: IAgoraRtcEngine.h:828
agora::rtc::CameraCapturerConfiguration::deviceId
Optional< const char * > deviceId
Definition: IAgoraRtcEngine.h:831
agora::rtc::RemoteAudioStats::quality
int quality
Definition: IAgoraRtcEngine.h:374
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1080P_3
@ VIDEO_PROFILE_LANDSCAPE_1080P_3
Definition: IAgoraRtcEngine.h:8582
agora::rtc::AdvancedAudioOptions::AdvancedAudioOptions
AdvancedAudioOptions()
Definition: IAgoraRtcEngine.h:1040
agora::rtc::VIDEO_PROFILE_LANDSCAPE_720P_3
@ VIDEO_PROFILE_LANDSCAPE_720P_3
Definition: IAgoraRtcEngine.h:8574
agora::rtc::PublisherConfiguration::width
int width
Definition: IAgoraRtcEngine.h:720
agora::rtc::VideoCompositingLayout::Region::width
double width
Definition: IAgoraRtcEngine.h:592
agora::rtc::IRtcEngine::startEchoTest
virtual int startEchoTest(const EchoTestConfiguration &config)=0
agora::rtc::IRtcEngine::startOrUpdateChannelMediaRelay
virtual int startOrUpdateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration)=0
agora::rtc::IRtcEngine::setDefaultAudioRouteToSpeakerphone
virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker)=0
agora::rtc::IRtcEngineEventHandler::onConnectionBanned
virtual void onConnectionBanned() __deprecated
Definition: IAgoraRtcEngine.h:2231
agora::rtc::ScreenCaptureSourceInfo
Definition: IAgoraRtcEngine.h:940
agora::rtc::IRtcEngine::getEffectsVolume
virtual int getEffectsVolume()=0
agora::rtc::IRtcEngineEventHandler::onEncryptionError
virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType)
Definition: IAgoraRtcEngine.h:2713
agora::rtc::IRtcEngineEventHandler::onCameraReady
virtual void onCameraReady() __deprecated
Definition: IAgoraRtcEngine.h:2098
agora::rtc::REMOTE_AUDIO_STATE_REASON
REMOTE_AUDIO_STATE_REASON
Definition: AgoraBase.h:3165
agora::rtc::LOCAL_VIDEO_STREAM_REASON
LOCAL_VIDEO_STREAM_REASON
Definition: AgoraBase.h:3000
agora::rtc::VIDEO_PROFILE_LANDSCAPE_720P_6
@ VIDEO_PROFILE_LANDSCAPE_720P_6
Definition: IAgoraRtcEngine.h:8578
agora::rtc::IRtcEngine::getEffectDuration
virtual int getEffectDuration(const char *filePath)=0
agora::rtc::RTMP_STREAM_PUBLISH_STATE
RTMP_STREAM_PUBLISH_STATE
Definition: AgoraBase.h:3627
agora::rtc::STREAM_SUBSCRIBE_STATE
STREAM_SUBSCRIBE_STATE
Definition: AgoraBase.h:6390
agora::rtc::IRtcEngineEventHandler::onWlAccStats
virtual void onWlAccStats(const WlAccStats &currentStats, const WlAccStats &averageStats)
Definition: IAgoraRtcEngine.h:2688
agora::commons::LogConfig
Definition: IAgoraLog.h:83
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_7
@ VIDEO_PROFILE_PORTRAIT_360P_7
Definition: IAgoraRtcEngine.h:8618
agora::rtc::IRtcEngine::setPlaybackAudioFrameParameters
virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
agora::rtc::IRtcEngine::setLogFileSize
virtual int setLogFileSize(unsigned int fileSizeInKBytes)=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_720P
@ VIDEO_PROFILE_PORTRAIT_720P
Definition: IAgoraRtcEngine.h:8642
agora::rtc::LeaveChannelOptions::stopAllEffect
bool stopAllEffect
Definition: IAgoraRtcEngine.h:1480
agora::rtc::REMOTE_USER_STATE
REMOTE_USER_STATE
Definition: AgoraBase.h:3306
agora::rtc::ChannelMediaOptions::defaultVideoStreamType
Optional< VIDEO_STREAM_TYPE > defaultVideoStreamType
Definition: IAgoraRtcEngine.h:1218
agora::rtc::IRtcEngine::preloadChannelWithUserAccount
virtual int preloadChannelWithUserAccount(const char *token, const char *channelId, const char *userAccount)=0
agora::rtc::RemoteVideoStats::rxVideoBytes
unsigned int rxVideoBytes
Definition: IAgoraRtcEngine.h:575
agora::rtc::VIDEO_PROFILE_LANDSCAPE_120P_3
@ VIDEO_PROFILE_LANDSCAPE_120P_3
Definition: IAgoraRtcEngine.h:8526
createAgoraRtcEngine
AGORA_API agora::rtc::IRtcEngine *AGORA_CALL createAgoraRtcEngine()
agora::rtc::VIDEO_PROFILE_DEFAULT
@ VIDEO_PROFILE_DEFAULT
Definition: IAgoraRtcEngine.h:8664
agora::rtc::IRtcEngine::setBeautyEffectOptions
virtual int setBeautyEffectOptions(bool enabled, const BeautyOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::VIDEO_SOURCE_TYPE
VIDEO_SOURCE_TYPE
Definition: AgoraMediaBase.h:68
agora::rtc::RtcEngineContext::autoRegisterAgoraExtensions
bool autoRegisterAgoraExtensions
Definition: IAgoraRtcEngine.h:3211
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_9
@ VIDEO_PROFILE_PORTRAIT_360P_9
Definition: IAgoraRtcEngine.h:8622
agora::rtc::LocalVideoStats
Definition: IAgoraRtcEngine.h:275
agora::rtc::IMetadataObserver::onMetadataReceived
virtual void onMetadataReceived(const Metadata &metadata)=0
agora::rtc::IRtcEngine::setAudioMixingPlaybackSpeed
virtual int setAudioMixingPlaybackSpeed(int speed)=0
agora::rtc::IRtcEngine::resumeAllChannelMediaRelay
virtual int resumeAllChannelMediaRelay()=0
agora::rtc::IRtcEngine::setExtensionProperty
virtual int setExtensionProperty(const char *provider, const char *extension, const ExtensionInfo &extensionInfo, const char *key, const char *value)=0
agora::rtc::QUALITY_REPORT_FORMAT_TYPE
QUALITY_REPORT_FORMAT_TYPE
Definition: IAgoraRtcEngine.h:8489
agora::rtc::ChannelMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition: IAgoraRtcEngine.h:1204
agora::rtc::IDirectCdnStreamingEventHandler
Definition: IAgoraRtcEngine.h:3374
agora::rtc::IRtcEngineEventHandler::onLocalAudioStateChanged
virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_REASON reason)
Definition: IAgoraRtcEngine.h:2368
agora::media::base::RENDER_MODE_TYPE
RENDER_MODE_TYPE
Definition: AgoraMediaBase.h:592
agora::rtc::IRtcEngine::setRemoteRenderTargetFps
virtual int setRemoteRenderTargetFps(int targetFps)=0
agora::rtc::IRtcEngineEventHandler::onAudioSubscribeStateChanged
virtual void onAudioSubscribeStateChanged(const char *channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState)
Definition: IAgoraRtcEngine.h:2813
agora::rtc::DIRECT_CDN_STREAMING_STATE_RUNNING
@ DIRECT_CDN_STREAMING_STATE_RUNNING
Definition: IAgoraRtcEngine.h:3331
agora::rtc::IRtcEngineEventHandler::onVideoStopped
virtual void onVideoStopped() __deprecated
Definition: IAgoraRtcEngine.h:2178
agora::rtc::ImageTrackOptions::ImageTrackOptions
ImageTrackOptions()
Definition: IAgoraRtcEngine.h:1048
agora::rtc::EncryptionConfig
Definition: AgoraBase.h:6282
agora::rtc::IRtcEngine::destroyMediaPlayer
virtual int destroyMediaPlayer(agora_refptr< IMediaPlayer > media_player)=0
agora::rtc::INJECT_STREAM_STATUS_BROKEN
@ INJECT_STREAM_STATUS_BROKEN
Definition: IAgoraRtcEngine.h:159
agora::rtc::UDP_PROXY
@ UDP_PROXY
Definition: IAgoraRtcEngine.h:804
agora::rtc::AUDIO_MIXING_REASON_INTERRUPTED_EOF
@ AUDIO_MIXING_REASON_INTERRUPTED_EOF
Definition: IAgoraRtcEngine.h:99
agora::rtc::LocalVideoStats::simulcastDimensions
VideoDimensions simulcastDimensions[SimulcastConfig::STREAM_LAYER_COUNT_MAX]
Definition: IAgoraRtcEngine.h:359
agora::rtc::DIRECT_CDN_STREAMING_STATE
DIRECT_CDN_STREAMING_STATE
Definition: IAgoraRtcEngine.h:3327
agora::rtc::IRtcEngine::setAudioMixingPosition
virtual int setAudioMixingPosition(int pos)=0
agora::rtc::ChannelMediaOptions::publishTranscodedVideoTrack
Optional< bool > publishTranscodedVideoTrack
Definition: IAgoraRtcEngine.h:1170
agora::rtc::PRIORITY_NORMAL
@ PRIORITY_NORMAL
Definition: IAgoraRtcEngine.h:267
agora::rtc::VIDEO_PROFILE_PORTRAIT_720P_5
@ VIDEO_PROFILE_PORTRAIT_720P_5
Definition: IAgoraRtcEngine.h:8646
agora::rtc::ChannelMediaOptions::enableAudioRecordingOrPlayout
Optional< bool > enableAudioRecordingOrPlayout
Definition: IAgoraRtcEngine.h:1200
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:2862
agora::rtc::RemoteVideoStats::receivedBitrate
int receivedBitrate
Definition: IAgoraRtcEngine.h:520
agora::rtc::VIDEO_TRANSCODER_ERROR
VIDEO_TRANSCODER_ERROR
Definition: AgoraBase.h:4222
agora::rtc::MEDIA_DEVICE_STATE_PLUGGED_IN
@ MEDIA_DEVICE_STATE_PLUGGED_IN
Definition: IAgoraRtcEngine.h:8512
agora::rtc::RemoteAudioStats
Definition: IAgoraRtcEngine.h:366
agora::rtc::IRtcEngine::updateScreenCaptureRegion
virtual int updateScreenCaptureRegion(const Rectangle &regionRect)=0
agora::rtc::IMetadataObserver::MAX_METADATA_SIZE_TYPE
MAX_METADATA_SIZE_TYPE
Definition: IAgoraRtcEngine.h:3242
agora::rtc::IRtcEngine::enableVideoImageSource
virtual int enableVideoImageSource(bool enable, const ImageTrackOptions &options)=0
enable or disable video image source to replace the current video source published or resume it
agora::rtc::QUALITY_REPORT_HTML
@ QUALITY_REPORT_HTML
Definition: IAgoraRtcEngine.h:8495
agora::rtc::LocalVideoStats::encoderOutputFrameRate
int encoderOutputFrameRate
Definition: IAgoraRtcEngine.h:311
agora::rtc::IRtcEngine::unregisterAudioSpectrumObserver
virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
agora::rtc::PublisherConfiguration::PublisherConfiguration
PublisherConfiguration()
Definition: IAgoraRtcEngine.h:768
agora::rtc::IRtcEngine::setupRemoteVideo
virtual int setupRemoteVideo(const VideoCanvas &canvas)=0
agora::rtc::IRtcEngineEventHandler::onLastmileProbeResult
virtual void onLastmileProbeResult(const LastmileProbeResult &result)
Definition: IAgoraRtcEngine.h:1596
agora::rtc::IVideoDeviceManager::startDeviceTest
virtual int startDeviceTest(view_t hwnd)=0
agora::LICENSE_ERROR_TYPE
LICENSE_ERROR_TYPE
Definition: AgoraBase.h:762
agora::rtc::AUDIO_MIXING_REASON_TYPE
AUDIO_MIXING_REASON_TYPE
Definition: IAgoraRtcEngine.h:93
agora::rtc::IRtcEngine::addVideoWatermark
virtual int addVideoWatermark(const RtcImage &watermark) __deprecated=0
agora::rtc::CAMERA_STABILIZATION_MODE
CAMERA_STABILIZATION_MODE
Definition: AgoraBase.h:2882
agora::rtc::RTMP_STREAM_LIFE_CYCLE_BIND2OWNER
@ RTMP_STREAM_LIFE_CYCLE_BIND2OWNER
Definition: IAgoraRtcEngine.h:711
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_10
@ VIDEO_PROFILE_PORTRAIT_480P_10
Definition: IAgoraRtcEngine.h:8640
agora::rtc::IRtcEngineEventHandler::onConnectionLost
virtual void onConnectionLost()
Definition: IAgoraRtcEngine.h:2213
agora::rtc::IRtcEngineEventHandler::onUserMuteVideo
virtual void onUserMuteVideo(uid_t uid, bool muted)
Definition: IAgoraRtcEngine.h:1994
agora::rtc::PublisherConfiguration::owner
bool owner
Definition: IAgoraRtcEngine.h:746
agora::rtc::IRtcEngine::setCameraExposurePosition
virtual int setCameraExposurePosition(float positionXinView, float positionYinView)=0
agora::rtc::IRtcEngine::setInEarMonitoringVolume
virtual int setInEarMonitoringVolume(int volume)=0
agora::rtc::ScreenCaptureSourceInfo::primaryMonitor
bool primaryMonitor
Definition: IAgoraRtcEngine.h:974
agora::rtc::IRtcEngine::enableSoundPositionIndication
virtual int enableSoundPositionIndication(bool enabled)=0
agora::rtc::VideoCompositingLayout::regions
const Region * regions
Definition: IAgoraRtcEngine.h:634
agora::rtc::IRtcEngine::stopCameraCapture
virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType)=0
agora::rtc::ChannelMediaOptions::publishMediaPlayerVideoTrack
Optional< bool > publishMediaPlayerVideoTrack
Definition: IAgoraRtcEngine.h:1164
agora::rtc::INJECT_STREAM_STATUS_STOP_SUCCESS
@ INJECT_STREAM_STATUS_STOP_SUCCESS
Definition: IAgoraRtcEngine.h:139
agora::rtc::VIDEO_PROFILE_PORTRAIT_1080P_5
@ VIDEO_PROFILE_PORTRAIT_1080P_5
Definition: IAgoraRtcEngine.h:8654
agora::rtc::IRtcEngine::stopPreview
virtual int stopPreview()=0
agora::rtc::MEDIA_DEVICE_STATE_NOT_PRESENT
@ MEDIA_DEVICE_STATE_NOT_PRESENT
Definition: IAgoraRtcEngine.h:8516
agora::rtc::RemoteVideoStats::mosValue
int mosValue
Definition: IAgoraRtcEngine.h:571
agora::rtc::MEDIA_DEVICE_STATE_ACTIVE
@ MEDIA_DEVICE_STATE_ACTIVE
Definition: IAgoraRtcEngine.h:8505
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_8
@ VIDEO_PROFILE_PORTRAIT_480P_8
Definition: IAgoraRtcEngine.h:8636
agora::rtc::IRtcEngine::destroyCustomEncodedVideoTrack
virtual int destroyCustomEncodedVideoTrack(video_track_id_t video_track_id)=0
agora::rtc::DirectCdnStreamingMediaOptions::customVideoTrackId
Optional< video_track_id_t > customVideoTrackId
Definition: IAgoraRtcEngine.h:3438
agora::rtc::IRtcEngineEventHandler::onVideoSizeChanged
virtual void onVideoSizeChanged(VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation)
Definition: IAgoraRtcEngine.h:1849
agora::rtc::IRtcEngine::muteRecordingSignal
virtual int muteRecordingSignal(bool mute)=0
agora::rtc::IRtcEngineEventHandler::onLocalUserRegistered
virtual void onLocalUserRegistered(uid_t uid, const char *userAccount)
Definition: IAgoraRtcEngine.h:2739
agora::rtc::LocalVideoStats::encodedFrameWidth
int encodedFrameWidth
Definition: IAgoraRtcEngine.h:314
agora::rtc::VIDEO_PROFILE_LANDSCAPE_180P_3
@ VIDEO_PROFILE_LANDSCAPE_180P_3
Definition: IAgoraRtcEngine.h:8530
agora::rtc::AUDIO_APPLICATION_PLAYOUT_DEVICE
@ AUDIO_APPLICATION_PLAYOUT_DEVICE
Definition: IAgoraRtcEngine.h:64
agora::rtc::USER_OFFLINE_REASON_TYPE
USER_OFFLINE_REASON_TYPE
Definition: AgoraBase.h:852
agora::rtc::INJECT_STREAM_STATUS_START_ALREADY_EXISTS
@ INJECT_STREAM_STATUS_START_ALREADY_EXISTS
Definition: IAgoraRtcEngine.h:123
agora::rtc::IRtcEngine::queryCameraFocalLengthCapability
virtual int queryCameraFocalLengthCapability(agora::rtc::FocalLengthInfo *focalLengthInfos, int &size)=0
agora::rtc::AdvancedAudioOptions::~AdvancedAudioOptions
~AdvancedAudioOptions()
Definition: IAgoraRtcEngine.h:1041
agora::rtc::IRtcEngine::setVoiceBeautifierParameters
virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2)=0
agora::rtc::IRtcEngine::muteRemoteAudioStream
virtual int muteRemoteAudioStream(uid_t uid, bool mute)=0
agora::rtc::AUDIO_REVERB_DRY_LEVEL
@ AUDIO_REVERB_DRY_LEVEL
Definition: IAgoraRtcEngine.h:215
agora::rtc::IRtcEngine::setVideoDenoiserOptions
virtual int setVideoDenoiserOptions(bool enabled, const VideoDenoiserOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IRtcEngineEventHandler::onSnapshotTaken
virtual void onSnapshotTaken(uid_t uid, const char *filePath, int width, int height, int errCode)
Definition: IAgoraRtcEngine.h:2436
agora::rtc::ThumbImageBuffer::ThumbImageBuffer
ThumbImageBuffer()
Definition: IAgoraRtcEngine.h:924
agora::rtc::SIZE
Definition: IAgoraRtcEngine.h:888
agora::rtc::INJECT_STREAM_STATUS_STOP_NOT_FOUND
@ INJECT_STREAM_STATUS_STOP_NOT_FOUND
Definition: IAgoraRtcEngine.h:143
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_4
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_4
Definition: IAgoraRtcEngine.h:256
agora::rtc::IRtcEngine::destroyCustomVideoTrack
virtual int destroyCustomVideoTrack(video_track_id_t video_track_id)=0
agora::rtc::MEDIA_DEVICE_STATE_UNPLUGGED
@ MEDIA_DEVICE_STATE_UNPLUGGED
Definition: IAgoraRtcEngine.h:8519
agora::rtc::IRtcEngine::setVoiceConversionParameters
virtual int setVoiceConversionParameters(VOICE_CONVERSION_PRESET preset, int param1, int param2)=0
agora::rtc::SimulcastConfig::STREAM_LAYER_COUNT_MAX
@ STREAM_LAYER_COUNT_MAX
Definition: AgoraBase.h:2197
agora::rtc::ChannelMediaOptions::publishLipSyncTrack
Optional< bool > publishLipSyncTrack
Definition: IAgoraRtcEngine.h:1182
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoFrame
virtual void onFirstRemoteVideoFrame(uid_t uid, int width, int height, int elapsed)
Definition: IAgoraRtcEngine.h:1913
agora::rtc::IScreenCaptureSourceList::release
virtual void release()=0
agora::rtc::IRtcEngine::adjustAudioMixingVolume
virtual int adjustAudioMixingVolume(int volume)=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_240P
@ VIDEO_PROFILE_PORTRAIT_240P
Definition: IAgoraRtcEngine.h:8604
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_9
@ VIDEO_PROFILE_LANDSCAPE_360P_9
Definition: IAgoraRtcEngine.h:8552
agora::rtc::WatermarkOptions
Definition: AgoraBase.h:2284
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1440P_2
@ VIDEO_PROFILE_LANDSCAPE_1440P_2
Definition: IAgoraRtcEngine.h:8588
agora::rtc::PERMISSION_TYPE
PERMISSION_TYPE
Definition: AgoraBase.h:6374
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_9
@ VIDEO_PROFILE_PORTRAIT_480P_9
Definition: IAgoraRtcEngine.h:8638
agora::rtc::IRtcEngine::setLocalRenderTargetFps
virtual int setLocalRenderTargetFps(VIDEO_SOURCE_TYPE sourceType, int targetFps)=0
agora::rtc::DIRECT_CDN_STREAMING_STATE_FAILED
@ DIRECT_CDN_STREAMING_STATE_FAILED
Definition: IAgoraRtcEngine.h:3335
agora::rtc::ChannelMediaOptions::publishThirdScreenTrack
Optional< bool > publishThirdScreenTrack
Definition: IAgoraRtcEngine.h:1122
agora::rtc::IRtcEngineEventHandler::onAudioDeviceVolumeChanged
virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted)
Definition: IAgoraRtcEngine.h:2476
agora::rtc::IRtcEngine::leaveChannel
virtual int leaveChannel()=0
agora::rtc::IRtcEngine::setAudioScenario
virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario)=0
agora::rtc::IRtcEngine::setClientRole
virtual int setClientRole(CLIENT_ROLE_TYPE role)=0
agora::rtc::IRtcEngine::preloadChannel
virtual int preloadChannel(const char *token, const char *channelId, uid_t uid)=0
agora::rtc::IRtcEngineEventHandler::onClientRoleChanged
virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions &newRoleOptions)
Definition: IAgoraRtcEngine.h:2451
agora::rtc::IRtcEngine::startScreenCaptureByDisplayId
virtual int startScreenCaptureByDisplayId(int64_t displayId, const Rectangle &regionRect, const ScreenCaptureParameters &captureParams)=0
agora::rtc::RemoteVideoStats::width
int width
Definition: IAgoraRtcEngine.h:512
agora::rtc::HTTPS_PROXY_TYPE
@ HTTPS_PROXY_TYPE
Definition: IAgoraRtcEngine.h:1457
agora::rtc::RtcEngineContext::audioScenario
AUDIO_SCENARIO_TYPE audioScenario
Definition: IAgoraRtcEngine.h:3157
agora::rtc::RemoteVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition: IAgoraRtcEngine.h:529
agora::rtc::CameraCapturerConfiguration::CameraCapturerConfiguration
CameraCapturerConfiguration()
Definition: IAgoraRtcEngine.h:843
agora::rtc::IRtcEngine::setVoiceBeautifierPreset
virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset)=0
agora::rtc::RemoteVideoStats::decoderInputFrameRate
int decoderInputFrameRate
Definition: IAgoraRtcEngine.h:523
agora::rtc::IRtcEngine::rate
virtual int rate(const char *callId, int rating, const char *description)=0
agora::rtc::LOCAL_AUDIO_STREAM_REASON
LOCAL_AUDIO_STREAM_REASON
Definition: AgoraBase.h:2928
agora::rtc::LocalVideoStats::targetBitrate
int targetBitrate
Definition: IAgoraRtcEngine.h:323
agora::rtc::ChannelMediaOptions::publishSecondaryScreenTrack
Optional< bool > publishSecondaryScreenTrack
Definition: IAgoraRtcEngine.h:1116
agora::rtc::IRtcEngine::loadExtensionProvider
virtual int loadExtensionProvider(const char *path, bool unload_after_use=false)=0
agora::rtc::CAMERA_REAR
@ CAMERA_REAR
Definition: IAgoraRtcEngine.h:789
agora::rtc::RemoteAudioStats::qualityChangedReason
int qualityChangedReason
Definition: IAgoraRtcEngine.h:457
agora::rtc::IRtcEngine::isCameraFaceDetectSupported
virtual bool isCameraFaceDetectSupported()=0
agora::rtc::IRtcEngine::getCallId
virtual int getCallId(agora::util::AString &callId)=0
agora::rtc::VIDEO_CAPTURE_DEVICE
@ VIDEO_CAPTURE_DEVICE
Definition: IAgoraRtcEngine.h:60
agora::rtc::IRtcEngine::isCameraAutoFocusFaceModeSupported
virtual bool isCameraAutoFocusFaceModeSupported()=0
agora::rtc::PROXY_TYPE
PROXY_TYPE
Definition: IAgoraRtcEngine.h:1436
agora::rtc::IMetadataObserver::MAX_METADATA_SIZE_IN_BYTE
@ MAX_METADATA_SIZE_IN_BYTE
Definition: IAgoraRtcEngine.h:3245
agora::rtc::InjectStreamConfig
Definition: IAgoraRtcEngine.h:657
agora::rtc::IRtcEngine::uploadLogFile
virtual int uploadLogFile(agora::util::AString &requestId)=0
agora::rtc::IRtcEngine::startMediaRenderingTracing
virtual int startMediaRenderingTracing()=0
Start tracing media rendering events.
agora::rtc::IRtcEngineEventHandler::~IRtcEngineEventHandler
virtual ~IRtcEngineEventHandler()
Definition: IAgoraRtcEngine.h:1509
agora::rtc::CameraCapturerConfiguration::format
VideoFormat format
Definition: IAgoraRtcEngine.h:842
agora::rtc::LocalVideoStats::encodedFrameCount
int encodedFrameCount
Definition: IAgoraRtcEngine.h:337
agora::rtc::PublisherConfiguration::bitrate
int bitrate
Definition: IAgoraRtcEngine.h:732
agora::rtc::LocalVideoStats::regulatedCaptureFrameRate
int regulatedCaptureFrameRate
Definition: IAgoraRtcEngine.h:300
agora::rtc::IRtcEngine::enableWirelessAccelerate
virtual int enableWirelessAccelerate(bool enabled)=0
agora::rtc::VIDEO_PROFILE_LANDSCAPE_120P
@ VIDEO_PROFILE_LANDSCAPE_120P
Definition: IAgoraRtcEngine.h:8524
agora::rtc::IRtcEngine::createCustomEncodedVideoTrack
virtual video_track_id_t createCustomEncodedVideoTrack(const SenderOptions &sender_option)=0
agora::rtc::AUDIO_MIXING_REASON_TOO_FREQUENT_CALL
@ AUDIO_MIXING_REASON_TOO_FREQUENT_CALL
Definition: IAgoraRtcEngine.h:97
agora::rtc::VIDEO_STREAM_TYPE
VIDEO_STREAM_TYPE
Definition: AgoraBase.h:1577
agora::rtc::DIRECT_CDN_STREAMING_STATE_IDLE
@ DIRECT_CDN_STREAMING_STATE_IDLE
Definition: IAgoraRtcEngine.h:3329
agora::rtc::CameraCapturerConfiguration::followEncodeDimensionRatio
Optional< bool > followEncodeDimensionRatio
Definition: IAgoraRtcEngine.h:840
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1080P_5
@ VIDEO_PROFILE_LANDSCAPE_1080P_5
Definition: IAgoraRtcEngine.h:8584
agora::rtc::IRtcEngine::unloadAllEffects
virtual int unloadAllEffects()=0
agora::rtc::RtcEngineContext::RtcEngineContext
RtcEngineContext()
Definition: IAgoraRtcEngine.h:3213
agora::rtc::ChannelMediaOptions
Definition: IAgoraRtcEngine.h:1059
agora::rtc::IRtcEngine
Definition: IAgoraRtcEngine.h:3539
agora::rtc::AUDIO_MIXING_REASON_CAN_NOT_OPEN
@ AUDIO_MIXING_REASON_CAN_NOT_OPEN
Definition: IAgoraRtcEngine.h:95
agora::rtc::INJECT_STREAM_STATUS
INJECT_STREAM_STATUS
Definition: IAgoraRtcEngine.h:115
agora::rtc::IRtcEngine::enableLoopbackRecording
virtual int enableLoopbackRecording(bool enabled, const char *deviceName=NULL)=0
agora::rtc::IRtcEngine::sendAudioMetadata
virtual int sendAudioMetadata(const char *metadata, size_t length)=0
send audio metadata
agora::rtc::IRtcEngine::createMediaRecorder
virtual agora_refptr< IMediaRecorder > createMediaRecorder(const RecorderStreamInfo &info)=0
agora::rtc::VIDEO_VIRTUAL_BACKGROUND
@ VIDEO_VIRTUAL_BACKGROUND
Definition: IAgoraRtcEngine.h:1461
agora::rtc::AUDIO_EQUALIZATION_BAND_FREQUENCY
AUDIO_EQUALIZATION_BAND_FREQUENCY
Definition: IAgoraRtcEngine.h:165
agora::rtc::ScreenCaptureConfiguration
Definition: IAgoraRtcEngine.h:848
agora::rtc::IRtcEngine::setAudioMixingDualMonoMode
virtual int setAudioMixingDualMonoMode(media::AUDIO_MIXING_DUAL_MONO_MODE mode)=0
agora::rtc::ChannelMediaOptions::autoSubscribeVideo
Optional< bool > autoSubscribeVideo
Definition: IAgoraRtcEngine.h:1194
agora::rtc::VOICE_BEAUTIFIER_PRESET
VOICE_BEAUTIFIER_PRESET
Definition: AgoraBase.h:5239
agora::rtc::DIRECT_CDN_STREAMING_REASON_NET_CONNECT
@ DIRECT_CDN_STREAMING_REASON_NET_CONNECT
Definition: IAgoraRtcEngine.h:3320
agora::rtc::DirectCdnStreamingMediaOptions::~DirectCdnStreamingMediaOptions
~DirectCdnStreamingMediaOptions()
Definition: IAgoraRtcEngine.h:3441
agora::rtc::VIDEO_MIRROR_MODE_DISABLED
@ VIDEO_MIRROR_MODE_DISABLED
Definition: AgoraBase.h:1834
agora::rtc::UPLOAD_ERROR_REASON
UPLOAD_ERROR_REASON
Definition: AgoraBase.h:6366
agora::rtc::IRtcEngine::getEffectCurrentPosition
virtual int getEffectCurrentPosition(int soundId)=0
agora::rtc::ChannelMediaOptions::publishMicrophoneTrack
Optional< bool > publishMicrophoneTrack
Definition: IAgoraRtcEngine.h:1089
agora::rtc::IRtcEngine::updatePreloadChannelToken
virtual int updatePreloadChannelToken(const char *token)=0
agora::rtc::IRtcEngine::resumeAudio
virtual int resumeAudio() __deprecated=0
agora::rtc::IRtcEngine::muteLocalAudioStream
virtual int muteLocalAudioStream(bool mute)=0
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_3
@ VIDEO_PROFILE_LANDSCAPE_480P_3
Definition: IAgoraRtcEngine.h:8560
agora::rtc::IRtcEngine::joinChannelWithUserAccount
virtual int joinChannelWithUserAccount(const char *token, const char *channelId, const char *userAccount)=0
agora::rtc::IRtcEngine::setChannelProfile
virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile)=0
agora::rtc::SIZE::SIZE
SIZE()
Definition: IAgoraRtcEngine.h:896
agora::rtc::HTTP_PROXY_TYPE
@ HTTP_PROXY_TYPE
Definition: IAgoraRtcEngine.h:1454
agora::rtc::RemoteVideoStats::frameLossRate
int frameLossRate
Definition: IAgoraRtcEngine.h:532
agora::rtc::VideoDimensions
Definition: AgoraBase.h:1103
agora::rtc::IRtcEngine::updateDirectCdnStreamingMediaOptions
virtual int updateDirectCdnStreamingMediaOptions(const DirectCdnStreamingMediaOptions &options)=0
agora::rtc::IRtcEngine::setLocalVoicePitch
virtual int setLocalVoicePitch(double pitch)=0
agora::rtc::IRtcEngineEventHandler::onTranscodedStreamLayoutInfo
virtual void onTranscodedStreamLayoutInfo(uid_t uid, int width, int height, int layoutCount, const VideoLayout *layoutlist)
Definition: IAgoraRtcEngine.h:2879
agora::rtc::MEDIA_TRACE_EVENT
MEDIA_TRACE_EVENT
Definition: AgoraBase.h:6651
agora::rtc::RemoteVideoStats::height
int height
Definition: IAgoraRtcEngine.h:516
agora::rtc::LocalVideoStats::captureFrameWidth
int captureFrameWidth
Definition: IAgoraRtcEngine.h:293
agora::rtc::IRtcEngine::setScreenCaptureContentHint
virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint)=0
agora::rtc::VIDEO_MODULE_TYPE
VIDEO_MODULE_TYPE
Definition: AgoraBase.h:1849
agora::rtc::IRtcEngine::setAudioEffectPreset
virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset)=0
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P
@ VIDEO_PROFILE_LANDSCAPE_480P
Definition: IAgoraRtcEngine.h:8558
agora::rtc::AUDIO_SAMPLE_RATE_TYPE
AUDIO_SAMPLE_RATE_TYPE
Definition: AgoraBase.h:3516
agora::rtc::MEDIA_DEVICE_STATE_IDLE
@ MEDIA_DEVICE_STATE_IDLE
Definition: IAgoraRtcEngine.h:8502
agora::rtc::IRtcEngine::updateScreenCaptureParameters
virtual int updateScreenCaptureParameters(const ScreenCaptureParameters &captureParams)=0
agora::rtc::RtcEngineContext::useExternalEglContext
bool useExternalEglContext
Definition: IAgoraRtcEngine.h:3197
agora::rtc::IRtcEngine::preloadEffect
virtual int preloadEffect(int soundId, const char *filePath, int startPos=0)=0
agora::rtc::RemoteAudioStats::frozenRate
int frozenRate
Definition: IAgoraRtcEngine.h:413
agora::rtc::IRtcEngine::setVideoScenario
virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType)=0
agora::rtc::RemoteAudioStats::plcCount
uint32_t plcCount
Definition: IAgoraRtcEngine.h:439
agora::rtc::IRtcEngine::stopEchoTest
virtual int stopEchoTest()=0
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_3
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_3
Definition: IAgoraRtcEngine.h:255
agora::rtc::IRtcEngine::startAudioRecording
virtual int startAudioRecording(const char *filePath, AUDIO_RECORDING_QUALITY_TYPE quality)=0
agora::rtc::IRtcEngine::setLocalVoiceEqualization
virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain)=0
agora::rtc::DirectCdnStreamingMediaOptions::publishMediaPlayerAudioTrack
Optional< bool > publishMediaPlayerAudioTrack
Definition: IAgoraRtcEngine.h:3428
agora::util::CopyableAutoPtr
Definition: AgoraBase.h:156
agora::rtc::IRtcEngine::getCameraMaxZoomFactor
virtual float getCameraMaxZoomFactor()=0
agora::rtc::IRtcEngine::getNetworkType
virtual int getNetworkType()=0
agora::rtc::AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED
@ AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED
Definition: IAgoraRtcEngine.h:103
agora::rtc::VIDEO_PROFILE_LANDSCAPE_720P
@ VIDEO_PROFILE_LANDSCAPE_720P
Definition: IAgoraRtcEngine.h:8572
agora::rtc::InjectStreamConfig::audioSampleRate
AUDIO_SAMPLE_RATE_TYPE audioSampleRate
Definition: IAgoraRtcEngine.h:681
agora::rtc::IRtcEngine::enableExtension
virtual int enableExtension(const char *provider, const char *extension, const ExtensionInfo &extensionInfo, bool enable=true)=0
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_8
@ VIDEO_PROFILE_LANDSCAPE_480P_8
Definition: IAgoraRtcEngine.h:8566
agora::rtc::PublisherConfiguration::framerate
int framerate
Definition: IAgoraRtcEngine.h:728
agora::rtc::IRtcEngine::resumeEffect
virtual int resumeEffect(int soundId)=0
agora::rtc::PublisherConfiguration::injectStreamUrl
const char * injectStreamUrl
Definition: IAgoraRtcEngine.h:755
agora::rtc::ChannelMediaOptions::publishScreenTrack
Optional< bool > publishScreenTrack
Definition: IAgoraRtcEngine.h:1110
agora::rtc::AUDIO_EQUALIZATION_BAND_2K
@ AUDIO_EQUALIZATION_BAND_2K
Definition: IAgoraRtcEngine.h:193
agora::rtc::IRtcEngineEventHandler::onAudioRoutingChanged
virtual void onAudioRoutingChanged(int routing)
Definition: IAgoraRtcEngine.h:2535
agora::rtc::IRtcEngine::playEffect
virtual int playEffect(int soundId, const char *filePath, int loopCount, double pitch, double pan, int gain, bool publish=false, int startPos=0)=0
agora::rtc::InjectStreamConfig::videoBitrate
int videoBitrate
Definition: IAgoraRtcEngine.h:677
agora::rtc::IRtcEngine::setCameraStabilizationMode
virtual int setCameraStabilizationMode(CAMERA_STABILIZATION_MODE mode)=0
agora::rtc::IScreenCaptureSourceList::getSourceInfo
virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index)=0
agora::rtc::VIDEO_PROFILE_LANDSCAPE_4K
@ VIDEO_PROFILE_LANDSCAPE_4K
Definition: IAgoraRtcEngine.h:8590
agora::rtc::LocalVideoStats::captureBrightnessLevel
CAPTURE_BRIGHTNESS_LEVEL_TYPE captureBrightnessLevel
Definition: IAgoraRtcEngine.h:347
agora::rtc::VIDEO_PROFILE_LANDSCAPE_240P
@ VIDEO_PROFILE_LANDSCAPE_240P
Definition: IAgoraRtcEngine.h:8534
agora::rtc::IRtcEngine::enableVideo
virtual int enableVideo()=0
agora::rtc::IRtcEngineEventHandler::onExtensionStoppedWithContext
virtual void onExtensionStoppedWithContext(const ExtensionContext &context)
Definition: IAgoraRtcEngine.h:2934
agora::rtc::LOCAL_AUDIO_STREAM_STATE
LOCAL_AUDIO_STREAM_STATE
Definition: AgoraBase.h:2906
agora::rtc::VIDEO_PROFILE_PORTRAIT_4K
@ VIDEO_PROFILE_PORTRAIT_4K
Definition: IAgoraRtcEngine.h:8660
agora::rtc::IRtcEngine::setRemoteUserSpatialAudioParams
virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams &params)=0
agora::rtc::VOICE_AI_TUNER_TYPE
VOICE_AI_TUNER_TYPE
Definition: AgoraBase.h:5528
agora::rtc::AUDIO_EQUALIZATION_BAND_1K
@ AUDIO_EQUALIZATION_BAND_1K
Definition: IAgoraRtcEngine.h:189
agora::rtc::INJECT_STREAM_STATUS_STOP_FAILED
@ INJECT_STREAM_STATUS_STOP_FAILED
Definition: IAgoraRtcEngine.h:155
agora::rtc::video_track_id_t
unsigned int video_track_id_t
Definition: AgoraMediaBase.h:31
agora::rtc::IRtcEngine::setHeadphoneEQParameters
virtual int setHeadphoneEQParameters(int lowGain, int highGain)=0
agora::rtc::ScreenCaptureSourceType
ScreenCaptureSourceType
Definition: IAgoraRtcEngine.h:929
agora::rtc::IRtcEngine::getFaceShapeAreaOptions
virtual int getFaceShapeAreaOptions(agora::rtc::FaceShapeAreaOptions::FACE_SHAPE_AREA shapeArea, FaceShapeAreaOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IMetadataObserver::UNKNOWN_METADATA
@ UNKNOWN_METADATA
Definition: IAgoraRtcEngine.h:3233
agora::rtc::IRtcEngineEventHandler::onFirstLocalVideoFramePublished
virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed)
Definition: IAgoraRtcEngine.h:1813
agora::rtc::LOCAL_PROXY_TYPE
@ LOCAL_PROXY_TYPE
Definition: IAgoraRtcEngine.h:1448
agora::rtc::VIDEO_CONTENT_HINT
VIDEO_CONTENT_HINT
Definition: AgoraBase.h:2770
agora::rtc::IRtcEngine::updateChannelMediaOptions
virtual int updateChannelMediaOptions(const ChannelMediaOptions &options)=0
agora::rtc::RemoteAudioStats::numChannels
int numChannels
Definition: IAgoraRtcEngine.h:392
agora::rtc::IRtcEngineEventHandler::onSetRtmFlagResult
virtual void onSetRtmFlagResult(int code)
Definition: IAgoraRtcEngine.h:2960
agora::rtc::IDirectCdnStreamingEventHandler::onDirectCdnStreamingStats
virtual void onDirectCdnStreamingStats(const DirectCdnStreamingStats &stats)
Definition: IAgoraRtcEngine.h:3390
agora::rtc::ChannelMediaOptions::audioDelayMs
Optional< int > audioDelayMs
Definition: IAgoraRtcEngine.h:1228
agora::rtc::IRtcEngine::initialize
virtual int initialize(const RtcEngineContext &context)=0
agora::rtc::CLIENT_ROLE_CHANGE_FAILED_REASON
CLIENT_ROLE_CHANGE_FAILED_REASON
Definition: AgoraBase.h:4538
agora::rtc::VIDEO_PROFILE_PORTRAIT_120P
@ VIDEO_PROFILE_PORTRAIT_120P
Definition: IAgoraRtcEngine.h:8594
agora::rtc::IRtcEngineEventHandler::onNetworkQuality
virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality)
Definition: IAgoraRtcEngine.h:1733
agora::rtc::IRtcEngine::resumeAudioMixing
virtual int resumeAudioMixing()=0
agora::rtc::uid_t
unsigned int uid_t
Definition: AgoraMediaBase.h:28
agora::rtc::ImageTrackOptions
Definition: IAgoraRtcEngine.h:1044
agora::rtc::INJECT_STREAM_STATUS_START_TIMEDOUT
@ INJECT_STREAM_STATUS_START_TIMEDOUT
Definition: IAgoraRtcEngine.h:131
agora::rtc::IRtcEngine::unloadEffect
virtual int unloadEffect(int soundId)=0
agora::rtc::VideoCompositingLayout::Region
Definition: IAgoraRtcEngine.h:579
agora::rtc::IRtcEngine::stopRhythmPlayer
virtual int stopRhythmPlayer()=0
agora::rtc::IRtcEngine::getAudioMixingPlayoutVolume
virtual int getAudioMixingPlayoutVolume()=0
agora::rtc::IRtcEngine::startLastmileProbeTest
virtual int startLastmileProbeTest(const LastmileProbeConfig &config)=0
agora::rtc::CameraCapturerConfiguration::cameraId
Optional< const char * > cameraId
Definition: IAgoraRtcEngine.h:838
agora::rtc::IRtcEngine::adjustCustomAudioPublishVolume
virtual int adjustCustomAudioPublishVolume(track_id_t trackId, int volume)=0
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_6
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_6
Definition: IAgoraRtcEngine.h:258
agora::rtc::IRtcEngineEventHandler::onVideoSubscribeStateChanged
virtual void onVideoSubscribeStateChanged(const char *channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState)
Definition: IAgoraRtcEngine.h:2830
agora::rtc::ChannelMediaOptions::publishFourthScreenTrack
Optional< bool > publishFourthScreenTrack
Definition: IAgoraRtcEngine.h:1128
agora::rtc::RemoteAudioStats::jitterBufferDelay
int jitterBufferDelay
Definition: IAgoraRtcEngine.h:384
agora::rtc::AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED
@ AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED
Definition: IAgoraRtcEngine.h:101
agora::rtc::IRtcEngine::adjustPlaybackSignalVolume
virtual int adjustPlaybackSignalVolume(int volume)=0
agora::rtc::IRtcEngineEventHandler::onRemoteVideoStateChanged
virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed)
Definition: IAgoraRtcEngine.h:1899
agora::rtc::CLIENT_ROLE_TYPE
CLIENT_ROLE_TYPE
Definition: AgoraBase.h:2520
agora::rtc::IRtcEngine::setExtensionProviderProperty
virtual int setExtensionProviderProperty(const char *provider, const char *key, const char *value)=0
agora::rtc::INJECT_STREAM_STATUS_STOP_UNAUTHORIZED
@ INJECT_STREAM_STATUS_STOP_UNAUTHORIZED
Definition: IAgoraRtcEngine.h:147
agora::rtc::PublisherConfiguration::injectStreamWidth
int injectStreamWidth
Definition: IAgoraRtcEngine.h:749
agora::rtc::ChannelMediaOptions::publishScreenCaptureVideo
Optional< bool > publishScreenCaptureVideo
Definition: IAgoraRtcEngine.h:1097
agora::rtc::ChannelMediaOptions::publishMixedAudioTrack
Optional< bool > publishMixedAudioTrack
Definition: IAgoraRtcEngine.h:1176
agora::rtc::IRtcEngine::startLocalAudioMixer
virtual int startLocalAudioMixer(const LocalAudioMixerConfiguration &config)=0
agora::rtc::RemoteVideoStats::rxStreamType
VIDEO_STREAM_TYPE rxStreamType
Definition: IAgoraRtcEngine.h:539
agora::rtc::IRtcEngine::enableAudio
virtual int enableAudio()=0
agora::rtc::IVideoDeviceManager::stopDeviceTest
virtual int stopDeviceTest()=0
agora::rtc::IMetadataObserver::Metadata::uid
unsigned int uid
Definition: IAgoraRtcEngine.h:3259
agora::rtc::RemoteAudioStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:370
agora::rtc::IRtcEngine::disableVideo
virtual int disableVideo()=0
agora::rtc::IRtcEngine::enableDualStreamMode
virtual int enableDualStreamMode(bool enabled) __deprecated=0
agora::rtc::ChannelMediaOptions::~ChannelMediaOptions
~ChannelMediaOptions()
Definition: IAgoraRtcEngine.h:1284
agora::rtc::ENCRYPTION_ERROR_TYPE
ENCRYPTION_ERROR_TYPE
Definition: AgoraBase.h:6341
agora::rtc::InjectStreamConfig::videoGop
int videoGop
Definition: IAgoraRtcEngine.h:669
agora::rtc::IRtcEngine::setVideoQoEPreference
virtual int setVideoQoEPreference(VIDEO_QOE_PREFERENCE_TYPE qoePreference)=0
agora::rtc::ChannelMediaOptions::isInteractiveAudience
Optional< bool > isInteractiveAudience
Definition: IAgoraRtcEngine.h:1264
agora::SpatialAudioParams
Definition: AgoraBase.h:6871
agora::media::MEDIA_SOURCE_TYPE
MEDIA_SOURCE_TYPE
Definition: AgoraMediaBase.h:247
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_4
@ VIDEO_PROFILE_LANDSCAPE_360P_4
Definition: IAgoraRtcEngine.h:8544
agora::rtc::IRtcEngine::setLogFilter
virtual int setLogFilter(unsigned int filter)=0
agora::rtc::IRtcEngine::getLoopbackRecordingVolume
virtual int getLoopbackRecordingVolume()=0
agora::rtc::IRtcEngineEventHandler::onPermissionError
virtual void onPermissionError(PERMISSION_TYPE permissionType)
Definition: IAgoraRtcEngine.h:2726
agora::rtc::IRtcEngineEventHandler::onUploadLogResult
virtual void onUploadLogResult(const char *requestId, bool success, UPLOAD_ERROR_REASON reason)
Definition: IAgoraRtcEngine.h:2798
agora::rtc::RemoteAudioStats::qoeQuality
int qoeQuality
Definition: IAgoraRtcEngine.h:453
agora::rtc::LeaveChannelOptions::LeaveChannelOptions
LeaveChannelOptions()
Definition: IAgoraRtcEngine.h:1494
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_2
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_2
Definition: IAgoraRtcEngine.h:254
agora::rtc::IRtcEngine::setFaceShapeAreaOptions
virtual int setFaceShapeAreaOptions(const FaceShapeAreaOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_10
@ VIDEO_PROFILE_LANDSCAPE_360P_10
Definition: IAgoraRtcEngine.h:8554
agora::rtc::IRtcEngine::setHeadphoneEQPreset
virtual int setHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset)=0
agora::rtc::IRtcEngine::startCameraCapture
virtual int startCameraCapture(VIDEO_SOURCE_TYPE sourceType, const CameraCapturerConfiguration &config)=0
agora::rtc::IRtcEngine::setLocalAccessPoint
virtual int setLocalAccessPoint(const LocalAccessPointConfiguration &config)=0
agora::media::CONTENT_INSPECT_RESULT
CONTENT_INSPECT_RESULT
Definition: AgoraMediaBase.h:312
agora::rtc::IRtcEngine::createCustomVideoTrack
virtual video_track_id_t createCustomVideoTrack()=0
agora::rtc::DIRECT_CDN_STREAMING_REASON_BAD_NAME
@ DIRECT_CDN_STREAMING_REASON_BAD_NAME
Definition: IAgoraRtcEngine.h:3322
agora::rtc::SetFrom
static void SetFrom(Optional< T > *s, const Optional< T > &o)
Definition: IAgoraRtcEngine.h:24
agora::rtc::IRtcEngine::disableAudio
virtual int disableAudio()=0
agora::rtc::IRtcEngine::muteAllRemoteAudioStreams
virtual int muteAllRemoteAudioStreams(bool mute)=0
agora::rtc::IRtcEngineEventHandler::onRtcStats
virtual void onRtcStats(const RtcStats &stats)
Definition: IAgoraRtcEngine.h:1650
agora::rtc::IRtcEngineEventHandler::onUserJoined
virtual void onUserJoined(uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1939
agora::rtc::VIDEO_PROFILE_LANDSCAPE_240P_4
@ VIDEO_PROFILE_LANDSCAPE_240P_4
Definition: IAgoraRtcEngine.h:8538
agora::rtc::AAudioDeviceManager
Definition: IAgoraRtcEngine.h:8667
agora::rtc::STREAM_PUBLISH_STATE
STREAM_PUBLISH_STATE
Definition: AgoraBase.h:6422
agora::rtc::CONNECTION_STATE_TYPE
CONNECTION_STATE_TYPE
Definition: AgoraBase.h:3850
agora::rtc::VIDEO_BEAUTY_EFFECT
@ VIDEO_BEAUTY_EFFECT
Definition: IAgoraRtcEngine.h:1462
agora::rtc::IRtcEngine::sendCustomReportMessage
virtual int sendCustomReportMessage(const char *id, const char *category, const char *event, const char *label, int value)=0
agora::rtc::FocalLengthInfo
Definition: AgoraBase.h:1914
agora::rtc::ScreenCaptureSourceInfo::ScreenCaptureSourceInfo
ScreenCaptureSourceInfo()
Definition: IAgoraRtcEngine.h:992
agora::rtc::RemoteVideoStats::packetLossRate
int packetLossRate
Definition: IAgoraRtcEngine.h:535
agora::rtc::LocalVideoStats::hwEncoderAccelerating
int hwEncoderAccelerating
Definition: IAgoraRtcEngine.h:356
agora::rtc::DeviceInfo
Definition: AgoraBase.h:3445
agora::base::IEngineBase
Definition: AgoraBase.h:6837
agora::rtc::LocalVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition: IAgoraRtcEngine.h:320
agora::rtc::IRtcEngine::startScreenCaptureByScreenRect
virtual int startScreenCaptureByScreenRect(const Rectangle &screenRect, const Rectangle &regionRect, const ScreenCaptureParameters &captureParams) __deprecated=0
agora::rtc::ThumbImageBuffer::height
unsigned int height
Definition: IAgoraRtcEngine.h:923
agora::rtc::IRtcEngineEventHandler::onDownlinkNetworkInfoUpdated
virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo &info)
Definition: IAgoraRtcEngine.h:1768
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition: IAgoraRtcEngine.h:3416
agora::rtc::IRtcEngineEventHandler::onAudioMixingStateChanged
virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:2187
agora::rtc::AGORA_IID_AUDIO_DEVICE_MANAGER
@ AGORA_IID_AUDIO_DEVICE_MANAGER
Definition: AgoraBase.h:870
agora::rtc::ScreenCaptureSourceInfo::sourceId
int64_t sourceId
Definition: IAgoraRtcEngine.h:948
agora::rtc::IRtcEngine::setLocalRenderMode
virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
agora::rtc::IRtcEngine::startAudioFrameDump
virtual int startAudioFrameDump(const char *channel_id, uid_t uid, const char *location, const char *uuid, const char *passwd, long duration_ms, bool auto_upload)=0
agora::rtc::IRtcEngine::setAudioProfile
virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) __deprecated=0
agora::rtc::RtcEngineContext::areaCode
unsigned int areaCode
Definition: IAgoraRtcEngine.h:3166
agora::rtc::IRtcEngine::setSimulcastConfig
virtual int setSimulcastConfig(const SimulcastConfig &simulcastConfig)=0
agora::rtc::IRtcEngineEventHandler::onLicenseValidationFailure
virtual void onLicenseValidationFailure(LICENSE_ERROR_TYPE error)
Definition: IAgoraRtcEngine.h:2303
agora::rtc::CameraCapturerConfiguration
Definition: IAgoraRtcEngine.h:812
agora::rtc::IMetadataObserver::VIDEO_METADATA
@ VIDEO_METADATA
Definition: IAgoraRtcEngine.h:3236
rtc
Definition: video_node_i.h:28
agora::rtc::IRtcEngine::selectAudioTrack
virtual int selectAudioTrack(int index)=0
agora::rtc::RemoteVideoStats
Definition: IAgoraRtcEngine.h:492
agora::rtc::PublisherConfiguration::injectStreamHeight
int injectStreamHeight
Definition: IAgoraRtcEngine.h:752
agora::Optional
Definition: AgoraOptional.h:52
agora::rtc::IRtcEngine::joinChannel
virtual int joinChannel(const char *token, const char *channelId, const char *info, uid_t uid)=0
agora::rtc::IMetadataObserver::Metadata::size
unsigned int size
Definition: IAgoraRtcEngine.h:3262
agora::rtc::CAMERA_DIRECTION
CAMERA_DIRECTION
Definition: IAgoraRtcEngine.h:787
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_10
@ VIDEO_PROFILE_PORTRAIT_360P_10
Definition: IAgoraRtcEngine.h:8624
agora::AUDIO_SESSION_OPERATION_RESTRICTION
AUDIO_SESSION_OPERATION_RESTRICTION
Definition: AgoraBase.h:792
agora::rtc::IRtcEngine::setRecordingAudioFrameParameters
virtual int setRecordingAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
agora::rtc::VIDEO_PROFILE_PORTRAIT_180P_3
@ VIDEO_PROFILE_PORTRAIT_180P_3
Definition: IAgoraRtcEngine.h:8600
agora::rtc::ScreenCaptureConfiguration::screenRect
Rectangle screenRect
Definition: IAgoraRtcEngine.h:863
agora::rtc::IScreenCaptureSourceList::~IScreenCaptureSourceList
virtual ~IScreenCaptureSourceList()
Definition: IAgoraRtcEngine.h:1003
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1080P
@ VIDEO_PROFILE_LANDSCAPE_1080P
Definition: IAgoraRtcEngine.h:8580
agora::rtc::IRtcEngineEventHandler::onUserEnableLocalVideo
virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) __deprecated
Definition: IAgoraRtcEngine.h:2036
agora::rtc::IVideoDeviceManager::setDevice
virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngineEventHandler::onChannelMediaRelayStateChanged
virtual void onChannelMediaRelayStateChanged(int state, int code)
Definition: IAgoraRtcEngine.h:2568
agora::rtc::IRtcEngine::complain
virtual int complain(const char *callId, const char *description)=0
agora::rtc::IRtcEngine::clearVideoWatermarks
virtual int clearVideoWatermarks()=0
agora::rtc::IRtcEngine::stopAudioRecording
virtual int stopAudioRecording()=0
agora::rtc::SIZE::height
int height
Definition: IAgoraRtcEngine.h:894
agora::rtc::IRtcEngine::queryScreenCaptureCapability
virtual int queryScreenCaptureCapability()=0
agora::rtc::IRtcEngineEventHandler::onAudioPublishStateChanged
virtual void onAudioPublishStateChanged(const char *channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)
Definition: IAgoraRtcEngine.h:2846
agora::rtc::IMetadataObserver::~IMetadataObserver
virtual ~IMetadataObserver()
Definition: IAgoraRtcEngine.h:3223
agora::rtc::IRtcEngine::setHighPriorityUserList
virtual int setHighPriorityUserList(uid_t *uidList, int uidNum, STREAM_FALLBACK_OPTIONS option)=0
agora::rtc::IRtcEngine::setScreenCaptureOrientation
virtual int setScreenCaptureOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation)=0
agora::rtc::RemoteAudioStats::receivedSampleRate
int receivedSampleRate
Definition: IAgoraRtcEngine.h:396
agora::rtc::VideoCompositingLayout::Region::uid
uid_t uid
Definition: IAgoraRtcEngine.h:582
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_8
@ VIDEO_PROFILE_PORTRAIT_360P_8
Definition: IAgoraRtcEngine.h:8620
agora::rtc::PRIORITY_TYPE
PRIORITY_TYPE
Definition: IAgoraRtcEngine.h:261
agora::rtc::IRtcEngineEventHandler::onConnectionStateChanged
virtual void onConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:2665
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_6
@ VIDEO_PROFILE_LANDSCAPE_480P_6
Definition: IAgoraRtcEngine.h:8564
agora::rtc::PRIORITY_HIGH
@ PRIORITY_HIGH
Definition: IAgoraRtcEngine.h:264
agora::rtc::VideoCompositingLayout::Region::x
double x
Definition: IAgoraRtcEngine.h:585
agora::CHANNEL_PROFILE_LIVE_BROADCASTING
@ CHANNEL_PROFILE_LIVE_BROADCASTING
Definition: AgoraBase.h:279