Agora RTC Objective-C API Reference Refactor

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