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 {
82 AUDIO_MIXING_STATE_PLAYING = 710,
86 AUDIO_MIXING_STATE_PAUSED = 711,
93 AUDIO_MIXING_STATE_STOPPED = 713,
101 AUDIO_MIXING_STATE_FAILED = 714,
102 };
103
108 enum AUDIO_MIXING_REASON_TYPE {
113 AUDIO_MIXING_REASON_CAN_NOT_OPEN = 701,
118 AUDIO_MIXING_REASON_TOO_FREQUENT_CALL = 702,
122 AUDIO_MIXING_REASON_INTERRUPTED_EOF = 703,
126 AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED = 721,
130 AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED = 723,
134 AUDIO_MIXING_REASON_STOPPED_BY_USER = 724,
136 AUDIO_MIXING_REASON_RESUMED_BY_USER = 726,
140 AUDIO_MIXING_REASON_OK = 0,
141 };
142
146 enum INJECT_STREAM_STATUS {
150 INJECT_STREAM_STATUS_START_SUCCESS = 0,
154 INJECT_STREAM_STATUS_START_ALREADY_EXISTS = 1,
158 INJECT_STREAM_STATUS_START_UNAUTHORIZED = 2,
162 INJECT_STREAM_STATUS_START_TIMEDOUT = 3,
166 INJECT_STREAM_STATUS_START_FAILED = 4,
170 INJECT_STREAM_STATUS_STOP_SUCCESS = 5,
174 INJECT_STREAM_STATUS_STOP_NOT_FOUND = 6,
178 INJECT_STREAM_STATUS_STOP_UNAUTHORIZED = 7,
182 INJECT_STREAM_STATUS_STOP_TIMEDOUT = 8,
186 INJECT_STREAM_STATUS_STOP_FAILED = 9,
190 INJECT_STREAM_STATUS_BROKEN = 10,
191 };
192
196 enum AUDIO_EQUALIZATION_BAND_FREQUENCY {
200 AUDIO_EQUALIZATION_BAND_31 = 0,
204 AUDIO_EQUALIZATION_BAND_62 = 1,
208 AUDIO_EQUALIZATION_BAND_125 = 2,
212 AUDIO_EQUALIZATION_BAND_250 = 3,
216 AUDIO_EQUALIZATION_BAND_500 = 4,
220 AUDIO_EQUALIZATION_BAND_1K = 5,
224 AUDIO_EQUALIZATION_BAND_2K = 6,
228 AUDIO_EQUALIZATION_BAND_4K = 7,
232 AUDIO_EQUALIZATION_BAND_8K = 8,
236 AUDIO_EQUALIZATION_BAND_16K = 9,
237 };
238
242 enum AUDIO_REVERB_TYPE {
246 AUDIO_REVERB_DRY_LEVEL = 0,
250 AUDIO_REVERB_WET_LEVEL = 1,
254 AUDIO_REVERB_ROOM_SIZE = 2,
258 AUDIO_REVERB_WET_DELAY = 3,
262 AUDIO_REVERB_STRENGTH = 4,
263 };
264
268 enum STREAM_FALLBACK_OPTIONS {
273 STREAM_FALLBACK_OPTION_DISABLED = 0,
277 STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW = 1,
283 STREAM_FALLBACK_OPTION_AUDIO_ONLY = 2,
288 STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_1 = 3,
289 STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_2 = 4,
290 STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_3 = 5,
291 STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_4 = 6,
292 STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_5 = 7,
293 STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_6 = 8,
294 };
295
296 enum PRIORITY_TYPE {
299 PRIORITY_HIGH = 50,
302 PRIORITY_NORMAL = 100,
303 };
304
305 struct RtcConnection;
306
310 struct LocalVideoStats
311 {
315 uid_t uid;
320 int sentBitrate;
325 int sentFrameRate;
329 int captureFrameRate;
333 int captureFrameWidth;
337 int captureFrameHeight;
343 int regulatedCaptureFrameRate;
349 int regulatedCaptureFrameWidth;
355 int regulatedCaptureFrameHeight;
359 int encoderOutputFrameRate;
363 int encodedFrameWidth;
367 int encodedFrameHeight;
371 int rendererOutputFrameRate;
376 int targetBitrate;
380 int targetFrameRate;
385 QUALITY_ADAPT_INDICATION qualityAdaptIndication;
390 int encodedBitrate;
394 int encodedFrameCount;
398 VIDEO_CODEC_TYPE codecType;
403 unsigned short txPacketLossRate;
408 CAPTURE_BRIGHTNESS_LEVEL_TYPE captureBrightnessLevel;
412 bool dualStreamEnabled;
418 int hwEncoderAccelerating;
421 VideoDimensions simulcastDimensions[SimulcastConfig::STREAM_LAYER_COUNT_MAX];
428 int encodedFrameDepth;
429 };
430
434 struct RemoteAudioStats
435 {
439 uid_t uid;
443 int quality;
447 int networkTransportDelay;
453 int jitterBufferDelay;
457 int audioLossRate;
461 int numChannels;
465 int receivedSampleRate;
469 int receivedBitrate;
474 int totalFrozenTime;
480 int frozenRate;
496 int mosValue;
501 uint32_t frozenRateByCustomPlcCount;
505 uint32_t plcCount;
506
511 uint32_t frozenCntByCustom;
512
517 uint32_t frozenTimeByCustom;
518
524 int totalActiveTime;
528 int publishDuration;
533 int qoeQuality;
538 int qualityChangedReason;
542 unsigned int rxAudioBytes;
547 int e2eDelay;
548
549 RemoteAudioStats()
550 : uid(0),
551 quality(0),
552 networkTransportDelay(0),
553 jitterBufferDelay(0),
554 audioLossRate(0),
555 numChannels(0),
556 receivedSampleRate(0),
557 receivedBitrate(0),
558 totalFrozenTime(0),
559 frozenRate(0),
560 mosValue(0),
561 frozenRateByCustomPlcCount(0),
562 plcCount(0),
563 frozenCntByCustom(0),
564 frozenTimeByCustom(0),
565 totalActiveTime(0),
566 publishDuration(0),
567 qoeQuality(0),
568 qualityChangedReason(0),
569 rxAudioBytes(0),
570 e2eDelay(0) {}
571 };
572
576 struct RemoteVideoStats {
580 uid_t uid;
588 int delay __deprecated;
593 int e2eDelay;
597 int width;
601 int height;
605 int receivedBitrate;
608 int decoderInputFrameRate;
612 int decoderOutputFrameRate;
616 int rendererOutputFrameRate;
620 int frameLossRate;
624 int packetLossRate;
628 VIDEO_STREAM_TYPE rxStreamType;
634 int totalFrozenTime;
640 int frozenRate;
645 int avSyncTimeMs;
651 int totalActiveTime;
655 int publishDuration;
663 int mosValue;
667 unsigned int rxVideoBytes;
668 };
669
670 struct VideoCompositingLayout {
671 struct Region {
674 uid_t uid;
677 double x; // [0,1]
680 double y; // [0,1]
684 double width; // [0,1]
686 double height; // [0,1]
690 int zOrder; // optional, [0, 100] //0 (default): bottom most, 100: top most
691
695 double alpha;
696
697 media::base::RENDER_MODE_TYPE renderMode; // RENDER_MODE_HIDDEN: Crop, RENDER_MODE_FIT: Zoom to fit
698
699 Region()
700 : uid(0),
701 x(0),
702 y(0),
703 width(0),
704 height(0),
705 zOrder(0),
706 alpha(1.0),
707 renderMode(media::base::RENDER_MODE_HIDDEN) {}
708 };
709
714 int canvasWidth;
719 int canvasHeight;
722 const char* backgroundColor; // e.g. "#C0C0C0" in RGB
726 const Region* regions;
729 int regionCount;
732 const char* appData;
735 int appDataLength;
736
737 VideoCompositingLayout()
738 : canvasWidth(0),
739 canvasHeight(0),
740 backgroundColor(OPTIONAL_NULLPTR),
741 regions(NULL),
742 regionCount(0),
743 appData(OPTIONAL_NULLPTR),
744 appDataLength(0) {}
745 };
746
749 struct InjectStreamConfig {
753 int width;
757 int height;
761 int videoGop;
765 int videoFramerate;
769 int videoBitrate;
773 AUDIO_SAMPLE_RATE_TYPE audioSampleRate;
777 int audioBitrate;
780 int audioChannels;
781
782 // width / height default set to 0 means pull the stream with its original
783 // resolution
784 InjectStreamConfig()
785 : width(0),
786 height(0),
787 videoGop(30),
788 videoFramerate(15),
789 videoBitrate(400),
790 audioSampleRate(AUDIO_SAMPLE_RATE_48000),
791 audioBitrate(48),
792 audioChannels(1) {}
793 };
794
798 enum RTMP_STREAM_LIFE_CYCLE_TYPE {
803 RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL = 1,
808 RTMP_STREAM_LIFE_CYCLE_BIND2OWNER = 2,
809 };
810
813 struct PublisherConfiguration {
817 int width;
821 int height;
825 int framerate;
829 int bitrate;
835 int defaultLayout;
838 int lifecycle;
843 bool owner;
846 int injectStreamWidth;
849 int injectStreamHeight;
852 const char* injectStreamUrl;
856 const char* publishUrl;
860 const char* rawStreamUrl;
863 const char* extraInfo;
864
865 PublisherConfiguration()
866 : width(640),
867 height(360),
868 framerate(15),
869 bitrate(500),
870 defaultLayout(1),
871 lifecycle(RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL),
872 owner(true),
873 injectStreamWidth(0),
874 injectStreamHeight(0),
875 injectStreamUrl(NULL),
876 publishUrl(NULL),
877 rawStreamUrl(NULL),
878 extraInfo(NULL) {}
879 };
880
884 enum CAMERA_DIRECTION {
888 CAMERA_REAR = 0,
892 CAMERA_FRONT = 1,
893 };
894
900 enum CLOUD_PROXY_TYPE {
905 NONE_PROXY = 0,
910 UDP_PROXY = 1,
912
916 TCP_PROXY = 2,
918 };
919
923 struct CameraCapturerConfiguration {
925 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) || defined(__OHOS__)
926
930 Optional<CAMERA_DIRECTION> cameraDirection;
931
948 Optional<CAMERA_FOCAL_LENGTH_TYPE> cameraFocalLengthType;
949 #else
950
954 Optional<const char *> deviceId;
955 #endif
956
957 #if defined(__ANDROID__)
958
973 Optional<const char *> cameraId;
974 #endif
975
983 Optional<bool> followEncodeDimensionRatio;
987 VideoFormat format;
988 CameraCapturerConfiguration() : format(VideoFormat(0, 0, 0)) {}
989 };
993 struct ScreenCaptureConfiguration {
999 bool isCaptureWindow; // true - capture window, false - capture display
1004 int64_t displayId;
1009 Rectangle screenRect; //Windows only
1014 int64_t windowId;
1018 ScreenCaptureParameters params;
1025 Rectangle regionRect;
1026
1027 ScreenCaptureConfiguration() : isCaptureWindow(false), displayId(0), windowId(0) {}
1028 };
1029
1030 #if (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)|| (defined(__linux__) && !defined(__ANDROID__) && !defined(__OHOS__))
1031
1033 struct SIZE {
1036 int width;
1039 int height;
1040
1041 SIZE() : width(0), height(0) {}
1042 SIZE(int ww, int hh) : width(ww), height(hh) {}
1043 };
1044 #endif
1045
1046 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE) || (defined(__linux__) && !defined(__ANDROID__) && !defined(__OHOS__))
1047
1054 struct ThumbImageBuffer {
1058 const char* buffer;
1062 unsigned int length;
1066 unsigned int width;
1070 unsigned int height;
1071 ThumbImageBuffer() : buffer(nullptr), length(0), width(0), height(0) {}
1072 };
1076 enum ScreenCaptureSourceType {
1080 ScreenCaptureSourceType_Unknown = -1,
1084 ScreenCaptureSourceType_Window = 0,
1088 ScreenCaptureSourceType_Screen = 1,
1092 ScreenCaptureSourceType_Custom = 2,
1093 };
1098 struct ScreenCaptureSourceInfo {
1102 ScreenCaptureSourceType type;
1106 int64_t sourceId;
1110 const char* sourceName;
1114 ThumbImageBuffer thumbImage;
1118 ThumbImageBuffer iconImage;
1122 const char* processPath;
1126 const char* sourceTitle;
1132 bool primaryMonitor;
1133 bool isOccluded;
1138 Rectangle position;
1139 #if defined(_WIN32)
1140
1145 bool minimizeWindow;
1152 int64_t sourceDisplayId;
1153 ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(0), sourceName(nullptr),
1154 processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false), minimizeWindow(false), sourceDisplayId(-2) {}
1155 #else
1156 ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(0), sourceName(nullptr), processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false) {}
1157 #endif
1158 };
1162 class IScreenCaptureSourceList {
1163 protected:
1164 virtual ~IScreenCaptureSourceList(){};
1165
1166 public:
1175 virtual unsigned int getCount() = 0;
1192 virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index) = 0;
1203 virtual void release() = 0;
1204 };
1205 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
1206
1209 struct AdvancedAudioOptions {
1215 Optional<int> audioProcessingChannels;
1216
1217 AdvancedAudioOptions() {}
1218 ~AdvancedAudioOptions() {}
1219 };
1220
1224 struct ImageTrackOptions {
1230 const char* imageUrl;
1235 int fps;
1236 VIDEO_MIRROR_MODE_TYPE mirrorMode;
1237 ImageTrackOptions() : imageUrl(NULL), fps(1), mirrorMode(VIDEO_MIRROR_MODE_DISABLED) {}
1238 };
1239
1254 struct ChannelMediaOptions {
1260 Optional<bool> publishCameraTrack;
1266 Optional<bool> publishSecondaryCameraTrack;
1273 Optional<bool> publishThirdCameraTrack;
1280 Optional<bool> publishFourthCameraTrack;
1286 Optional<bool> publishMicrophoneTrack;
1287 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(TARGET_OS_MAC) || defined(__OHOS__)
1288
1293 Optional<bool> publishScreenCaptureAudio;
1294 #endif
1295 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(__OHOS__)
1296
1302 Optional<bool> publishScreenCaptureVideo;
1303
1304 #else
1305
1311 Optional<bool> publishScreenTrack;
1317 Optional<bool> publishSecondaryScreenTrack;
1324 Optional<bool> publishThirdScreenTrack;
1331 Optional<bool> publishFourthScreenTrack;
1332 #endif
1333
1339 Optional<bool> publishCustomAudioTrack;
1344 Optional<int> publishCustomAudioTrackId;
1350 Optional<bool> publishCustomVideoTrack;
1356 Optional<bool> publishEncodedVideoTrack;
1362 Optional<bool> publishMediaPlayerAudioTrack;
1368 Optional<bool> publishMediaPlayerVideoTrack;
1376 Optional<bool> publishTranscodedVideoTrack;
1382 Optional<bool> publishMixedAudioTrack;
1388 Optional<bool> publishLipSyncTrack;
1394 Optional<bool> autoSubscribeAudio;
1400 Optional<bool> autoSubscribeVideo;
1408 Optional<bool> enableAudioRecordingOrPlayout;
1412 Optional<int> publishMediaPlayerId;
1419 Optional<CLIENT_ROLE_TYPE> clientRoleType;
1424 Optional<AUDIENCE_LATENCY_LEVEL_TYPE> audienceLatencyLevel;
1428 Optional<VIDEO_STREAM_TYPE> defaultVideoStreamType;
1432 Optional<CHANNEL_PROFILE_TYPE> channelProfile;
1438 Optional<int> audioDelayMs;
1443 Optional<int> mediaPlayerAudioDelayMs;
1454 Optional<const char*> token;
1462 Optional<bool> enableBuiltInMediaEncryption;
1469 Optional<bool> publishRhythmPlayerTrack;
1482 Optional<bool> isInteractiveAudience;
1487 Optional<video_track_id_t> customVideoTrackId;
1495 Optional<bool> isAudioFilterable;
1496
1501 Optional<const char*> parameters;
1502
1512 Optional<bool> enableMultipath;
1513
1519 Optional<MultipathMode> uplinkMultipathMode;
1520
1526 Optional<MultipathMode> downlinkMultipathMode;
1527
1533 Optional<MultipathType> preferMultipathType;
1534
1535 ChannelMediaOptions() {}
1536 ~ChannelMediaOptions() {}
1537
1538 void SetAll(const ChannelMediaOptions& change) {
1539 #define SET_FROM(X) SetFrom(&X, change.X)
1540
1541 SET_FROM(publishCameraTrack);
1542 SET_FROM(publishSecondaryCameraTrack);
1543 SET_FROM(publishThirdCameraTrack);
1544 SET_FROM(publishFourthCameraTrack);
1545 SET_FROM(publishMicrophoneTrack);
1546 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(TARGET_OS_MAC) || defined(__OHOS__)
1547 SET_FROM(publishScreenCaptureAudio);
1548 #endif
1549 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(__OHOS__)
1550 SET_FROM(publishScreenCaptureVideo);
1551 #else
1552 SET_FROM(publishScreenTrack);
1553 SET_FROM(publishSecondaryScreenTrack);
1554 SET_FROM(publishThirdScreenTrack);
1555 SET_FROM(publishFourthScreenTrack);
1556 #endif
1557 SET_FROM(publishTranscodedVideoTrack);
1558 SET_FROM(publishMixedAudioTrack);
1559 SET_FROM(publishLipSyncTrack);
1560 SET_FROM(publishCustomAudioTrack);
1561 SET_FROM(publishCustomAudioTrackId);
1562 SET_FROM(publishCustomVideoTrack);
1563 SET_FROM(publishEncodedVideoTrack);
1564 SET_FROM(publishMediaPlayerAudioTrack);
1565 SET_FROM(publishMediaPlayerVideoTrack);
1566 SET_FROM(autoSubscribeAudio);
1567 SET_FROM(autoSubscribeVideo);
1568 SET_FROM(publishMediaPlayerId);
1569 SET_FROM(enableAudioRecordingOrPlayout);
1570 SET_FROM(clientRoleType);
1571 SET_FROM(audienceLatencyLevel);
1572 SET_FROM(defaultVideoStreamType);
1573 SET_FROM(channelProfile);
1574 SET_FROM(audioDelayMs);
1575 SET_FROM(mediaPlayerAudioDelayMs);
1576 SET_FROM(token);
1577 SET_FROM(enableBuiltInMediaEncryption);
1578 SET_FROM(publishRhythmPlayerTrack);
1579 SET_FROM(customVideoTrackId);
1580 SET_FROM(isAudioFilterable);
1581 SET_FROM(isInteractiveAudience);
1582 SET_FROM(parameters);
1583 SET_FROM(enableMultipath);
1584 SET_FROM(uplinkMultipathMode);
1585 SET_FROM(downlinkMultipathMode);
1586 SET_FROM(preferMultipathType);
1587 #undef SET_FROM
1588 }
1589
1590 bool operator==(const ChannelMediaOptions& o) const {
1591 #define BEGIN_COMPARE() bool b = true
1592 #define ADD_COMPARE(X) b = (b && (X == o.X))
1593 #define END_COMPARE()
1594
1595 BEGIN_COMPARE();
1596 ADD_COMPARE(publishCameraTrack);
1597 ADD_COMPARE(publishSecondaryCameraTrack);
1598 ADD_COMPARE(publishThirdCameraTrack);
1599 ADD_COMPARE(publishFourthCameraTrack);
1600 ADD_COMPARE(publishMicrophoneTrack);
1601 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(TARGET_OS_MAC) || defined(__OHOS__)
1602 ADD_COMPARE(publishScreenCaptureAudio);
1603 #endif
1604 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(__OHOS__)
1605 ADD_COMPARE(publishScreenCaptureVideo);
1606 #else
1607 ADD_COMPARE(publishScreenTrack);
1608 ADD_COMPARE(publishSecondaryScreenTrack);
1609 ADD_COMPARE(publishThirdScreenTrack);
1610 ADD_COMPARE(publishFourthScreenTrack);
1611 #endif
1612 ADD_COMPARE(publishTranscodedVideoTrack);
1613 ADD_COMPARE(publishMixedAudioTrack);
1614 ADD_COMPARE(publishLipSyncTrack);
1615 ADD_COMPARE(publishCustomAudioTrack);
1616 ADD_COMPARE(publishCustomAudioTrackId);
1617 ADD_COMPARE(publishCustomVideoTrack);
1618 ADD_COMPARE(publishEncodedVideoTrack);
1619 ADD_COMPARE(publishMediaPlayerAudioTrack);
1620 ADD_COMPARE(publishMediaPlayerVideoTrack);
1621 ADD_COMPARE(autoSubscribeAudio);
1622 ADD_COMPARE(autoSubscribeVideo);
1623 ADD_COMPARE(publishMediaPlayerId);
1624 ADD_COMPARE(enableAudioRecordingOrPlayout);
1625 ADD_COMPARE(clientRoleType);
1626 ADD_COMPARE(audienceLatencyLevel);
1627 ADD_COMPARE(defaultVideoStreamType);
1628 ADD_COMPARE(channelProfile);
1629 ADD_COMPARE(audioDelayMs);
1630 ADD_COMPARE(mediaPlayerAudioDelayMs);
1631 ADD_COMPARE(token);
1632 ADD_COMPARE(enableBuiltInMediaEncryption);
1633 ADD_COMPARE(publishRhythmPlayerTrack);
1634 ADD_COMPARE(customVideoTrackId);
1635 ADD_COMPARE(isAudioFilterable);
1636 ADD_COMPARE(isInteractiveAudience);
1637 ADD_COMPARE(parameters);
1638 ADD_COMPARE(enableMultipath);
1639 ADD_COMPARE(uplinkMultipathMode);
1640 ADD_COMPARE(downlinkMultipathMode);
1641 ADD_COMPARE(preferMultipathType);
1642 END_COMPARE();
1643
1644 #undef BEGIN_COMPARE
1645 #undef ADD_COMPARE
1646 #undef END_COMPARE
1647 return b;
1648 }
1649
1650 ChannelMediaOptions& operator=(const ChannelMediaOptions& replace) {
1651 if (this != &replace) {
1652 #define REPLACE_BY(X) ReplaceBy(&X, replace.X)
1653
1654 REPLACE_BY(publishCameraTrack);
1655 REPLACE_BY(publishSecondaryCameraTrack);
1656 REPLACE_BY(publishThirdCameraTrack);
1657 REPLACE_BY(publishFourthCameraTrack);
1658 REPLACE_BY(publishMicrophoneTrack);
1659 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(TARGET_OS_MAC) || defined(__OHOS__)
1660 REPLACE_BY(publishScreenCaptureAudio);
1661 #endif
1662 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(__OHOS__)
1663 REPLACE_BY(publishScreenCaptureVideo);
1664 #else
1665 REPLACE_BY(publishScreenTrack);
1666 REPLACE_BY(publishSecondaryScreenTrack);
1667 REPLACE_BY(publishThirdScreenTrack);
1668 REPLACE_BY(publishFourthScreenTrack);
1669 #endif
1670 REPLACE_BY(publishTranscodedVideoTrack);
1671 REPLACE_BY(publishMixedAudioTrack);
1672 REPLACE_BY(publishLipSyncTrack);
1673 REPLACE_BY(publishCustomAudioTrack);
1674 REPLACE_BY(publishCustomAudioTrackId);
1675 REPLACE_BY(publishCustomVideoTrack);
1676 REPLACE_BY(publishEncodedVideoTrack);
1677 REPLACE_BY(publishMediaPlayerAudioTrack);
1678 REPLACE_BY(publishMediaPlayerVideoTrack);
1679 REPLACE_BY(autoSubscribeAudio);
1680 REPLACE_BY(autoSubscribeVideo);
1681 REPLACE_BY(publishMediaPlayerId);
1682 REPLACE_BY(enableAudioRecordingOrPlayout);
1683 REPLACE_BY(clientRoleType);
1684 REPLACE_BY(audienceLatencyLevel);
1685 REPLACE_BY(defaultVideoStreamType);
1686 REPLACE_BY(channelProfile);
1687 REPLACE_BY(audioDelayMs);
1688 REPLACE_BY(mediaPlayerAudioDelayMs);
1689 REPLACE_BY(token);
1690 REPLACE_BY(enableBuiltInMediaEncryption);
1691 REPLACE_BY(publishRhythmPlayerTrack);
1692 REPLACE_BY(customVideoTrackId);
1693 REPLACE_BY(isAudioFilterable);
1694 REPLACE_BY(isInteractiveAudience);
1695 REPLACE_BY(parameters);
1696 REPLACE_BY(enableMultipath);
1697 REPLACE_BY(uplinkMultipathMode);
1698 REPLACE_BY(downlinkMultipathMode);
1699 REPLACE_BY(preferMultipathType);
1700 #undef REPLACE_BY
1701 }
1702 return *this;
1703 }
1704 };
1705
1709 enum PROXY_TYPE {
1713 NONE_PROXY_TYPE = 0,
1718 UDP_PROXY_TYPE = 1,
1723 TCP_PROXY_TYPE = 2,
1727 LOCAL_PROXY_TYPE = 3,
1732 TCP_PROXY_AUTO_FALLBACK_TYPE = 4,
1735 HTTP_PROXY_TYPE = 5,
1738 HTTPS_PROXY_TYPE = 6,
1739 };
1740
1744 enum FeatureType {
1748 VIDEO_VIRTUAL_BACKGROUND = 1,
1752 VIDEO_BEAUTY_EFFECT = 2,
1753 };
1754
1758 struct LeaveChannelOptions {
1764 bool stopAudioMixing;
1770 bool stopAllEffect;
1776 bool stopMicrophoneRecording;
1777
1778 LeaveChannelOptions() : stopAudioMixing(true), stopAllEffect(true), stopMicrophoneRecording(true) {}
1779 };
1780
1791 class IRtcEngineEventHandler {
1792 public:
1793 virtual ~IRtcEngineEventHandler() {}
1794
1795 virtual const char* eventHandlerType() const { return "event_handler"; }
1796
1817 virtual void onJoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1818 (void)channel;
1819 (void)uid;
1820 (void)elapsed;
1821 }
1822
1837 virtual void onRejoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1838 (void)channel;
1839 (void)uid;
1840 (void)elapsed;
1841 }
1842
1862 virtual void onProxyConnected(const char* channel, uid_t uid, PROXY_TYPE proxyType, const char* localProxyIp, int elapsed) {
1863 (void)channel;
1864 (void)uid;
1865 (void)proxyType;
1866 (void)localProxyIp;
1867 (void)elapsed;
1868 }
1869
1882 virtual void onError(int err, const char* msg) {
1883 (void)err;
1884 (void)msg;
1885 }
1886
1905 virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay, unsigned short lost) __deprecated {
1906 (void)uid;
1907 (void)quality;
1908 (void)delay;
1909 (void)lost;
1910 }
1911
1922 virtual void onLastmileProbeResult(const LastmileProbeResult& result) {
1923 (void)result;
1924 }
1925
1962 virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, unsigned int speakerNumber,
1963 int totalVolume) {
1964 (void)speakers;
1965 (void)speakerNumber;
1966 (void)totalVolume;
1967 }
1968
1983 virtual void onLeaveChannel(const RtcStats& stats) { (void)stats; }
1984
1995 virtual void onRtcStats(const RtcStats& stats) { (void)stats; }
1996
2011 virtual void onAudioDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
2012 (void)deviceId;
2013 (void)deviceType;
2014 (void)deviceState;
2015 }
2016
2031 virtual void onAudioMixingPositionChanged(int64_t position) {}
2032
2046 virtual void onAudioMixingFinished() __deprecated {}
2047
2057 virtual void onAudioEffectFinished(int soundId) {}
2058
2074 virtual void onVideoDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
2075 (void)deviceId;
2076 (void)deviceType;
2077 (void)deviceState;
2078 }
2079
2110 virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) {
2111 (void)uid;
2112 (void)txQuality;
2113 (void)rxQuality;
2114 }
2115
2122 virtual void onIntraRequestReceived() {}
2123
2136 virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo& info) {
2137 (void)info;
2138 }
2139
2153 virtual void onLastmileQuality(int quality) { (void)quality; }
2154
2176 virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed) {
2177 (void)source;
2178 (void)width;
2179 (void)height;
2180 (void)elapsed;
2181 }
2182
2204 virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed) {
2205 (void)source;
2206 (void)elapsed;
2207 }
2208
2230 virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) __deprecated {
2231 (void)uid;
2232 (void)width;
2233 (void)height;
2234 (void)elapsed;
2235 }
2236
2249 virtual void onVideoSizeChanged(VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation) {
2250 (void)uid;
2251 (void)width;
2252 (void)height;
2253 (void)rotation;
2254 }
2255
2268 virtual void onLocalVideoEvent(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_EVENT_TYPE event) {
2269 (void)source;
2270 (void)event;
2271 }
2272
2324 virtual void onLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_REASON reason) {
2325 (void)source;
2326 (void)state;
2327 (void)reason;
2328 }
2329
2344 virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) {
2345 (void)uid;
2346 (void)state;
2347 (void)reason;
2348 (void)elapsed;
2349 }
2350
2367 virtual void onFirstRemoteVideoFrame(uid_t uid, int width, int height, int elapsed) {
2368 (void)uid;
2369 (void)width;
2370 (void)height;
2371 (void)elapsed;
2372 }
2373
2398 virtual void onUserJoined(uid_t uid, int elapsed) {
2399 (void)uid;
2400 (void)elapsed;
2401 }
2402
2422 virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) {
2423 (void)uid;
2424 (void)reason;
2425 }
2426
2444 virtual void onUserMuteAudio(uid_t uid, bool muted) {
2445 (void)uid;
2446 (void)muted;
2447 }
2448
2466 virtual void onUserMuteVideo(uid_t uid, bool muted) {
2467 (void)uid;
2468 (void)muted;
2469 }
2470
2486 virtual void onUserEnableVideo(uid_t uid, bool enabled) {
2487 (void)uid;
2488 (void)enabled;
2489 }
2490
2496 virtual void onUserStateChanged(uid_t uid, REMOTE_USER_STATE state) {
2497 (void)uid;
2498 (void)state;
2499 }
2500
2517 virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) __deprecated {
2518 (void)uid;
2519 (void)enabled;
2520 }
2521
2533 virtual void onRemoteAudioStats(const RemoteAudioStats& stats) {
2534 (void)stats;
2535 }
2536
2546 virtual void onLocalAudioStats(const LocalAudioStats& stats) {
2547 (void)stats;
2548 }
2549
2561 virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats& stats) {
2562 (void)source;
2563 (void)stats;
2564 }
2565
2577 virtual void onRemoteVideoStats(const RemoteVideoStats& stats) {
2578 (void)stats;
2579 }
2580
2591 virtual void onCameraReady() __deprecated {}
2592
2604 virtual void onCameraFocusAreaChanged(int x, int y, int width, int height) {
2605 (void)x;
2606 (void)y;
2607 (void)width;
2608 (void)height;
2609 }
2625 virtual void onCameraExposureAreaChanged(int x, int y, int width, int height) {
2626 (void)x;
2627 (void)y;
2628 (void)width;
2629 (void)height;
2630 }
2631 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) || defined(__OHOS__)
2632
2670 virtual void onFacePositionChanged(int imageWidth, int imageHeight,
2671 const Rectangle* vecRectangle, const int* vecDistance,
2672 int numFaces) {
2673 (void) imageWidth;
2674 (void) imageHeight;
2675 (void) vecRectangle;
2676 (void) vecDistance;
2677 (void) numFaces;
2678 }
2679 #endif
2680
2691 virtual void onVideoStopped() __deprecated {}
2692
2704 virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) {
2705 (void)state;
2706 (void)reason;
2707 }
2708
2724 virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_REASON reason) {
2725 (void)state;
2726 (void)reason;
2727 }
2728
2741 virtual void onConnectionLost() {}
2742
2761 virtual void onConnectionInterrupted() __deprecated {}
2762
2768 virtual void onConnectionBanned() __deprecated {}
2769
2787 virtual void onStreamMessage(uid_t uid, int streamId, const char* data, size_t length, uint64_t sentTs) {
2788 (void)uid;
2789 (void)streamId;
2790 (void)data;
2791 (void)length;
2792 (void)sentTs;
2793 }
2794
2812 virtual void onStreamMessageError(uid_t uid, int streamId, int code, int missed, int cached) {
2813 (void)uid;
2814 (void)streamId;
2815 (void)code;
2816 (void)missed;
2817 (void)cached;
2818 }
2819
2833 virtual void onRdtMessage(uid_t userId, RdtStreamType type, const char *data, size_t length) {
2834 (void)userId;
2835 (void)type;
2836 (void)data;
2837 (void)length;
2838 };
2839
2848 virtual void onRdtStateChanged(uid_t userId, RdtState state) {
2849 (void)userId;
2850 (void)state;
2851 }
2852
2864 virtual void onMediaControlMessage(uid_t userId, const char* data, size_t length) {
2865 (void)userId;
2866 (void)data;
2867 (void)length;
2868 }
2869
2887 virtual void onRequestToken() {}
2888
2909 virtual void onTokenPrivilegeWillExpire(const char* token) {
2910 (void)token;
2911 }
2912
2918 virtual void onLicenseValidationFailure(LICENSE_ERROR_TYPE error) {
2919 (void)error;
2920 }
2921
2939 virtual void onFirstLocalAudioFramePublished(int elapsed) {
2940 (void)elapsed;
2941 }
2942
2964 virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) __deprecated {
2965 (void)uid;
2966 (void)elapsed;
2967 }
2968
2980 virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) __deprecated {
2981 (void)uid;
2982 (void)elapsed;
2983 }
2984
3001 virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_REASON reason) {
3002 (void)state;
3003 (void)reason;
3004 }
3005
3025 virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) {
3026 (void)uid;
3027 (void)state;
3028 (void)reason;
3029 (void)elapsed;
3030 }
3031
3049 virtual void onActiveSpeaker(uid_t uid) {
3050 (void)uid;
3051 }
3052
3057 virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result) { (void)result; }
3058
3083 virtual void onSnapshotTaken(uid_t uid, const char* filePath, int width, int height, int errCode) {
3084 (void)uid;
3085 (void)filePath;
3086 (void)width;
3087 (void)height;
3088 (void)errCode;
3089 }
3090
3114 virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions& newRoleOptions) {
3115 (void)oldRole;
3116 (void)newRole;
3117 (void)newRoleOptions;
3118 }
3119
3134 virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole) {
3135 (void)reason;
3136 (void)currentRole;
3137 }
3138
3155 virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) {
3156 (void)deviceType;
3157 (void)volume;
3158 (void)muted;
3159 }
3160
3175 virtual void onRtmpStreamingStateChanged(const char* url, RTMP_STREAM_PUBLISH_STATE state,
3176 RTMP_STREAM_PUBLISH_REASON reason) {
3177 (void)url;
3178 (void)state;
3179 (void)reason;
3180 }
3181
3189 virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode) {
3190 (void)url;
3191 (void)eventCode;
3192 }
3193
3205 virtual void onTranscodingUpdated() {}
3206
3215 virtual void onAudioRoutingChanged(int routing) { (void)routing; }
3216
3227 virtual void onChannelMediaRelayStateChanged(int state, int code) {
3228 (void)state;
3229 (void)code;
3230 }
3231
3255 virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover) {
3256 (void)uid;
3257 (void)isFallbackOrRecover;
3258 }
3259
3278 virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated {
3279 (void)uid;
3280 (void)delay;
3281 (void)lost;
3282 (void)rxKBitRate;
3283 }
3284
3302 virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated {
3303 (void)uid;
3304 (void)delay;
3305 (void)lost;
3306 (void)rxKBitRate;
3307 }
3308
3320 virtual void onConnectionStateChanged(
3321 CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) {
3322 (void)state;
3323 (void)reason;
3324 }
3325
3338 virtual void onNetworkTypeChanged(NETWORK_TYPE type) {
3339 (void)type;
3340 }
3341
3352 virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) {
3353 (void)errorType;
3354 }
3355
3366 virtual void onPermissionError(PERMISSION_TYPE permissionType) {
3367 (void)permissionType;
3368 }
3369
3370 #if defined(__ANDROID__)
3371
3375 virtual void onPermissionGranted(agora::rtc::PERMISSION_TYPE permissionType) {}
3376 #endif
3377
3392 virtual void onLocalUserRegistered(uid_t uid, const char* userAccount) {
3393 (void)uid;
3394 (void)userAccount;
3395 }
3396
3409 virtual void onUserInfoUpdated(uid_t uid, const UserInfo& info) {
3410 (void)uid;
3411 (void)info;
3412 }
3413
3420 virtual void onUserAccountUpdated(uid_t uid, const char* userAccount){
3421 (void)uid;
3422 (void)userAccount;
3423 }
3424
3441 virtual void onVideoRenderingTracingResult(uid_t uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo) {
3442 (void)uid;
3443 (void)currentEvent;
3444 (void)tracingInfo;
3445 }
3446
3459 virtual void onLocalVideoTranscoderError(const TranscodingVideoStream& stream, VIDEO_TRANSCODER_ERROR error){
3460 (void)stream;
3461 (void)error;
3462 }
3463
3470 virtual void onUploadLogResult(const char* requestId, bool success, UPLOAD_ERROR_REASON reason) {
3471 (void)requestId;
3472 (void)success;
3473 (void)reason;
3474 }
3475
3486 virtual void onAudioSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
3487 (void)channel;
3488 (void)uid;
3489 (void)oldState;
3490 (void)newState;
3491 (void)elapseSinceLastState;
3492 }
3493
3504 virtual void onVideoSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
3505 (void)channel;
3506 (void)uid;
3507 (void)oldState;
3508 (void)newState;
3509 (void)elapseSinceLastState;
3510 }
3511
3521 virtual void onAudioPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
3522 (void)channel;
3523 (void)oldState;
3524 (void)newState;
3525 (void)elapseSinceLastState;
3526 }
3527
3538 virtual void onVideoPublishStateChanged(VIDEO_SOURCE_TYPE source, const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
3539 (void)source;
3540 (void)channel;
3541 (void)oldState;
3542 (void)newState;
3543 (void)elapseSinceLastState;
3544 }
3545
3565 virtual void onTranscodedStreamLayoutInfo(uid_t uid, int width, int height, int layoutCount,const VideoLayout* layoutlist) {
3566 (void)uid;
3567 (void)width;
3568 (void)height;
3569 (void)layoutCount;
3570 (void)layoutlist;
3571 }
3572
3581 virtual void onAudioMetadataReceived(uid_t uid, const char* metadata, size_t length) {
3582 (void)uid;
3583 (void)metadata;
3584 (void)length;
3585 }
3586
3598 virtual void onExtensionEventWithContext(const ExtensionContext &context, const char* key, const char* value) {
3599 (void)context;
3600 (void)key;
3601 (void)value;
3602 }
3603
3613 virtual void onExtensionStartedWithContext(const ExtensionContext &context) {
3614 (void)context;
3615 }
3616
3626 virtual void onExtensionStoppedWithContext(const ExtensionContext &context) {
3627 (void)context;
3628 }
3629
3644 virtual void onExtensionErrorWithContext(const ExtensionContext &context, int error, const char* message) {
3645 (void)context;
3646 (void)error;
3647 (void)message;
3648 }
3649
3656 virtual void onSetRtmFlagResult(int code) {
3657 (void)code;
3658 }
3659 virtual void onMultipathStats(const MultipathStats& stats) {
3669 (void)stats;
3670 }
3671
3685 virtual void onRenewTokenResult(const char* token, RENEW_TOKEN_ERROR_CODE code) {
3686 (void)token;
3687 (void)code;
3688 }
3689 };
3690
3694 class IVideoDeviceCollection {
3695 public:
3696 virtual ~IVideoDeviceCollection() {}
3697
3704 virtual int getCount() = 0;
3705
3715 virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3716
3727 virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH],
3728 char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3729
3733 virtual void release() = 0;
3734 };
3735
3739 class IVideoDeviceManager {
3740 public:
3741 virtual ~IVideoDeviceManager() {}
3755 virtual IVideoDeviceCollection* enumerateVideoDevices() = 0;
3756
3767 virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3768
3781 virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3782
3783 #if defined(_WIN32) || (defined(__linux__) && !defined(__ANDROID__) && !defined(__OHOS__)) || \
3784 (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
3785
3804 virtual int numberOfCapabilities(const char* deviceIdUTF8) = 0;
3805
3827 virtual int getCapability(const char* deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat& capability) = 0;
3828 #endif
3829
3842 virtual int startDeviceTest(view_t hwnd) = 0;
3843
3850 virtual int stopDeviceTest() = 0;
3851
3858 virtual void release() = 0;
3859 };
3860
3866 class IVideoEffectObject : public RefCountInterface {
3867 public:
3868 virtual ~IVideoEffectObject() {}
3869
3875 enum class VIDEO_EFFECT_NODE_ID : uint32_t {
3879 BEAUTY = 1U << 0,
3883 STYLE_MAKEUP = 1U << 1,
3887 FILTER = 1U << 2,
3888 };
3889
3895 enum VIDEO_EFFECT_ACTION {
3899 SAVE = 1,
3903 RESET = 2,
3904 };
3905
3934 virtual int addOrUpdateVideoEffect(uint32_t nodeId, const char* templateName) = 0;
3935
3948 virtual int removeVideoEffect(uint32_t nodeId) = 0;
3949
3962 virtual int performVideoEffectAction(uint32_t nodeId, VIDEO_EFFECT_ACTION actionId) = 0;
3963
3977 virtual int setVideoEffectFloatParam(const char* option, const char* key, float param) = 0;
3978
3992 virtual int setVideoEffectIntParam(const char* option, const char* key, int param) = 0;
3993
4009 virtual int setVideoEffectBoolParam(const char* option, const char* key, bool param) = 0;
4010
4027 virtual float getVideoEffectFloatParam(const char* option, const char* key) = 0;
4028
4044 virtual int getVideoEffectIntParam(const char* option, const char* key) = 0;
4045
4058 virtual bool getVideoEffectBoolParam(const char* option, const char* key) = 0;
4059
4060 };
4061
4065 struct RtcEngineContext {
4069 IRtcEngineEventHandler* eventHandler;
4076 const char* appId;
4082 void* context;
4086 CHANNEL_PROFILE_TYPE channelProfile;
4087
4091 const char* license;
4092
4097 AUDIO_SCENARIO_TYPE audioScenario;
4103 unsigned int areaCode;
4104
4124 commons::LogConfig logConfig;
4125
4129 Optional<THREAD_PRIORITY_TYPE> threadPriority;
4130
4138 bool useExternalEglContext;
4139
4148 bool domainLimit;
4149
4156 bool autoRegisterAgoraExtensions;
4157
4158 RtcEngineContext()
4159 : eventHandler(NULL), appId(NULL), context(NULL), channelProfile(CHANNEL_PROFILE_LIVE_BROADCASTING),
4160 license(NULL), audioScenario(AUDIO_SCENARIO_DEFAULT), areaCode(AREA_CODE_GLOB),
4161 logConfig(), useExternalEglContext(false), domainLimit(false), autoRegisterAgoraExtensions(true) {}
4162 };
4163
4166 class IMetadataObserver {
4167 public:
4168 virtual ~IMetadataObserver() {}
4169
4173 enum METADATA_TYPE
4174 {
4178 UNKNOWN_METADATA = -1,
4182 VIDEO_METADATA = 0,
4183 };
4187 enum MAX_METADATA_SIZE_TYPE
4188 {
4189 INVALID_METADATA_SIZE_IN_BYTE = -1,
4190 DEFAULT_METADATA_SIZE_IN_BYTE = 512,
4191 MAX_METADATA_SIZE_IN_BYTE = 1024
4192 };
4193
4197 struct Metadata
4198 {
4202 const char* channelId;
4208 unsigned int uid;
4212 unsigned int size;
4216 unsigned char *buffer;
4220 long long timeStampMs;
4221
4222 Metadata() : channelId(NULL), uid(0), size(0), buffer(NULL), timeStampMs(0) {}
4223 };
4224
4237 virtual int getMaxMetadataSize() { return DEFAULT_METADATA_SIZE_IN_BYTE; }
4238
4255 virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type) = 0;
4256
4263 virtual void onMetadataReceived(const Metadata& metadata) = 0;
4264 };
4265
4271 enum DIRECT_CDN_STREAMING_REASON {
4272 // No error occurs.
4276 DIRECT_CDN_STREAMING_REASON_OK = 0,
4277 // A general error occurs (no specified reason).
4281 DIRECT_CDN_STREAMING_REASON_FAILED = 1,
4282 // Audio publication error.
4287 DIRECT_CDN_STREAMING_REASON_AUDIO_PUBLICATION = 2,
4288 // Video publication error.
4293 DIRECT_CDN_STREAMING_REASON_VIDEO_PUBLICATION = 3,
4294
4298 DIRECT_CDN_STREAMING_REASON_NET_CONNECT = 4,
4299 // Already exist stream name.
4303 DIRECT_CDN_STREAMING_REASON_BAD_NAME = 5,
4304 };
4305
4311 enum DIRECT_CDN_STREAMING_STATE {
4312
4316 DIRECT_CDN_STREAMING_STATE_IDLE = 0,
4317
4322 DIRECT_CDN_STREAMING_STATE_RUNNING = 1,
4323
4328 DIRECT_CDN_STREAMING_STATE_STOPPED = 2,
4329
4334 DIRECT_CDN_STREAMING_STATE_FAILED = 3,
4335
4341 DIRECT_CDN_STREAMING_STATE_RECOVERING = 4,
4342 };
4343
4349 struct DirectCdnStreamingStats {
4353 int videoWidth;
4354
4358 int videoHeight;
4359
4363 int fps;
4364
4368 int videoBitrate;
4369
4373 int audioBitrate;
4374 };
4375
4382 class IDirectCdnStreamingEventHandler {
4383 public:
4384 virtual ~IDirectCdnStreamingEventHandler() {}
4385
4400 virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_REASON reason, const char* message) {
4401 (void)state;
4402 (void)reason;
4403 (void)message;
4404 };
4405
4416 virtual void onDirectCdnStreamingStats(const DirectCdnStreamingStats& stats) {
4417 (void)stats;
4418 };
4419 };
4420
4426 struct DirectCdnStreamingMediaOptions {
4432 Optional<bool> publishCameraTrack;
4438 Optional<bool> publishMicrophoneTrack;
4444 Optional<bool> publishCustomAudioTrack;
4450 Optional<bool> publishCustomVideoTrack;
4456 Optional<bool> publishMediaPlayerAudioTrack;
4461 Optional<int> publishMediaPlayerId;
4466 Optional<video_track_id_t> customVideoTrackId;
4467
4468 DirectCdnStreamingMediaOptions() {}
4469 ~DirectCdnStreamingMediaOptions() {}
4470
4471 void SetAll(const DirectCdnStreamingMediaOptions& change) {
4472 #define SET_FROM(X) SetFrom(&X, change.X)
4473 SET_FROM(publishCameraTrack);
4474 SET_FROM(publishMicrophoneTrack);
4475 SET_FROM(publishCustomAudioTrack);
4476 SET_FROM(publishCustomVideoTrack);
4477 SET_FROM(publishMediaPlayerAudioTrack);
4478 SET_FROM(publishMediaPlayerId);
4479 SET_FROM(customVideoTrackId);
4480 #undef SET_FROM
4481 }
4482
4483 bool operator==(const DirectCdnStreamingMediaOptions& o) const {
4484 #define BEGIN_COMPARE() bool b = true
4485 #define ADD_COMPARE(X) b = (b && (X == o.X))
4486 #define END_COMPARE()
4487
4488 BEGIN_COMPARE();
4489 ADD_COMPARE(publishCameraTrack);
4490 ADD_COMPARE(publishMicrophoneTrack);
4491 ADD_COMPARE(publishCustomAudioTrack);
4492 ADD_COMPARE(publishCustomVideoTrack);
4493 ADD_COMPARE(publishMediaPlayerAudioTrack);
4494 ADD_COMPARE(customVideoTrackId);
4495 ADD_COMPARE(publishMediaPlayerId);
4496 END_COMPARE();
4497
4498 #undef BEGIN_COMPARE
4499 #undef ADD_COMPARE
4500 #undef END_COMPARE
4501 return b;
4502 }
4503
4504 DirectCdnStreamingMediaOptions& operator=(const DirectCdnStreamingMediaOptions& replace) {
4505 if (this != &replace) {
4506 #define REPLACE_BY(X) ReplaceBy(&X, replace.X)
4507
4508 REPLACE_BY(publishCameraTrack);
4509 REPLACE_BY(publishMicrophoneTrack);
4510 REPLACE_BY(publishCustomAudioTrack);
4511 REPLACE_BY(publishCustomVideoTrack);
4512 REPLACE_BY(publishMediaPlayerAudioTrack);
4513 REPLACE_BY(customVideoTrackId);
4514 REPLACE_BY(publishMediaPlayerId);
4515 #undef REPLACE_BY
4516 }
4517 return *this;
4518 }
4519 };
4520
4524 struct ExtensionInfo {
4528 agora::media::MEDIA_SOURCE_TYPE mediaSourceType;
4529
4535 uid_t remoteUid;
4536
4548 const char* channelId;
4549
4553 uid_t localUid;
4554
4555 ExtensionInfo() : mediaSourceType(agora::media::UNKNOWN_MEDIA_SOURCE), remoteUid(0), channelId(NULL), localUid(0) {}
4556 };
4557
4558 class IMediaPlayer;
4559 class IMediaRecorder;
4560
4573 using RtcEngineReleaseCallback = void(*)();
4574
4581 class IRtcEngine : public agora::base::IEngineBase {
4582 public:
4607 AGORA_CPP_API static void release(RtcEngineReleaseCallback callback = nullptr);
4608
4633 virtual int initialize(const RtcEngineContext& context) = 0;
4634
4645 virtual int queryInterface(INTERFACE_ID_TYPE iid, void** inter) = 0;
4646
4647
4656 virtual const char* getVersion(int* build) = 0;
4657
4666 virtual const char* getErrorDescription(int code) = 0;
4667
4685 virtual int queryCodecCapability(CodecCapInfo* codecInfo, int& size) = 0;
4686
4703 virtual int queryDeviceScore() = 0;
4704
4763 virtual int preloadChannel(const char* token, const char* channelId, uid_t uid) = 0;
4764
4830 virtual int preloadChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount) = 0;
4831
4853 virtual int updatePreloadChannelToken(const char* token) = 0;
4854
4926 virtual int joinChannel(const char* token, const char* channelId, const char* info, uid_t uid) = 0;
4927
5003 virtual int joinChannel(const char* token, const char* channelId, uid_t uid, const ChannelMediaOptions& options) = 0;
5004
5024 virtual int updateChannelMediaOptions(const ChannelMediaOptions& options) = 0;
5025
5055 virtual int leaveChannel() = 0;
5056
5084 virtual int leaveChannel(const LeaveChannelOptions& options) = 0;
5085
5113 virtual int renewToken(const char* token) = 0;
5114
5139 virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile) = 0;
5140
5182 virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0;
5183
5234 virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0;
5235
5262 virtual int startEchoTest(const EchoTestConfiguration& config) = 0;
5263
5276 virtual int stopEchoTest() = 0;
5277
5278 #if defined(__APPLE__) && TARGET_OS_IOS
5279
5321 virtual int enableMultiCamera(bool enabled, const CameraCapturerConfiguration& config) = 0;
5322 #endif
5323
5351 virtual int enableVideo() = 0;
5352
5379 virtual int disableVideo() = 0;
5380
5397 virtual int startPreview() = 0;
5398
5418 virtual int startPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
5419
5432 virtual int stopPreview() = 0;
5433
5449 virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
5450
5475 virtual int startLastmileProbeTest(const LastmileProbeConfig& config) = 0;
5476
5484 virtual int stopLastmileProbeTest() = 0;
5485
5511 virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration& config) = 0;
5512
5545 virtual int setBeautyEffectOptions(bool enabled, const BeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
5582 virtual int setFaceShapeBeautyOptions(bool enabled, const FaceShapeBeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
5616 virtual int setFaceShapeAreaOptions(const FaceShapeAreaOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
5617
5639 virtual int getFaceShapeBeautyOptions(FaceShapeBeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
5640
5663 virtual int getFaceShapeAreaOptions(agora::rtc::FaceShapeAreaOptions::FACE_SHAPE_AREA shapeArea, FaceShapeAreaOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
5664
5694 virtual int setFilterEffectOptions(bool enabled, const FilterEffectOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
5695
5696
5712 virtual agora_refptr<IVideoEffectObject> createVideoEffectObject(const char* bundlePath, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
5713
5714
5726 virtual int destroyVideoEffectObject(agora_refptr<IVideoEffectObject> videoEffectObject) = 0;
5727
5774 virtual int setLowlightEnhanceOptions(bool enabled, const LowlightEnhanceOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
5820 virtual int setVideoDenoiserOptions(bool enabled, const VideoDenoiserOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
5857 virtual int setColorEnhanceOptions(bool enabled, const ColorEnhanceOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
5858
5919 virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
5920
5948 virtual int setupRemoteVideo(const VideoCanvas& canvas) = 0;
5949
5982 virtual int setupLocalVideo(const VideoCanvas& canvas) = 0;
5983
6051 virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType) = 0;
6052
6071 virtual int setVideoQoEPreference(VIDEO_QOE_PREFERENCE_TYPE qoePreference) = 0;
6072
6097 virtual int enableAudio() = 0;
6098
6120 virtual int disableAudio() = 0;
6121
6150 virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) __deprecated = 0;
6151
6170 virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile) = 0;
6192 virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario) = 0;
6224 virtual int enableLocalAudio(bool enabled) = 0;
6225
6246 virtual int muteLocalAudioStream(bool mute) = 0;
6247
6315 virtual int muteAllRemoteAudioStreams(bool mute) = 0;
6316
6334 virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0;
6335
6358 virtual int muteLocalVideoStream(bool mute) = 0;
6359
6389 virtual int enableLocalVideo(bool enabled) = 0;
6390
6456 virtual int muteAllRemoteVideoStreams(bool mute) = 0;
6457
6495 virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType) = 0;
6496
6514 virtual int muteRemoteVideoStream(uid_t uid, bool mute) = 0;
6515
6554 virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0;
6555
6580 virtual int setRemoteVideoSubscriptionOptions(uid_t uid, const VideoSubscriptionOptions &options) = 0;
6581
6609 virtual int setSubscribeAudioBlocklist(uid_t* uidList, int uidNumber) = 0;
6610
6637 virtual int setSubscribeAudioAllowlist(uid_t* uidList, int uidNumber) = 0;
6638
6666 virtual int setSubscribeVideoBlocklist(uid_t* uidList, int uidNumber) = 0;
6667
6694 virtual int setSubscribeVideoAllowlist(uid_t* uidList, int uidNumber) = 0;
6695
6728 virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad) = 0;
6729
6750 virtual int startAudioRecording(const char* filePath,
6751 AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
6786 virtual int startAudioRecording(const char* filePath,
6787 int sampleRate,
6788 AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
6789
6808 virtual int startAudioRecording(const AudioRecordingConfiguration& config) = 0;
6809
6826 virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig& config, IAudioEncodedFrameObserver *observer) = 0;
6827
6835 virtual int stopAudioRecording() = 0;
6836
6850 virtual agora_refptr<IMediaPlayer> createMediaPlayer() = 0;
6851
6861 virtual int destroyMediaPlayer(agora_refptr<IMediaPlayer> media_player) = 0;
6862
6883 virtual agora_refptr<IMediaRecorder> createMediaRecorder(const RecorderStreamInfo& info) = 0;
6884
6899 virtual int destroyMediaRecorder(agora_refptr<IMediaRecorder> mediaRecorder) = 0;
6900
6993 virtual int startAudioMixing(const char* filePath, bool loopback, int cycle) = 0;
6994
7093 virtual int startAudioMixing(const char* filePath, bool loopback, int cycle, int startPos) = 0;
7094
7108 virtual int stopAudioMixing() = 0;
7109
7123 virtual int pauseAudioMixing() = 0;
7124
7137 virtual int resumeAudioMixing() = 0;
7138
7161 virtual int selectAudioTrack(int index) = 0;
7173 virtual int getAudioTrackCount() = 0;
7174
7192 virtual int adjustAudioMixingVolume(int volume) = 0;
7193
7210 virtual int adjustAudioMixingPublishVolume(int volume) = 0;
7211
7226 virtual int getAudioMixingPublishVolume() = 0;
7227
7243 virtual int adjustAudioMixingPlayoutVolume(int volume) = 0;
7244
7259 virtual int getAudioMixingPlayoutVolume() = 0;
7260
7274 virtual int getAudioMixingDuration() = 0;
7275
7294 virtual int getAudioMixingCurrentPosition() = 0;
7295
7312 virtual int setAudioMixingPosition(int pos /*in ms*/) = 0;
7313
7340 virtual int setAudioMixingDualMonoMode(media::AUDIO_MIXING_DUAL_MONO_MODE mode) = 0;
7341
7361 virtual int setAudioMixingPitch(int pitch) = 0;
7362
7381 virtual int setAudioMixingPlaybackSpeed(int speed) = 0;
7382
7396 virtual int getEffectsVolume() = 0;
7410 virtual int setEffectsVolume(int volume) = 0;
7442 virtual int preloadEffect(int soundId, const char* filePath, int startPos = 0) = 0;
7495 virtual int playEffect(int soundId, const char* filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0) = 0;
7526 virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false) = 0;
7527
7538 virtual int getVolumeOfEffect(int soundId) = 0;
7539
7554 virtual int setVolumeOfEffect(int soundId, int volume) = 0;
7564 virtual int pauseEffect(int soundId) = 0;
7572 virtual int pauseAllEffects() = 0;
7582 virtual int resumeEffect(int soundId) = 0;
7595 virtual int resumeAllEffects() = 0;
7610 virtual int stopEffect(int soundId) = 0;
7623 virtual int stopAllEffects() = 0;
7638 virtual int unloadEffect(int soundId) = 0;
7646 virtual int unloadAllEffects() = 0;
7666 virtual int getEffectDuration(const char* filePath) = 0;
7682 virtual int setEffectPosition(int soundId, int pos) = 0;
7694 virtual int getEffectCurrentPosition(int soundId) = 0;
7711 virtual int enableSoundPositionIndication(bool enabled) = 0;
7712
7742 virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0;
7743
7764 virtual int enableSpatialAudio(bool enabled) = 0;
7765
7781 virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams& params) = 0;
7782
7823 virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset) = 0;
7824
7865 virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset) = 0;
7866
7909 virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset) = 0;
7910
7985 virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2) = 0;
7986
8035 virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset,
8036 int param1, int param2) = 0;
8037
8050 virtual int setVoiceConversionParameters(VOICE_CONVERSION_PRESET preset,
8051 int param1, int param2) = 0;
8052
8066 virtual int setLocalVoicePitch(double pitch) = 0;
8067
8088 virtual int setLocalVoiceFormant(double formantRatio) = 0;
8089
8106 virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain) = 0;
8107
8125 virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value) = 0;
8143 virtual int setHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset) = 0;
8144
8163 virtual int setHeadphoneEQParameters(int lowGain, int highGain) = 0;
8164
8183 virtual int enableVoiceAITuner(bool enabled, VOICE_AI_TUNER_TYPE type) = 0;
8184
8201 virtual int setLogFile(const char* filePath) = 0;
8202
8220 virtual int setLogFilter(unsigned int filter) = 0;
8221
8234 virtual int setLogLevel(commons::LOG_LEVEL level) = 0;
8235
8269 virtual int setLogFileSize(unsigned int fileSizeInKBytes) = 0;
8270
8279 virtual int uploadLogFile(agora::util::AString& requestId) = 0;
8280
8296 virtual int writeLog(commons::LOG_LEVEL level, const char* fmt, ...) = 0;
8297
8323 virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
8324
8346 virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode,
8347 VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
8368 virtual int setLocalRenderTargetFps(VIDEO_SOURCE_TYPE sourceType, int targetFps) = 0;
8388 virtual int setRemoteRenderTargetFps(int targetFps) = 0;
8389 // The following APIs are either deprecated and going to deleted.
8390
8408 virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) __deprecated = 0;
8409
8419 virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) __deprecated = 0;
8420
8446 virtual int enableDualStreamMode(bool enabled) __deprecated = 0;
8447
8477 virtual int enableDualStreamMode(bool enabled, const SimulcastStreamConfig& streamConfig) __deprecated = 0;
8478
8479
8511 virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode) = 0;
8512
8531 virtual int setSimulcastConfig(const SimulcastConfig& simulcastConfig) = 0;
8532
8573 virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode, const SimulcastStreamConfig& streamConfig) = 0;
8574
8597 virtual int enableCustomAudioLocalPlayback(track_id_t trackId, bool enabled) = 0;
8598
8621 virtual int setRecordingAudioFrameParameters(int sampleRate, int channel,
8622 RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
8623 int samplesPerCall) = 0;
8624
8647 virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel,
8648 RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
8649 int samplesPerCall) = 0;
8650
8672 virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall) = 0;
8673
8703 virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel,
8704 RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
8705 int samplesPerCall) = 0;
8706
8725 virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel) = 0;
8726
8748 virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel, int samplesPerCall) = 0;
8749
8768 virtual int enableAudioSpectrumMonitor(int intervalInMS = 100) = 0;
8782 virtual int disableAudioSpectrumMonitor() = 0;
8783
8801 virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver * observer) = 0;
8817 virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver * observer) = 0;
8818
8836 virtual int adjustRecordingSignalVolume(int volume) = 0;
8837
8857 virtual int muteRecordingSignal(bool mute) = 0;
8858
8877 virtual int adjustPlaybackSignalVolume(int volume) = 0;
8878
8898 virtual int adjustUserPlaybackSignalVolume(uid_t uid, int volume) = 0;
8899
8921 virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0;
8922
8936 virtual int setHighPriorityUserList(uid_t* uidList, int uidNum, STREAM_FALLBACK_OPTIONS option) = 0;
8937
8958 virtual int enableExtension(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, bool enable = true) = 0;
8959
8973 virtual int setExtensionProperty(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, const char* key, const char* value) = 0;
8974
8989 virtual int getExtensionProperty(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, const char* key, char* value, int buf_len) = 0;
8990
9019 virtual int enableLoopbackRecording(bool enabled, const char* deviceName = NULL) = 0;
9020
9021
9036 virtual int adjustLoopbackSignalVolume(int volume) = 0;
9037
9044 virtual int getLoopbackRecordingVolume() = 0;
9045
9066 virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters) = 0;
9067
9085 virtual int setInEarMonitoringVolume(int volume) = 0;
9086
9087 #if defined(_WIN32) || defined(__linux__) || defined(__ANDROID__)
9088
9111 virtual int loadExtensionProvider(const char* path, bool unload_after_use = false) = 0;
9112 #endif
9113
9133 virtual int setExtensionProviderProperty(const char* provider, const char* key, const char* value) = 0;
9134
9166 virtual int registerExtension(const char* provider, const char* extension, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
9167
9193 virtual int enableExtension(const char* provider, const char* extension, bool enable=true, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
9194
9217 virtual int setExtensionProperty(
9218 const char* provider, const char* extension,
9219 const char* key, const char* value, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
9220
9239 virtual int getExtensionProperty(
9240 const char* provider, const char* extension,
9241 const char* key, char* value, int buf_len, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
9242
9265 virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration& config) = 0;
9266
9285 virtual video_track_id_t createCustomVideoTrack() = 0;
9286
9294 virtual video_track_id_t createCustomEncodedVideoTrack(const SenderOptions& sender_option) = 0;
9295
9305 virtual int destroyCustomVideoTrack(video_track_id_t video_track_id) = 0;
9306
9315 virtual int destroyCustomEncodedVideoTrack(video_track_id_t video_track_id) = 0;
9316
9317 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) || defined(__OHOS__)
9318
9338 virtual int switchCamera() = 0;
9339
9353 virtual bool isCameraZoomSupported() = 0;
9354
9367 virtual bool isCameraFaceDetectSupported() = 0;
9368
9386 virtual bool isCameraTorchSupported() = 0;
9387
9400 virtual bool isCameraFocusSupported() = 0;
9401
9414 virtual bool isCameraAutoFocusFaceModeSupported() = 0;
9415
9442 virtual int setCameraZoomFactor(float factor) = 0;
9443
9466 virtual int enableFaceDetection(bool enabled) = 0;
9467
9479 virtual float getCameraMaxZoomFactor() = 0;
9480
9498 virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0;
9499
9517 virtual int setCameraTorchOn(bool isOn) = 0;
9518
9538 virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0;
9539
9554 virtual bool isCameraExposurePositionSupported() = 0;
9555
9575 virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0;
9576
9595 virtual bool isCameraExposureSupported() = 0;
9596
9629 virtual int setCameraExposureFactor(float factor) = 0;
9630
9631 #if defined(__APPLE__)
9632
9644 virtual bool isCameraAutoExposureFaceModeSupported() = 0;
9645
9646
9664 virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0;
9665
9692 virtual int setCameraStabilizationMode(CAMERA_STABILIZATION_MODE mode) = 0;
9693 #endif
9694
9725 virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0;
9726
9755 virtual int setEnableSpeakerphone(bool speakerOn) = 0;
9756
9770 virtual bool isSpeakerphoneEnabled() = 0;
9771
9800 virtual int setRouteInCommunicationMode(int route) = 0;
9801 #endif // __ANDROID__ || (__APPLE__ && TARGET_OS_IOS) || __OHOS__
9802
9803 #if defined(__APPLE__)
9804
9820 virtual bool isCameraCenterStageSupported() = 0;
9821
9859 virtual int enableCameraCenterStage(bool enabled) = 0;
9860 #endif
9861
9862 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)|| (defined(__linux__) && !defined(__ANDROID__) && !defined(__OHOS__))
9863
9895 virtual IScreenCaptureSourceList* getScreenCaptureSources(const SIZE& thumbSize, const SIZE& iconSize, const bool includeScreen) = 0;
9896 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
9897 #if (defined(__APPLE__) && TARGET_OS_IOS)
9898
9921 virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction) = 0;
9922 #endif // __APPLE__ && TARGET_OS_IOS
9923
9924 #if defined(_WIN32) || (defined(__APPLE__) && !TARGET_OS_IPHONE && TARGET_OS_MAC) || (defined(__linux__) && !defined(__ANDROID__) && !defined(__OHOS__))
9925
9962 virtual int startScreenCaptureByDisplayId(int64_t displayId, const Rectangle& regionRect,
9963 const ScreenCaptureParameters& captureParams) = 0;
9964
9965 #endif // __APPLE__ && TARGET_OS_MAC && !TARGET_OS_IPHONE
9966
9967 #if defined(_WIN32)
9968
10007 virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect,
10008 const Rectangle& regionRect,
10009 const ScreenCaptureParameters& captureParams) __deprecated = 0;
10010 #endif
10011
10012 #if defined(__ANDROID__)
10013
10033 virtual int getAudioDeviceInfo(DeviceInfo& deviceInfo) = 0;
10034 #endif // __ANDROID__
10035
10036 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE) || (defined(__linux__) && !defined(__ANDROID__) && !defined(__OHOS__))
10037
10108 virtual int startScreenCaptureByWindowId(int64_t windowId, const Rectangle& regionRect,
10109 const ScreenCaptureParameters& captureParams) = 0;
10110
10131 virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint) = 0;
10132
10151 virtual int updateScreenCaptureRegion(const Rectangle& regionRect) = 0;
10152
10172 virtual int updateScreenCaptureParameters(const ScreenCaptureParameters& captureParams) = 0;
10173 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
10174
10175 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) || defined(__OHOS__)
10176
10231 virtual int startScreenCapture(const ScreenCaptureParameters2& captureParams) = 0;
10232
10257 virtual int updateScreenCapture(const ScreenCaptureParameters2& captureParams) = 0;
10258
10279 virtual int queryScreenCaptureCapability() = 0;
10280
10308 virtual int queryCameraFocalLengthCapability(agora::rtc::FocalLengthInfo* focalLengthInfos, int& size) = 0;
10309
10310 #if defined(__ANDROID__)
10311
10342 virtual int setExternalMediaProjection(void* mediaProjection) = 0;
10343 #endif
10344 #endif
10345
10346 #if defined(_WIN32) || defined(__APPLE__) || defined(__ANDROID__) || (defined(__linux__) && !defined(__ANDROID__) && !defined (__OHOS__))
10347
10363 virtual int setScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario) = 0;
10364
10379 virtual int stopScreenCapture() = 0;
10380 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC) || __ANDROID__
10381
10397 virtual int getCallId(agora::util::AString& callId) = 0;
10398
10415 virtual int rate(const char* callId, int rating, const char* description) = 0; // 0~10
10416
10435 virtual int complain(const char* callId, const char* description) = 0;
10436
10467 virtual int startRtmpStreamWithoutTranscoding(const char* url) = 0;
10468
10502 virtual int startRtmpStreamWithTranscoding(const char* url, const LiveTranscoding& transcoding) = 0;
10503
10520 virtual int updateRtmpTranscoding(const LiveTranscoding& transcoding) = 0;
10521
10578 virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration& config) = 0;
10596 virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration& config) = 0;
10597
10617 virtual int stopRtmpStream(const char* url) = 0;
10618
10630 virtual int stopLocalVideoTranscoder() = 0;
10631
10664 virtual int startLocalAudioMixer(const LocalAudioMixerConfiguration& config) = 0;
10665
10685 virtual int updateLocalAudioMixerConfiguration(const LocalAudioMixerConfiguration& config) = 0;
10686
10701 virtual int stopLocalAudioMixer() = 0;
10702
10728 virtual int startCameraCapture(VIDEO_SOURCE_TYPE sourceType, const CameraCapturerConfiguration& config) = 0;
10729
10750 virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType) = 0;
10769 virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
10781 virtual int setScreenCaptureOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
10782
10822 virtual int startScreenCapture(VIDEO_SOURCE_TYPE sourceType, const ScreenCaptureConfiguration& config) = 0;
10823
10842 virtual int stopScreenCapture(VIDEO_SOURCE_TYPE sourceType) = 0;
10843
10853 virtual CONNECTION_STATE_TYPE getConnectionState() = 0;
10854
10855 // The following APIs are not implemented yet.
10856 virtual bool registerEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
10857 virtual bool unregisterEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
10858 virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0;
10859
10883 virtual int registerPacketObserver(IPacketObserver* observer) = 0;
10884
10885
10914 virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0;
10915
10952 virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0;
10953
10978 virtual int createDataStream(int* streamId, const DataStreamConfig& config) = 0;
10979
11013 virtual int sendStreamMessage(int streamId, const char* data, size_t length) = 0;
11014
11028 virtual int sendRdtMessage(uid_t uid, RdtStreamType type, const char *data, size_t length) = 0;
11029
11042 virtual int sendMediaControlMessage(uid_t uid, const char* data, size_t length) = 0;
11043
11070 virtual int addVideoWatermark(const RtcImage& watermark) __deprecated = 0;
11071
11119 virtual int addVideoWatermark(const char* watermarkUrl, const WatermarkOptions& options) = 0;
11120
11136 virtual int addVideoWatermark(const WatermarkConfig& configs) = 0;
11137
11154 virtual int removeVideoWatermark(const char* id) = 0;
11155
11163 virtual int clearVideoWatermarks() = 0;
11164
11165 // The following APIs are either deprecated and going to deleted.
11166
11175 virtual int pauseAudio() __deprecated = 0;
11184 virtual int resumeAudio() __deprecated = 0;
11185
11207 virtual int enableWebSdkInteroperability(bool enabled) __deprecated = 0;
11208
11220 virtual int sendCustomReportMessage(const char* id, const char* category, const char* event, const char* label, int value) = 0;
11221
11242 virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0;
11243
11255 virtual int unregisterMediaMetadataObserver(IMetadataObserver* observer, IMetadataObserver::METADATA_TYPE type) = 0;
11256
11265 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;
11266
11270 virtual int stopAudioFrameDump(const char* channel_id, uid_t uid, const char* location) = 0;
11271
11309 virtual int setAINSMode(bool enabled, AUDIO_AINS_MODE mode) = 0;
11310
11364 virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0;
11365
11449 virtual int joinChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount) = 0;
11450
11538 virtual int joinChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount, const ChannelMediaOptions& options) = 0;
11539
11628 virtual int joinChannelWithUserAccountEx(const char* token, const char* channelId,
11629 const char* userAccount, const ChannelMediaOptions& options,
11630 IRtcEngineEventHandler* eventHandler) = 0;
11631
11653 virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo) = 0;
11654
11676 virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo) = 0;
11677
11713 virtual int startOrUpdateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0;
11714
11735 virtual int stopChannelMediaRelay() = 0;
11736
11752 virtual int pauseAllChannelMediaRelay() = 0;
11753
11768 virtual int resumeAllChannelMediaRelay() = 0;
11769
11787 virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile) = 0;
11788
11812 virtual int setDirectCdnStreamingVideoConfiguration(const VideoEncoderConfiguration& config) = 0;
11813
11846 virtual int startDirectCdnStreaming(IDirectCdnStreamingEventHandler* eventHandler,
11847 const char* publishUrl, const DirectCdnStreamingMediaOptions& options) = 0;
11848
11858 virtual int stopDirectCdnStreaming() = 0;
11859
11873 virtual int updateDirectCdnStreamingMediaOptions(const DirectCdnStreamingMediaOptions& options) = 0;
11874
11908 virtual int startRhythmPlayer(const char* sound1, const char* sound2, const AgoraRhythmPlayerConfig& config) = 0;
11909
11922 virtual int stopRhythmPlayer() = 0;
11923
11948 virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig& config) = 0;
11949
11981 virtual int takeSnapshot(uid_t uid, const char* filePath) = 0;
11982
12007 virtual int takeSnapshot(uid_t uid, const media::SnapshotConfig& config) = 0;
12008
12037 virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config) = 0;
12057 virtual int adjustCustomAudioPublishVolume(track_id_t trackId, int volume) = 0;
12058
12078 virtual int adjustCustomAudioPlayoutVolume(track_id_t trackId, int volume) = 0;
12079
12113 virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0;
12132 virtual int setLocalAccessPoint(const LocalAccessPointConfiguration& config) = 0;
12133
12150 virtual int setAdvancedAudioOptions(AdvancedAudioOptions& options, int sourceType = 0) = 0;
12151
12172 virtual int setAVSyncSource(const char* channelId, uid_t uid) = 0;
12173
12194 virtual int enableVideoImageSource(bool enable, const ImageTrackOptions& options) = 0;
12195
12213 virtual int64_t getCurrentMonotonicTimeInMs() = 0;
12214
12235 virtual int getNetworkType() = 0;
12236
12250 virtual int setParameters(const char* parameters) = 0;
12251
12281 virtual int startMediaRenderingTracing() = 0;
12282
12306 virtual int enableInstantMediaRendering() = 0;
12307
12320 virtual uint64_t getNtpWallTimeInMs() = 0;
12321
12342 virtual bool isFeatureAvailableOnDevice(FeatureType type) = 0;
12343
12354 virtual int sendAudioMetadata(const char* metadata, size_t length) = 0;
12355
12366 virtual int queryHDRCapability(VIDEO_MODULE_TYPE videoModule, HDR_CAPABILITY& capability) = 0;
12367 };
12368
12369 // The following types are either deprecated or not implmented yet.
12370 enum QUALITY_REPORT_FORMAT_TYPE {
12373 QUALITY_REPORT_JSON = 0,
12376 QUALITY_REPORT_HTML = 1,
12377 };
12378
12382 enum MEDIA_DEVICE_STATE_TYPE {
12386 MEDIA_DEVICE_STATE_IDLE = 0,
12390 MEDIA_DEVICE_STATE_ACTIVE = 1,
12394 MEDIA_DEVICE_STATE_DISABLED = 2,
12395
12399 MEDIA_DEVICE_STATE_PLUGGED_IN = 3,
12400
12404 MEDIA_DEVICE_STATE_NOT_PRESENT = 4,
12408 MEDIA_DEVICE_STATE_UNPLUGGED = 8
12409 };
12410
12411 enum VIDEO_PROFILE_TYPE { // res fps
12413 VIDEO_PROFILE_LANDSCAPE_120P = 0, // 160x120 15
12415 VIDEO_PROFILE_LANDSCAPE_120P_3 = 2, // 120x120 15
12417 VIDEO_PROFILE_LANDSCAPE_180P = 10, // 320x180 15
12419 VIDEO_PROFILE_LANDSCAPE_180P_3 = 12, // 180x180 15
12421 VIDEO_PROFILE_LANDSCAPE_180P_4 = 13, // 240x180 15
12423 VIDEO_PROFILE_LANDSCAPE_240P = 20, // 320x240 15
12425 VIDEO_PROFILE_LANDSCAPE_240P_3 = 22, // 240x240 15
12427 VIDEO_PROFILE_LANDSCAPE_240P_4 = 23, // 424x240 15
12429 VIDEO_PROFILE_LANDSCAPE_360P = 30, // 640x360 15
12431 VIDEO_PROFILE_LANDSCAPE_360P_3 = 32, // 360x360 15
12433 VIDEO_PROFILE_LANDSCAPE_360P_4 = 33, // 640x360 30
12435 VIDEO_PROFILE_LANDSCAPE_360P_6 = 35, // 360x360 30
12437 VIDEO_PROFILE_LANDSCAPE_360P_7 = 36, // 480x360 15
12439 VIDEO_PROFILE_LANDSCAPE_360P_8 = 37, // 480x360 30
12441 VIDEO_PROFILE_LANDSCAPE_360P_9 = 38, // 640x360 15
12443 VIDEO_PROFILE_LANDSCAPE_360P_10 = 39, // 640x360 24
12445 VIDEO_PROFILE_LANDSCAPE_360P_11 = 100, // 640x360 24
12447 VIDEO_PROFILE_LANDSCAPE_480P = 40, // 640x480 15
12449 VIDEO_PROFILE_LANDSCAPE_480P_3 = 42, // 480x480 15
12451 VIDEO_PROFILE_LANDSCAPE_480P_4 = 43, // 640x480 30
12453 VIDEO_PROFILE_LANDSCAPE_480P_6 = 45, // 480x480 30
12455 VIDEO_PROFILE_LANDSCAPE_480P_8 = 47, // 848x480 15
12457 VIDEO_PROFILE_LANDSCAPE_480P_9 = 48, // 848x480 30
12459 VIDEO_PROFILE_LANDSCAPE_480P_10 = 49, // 640x480 10
12461 VIDEO_PROFILE_LANDSCAPE_720P = 50, // 1280x720 15
12463 VIDEO_PROFILE_LANDSCAPE_720P_3 = 52, // 1280x720 30
12465 VIDEO_PROFILE_LANDSCAPE_720P_5 = 54, // 960x720 15
12467 VIDEO_PROFILE_LANDSCAPE_720P_6 = 55, // 960x720 30
12469 VIDEO_PROFILE_LANDSCAPE_1080P = 60, // 1920x1080 15
12471 VIDEO_PROFILE_LANDSCAPE_1080P_3 = 62, // 1920x1080 30
12473 VIDEO_PROFILE_LANDSCAPE_1080P_5 = 64, // 1920x1080 60
12475 VIDEO_PROFILE_LANDSCAPE_1440P = 66, // 2560x1440 30
12477 VIDEO_PROFILE_LANDSCAPE_1440P_2 = 67, // 2560x1440 60
12479 VIDEO_PROFILE_LANDSCAPE_4K = 70, // 3840x2160 30
12481 VIDEO_PROFILE_LANDSCAPE_4K_3 = 72, // 3840x2160 60
12483 VIDEO_PROFILE_PORTRAIT_120P = 1000, // 120x160 15
12485 VIDEO_PROFILE_PORTRAIT_120P_3 = 1002, // 120x120 15
12487 VIDEO_PROFILE_PORTRAIT_180P = 1010, // 180x320 15
12489 VIDEO_PROFILE_PORTRAIT_180P_3 = 1012, // 180x180 15
12491 VIDEO_PROFILE_PORTRAIT_180P_4 = 1013, // 180x240 15
12493 VIDEO_PROFILE_PORTRAIT_240P = 1020, // 240x320 15
12495 VIDEO_PROFILE_PORTRAIT_240P_3 = 1022, // 240x240 15
12497 VIDEO_PROFILE_PORTRAIT_240P_4 = 1023, // 240x424 15
12499 VIDEO_PROFILE_PORTRAIT_360P = 1030, // 360x640 15
12501 VIDEO_PROFILE_PORTRAIT_360P_3 = 1032, // 360x360 15
12503 VIDEO_PROFILE_PORTRAIT_360P_4 = 1033, // 360x640 30
12505 VIDEO_PROFILE_PORTRAIT_360P_6 = 1035, // 360x360 30
12507 VIDEO_PROFILE_PORTRAIT_360P_7 = 1036, // 360x480 15
12509 VIDEO_PROFILE_PORTRAIT_360P_8 = 1037, // 360x480 30
12511 VIDEO_PROFILE_PORTRAIT_360P_9 = 1038, // 360x640 15
12513 VIDEO_PROFILE_PORTRAIT_360P_10 = 1039, // 360x640 24
12515 VIDEO_PROFILE_PORTRAIT_360P_11 = 1100, // 360x640 24
12517 VIDEO_PROFILE_PORTRAIT_480P = 1040, // 480x640 15
12519 VIDEO_PROFILE_PORTRAIT_480P_3 = 1042, // 480x480 15
12521 VIDEO_PROFILE_PORTRAIT_480P_4 = 1043, // 480x640 30
12523 VIDEO_PROFILE_PORTRAIT_480P_6 = 1045, // 480x480 30
12525 VIDEO_PROFILE_PORTRAIT_480P_8 = 1047, // 480x848 15
12527 VIDEO_PROFILE_PORTRAIT_480P_9 = 1048, // 480x848 30
12529 VIDEO_PROFILE_PORTRAIT_480P_10 = 1049, // 480x640 10
12531 VIDEO_PROFILE_PORTRAIT_720P = 1050, // 720x1280 15
12533 VIDEO_PROFILE_PORTRAIT_720P_3 = 1052, // 720x1280 30
12535 VIDEO_PROFILE_PORTRAIT_720P_5 = 1054, // 720x960 15
12537 VIDEO_PROFILE_PORTRAIT_720P_6 = 1055, // 720x960 30
12539 VIDEO_PROFILE_PORTRAIT_1080P = 1060, // 1080x1920 15
12541 VIDEO_PROFILE_PORTRAIT_1080P_3 = 1062, // 1080x1920 30
12543 VIDEO_PROFILE_PORTRAIT_1080P_5 = 1064, // 1080x1920 60
12545 VIDEO_PROFILE_PORTRAIT_1440P = 1066, // 1440x2560 30
12547 VIDEO_PROFILE_PORTRAIT_1440P_2 = 1067, // 1440x2560 60
12549 VIDEO_PROFILE_PORTRAIT_4K = 1070, // 2160x3840 30
12551 VIDEO_PROFILE_PORTRAIT_4K_3 = 1072, // 2160x3840 60
12553 VIDEO_PROFILE_DEFAULT = VIDEO_PROFILE_LANDSCAPE_360P,
12554 };
12555
12556 class AAudioDeviceManager : public agora::util::AutoPtr<IAudioDeviceManager> {
12557 public:
12558 AAudioDeviceManager(IRtcEngine* engine) {
12559 queryInterface(engine, AGORA_IID_AUDIO_DEVICE_MANAGER);
12560 }
12561 };
12562
12563 class AVideoDeviceManager : public agora::util::AutoPtr<IVideoDeviceManager> {
12564 public:
12565 AVideoDeviceManager(IRtcEngine* engine) {
12566 queryInterface(engine, AGORA_IID_VIDEO_DEVICE_MANAGER);
12567 }
12568 };
12569
12570 } // namespace rtc
12571 } // namespace agora
12572
12578 #define getAgoraRtcEngineVersion getAgoraSdkVersion
12579
12581
12584
12595 AGORA_API agora::rtc::IRtcEngine* AGORA_CALL createAgoraRtcEngine();
12596
12598
12599
12606 #define getAgoraRtcEngineErrorDescription getAgoraSdkErrorDescription
12607 #define setAgoraRtcEngineExternalSymbolLoader setAgoraSdkExternalSymbolLoader
agora::rtc::IRtcEngine::setVideoEncoderConfiguration
virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration &config)=0
Sets the video encoder configuration.
agora::rtc::IRtcEngine::removeVideoWatermark
virtual int removeVideoWatermark(const char *id)=0
Removes the watermark image from the local video.
agora::rtc::IRtcEngine::stopLocalVideoTranscoder
virtual int stopLocalVideoTranscoder()=0
Stops the local video mixing.
agora::rtc::IRtcEngineEventHandler::onFirstLocalVideoFrame
virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed)
Occurs when the first local video frame is displayed on the local video view.
Definition: IAgoraRtcEngine.h:2176
agora::rtc::RemoteVideoStats::delay
int delay
Definition: IAgoraRtcEngine.h:588
agora::rtc::VIDEO_TRANSCODER_ERROR
VIDEO_TRANSCODER_ERROR
The error code of the local video mixing failure.
Definition: AgoraBase.h:4832
agora::rtc::UPLOAD_ERROR_REASON
UPLOAD_ERROR_REASON
Definition: AgoraBase.h:7375
agora::rtc::ChannelMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition: IAgoraRtcEngine.h:1412
agora::rtc::IRtcEngine::configRhythmPlayer
virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig &config)=0
Configures the virtual metronome.
agora::rtc::IRtcEngine::getAudioTrackCount
virtual int getAudioTrackCount()=0
Gets the index of audio tracks of the current music file.
agora::rtc::IRtcEngineEventHandler::onRequestToken
virtual void onRequestToken()
Occurs when the token expires.
Definition: IAgoraRtcEngine.h:2887
agora::rtc::ChannelMediaOptions::defaultVideoStreamType
Optional< VIDEO_STREAM_TYPE > defaultVideoStreamType
Definition: IAgoraRtcEngine.h:1428
agora::rtc::DirectCdnStreamingStats::videoWidth
int videoWidth
Definition: IAgoraRtcEngine.h:4353
agora::rtc::AUDIO_EQUALIZATION_BAND_16K
@ AUDIO_EQUALIZATION_BAND_16K
Definition: IAgoraRtcEngine.h:236
agora::rtc::IRtcEngine::getVersion
virtual const char * getVersion(int *build)=0
Gets the SDK version.
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_10
@ VIDEO_PROFILE_LANDSCAPE_360P_10
Definition: IAgoraRtcEngine.h:12443
agora::rtc::ExtensionInfo::mediaSourceType
agora::media::MEDIA_SOURCE_TYPE mediaSourceType
Definition: IAgoraRtcEngine.h:4528
agora::rtc::DIRECT_CDN_STREAMING_STATE_FAILED
@ DIRECT_CDN_STREAMING_STATE_FAILED
Definition: IAgoraRtcEngine.h:4334
agora::VideoLayout
Layout information of a specific sub-video stream within the mixed stream.
Definition: AgoraBase.h:8137
agora::rtc::ChannelMediaOptions::SetAll
void SetAll(const ChannelMediaOptions &change)
Definition: IAgoraRtcEngine.h:1538
agora::CHANNEL_PROFILE_LIVE_BROADCASTING
@ CHANNEL_PROFILE_LIVE_BROADCASTING
Definition: AgoraBase.h:275
agora::rtc::MEDIA_DEVICE_STATE_PLUGGED_IN
@ MEDIA_DEVICE_STATE_PLUGGED_IN
Definition: IAgoraRtcEngine.h:12399
agora::rtc::VIDEO_PROFILE_LANDSCAPE_720P_3
@ VIDEO_PROFILE_LANDSCAPE_720P_3
Definition: IAgoraRtcEngine.h:12463
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_8
@ VIDEO_PROFILE_LANDSCAPE_360P_8
Definition: IAgoraRtcEngine.h:12439
agora::rtc::DIRECT_CDN_STREAMING_REASON_FAILED
@ DIRECT_CDN_STREAMING_REASON_FAILED
Definition: IAgoraRtcEngine.h:4281
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_3
@ VIDEO_PROFILE_LANDSCAPE_360P_3
Definition: IAgoraRtcEngine.h:12431
agora::rtc::ChannelMediaOptions::publishCameraTrack
Optional< bool > publishCameraTrack
Definition: IAgoraRtcEngine.h:1260
agora::rtc::IRtcEngine::updateChannelMediaOptions
virtual int updateChannelMediaOptions(const ChannelMediaOptions &options)=0
Updates the channel media options after joining the channel.
agora::rtc::IRtcEngine::setParameters
virtual int setParameters(const char *parameters)=0
Provides technical preview functionalities or special customizations by configuring the SDK with JSON...
agora::rtc::ChannelMediaOptions::channelProfile
Optional< CHANNEL_PROFILE_TYPE > channelProfile
Definition: IAgoraRtcEngine.h:1432
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:12394
agora::rtc::IRtcEngine::setRemoteRenderMode
virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
Updates the display mode of the video view of a remote user.
agora::rtc::IRtcEngineEventHandler::onMediaControlMessage
virtual void onMediaControlMessage(uid_t userId, const char *data, size_t length)
Occurs when the local user receives media control message sent by a remote user.
Definition: IAgoraRtcEngine.h:2864
agora::rtc::IRtcEngine::uploadLogFile
virtual int uploadLogFile(agora::util::AString &requestId)=0
agora::rtc::AUDIO_EQUALIZATION_BAND_FREQUENCY
AUDIO_EQUALIZATION_BAND_FREQUENCY
The midrange frequency for audio equalization.
Definition: IAgoraRtcEngine.h:196
agora::rtc::UserInfo
The information of the user.
Definition: AgoraBase.h:7570
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)
Reports the statistics of the local audio stream.
Definition: IAgoraRtcEngine.h:2546
agora::rtc::ChannelMediaOptions::publishMixedAudioTrack
Optional< bool > publishMixedAudioTrack
Definition: IAgoraRtcEngine.h:1382
agora::rtc::LastmileProbeResult
Results of the uplink and downlink last-mile network tests.
Definition: AgoraBase.h:5017
agora::rtc::IRtcEngineEventHandler::onUserStateChanged
virtual void onUserStateChanged(uid_t uid, REMOTE_USER_STATE state)
Definition: IAgoraRtcEngine.h:2496
agora::rtc::AudioEncodedFrameObserverConfig
Observer settings for the encoded audio.
Definition: AgoraBase.h:6809
agora::rtc::ScreenCaptureParameters
Screen sharing configurations.
Definition: AgoraBase.h:6475
agora::rtc::IRtcEngine::updateLocalTranscoderConfiguration
virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration &config)=0
Updates the local video mixing configuration.
agora::rtc::IMetadataObserver::MAX_METADATA_SIZE_IN_BYTE
@ MAX_METADATA_SIZE_IN_BYTE
Definition: IAgoraRtcEngine.h:4191
agora::rtc::IRtcEngine::initialize
virtual int initialize(const RtcEngineContext &context)=0
Initializes IRtcEngine.
agora::rtc::SCREEN_SCENARIO_TYPE
SCREEN_SCENARIO_TYPE
The screen sharing scenario.
Definition: AgoraBase.h:3229
agora::rtc::MEDIA_DEVICE_TYPE
MEDIA_DEVICE_TYPE
Media device types.
Definition: IAgoraRtcEngine.h:40
agora::rtc::CameraCapturerConfiguration::CameraCapturerConfiguration
CameraCapturerConfiguration()
Definition: IAgoraRtcEngine.h:988
agora::rtc::AudioVolumeInfo
The volume information of users.
Definition: AgoraBase.h:3974
agora::rtc::VideoCompositingLayout::regionCount
int regionCount
Definition: IAgoraRtcEngine.h:729
agora::rtc::VIDEO_SOURCE_TYPE
VIDEO_SOURCE_TYPE
The type of the video source.
Definition: AgoraMediaBase.h:67
agora::rtc::AUDIO_MIXING_STATE_PAUSED
@ AUDIO_MIXING_STATE_PAUSED
Definition: IAgoraRtcEngine.h:86
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1080P_5
@ VIDEO_PROFILE_LANDSCAPE_1080P_5
Definition: IAgoraRtcEngine.h:12473
agora::rtc::REMOTE_AUDIO_STATE
REMOTE_AUDIO_STATE
Remote audio states.
Definition: AgoraBase.h:3697
agora::rtc::RemoteAudioStats::rxAudioBytes
unsigned int rxAudioBytes
Definition: IAgoraRtcEngine.h:542
agora::rtc::BeautyOptions
Image enhancement options.
Definition: AgoraBase.h:5396
agora::rtc::IRtcEngine::createMediaPlayer
virtual agora_refptr< IMediaPlayer > createMediaPlayer()=0
Creates a media player object.
agora::rtc::INJECT_STREAM_STATUS_START_FAILED
@ INJECT_STREAM_STATUS_START_FAILED
Definition: IAgoraRtcEngine.h:166
agora::rtc::IMetadataObserver::METADATA_TYPE
METADATA_TYPE
Metadata type of the observer. We only support video metadata for now.
Definition: IAgoraRtcEngine.h:4174
agora::rtc::SenderOptions
Definition: AgoraBase.h:1342
agora::rtc::IRtcEngineEventHandler::onConnectionStateChanged
virtual void onConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason)
Occurs when the network connection state changes.
Definition: IAgoraRtcEngine.h:3320
agora::rtc::AUDIO_EQUALIZATION_BAND_2K
@ AUDIO_EQUALIZATION_BAND_2K
Definition: IAgoraRtcEngine.h:224
agora::rtc::RemoteVideoStats::avSyncTimeMs
int avSyncTimeMs
Definition: IAgoraRtcEngine.h:645
agora::rtc::ScreenCaptureConfiguration::screenRect
Rectangle screenRect
Definition: IAgoraRtcEngine.h:1009
agora::rtc::ScreenCaptureConfiguration::ScreenCaptureConfiguration
ScreenCaptureConfiguration()
Definition: IAgoraRtcEngine.h:1027
agora::rtc::IRtcEngineEventHandler::onConnectionBanned
virtual void onConnectionBanned() 1
Occurs when the connection is banned by the Agora server.
Definition: IAgoraRtcEngine.h:2768
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:93
agora::rtc::UNKNOWN_AUDIO_DEVICE
@ UNKNOWN_AUDIO_DEVICE
Definition: IAgoraRtcEngine.h:44
agora::rtc::IRtcEngineEventHandler::eventHandlerType
virtual const char * eventHandlerType() const
Definition: IAgoraRtcEngine.h:1795
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_3
@ VIDEO_PROFILE_PORTRAIT_480P_3
Definition: IAgoraRtcEngine.h:12519
agora::rtc::RemoteVideoStats::width
int width
Definition: IAgoraRtcEngine.h:597
agora::rtc::VideoCompositingLayout
Definition: IAgoraRtcEngine.h:670
agora::rtc::LastmileProbeConfig
Configurations of the last-mile network test.
Definition: AgoraBase.h:4948
agora::rtc::LocalVideoStats::captureFrameRate
int captureFrameRate
Definition: IAgoraRtcEngine.h:329
agora::rtc::VIDEO_PROFILE_PORTRAIT_1440P_2
@ VIDEO_PROFILE_PORTRAIT_1440P_2
Definition: IAgoraRtcEngine.h:12547
agora::rtc::IVideoDeviceManager::release
virtual void release()=0
Releases all the resources occupied by the IVideoDeviceManager object.
agora::rtc::InjectStreamConfig::audioBitrate
int audioBitrate
Definition: IAgoraRtcEngine.h:777
agora::rtc::ChannelMediaOptions::~ChannelMediaOptions
~ChannelMediaOptions()
Definition: IAgoraRtcEngine.h:1536
agora::rtc::VIDEO_PROFILE_LANDSCAPE_720P
@ VIDEO_PROFILE_LANDSCAPE_720P
Definition: IAgoraRtcEngine.h:12461
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
Enables/Disables the virtual background.
agora::rtc::IRtcEngine::enableEncryption
virtual int enableEncryption(bool enabled, const EncryptionConfig &config)=0
Enables or disables the built-in encryption.
agora::rtc::AAudioDeviceManager::AAudioDeviceManager
AAudioDeviceManager(IRtcEngine *engine)
Definition: IAgoraRtcEngine.h:12558
agora::rtc::AdvancedAudioOptions::AdvancedAudioOptions
AdvancedAudioOptions()
Definition: IAgoraRtcEngine.h:1217
agora::rtc::IRtcEngine::setChannelProfile
virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile)=0
Sets the channel profile.
agora::rtc::DirectCdnStreamingStats::videoHeight
int videoHeight
Definition: IAgoraRtcEngine.h:4358
agora::rtc::RtcEngineContext::domainLimit
bool domainLimit
Definition: IAgoraRtcEngine.h:4148
agora::rtc::VIDEO_PROFILE_LANDSCAPE_240P_3
@ VIDEO_PROFILE_LANDSCAPE_240P_3
Definition: IAgoraRtcEngine.h:12425
agora::rtc::IRtcEngineEventHandler::onVideoPublishStateChanged
virtual void onVideoPublishStateChanged(VIDEO_SOURCE_TYPE source, const char *channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)
Occurs when the video publishing state changes.
Definition: IAgoraRtcEngine.h:3538
agora::rtc::IRtcEngine::sendRdtMessage
virtual int sendRdtMessage(uid_t uid, RdtStreamType type, const char *data, size_t length)=0
Send Reliable message to remote uid in channel.
agora::rtc::RtcEngineContext::useExternalEglContext
bool useExternalEglContext
Definition: IAgoraRtcEngine.h:4138
AgoraBase.h
agora::rtc::IRtcEngine::adjustCustomAudioPlayoutVolume
virtual int adjustCustomAudioPlayoutVolume(track_id_t trackId, int volume)=0
Adjusts the volume of the custom audio track played locally.
agora::rtc::INJECT_STREAM_STATUS_STOP_NOT_FOUND
@ INJECT_STREAM_STATUS_STOP_NOT_FOUND
Definition: IAgoraRtcEngine.h:174
agora::rtc::ChannelMediaOptions::publishMicrophoneTrack
Optional< bool > publishMicrophoneTrack
Definition: IAgoraRtcEngine.h:1286
agora::rtc::IMetadataObserver::Metadata::size
unsigned int size
Definition: IAgoraRtcEngine.h:4212
agora::rtc::IRtcEngineEventHandler::onCameraFocusAreaChanged
virtual void onCameraFocusAreaChanged(int x, int y, int width, int height)
Occurs when the camera focus area changes.
Definition: IAgoraRtcEngine.h:2604
agora::rtc::AGORA_IID_AUDIO_DEVICE_MANAGER
@ AGORA_IID_AUDIO_DEVICE_MANAGER
Definition: AgoraBase.h:909
agora::rtc::USER_OFFLINE_REASON_TYPE
USER_OFFLINE_REASON_TYPE
Reasons for a user being offline.
Definition: AgoraBase.h:884
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P
@ VIDEO_PROFILE_PORTRAIT_360P
Definition: IAgoraRtcEngine.h:12499
agora::rtc::uid_t
unsigned int uid_t
Definition: AgoraMediaBase.h:28
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::VIDEO_PROFILE_DEFAULT
@ VIDEO_PROFILE_DEFAULT
Definition: IAgoraRtcEngine.h:12553
agora::rtc::LOCAL_VIDEO_EVENT_TYPE
LOCAL_VIDEO_EVENT_TYPE
The local video event type.
Definition: AgoraBase.h:3513
agora::rtc::MEDIA_DEVICE_STATE_IDLE
@ MEDIA_DEVICE_STATE_IDLE
Definition: IAgoraRtcEngine.h:12386
agora::rtc::VideoCompositingLayout::canvasHeight
int canvasHeight
Definition: IAgoraRtcEngine.h:719
agora::rtc::VIDEO_PROFILE_PORTRAIT_180P_4
@ VIDEO_PROFILE_PORTRAIT_180P_4
Definition: IAgoraRtcEngine.h:12491
agora::rtc::ChannelMediaOptions::token
Optional< const char * > token
Definition: IAgoraRtcEngine.h:1454
agora::rtc::RemoteAudioStats::numChannels
int numChannels
Definition: IAgoraRtcEngine.h:461
agora::rtc::RemoteVideoStats::packetLossRate
int packetLossRate
Definition: IAgoraRtcEngine.h:624
AgoraRhythmPlayerConfig
The metronome configuration.
Definition: AgoraObjects.h:3980
agora::media::IAudioSpectrumObserver
Definition: AgoraMediaBase.h:1873
agora::rtc::QUALITY_ADAPT_INDICATION
QUALITY_ADAPT_INDICATION
Quality change of the local video in terms of target frame rate and target bit rate since last count.
Definition: AgoraBase.h:2966
agora::rtc::IRtcEngine::stopLastmileProbeTest
virtual int stopLastmileProbeTest()=0
Stops the last mile network probe test.
agora::rtc::PublisherConfiguration::injectStreamUrl
const char * injectStreamUrl
Definition: IAgoraRtcEngine.h:852
agora::rtc::VIDEO_APPLICATION_SCENARIO_TYPE
VIDEO_APPLICATION_SCENARIO_TYPE
The video application scenarios.
Definition: AgoraBase.h:3257
agora::rtc::PublisherConfiguration::injectStreamWidth
int injectStreamWidth
Definition: IAgoraRtcEngine.h:846
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)
Occurs when the user role or the audience latency level changes.
Definition: IAgoraRtcEngine.h:3114
agora::rtc::IRtcEngine::startPreview
virtual int startPreview(VIDEO_SOURCE_TYPE sourceType)=0
Enables the local video preview and specifies the video source for the preview.
agora::rtc::VideoCompositingLayout::Region::y
double y
Definition: IAgoraRtcEngine.h:680
agora::rtc::IRtcEngine::getCurrentMonotonicTimeInMs
virtual int64_t getCurrentMonotonicTimeInMs()=0
Gets the current Monotonic Time of the SDK.
agora::rtc::IRtcEngineEventHandler::~IRtcEngineEventHandler
virtual ~IRtcEngineEventHandler()
Definition: IAgoraRtcEngine.h:1793
agora::rtc::IRtcEngineEventHandler::onLocalVideoStats
virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats &stats)
Reports the statistics of the local video stream.
Definition: IAgoraRtcEngine.h:2561
agora::rtc::ExtensionInfo
Definition: IAgoraRtcEngine.h:4524
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:12479
agora::rtc::RemoteVideoStats::totalActiveTime
int totalActiveTime
Definition: IAgoraRtcEngine.h:651
agora::rtc::IRtcEngineEventHandler::onUserInfoUpdated
virtual void onUserInfoUpdated(uid_t uid, const UserInfo &info)
Occurs when the SDK gets the user ID and user account of the remote user.
Definition: IAgoraRtcEngine.h:3409
agora::rtc::ImageTrackOptions::mirrorMode
VIDEO_MIRROR_MODE_TYPE mirrorMode
Definition: IAgoraRtcEngine.h:1236
agora::rtc::RemoteAudioStats::totalFrozenTime
int totalFrozenTime
Definition: IAgoraRtcEngine.h:474
agora::rtc::LocalAccessPointConfiguration
Configuration for the Local Access Point.
Definition: AgoraBase.h:7872
agora::rtc::IRtcEngineEventHandler::onExtensionStoppedWithContext
virtual void onExtensionStoppedWithContext(const ExtensionContext &context)
Occurs when the extension is disabled.
Definition: IAgoraRtcEngine.h:3626
agora::rtc::CAMERA_REAR
@ CAMERA_REAR
Definition: IAgoraRtcEngine.h:888
agora::media::base::RENDER_MODE_HIDDEN
@ RENDER_MODE_HIDDEN
Definition: AgoraMediaBase.h:592
agora::rtc::IRtcEngine::adjustUserPlaybackSignalVolume
virtual int adjustUserPlaybackSignalVolume(uid_t uid, int volume)=0
Adjusts the playback signal volume of a specified remote user.
agora::rtc::MEDIA_DEVICE_STATE_UNPLUGGED
@ MEDIA_DEVICE_STATE_UNPLUGGED
Definition: IAgoraRtcEngine.h:12408
agora::rtc::AUDIO_MIXING_REASON_TOO_FREQUENT_CALL
@ AUDIO_MIXING_REASON_TOO_FREQUENT_CALL
Definition: IAgoraRtcEngine.h:118
agora::rtc::RemoteAudioStats::receivedBitrate
int receivedBitrate
Definition: IAgoraRtcEngine.h:469
agora::rtc::IMetadataObserver::getMaxMetadataSize
virtual int getMaxMetadataSize()
Occurs when the SDK requests the maximum size of the metadata.
Definition: IAgoraRtcEngine.h:4237
agora::rtc::RtcEngineContext::threadPriority
Optional< THREAD_PRIORITY_TYPE > threadPriority
Definition: IAgoraRtcEngine.h:4129
agora::rtc::VIDEO_PROFILE_PORTRAIT_720P_5
@ VIDEO_PROFILE_PORTRAIT_720P_5
Definition: IAgoraRtcEngine.h:12535
agora::rtc::IRtcEngine::setFaceShapeBeautyOptions
virtual int setFaceShapeBeautyOptions(bool enabled, const FaceShapeBeautyOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
Sets the face shape options and specifies the media source.
agora::rtc::INJECT_STREAM_STATUS_START_SUCCESS
@ INJECT_STREAM_STATUS_START_SUCCESS
Definition: IAgoraRtcEngine.h:150
agora::rtc::LiveTranscoding
Transcoding configurations for Media Push.
Definition: AgoraBase.h:4553
agora::rtc::IRtcEngineEventHandler::onLocalUserRegistered
virtual void onLocalUserRegistered(uid_t uid, const char *userAccount)
Occurs when the local user registers a user account.
Definition: IAgoraRtcEngine.h:3392
agora::rtc::IRtcEngineEventHandler::onRdtMessage
virtual void onRdtMessage(uid_t userId, RdtStreamType type, const char *data, size_t length)
Occurs when the local user receives data via Reliable Data Transmission (RDT) from a remote user.
Definition: IAgoraRtcEngine.h:2833
agora::rtc::IRtcEngineEventHandler::onVideoStopped
virtual void onVideoStopped() 1
Occurs when the video stops playing.
Definition: IAgoraRtcEngine.h:2691
agora::rtc::ChannelMediaOptions::autoSubscribeVideo
Optional< bool > autoSubscribeVideo
Definition: IAgoraRtcEngine.h:1400
agora::AUDIO_SESSION_OPERATION_RESTRICTION
AUDIO_SESSION_OPERATION_RESTRICTION
The operation permissions of the SDK on the audio session.
Definition: AgoraBase.h:824
agora::rtc::RemoteVideoStats::decoderOutputFrameRate
int decoderOutputFrameRate
Definition: IAgoraRtcEngine.h:612
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:12413
agora::rtc::Rectangle
The location of the target area relative to the screen or window. If you do not set this parameter,...
Definition: AgoraBase.h:2342
agora::rtc::IRtcEngineEventHandler::onUserOffline
virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason)
Occurs when a remote user (in the communication profile)/ host (in the live streaming profile) leaves...
Definition: IAgoraRtcEngine.h:2422
agora::rtc::CameraCapturerConfiguration::format
VideoFormat format
Definition: IAgoraRtcEngine.h:987
agora::rtc::AUDIO_SAMPLE_RATE_48000
@ AUDIO_SAMPLE_RATE_48000
Definition: AgoraBase.h:4109
agora::rtc::ChannelMediaOptions::operator=
ChannelMediaOptions & operator=(const ChannelMediaOptions &replace)
Definition: IAgoraRtcEngine.h:1650
agora::rtc::ScreenCaptureConfiguration::regionRect
Rectangle regionRect
Definition: IAgoraRtcEngine.h:1025
agora::rtc::DirectCdnStreamingStats::audioBitrate
int audioBitrate
Definition: IAgoraRtcEngine.h:4373
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
Unregisters the audio spectrum observer.
agora::rtc::ChannelMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition: IAgoraRtcEngine.h:1350
agora::rtc::IRtcEngine::setColorEnhanceOptions
virtual int setColorEnhanceOptions(bool enabled, const ColorEnhanceOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
Sets color enhancement.
agora::rtc::IRtcEngineEventHandler::onAudioPublishStateChanged
virtual void onAudioPublishStateChanged(const char *channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)
Occurs when the audio publishing state changes.
Definition: IAgoraRtcEngine.h:3521
agora::rtc::INJECT_STREAM_STATUS_STOP_TIMEDOUT
@ INJECT_STREAM_STATUS_STOP_TIMEDOUT
Definition: IAgoraRtcEngine.h:182
agora::rtc::InjectStreamConfig::audioChannels
int audioChannels
Definition: IAgoraRtcEngine.h:780
AGORA_CPP_API
#define AGORA_CPP_API
Definition: AgoraBase.h:71
agora::rtc::QUALITY_REPORT_FORMAT_TYPE
QUALITY_REPORT_FORMAT_TYPE
Definition: IAgoraRtcEngine.h:12370
agora::rtc::IRtcEngineEventHandler::onVideoSubscribeStateChanged
virtual void onVideoSubscribeStateChanged(const char *channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState)
Occurs when the video subscribing state changes.
Definition: IAgoraRtcEngine.h:3504
agora::rtc::IRtcEngineEventHandler::onAudioQuality
virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay, unsigned short lost) 1
Reports the statistics of the audio stream sent by each remote user.
Definition: IAgoraRtcEngine.h:1905
agora::rtc::ChannelMediaOptions::customVideoTrackId
Optional< video_track_id_t > customVideoTrackId
Definition: IAgoraRtcEngine.h:1487
agora::rtc::IRtcEngine::setVoiceConversionPreset
virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset)=0
Sets a preset voice beautifier effect.
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_6
@ VIDEO_PROFILE_LANDSCAPE_480P_6
Definition: IAgoraRtcEngine.h:12453
agora::rtc::InjectStreamConfig::InjectStreamConfig
InjectStreamConfig()
Definition: IAgoraRtcEngine.h:784
agora::rtc::IRtcEngine::unregisterEventHandler
virtual bool unregisterEventHandler(IRtcEngineEventHandler *eventHandler)=0
agora::rtc::IMetadataObserver::Metadata::uid
unsigned int uid
Definition: IAgoraRtcEngine.h:4208
agora::rtc::IRtcEngine::complain
virtual int complain(const char *callId, const char *description)=0
Allows a user to complain about the call quality after a call ends.
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_8
@ VIDEO_PROFILE_PORTRAIT_360P_8
Definition: IAgoraRtcEngine.h:12509
agora::rtc::IRtcEngineEventHandler::onRtmpStreamingEvent
virtual void onRtmpStreamingEvent(const char *url, RTMP_STREAMING_EVENT eventCode)
Reports events during the Media Push.
Definition: IAgoraRtcEngine.h:3189
agora::rtc::AUDIO_EQUALIZATION_BAND_250
@ AUDIO_EQUALIZATION_BAND_250
Definition: IAgoraRtcEngine.h:212
agora::util::AutoPtr
Definition: AgoraBase.h:100
agora::rtc::IRtcEngine::startRhythmPlayer
virtual int startRhythmPlayer(const char *sound1, const char *sound2, const AgoraRhythmPlayerConfig &config)=0
Enables the virtual metronome.
agora::rtc::IRtcEngine::queryInterface
virtual int queryInterface(INTERFACE_ID_TYPE iid, void **inter)=0
Gets the pointer to the specified interface.
agora::rtc::VOICE_AI_TUNER_TYPE
VOICE_AI_TUNER_TYPE
Voice AI tuner sound types.
Definition: AgoraBase.h:6397
agora::rtc::HTTPS_PROXY_TYPE
@ HTTPS_PROXY_TYPE
Definition: IAgoraRtcEngine.h:1738
agora::rtc::RemoteVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition: IAgoraRtcEngine.h:616
agora::rtc::AdvancedAudioOptions::audioProcessingChannels
Optional< int > audioProcessingChannels
Definition: IAgoraRtcEngine.h:1215
agora::rtc::IRtcEngineEventHandler::onCameraExposureAreaChanged
virtual void onCameraExposureAreaChanged(int x, int y, int width, int height)
Occurs when the camera exposure area changes.
Definition: IAgoraRtcEngine.h:2625
agora::rtc::IRtcEngine::setHeadphoneEQParameters
virtual int setHeadphoneEQParameters(int lowGain, int highGain)=0
Sets the low- and high-frequency parameters of the headphone equalizer.
agora::rtc::VideoCompositingLayout::Region::x
double x
Definition: IAgoraRtcEngine.h:677
agora::rtc::LOCAL_VIDEO_STREAM_REASON
LOCAL_VIDEO_STREAM_REASON
Reasons for local video state changes.
Definition: AgoraBase.h:3535
agora::rtc::RemoteAudioStats::qualityChangedReason
int qualityChangedReason
Definition: IAgoraRtcEngine.h:538
agora::rtc::IRtcEngine::enableSoundPositionIndication
virtual int enableSoundPositionIndication(bool enabled)=0
Enables or disables stereo panning for remote users.
agora::view_t
void * view_t
Definition: AgoraBase.h:850
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1440P_2
@ VIDEO_PROFILE_LANDSCAPE_1440P_2
Definition: IAgoraRtcEngine.h:12477
agora::rtc::AUDIO_MIXING_REASON_STOPPED_BY_USER
@ AUDIO_MIXING_REASON_STOPPED_BY_USER
Definition: IAgoraRtcEngine.h:134
agora::rtc::IRtcEngine::startLocalAudioMixer
virtual int startLocalAudioMixer(const LocalAudioMixerConfiguration &config)=0
Starts local audio mixing.
agora::rtc::IRtcEngine::setCloudProxy
virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType)=0
Sets up cloud proxy service.
agora::rtc::VideoEncoderConfiguration
Video encoder configurations.
Definition: AgoraBase.h:2057
agora::rtc::RemoteAudioStats::quality
int quality
Definition: IAgoraRtcEngine.h:443
agora::rtc::IRtcEngineEventHandler
Definition: IAgoraRtcEngine.h:1791
agora::rtc::LocalVideoStats::encodedFrameHeight
int encodedFrameHeight
Definition: IAgoraRtcEngine.h:367
agora::rtc::IRtcEngine::muteRemoteAudioStream
virtual int muteRemoteAudioStream(uid_t uid, bool mute)=0
Stops or resumes subscribing to the audio stream of a specified user.
agora::rtc::IRtcEngineEventHandler::onAudioMetadataReceived
virtual void onAudioMetadataReceived(uid_t uid, const char *metadata, size_t length)
Definition: IAgoraRtcEngine.h:3581
agora::rtc::AUDIO_REVERB_WET_DELAY
@ AUDIO_REVERB_WET_DELAY
Definition: IAgoraRtcEngine.h:258
agora::rtc::PRIORITY_TYPE
PRIORITY_TYPE
Definition: IAgoraRtcEngine.h:296
agora::rtc::INJECT_STREAM_STATUS_BROKEN
@ INJECT_STREAM_STATUS_BROKEN
Definition: IAgoraRtcEngine.h:190
agora::rtc::VOICE_CONVERSION_PRESET
VOICE_CONVERSION_PRESET
The options for SDK preset voice conversion effects.
Definition: AgoraBase.h:6315
agora::rtc::IRtcEngineEventHandler::onUserEnableVideo
virtual void onUserEnableVideo(uid_t uid, bool enabled)
Occurs when a remote user enables or disables the video module.
Definition: IAgoraRtcEngine.h:2486
agora::rtc::LocalVideoStats::dualStreamEnabled
bool dualStreamEnabled
Definition: IAgoraRtcEngine.h:412
agora::rtc::IRtcEngine::setLogFilter
virtual int setLogFilter(unsigned int filter)=0
Sets the log output level of the SDK.
agora::rtc::VIDEO_BEAUTY_EFFECT
@ VIDEO_BEAUTY_EFFECT
Definition: IAgoraRtcEngine.h:1752
agora::rtc::ChannelMediaOptions::publishTranscodedVideoTrack
Optional< bool > publishTranscodedVideoTrack
Definition: IAgoraRtcEngine.h:1376
agora::rtc::VIDEO_MODULE_TYPE
VIDEO_MODULE_TYPE
Definition: AgoraBase.h:1942
agora::rtc::IRtcEngine::startPreview
virtual int startPreview()=0
Enables the local video preview.
agora::rtc::IRtcEngine::enableVideoImageSource
virtual int enableVideoImageSource(bool enable, const ImageTrackOptions &options)=0
Sets whether to replace the current video feeds with images when publishing video streams.
agora::rtc::VideoSubscriptionOptions
Video subscription options.
Definition: AgoraBase.h:1705
agora::rtc::VideoCompositingLayout::Region::width
double width
Definition: IAgoraRtcEngine.h:684
agora::rtc::DIRECT_CDN_STREAMING_STATE
DIRECT_CDN_STREAMING_STATE
The current CDN streaming state.
Definition: IAgoraRtcEngine.h:4311
agora::rtc::LocalVideoStats::regulatedCaptureFrameHeight
int regulatedCaptureFrameHeight
Definition: IAgoraRtcEngine.h:355
agora::rtc::LocalVideoStats::regulatedCaptureFrameRate
int regulatedCaptureFrameRate
Definition: IAgoraRtcEngine.h:343
agora::rtc::VOICE_BEAUTIFIER_PRESET
VOICE_BEAUTIFIER_PRESET
The options for SDK preset voice beautifier effects.
Definition: AgoraBase.h:6112
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1440P
@ VIDEO_PROFILE_LANDSCAPE_1440P
Definition: IAgoraRtcEngine.h:12475
agora::rtc::IRtcEngine::setScreenCaptureOrientation
virtual int setScreenCaptureOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation)=0
agora::rtc::CLOUD_PROXY_TYPE
CLOUD_PROXY_TYPE
The cloud proxy type.
Definition: IAgoraRtcEngine.h:900
agora::rtc::RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL
@ RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL
Definition: IAgoraRtcEngine.h:803
agora::rtc::IRtcEngine::joinChannel
virtual int joinChannel(const char *token, const char *channelId, const char *info, uid_t uid)=0
Joins a channel.
agora::rtc::PublisherConfiguration::extraInfo
const char * extraInfo
Definition: IAgoraRtcEngine.h:863
agora::rtc::EchoTestConfiguration
The configuration of the audio and video call loop test.
Definition: AgoraBase.h:7512
agora::rtc::IDirectCdnStreamingEventHandler::onDirectCdnStreamingStateChanged
virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_REASON reason, const char *message)
Occurs when the CDN streaming state changes.
Definition: IAgoraRtcEngine.h:4400
agora::rtc::RtcImage
Image properties.
Definition: AgoraBase.h:4358
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_11
@ VIDEO_PROFILE_PORTRAIT_360P_11
Definition: IAgoraRtcEngine.h:12515
agora::rtc::AUDIO_SCENARIO_DEFAULT
@ AUDIO_SCENARIO_DEFAULT
Definition: AgoraBase.h:3129
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_5
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_5
Definition: IAgoraRtcEngine.h:292
agora::rtc::IRtcEngineEventHandler::onError
virtual void onError(int err, const char *msg)
Reports an error during SDK runtime.
Definition: IAgoraRtcEngine.h:1882
agora::rtc::IRtcEngineEventHandler::onVideoRenderingTracingResult
virtual void onVideoRenderingTracingResult(uid_t uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo)
Video frame rendering event callback.
Definition: IAgoraRtcEngine.h:3441
agora::media::PRIMARY_CAMERA_SOURCE
@ PRIMARY_CAMERA_SOURCE
Definition: AgoraMediaBase.h:295
agora::rtc::ChannelMediaOptions::publishSecondaryCameraTrack
Optional< bool > publishSecondaryCameraTrack
Definition: IAgoraRtcEngine.h:1266
agora::rtc::ChannelMediaOptions::publishEncodedVideoTrack
Optional< bool > publishEncodedVideoTrack
Definition: IAgoraRtcEngine.h:1356
agora::rtc::IRtcEngineEventHandler::onContentInspectResult
virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result)
Definition: IAgoraRtcEngine.h:3057
agora::rtc::IRtcEngineEventHandler::onAudioVolumeIndication
virtual void onAudioVolumeIndication(const AudioVolumeInfo *speakers, unsigned int speakerNumber, int totalVolume)
Reports the volume information of users.
Definition: IAgoraRtcEngine.h:1962
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_9
@ VIDEO_PROFILE_LANDSCAPE_360P_9
Definition: IAgoraRtcEngine.h:12441
agora::rtc::IRtcEngine::preloadChannel
virtual int preloadChannel(const char *token, const char *channelId, uid_t uid)=0
Preloads a channel with token, channelId, and uid.
agora::rtc::HTTP_PROXY_TYPE
@ HTTP_PROXY_TYPE
Definition: IAgoraRtcEngine.h:1735
agora::rtc::IRtcEngineEventHandler::onUserEnableLocalVideo
virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) 1
Occurs when a specific remote user enables/disables the local video capturing function.
Definition: IAgoraRtcEngine.h:2517
agora::rtc::IRtcEngine::getNetworkType
virtual int getNetworkType()=0
Gets the type of the local network connection.
agora::rtc::AUDIO_REVERB_STRENGTH
@ AUDIO_REVERB_STRENGTH
Definition: IAgoraRtcEngine.h:262
agora::rtc::ChannelMediaOptions::publishCustomAudioTrackId
Optional< int > publishCustomAudioTrackId
Definition: IAgoraRtcEngine.h:1344
agora::rtc::SimulcastStreamConfig
The configuration of the low-quality video stream.
Definition: AgoraBase.h:2230
agora::rtc::RemoteVideoStats::totalFrozenTime
int totalFrozenTime
Definition: IAgoraRtcEngine.h:634
agora::rtc::IRtcEngineEventHandler::onUploadLogResult
virtual void onUploadLogResult(const char *requestId, bool success, UPLOAD_ERROR_REASON reason)
Definition: IAgoraRtcEngine.h:3470
agora::rtc::FaceShapeBeautyOptions
The facial enhancement style options.
Definition: AgoraBase.h:5675
agora::rtc::PRIORITY_NORMAL
@ PRIORITY_NORMAL
Definition: IAgoraRtcEngine.h:302
agora::rtc::IRtcEngine::setEarMonitoringAudioFrameParameters
virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
Sets the format of the in-ear monitoring raw audio data.
agora::rtc::CameraCapturerConfiguration::followEncodeDimensionRatio
Optional< bool > followEncodeDimensionRatio
Definition: IAgoraRtcEngine.h:983
agora::rtc::IRtcEngineEventHandler::onRejoinChannelSuccess
virtual void onRejoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Occurs when a user rejoins the channel.
Definition: IAgoraRtcEngine.h:1837
agora::rtc::VIDEO_CONTENT_HINT
VIDEO_CONTENT_HINT
The content hint for screen sharing.
Definition: AgoraBase.h:3210
agora::rtc::IRtcEngine::muteAllRemoteVideoStreams
virtual int muteAllRemoteVideoStreams(bool mute)=0
Stops or resumes subscribing to the video streams of all remote users.
agora::rtc::IRtcEngine::createDataStream
virtual int createDataStream(int *streamId, bool reliable, bool ordered)=0
Creates a data stream.
agora::rtc::VIDEO_PROFILE_PORTRAIT_180P
@ VIDEO_PROFILE_PORTRAIT_180P
Definition: IAgoraRtcEngine.h:12487
agora::rtc::ChannelMediaOptions::preferMultipathType
Optional< MultipathType > preferMultipathType
Definition: IAgoraRtcEngine.h:1533
agora::rtc::ChannelMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition: IAgoraRtcEngine.h:1339
agora::rtc::PublisherConfiguration::publishUrl
const char * publishUrl
Definition: IAgoraRtcEngine.h:856
agora::rtc::RemoteAudioStats::frozenTimeByCustom
uint32_t frozenTimeByCustom
Definition: IAgoraRtcEngine.h:517
agora::rtc::IRtcEngine::getErrorDescription
virtual const char * getErrorDescription(int code)=0
Gets the warning or error description.
agora::rtc::IMetadataObserver::Metadata::channelId
const char * channelId
Definition: IAgoraRtcEngine.h:4202
agora::rtc::VIDEO_MIRROR_MODE_TYPE
VIDEO_MIRROR_MODE_TYPE
Video mirror mode.
Definition: AgoraBase.h:1912
agora::rtc::PublisherConfiguration::owner
bool owner
Definition: IAgoraRtcEngine.h:843
agora::rtc::IMetadataObserver::onReadyToSendMetadata
virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type)=0
Occurs when the SDK is ready to send metadata.
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_9
@ VIDEO_PROFILE_PORTRAIT_360P_9
Definition: IAgoraRtcEngine.h:12511
agora::rtc::ExtensionInfo::remoteUid
uid_t remoteUid
Definition: IAgoraRtcEngine.h:4535
agora::rtc::ExtensionContext
The context information of the extension.
Definition: AgoraMediaBase.h:41
agora::rtc::IRtcEngine::enableDualStreamMode
virtual int enableDualStreamMode(bool enabled, const SimulcastStreamConfig &streamConfig) 1=0
Sets the dual-stream mode on the sender side and the low-quality video stream.
agora::rtc::IRtcEngineEventHandler::onRemoteVideoStats
virtual void onRemoteVideoStats(const RemoteVideoStats &stats)
Reports the statistics of the video stream sent by each remote users.
Definition: IAgoraRtcEngine.h:2577
agora::rtc::VIDEO_PROFILE_PORTRAIT_1080P
@ VIDEO_PROFILE_PORTRAIT_1080P
Definition: IAgoraRtcEngine.h:12539
agora::rtc::ChannelMediaOptions::publishScreenCaptureVideo
Optional< bool > publishScreenCaptureVideo
Definition: IAgoraRtcEngine.h:1302
agora::rtc::IRtcEngine::destroyCustomVideoTrack
virtual int destroyCustomVideoTrack(video_track_id_t video_track_id)=0
Destroys the specified video track.
agora::rtc::VideoCompositingLayout::Region::renderMode
media::base::RENDER_MODE_TYPE renderMode
Definition: IAgoraRtcEngine.h:697
agora::rtc::RemoteAudioStats::frozenRateByCustomPlcCount
uint32_t frozenRateByCustomPlcCount
Definition: IAgoraRtcEngine.h:501
agora::rtc::IRtcEngine::enableInstantMediaRendering
virtual int enableInstantMediaRendering()=0
Enables audio and video frame instant rendering.
agora::rtc::VIDEO_PROFILE_PORTRAIT_1080P_5
@ VIDEO_PROFILE_PORTRAIT_1080P_5
Definition: IAgoraRtcEngine.h:12543
agora::rtc::LocalVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition: IAgoraRtcEngine.h:371
agora::rtc::AUDIO_MIXING_STATE_FAILED
@ AUDIO_MIXING_STATE_FAILED
Definition: IAgoraRtcEngine.h:101
agora::rtc::CLIENT_ROLE_TYPE
CLIENT_ROLE_TYPE
The user role in the interactive live streaming.
Definition: AgoraBase.h:2951
agora::rtc::IMetadataObserver
Definition: IAgoraRtcEngine.h:4166
agora::rtc::IRtcEngineEventHandler::onStreamMessageError
virtual void onStreamMessageError(uid_t uid, int streamId, int code, int missed, int cached)
Occurs when the local user does not receive the data stream from the remote user.
Definition: IAgoraRtcEngine.h:2812
agora::rtc::IRtcEngine::getCallId
virtual int getCallId(agora::util::AString &callId)=0
Retrieves the call ID.
agora::rtc::IRtcEngine::createMediaRecorder
virtual agora_refptr< IMediaRecorder > createMediaRecorder(const RecorderStreamInfo &info)=0
Creates an audio and video recording object.
agora
Definition: AgoraAtomicOps.h:21
agora::rtc::HDR_CAPABILITY
HDR_CAPABILITY
Definition: AgoraBase.h:1957
agora::rtc::ChannelMediaOptions::enableMultipath
Optional< bool > enableMultipath
Definition: IAgoraRtcEngine.h:1512
agora::rtc::NONE_PROXY
@ NONE_PROXY
Definition: IAgoraRtcEngine.h:905
agora::rtc::IRtcEngine::setSubscribeVideoAllowlist
virtual int setSubscribeVideoAllowlist(uid_t *uidList, int uidNumber)=0
Sets the allowlist of subscriptions for video streams.
agora::rtc::IRtcEngine::enableVoiceAITuner
virtual int enableVoiceAITuner(bool enabled, VOICE_AI_TUNER_TYPE type)=0
Enables or disables the voice AI tuner.
agora::rtc::RemoteAudioStats::mosValue
int mosValue
Definition: IAgoraRtcEngine.h:496
agora::rtc::RemoteVideoStats::receivedBitrate
int receivedBitrate
Definition: IAgoraRtcEngine.h:605
agora::rtc::ColorEnhanceOptions
The color enhancement options.
Definition: AgoraBase.h:5862
agora::rtc::INJECT_STREAM_STATUS_START_ALREADY_EXISTS
@ INJECT_STREAM_STATUS_START_ALREADY_EXISTS
Definition: IAgoraRtcEngine.h:154
agora::rtc::VIDEO_PROFILE_PORTRAIT_240P
@ VIDEO_PROFILE_PORTRAIT_240P
Definition: IAgoraRtcEngine.h:12493
agora::rtc::IRtcEngine::release
static AGORA_CPP_API void release(RtcEngineReleaseCallback callback=nullptr)
Releases the IRtcEngine instance.
agora::rtc::CAMERA_FRONT
@ CAMERA_FRONT
Definition: IAgoraRtcEngine.h:892
agora::rtc::PublisherConfiguration::framerate
int framerate
Definition: IAgoraRtcEngine.h:825
agora::rtc::VIDEO_PROFILE_PORTRAIT_240P_3
@ VIDEO_PROFILE_PORTRAIT_240P_3
Definition: IAgoraRtcEngine.h:12495
agora::rtc::ENCRYPTION_ERROR_TYPE
ENCRYPTION_ERROR_TYPE
Encryption error type.
Definition: AgoraBase.h:7350
agora::rtc::AUDIO_VIRTUAL_PLAYOUT_DEVICE
@ AUDIO_VIRTUAL_PLAYOUT_DEVICE
Definition: IAgoraRtcEngine.h:68
agora::rtc::CAPTURE_BRIGHTNESS_LEVEL_TYPE
CAPTURE_BRIGHTNESS_LEVEL_TYPE
The brightness level of the video image captured by the local camera.
Definition: AgoraBase.h:3346
agora::rtc::IRtcEngineEventHandler::onSnapshotTaken
virtual void onSnapshotTaken(uid_t uid, const char *filePath, int width, int height, int errCode)
Reports the result of taking a video snapshot.
Definition: IAgoraRtcEngine.h:3083
agora::rtc::IRtcEngine::registerMediaMetadataObserver
virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type)=0
Registers the metadata observer.
agora::rtc::UplinkNetworkInfo
The uplink network information.
Definition: AgoraBase.h:7106
agora::rtc::ScreenCaptureConfiguration::displayId
int64_t displayId
Definition: IAgoraRtcEngine.h:1004
agora::rtc::IRtcEngine::stopChannelMediaRelay
virtual int stopChannelMediaRelay()=0
Stops the media stream relay. Once the relay stops, the host quits all the target channels.
agora::rtc::PublisherConfiguration::bitrate
int bitrate
Definition: IAgoraRtcEngine.h:829
agora::rtc::IRtcEngine::updatePreloadChannelToken
virtual int updatePreloadChannelToken(const char *token)=0
Updates the wildcard token for preloading channels.
agora::rtc::IRtcEngine::getNtpWallTimeInMs
virtual uint64_t getNtpWallTimeInMs()=0
Gets the current NTP (Network Time Protocol) time.
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:140
agora::rtc::RemoteVideoStats::frozenRate
int frozenRate
Definition: IAgoraRtcEngine.h:640
agora::rtc::IRtcEngine::adjustLoopbackSignalVolume
virtual int adjustLoopbackSignalVolume(int volume)=0
Adjusts the volume of the signal captured by the sound card.
agora::rtc::VIDEO_PROFILE_LANDSCAPE_180P_3
@ VIDEO_PROFILE_LANDSCAPE_180P_3
Definition: IAgoraRtcEngine.h:12419
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:4298
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_8
@ VIDEO_PROFILE_LANDSCAPE_480P_8
Definition: IAgoraRtcEngine.h:12455
agora::rtc::AVideoDeviceManager
Definition: IAgoraRtcEngine.h:12563
agora::rtc::ChannelMediaOptions::publishFourthCameraTrack
Optional< bool > publishFourthCameraTrack
Definition: IAgoraRtcEngine.h:1280
agora::rtc::IRtcEngine::setSubscribeAudioAllowlist
virtual int setSubscribeAudioAllowlist(uid_t *uidList, int uidNumber)=0
Sets the allowlist of subscriptions for audio streams.
agora::rtc::SIMULCAST_STREAM_MODE
SIMULCAST_STREAM_MODE
The mode in which the video stream is sent.
Definition: AgoraBase.h:2210
agora::rtc::CameraCapturerConfiguration::deviceId
Optional< const char * > deviceId
Definition: IAgoraRtcEngine.h:954
agora::rtc::RemoteAudioStats::publishDuration
int publishDuration
Definition: IAgoraRtcEngine.h:528
agora::rtc::IRtcEngine::setDirectCdnStreamingAudioConfiguration
virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile)=0
Sets the audio profile of the audio streams directly pushed to the CDN by the host.
agora::rtc::VIDEO_PROFILE_LANDSCAPE_180P
@ VIDEO_PROFILE_LANDSCAPE_180P
Definition: IAgoraRtcEngine.h:12417
agora::rtc::LocalTranscoderConfiguration
The configuration of the video mixing on the local client.
Definition: AgoraBase.h:4798
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_9
@ VIDEO_PROFILE_PORTRAIT_480P_9
Definition: IAgoraRtcEngine.h:12527
agora::rtc::IRtcEngine::startMediaRenderingTracing
virtual int startMediaRenderingTracing()=0
Enables tracing the video frame rendering process.
agora::rtc::IRtcEngine::setLocalRenderMode
virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
Updates the display mode of the local video view.
agora::rtc::REMOTE_VIDEO_STATE
REMOTE_VIDEO_STATE
The state of the remote video stream.
Definition: AgoraBase.h:3777
agora::rtc::DirectCdnStreamingMediaOptions::SetAll
void SetAll(const DirectCdnStreamingMediaOptions &change)
Definition: IAgoraRtcEngine.h:4471
agora::rtc::RemoteAudioStats::audioLossRate
int audioLossRate
Definition: IAgoraRtcEngine.h:457
agora::rtc::VIDEO_PROFILE_PORTRAIT_1440P
@ VIDEO_PROFILE_PORTRAIT_1440P
Definition: IAgoraRtcEngine.h:12545
agora::rtc::IRtcEngine::pauseAllChannelMediaRelay
virtual int pauseAllChannelMediaRelay()=0
Pauses the media stream relay to all target channels.
agora::rtc::IMetadataObserver::INVALID_METADATA_SIZE_IN_BYTE
@ INVALID_METADATA_SIZE_IN_BYTE
Definition: IAgoraRtcEngine.h:4189
agora::rtc::RemoteVideoStats::frameLossRate
int frameLossRate
Definition: IAgoraRtcEngine.h:620
agora::rtc::IRtcEngine::selectAudioTrack
virtual int selectAudioTrack(int index)=0
Selects the audio track used during playback.
agora::rtc::InjectStreamConfig::videoFramerate
int videoFramerate
Definition: IAgoraRtcEngine.h:765
agora::rtc::RemoteAudioStats::receivedSampleRate
int receivedSampleRate
Definition: IAgoraRtcEngine.h:465
agora::rtc::IRtcEngine::updateRtmpTranscoding
virtual int updateRtmpTranscoding(const LiveTranscoding &transcoding)=0
Updates the transcoding configuration.
agora::rtc::IPacketObserver
Definition: AgoraBase.h:4032
agora::rtc::LOCAL_VIDEO_STREAM_STATE
LOCAL_VIDEO_STREAM_STATE
Local video state types.
Definition: AgoraBase.h:3489
agora::rtc::CONNECTION_CHANGED_REASON_TYPE
CONNECTION_CHANGED_REASON_TYPE
Reasons causing the change of the connection state.
Definition: AgoraBase.h:5041
agora::rtc::AUDIO_EQUALIZATION_BAND_125
@ AUDIO_EQUALIZATION_BAND_125
Definition: IAgoraRtcEngine.h:208
agora::rtc::IRtcEngine::enableInEarMonitoring
virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters)=0
Enables in-ear monitoring.
agora::rtc::ChannelMediaOptions::isInteractiveAudience
Optional< bool > isInteractiveAudience
Definition: IAgoraRtcEngine.h:1482
agora::rtc::ChannelMediaOptions::enableAudioRecordingOrPlayout
Optional< bool > enableAudioRecordingOrPlayout
Definition: IAgoraRtcEngine.h:1408
agora::rtc::VIDEO_PROFILE_PORTRAIT_120P_3
@ VIDEO_PROFILE_PORTRAIT_120P_3
Definition: IAgoraRtcEngine.h:12485
agora::rtc::RemoteVideoStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:580
agora::rtc::RemoteAudioStats::totalActiveTime
int totalActiveTime
Definition: IAgoraRtcEngine.h:524
agora::rtc::IRtcEngineEventHandler::onProxyConnected
virtual void onProxyConnected(const char *channel, uid_t uid, PROXY_TYPE proxyType, const char *localProxyIp, int elapsed)
Reports the proxy connection state.
Definition: IAgoraRtcEngine.h:1862
agora::rtc::DirectCdnStreamingStats
The statistics of the current CDN streaming.
Definition: IAgoraRtcEngine.h:4349
agora::media::AUDIO_MIXING_DUAL_MONO_MODE
AUDIO_MIXING_DUAL_MONO_MODE
The channel mode.
Definition: IAgoraMediaEngine.h:18
agora::rtc::VideoFormat
The format of the video frame.
Definition: AgoraBase.h:3167
agora::rtc::LocalVideoStats::captureFrameHeight
int captureFrameHeight
Definition: IAgoraRtcEngine.h:337
agora::rtc::AGORA_IID_VIDEO_DEVICE_MANAGER
@ AGORA_IID_VIDEO_DEVICE_MANAGER
Definition: AgoraBase.h:913
agora::rtc::RTMP_STREAM_LIFE_CYCLE_TYPE
RTMP_STREAM_LIFE_CYCLE_TYPE
Lifecycle of the CDN live video stream.
Definition: IAgoraRtcEngine.h:798
agora::rtc::IRtcEngine::setLowlightEnhanceOptions
virtual int setLowlightEnhanceOptions(bool enabled, const LowlightEnhanceOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
Sets low-light enhancement.
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_6
@ VIDEO_PROFILE_PORTRAIT_360P_6
Definition: IAgoraRtcEngine.h:12505
agora::rtc::IRtcEngine::setVideoScenario
virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType)=0
Sets video application scenarios.
agora::rtc::IRtcEngine::getUserInfoByUserAccount
virtual int getUserInfoByUserAccount(const char *userAccount, rtc::UserInfo *userInfo)=0
Gets the user information by passing in the user account.
agora::rtc::IRtcEngine::setLocalVideoMirrorMode
virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) 1=0
Sets the local video mirror mode.
agora::rtc::DataStreamConfig
The configurations for the data stream.
Definition: AgoraBase.h:2185
agora::rtc::IRtcEngineEventHandler::onVideoDeviceStateChanged
virtual void onVideoDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Occurs when the video device state changes.
Definition: IAgoraRtcEngine.h:2074
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:813
agora::rtc::IRtcEngine::enableAudioVolumeIndication
virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad)=0
Enables the reporting of users' volume indication.
agora::rtc::LocalAudioMixerConfiguration
The configurations for mixing the lcoal audio.
Definition: AgoraBase.h:4923
agora::rtc::FaceShapeAreaOptions::FACE_SHAPE_AREA
FACE_SHAPE_AREA
Chooses the specific facial areas that need to be adjusted.
Definition: AgoraBase.h:5472
agora::rtc::IRtcEngine::setAVSyncSource
virtual int setAVSyncSource(const char *channelId, uid_t uid)=0
Sets audio-video synchronization for the sender.
agora::rtc::VIDEO_PROFILE_PORTRAIT_240P_4
@ VIDEO_PROFILE_PORTRAIT_240P_4
Definition: IAgoraRtcEngine.h:12497
agora::rtc::IRtcEngineEventHandler::onUserJoined
virtual void onUserJoined(uid_t uid, int elapsed)
Occurs when a remote user (in the communication profile)/ host (in the live streaming profile) joins ...
Definition: IAgoraRtcEngine.h:2398
agora::rtc::RemoteVideoStats::e2eDelay
int e2eDelay
Definition: IAgoraRtcEngine.h:593
agora::rtc::DirectCdnStreamingMediaOptions::customVideoTrackId
Optional< video_track_id_t > customVideoTrackId
Definition: IAgoraRtcEngine.h:4466
agora::rtc::AUDIO_EQUALIZATION_BAND_8K
@ AUDIO_EQUALIZATION_BAND_8K
Definition: IAgoraRtcEngine.h:232
REPLACE_BY
#define REPLACE_BY(X)
agora::rtc::IRtcEngine::setHeadphoneEQPreset
virtual int setHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset)=0
Sets the preset headphone equalization effect.
agora::rtc::DirectCdnStreamingMediaOptions
The media setting options for the host.
Definition: IAgoraRtcEngine.h:4426
agora::rtc::IRtcEngineEventHandler::onRhythmPlayerStateChanged
virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_REASON reason)
Occurs when the state of virtual metronome changes.
Definition: IAgoraRtcEngine.h:2724
agora::rtc::AdvancedAudioOptions
The advanced options for audio.
Definition: IAgoraRtcEngine.h:1209
agora::rtc::PERMISSION_TYPE
PERMISSION_TYPE
The type of the device permission.
Definition: AgoraBase.h:7430
agora::rtc::AUDIO_MIXING_REASON_INTERRUPTED_EOF
@ AUDIO_MIXING_REASON_INTERRUPTED_EOF
Definition: IAgoraRtcEngine.h:122
agora::rtc::RemoteAudioStats::qoeQuality
int qoeQuality
Definition: IAgoraRtcEngine.h:533
agora::rtc::IRtcEngine::setLogFileSize
virtual int setLogFileSize(unsigned int fileSizeInKBytes)=0
Sets the log file size.
agora::rtc::LocalVideoStats::regulatedCaptureFrameWidth
int regulatedCaptureFrameWidth
Definition: IAgoraRtcEngine.h:349
agora::rtc::IRtcEngineEventHandler::onAudioRoutingChanged
virtual void onAudioRoutingChanged(int routing)
Occurs when the local audio route changes.
Definition: IAgoraRtcEngine.h:3215
agora::rtc::InjectStreamConfig::audioSampleRate
AUDIO_SAMPLE_RATE_TYPE audioSampleRate
Definition: IAgoraRtcEngine.h:773
agora::rtc::IRtcEngine::startAudioRecording
virtual int startAudioRecording(const char *filePath, int sampleRate, AUDIO_RECORDING_QUALITY_TYPE quality)=0
Starts client-side audio recording and sets the recording sample rate.
agora::rtc::VideoCompositingLayout::regions
const Region * regions
Definition: IAgoraRtcEngine.h:726
agora::rtc::IVideoDeviceCollection::~IVideoDeviceCollection
virtual ~IVideoDeviceCollection()
Definition: IAgoraRtcEngine.h:3696
agora::commons::LOG_LEVEL
OPTIONAL_ENUM_CLASS LOG_LEVEL
The output log level of the SDK.
Definition: IAgoraLog.h:33
agora::rtc::IRtcEngine::sendMediaControlMessage
virtual int sendMediaControlMessage(uid_t uid, const char *data, size_t length)=0
Send media control message.
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_2
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_2
Definition: IAgoraRtcEngine.h:289
agora::rtc::AUDIO_MIXING_STATE_PLAYING
@ AUDIO_MIXING_STATE_PLAYING
Definition: IAgoraRtcEngine.h:82
agora::rtc::DIRECT_CDN_STREAMING_STATE_IDLE
@ DIRECT_CDN_STREAMING_STATE_IDLE
Definition: IAgoraRtcEngine.h:4316
agora::rtc::IRtcEngine::addVideoWatermark
virtual int addVideoWatermark(const char *watermarkUrl, const WatermarkOptions &options)=0
Adds a watermark image to the local video.
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_8
@ VIDEO_PROFILE_PORTRAIT_480P_8
Definition: IAgoraRtcEngine.h:12525
agora::rtc::IRtcEngineEventHandler::onRemoteSubscribeFallbackToAudioOnly
virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover)
Occurs when the remote media stream falls back to the audio-only stream due to poor network condition...
Definition: IAgoraRtcEngine.h:3255
agora::rtc::DirectCdnStreamingMediaOptions::publishCameraTrack
Optional< bool > publishCameraTrack
Definition: IAgoraRtcEngine.h:4432
agora::media::UNKNOWN_MEDIA_SOURCE
@ UNKNOWN_MEDIA_SOURCE
Definition: AgoraMediaBase.h:343
agora::rtc::IRtcEngineEventHandler::onNetworkTypeChanged
virtual void onNetworkTypeChanged(NETWORK_TYPE type)
Occurs when the local network type changes.
Definition: IAgoraRtcEngine.h:3338
agora::rtc::RtcEngineContext::eventHandler
IRtcEngineEventHandler * eventHandler
Definition: IAgoraRtcEngine.h:4069
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_3
@ VIDEO_PROFILE_LANDSCAPE_480P_3
Definition: IAgoraRtcEngine.h:12449
agora::rtc::INJECT_STREAM_STATUS_STOP_FAILED
@ INJECT_STREAM_STATUS_STOP_FAILED
Definition: IAgoraRtcEngine.h:186
agora::rtc::IRtcEngine::setRemoteVideoSubscriptionOptions
virtual int setRemoteVideoSubscriptionOptions(uid_t uid, const VideoSubscriptionOptions &options)=0
Options for subscribing to remote video streams.
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_10
@ VIDEO_PROFILE_PORTRAIT_480P_10
Definition: IAgoraRtcEngine.h:12529
agora::rtc::IRtcEngine::startScreenCapture
virtual int startScreenCapture(VIDEO_SOURCE_TYPE sourceType, const ScreenCaptureConfiguration &config)=0
Starts screen capture from the specified video source.
agora::rtc::IRtcEngine::disableVideo
virtual int disableVideo()=0
Disables the video module.
agora::rtc::AVideoDeviceManager::AVideoDeviceManager
AVideoDeviceManager(IRtcEngine *engine)
Definition: IAgoraRtcEngine.h:12565
agora::rtc::LocalVideoStats::hwEncoderAccelerating
int hwEncoderAccelerating
Definition: IAgoraRtcEngine.h:418
agora::rtc::IRtcEngineEventHandler::onRemoteVideoStateChanged
virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed)
Occurs when the remote video stream state changes.
Definition: IAgoraRtcEngine.h:2344
agora::rtc::IAudioEncodedFrameObserver
Definition: AgoraBase.h:6826
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_6
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_6
Definition: IAgoraRtcEngine.h:293
agora::rtc::DirectCdnStreamingMediaOptions::operator=
DirectCdnStreamingMediaOptions & operator=(const DirectCdnStreamingMediaOptions &replace)
Definition: IAgoraRtcEngine.h:4504
agora::rtc::IRtcEngine::createDataStream
virtual int createDataStream(int *streamId, const DataStreamConfig &config)=0
Creates a data stream.
agora::rtc::IRtcEngine::setAudioScenario
virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario)=0
Sets audio scenarios.
agora::rtc::IDirectCdnStreamingEventHandler::~IDirectCdnStreamingEventHandler
virtual ~IDirectCdnStreamingEventHandler()
Definition: IAgoraRtcEngine.h:4384
agora::rtc::IRtcEngine::setLocalAccessPoint
virtual int setLocalAccessPoint(const LocalAccessPointConfiguration &config)=0
Configures the connection to Agora's Private Media Server access module.
agora::rtc::IRtcEngineEventHandler::onLocalVideoTranscoderError
virtual void onLocalVideoTranscoderError(const TranscodingVideoStream &stream, VIDEO_TRANSCODER_ERROR error)
Occurs when there's an error during the local video mixing.
Definition: IAgoraRtcEngine.h:3459
agora::rtc::IRtcEngine::setExtensionProviderProperty
virtual int setExtensionProviderProperty(const char *provider, const char *key, const char *value)=0
Sets the properties of the extension provider.
agora::rtc::ChannelMediaOptions::uplinkMultipathMode
Optional< MultipathMode > uplinkMultipathMode
Definition: IAgoraRtcEngine.h:1519
agora::rtc::LeaveChannelOptions
The options for leaving a channel.
Definition: IAgoraRtcEngine.h:1758
agora::rtc::VIDEO_PROFILE_PORTRAIT_120P
@ VIDEO_PROFILE_PORTRAIT_120P
Definition: IAgoraRtcEngine.h:12483
agora::CHANNEL_PROFILE_TYPE
CHANNEL_PROFILE_TYPE
The channel profile.
Definition: AgoraBase.h:267
agora::rtc::LocalVideoStats::sentBitrate
int sentBitrate
Definition: IAgoraRtcEngine.h:320
agora::rtc::ChannelMediaOptions::ChannelMediaOptions
ChannelMediaOptions()
Definition: IAgoraRtcEngine.h:1535
agora::rtc::IRtcEngine::stopPreview
virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType)=0
Stops the local video preview.
agora::rtc::STREAM_SUBSCRIBE_STATE
STREAM_SUBSCRIBE_STATE
The subscribing state.
Definition: AgoraBase.h:7449
agora::rtc::IRtcEngine::startRtmpStreamWithTranscoding
virtual int startRtmpStreamWithTranscoding(const char *url, const LiveTranscoding &transcoding)=0
Starts Media Push and sets the transcoding configuration.
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:2268
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P
@ VIDEO_PROFILE_PORTRAIT_480P
Definition: IAgoraRtcEngine.h:12517
agora::rtc::IRtcEngineEventHandler::onFirstLocalAudioFramePublished
virtual void onFirstLocalAudioFramePublished(int elapsed)
Occurs when the first audio frame is published.
Definition: IAgoraRtcEngine.h:2939
agora::rtc::IRtcEngine::queryDeviceScore
virtual int queryDeviceScore()=0
Queries device score.
agora::rtc::ChannelMediaRelayConfiguration
Configuration of cross channel media relay.
Definition: AgoraBase.h:7060
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
Enables or disables extensions.
agora::rtc::INTERFACE_ID_TYPE
INTERFACE_ID_TYPE
The interface class.
Definition: AgoraBase.h:905
agora::rtc::AUDIO_REVERB_ROOM_SIZE
@ AUDIO_REVERB_ROOM_SIZE
Definition: IAgoraRtcEngine.h:254
agora::rtc::VIDEO_VIRTUAL_BACKGROUND
@ VIDEO_VIRTUAL_BACKGROUND
Definition: IAgoraRtcEngine.h:1748
agora::rtc::IRtcEngine::sendStreamMessage
virtual int sendStreamMessage(int streamId, const char *data, size_t length)=0
Sends data stream messages.
agora::rtc::IRtcEngine::setRemoteVoicePosition
virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain)=0
Sets the 2D position (the position on the horizontal plane) of the remote user's voice.
agora::rtc::IRtcEngine::startCameraCapture
virtual int startCameraCapture(VIDEO_SOURCE_TYPE sourceType, const CameraCapturerConfiguration &config)=0
Starts camera capture.
agora::rtc::IVideoDeviceCollection
Definition: IAgoraRtcEngine.h:3694
agora::rtc::IRtcEngine::setDualStreamMode
virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode, const SimulcastStreamConfig &streamConfig)=0
Sets dual-stream mode configuration on the sender side.
agora::rtc::VideoCompositingLayout::Region::height
double height
Definition: IAgoraRtcEngine.h:686
agora::rtc::IRtcEngine::setAINSMode
virtual int setAINSMode(bool enabled, AUDIO_AINS_MODE mode)=0
Sets whether to enable the AI ​​noise suppression function and set the noise suppression mode.
agora::rtc::LocalVideoStats::sentFrameRate
int sentFrameRate
Definition: IAgoraRtcEngine.h:325
IAgoraH265Transcoder.h
AGORA_API
#define AGORA_API
Definition: AgoraBase.h:70
agora::rtc::VIDEO_CODEC_TYPE
VIDEO_CODEC_TYPE
Video codec types.
Definition: AgoraBase.h:1256
agora::rtc::LocalVideoStats::encodedFrameWidth
int encodedFrameWidth
Definition: IAgoraRtcEngine.h:363
agora::rtc::RemoteAudioStats::e2eDelay
int e2eDelay
Definition: IAgoraRtcEngine.h:547
agora::rtc::DIRECT_CDN_STREAMING_REASON_BAD_NAME
@ DIRECT_CDN_STREAMING_REASON_BAD_NAME
Definition: IAgoraRtcEngine.h:4303
agora::rtc::VideoDenoiserOptions
Video noise reduction options.
Definition: AgoraBase.h:5807
agora::rtc::IRtcEngine::leaveChannel
virtual int leaveChannel(const LeaveChannelOptions &options)=0
Sets channel options and leaves the channel.
agora::rtc::IRtcEngine::getLoopbackRecordingVolume
virtual int getLoopbackRecordingVolume()=0
agora::rtc::IRtcEngine::registerPacketObserver
virtual int registerPacketObserver(IPacketObserver *observer)=0
Registers a packet observer.
agora::rtc::DirectCdnStreamingStats::videoBitrate
int videoBitrate
Definition: IAgoraRtcEngine.h:4368
agora::rtc::IRtcEngine::stopRhythmPlayer
virtual int stopRhythmPlayer()=0
Disables the virtual metronome.
agora::rtc::IRtcEngine::muteLocalAudioStream
virtual int muteLocalAudioStream(bool mute)=0
Stops or resumes publishing the local audio stream.
agora::rtc::DirectCdnStreamingStats::fps
int fps
Definition: IAgoraRtcEngine.h:4363
END_COMPARE
#define END_COMPARE()
agora::rtc::VIDEO_PROFILE_LANDSCAPE_240P_4
@ VIDEO_PROFILE_LANDSCAPE_240P_4
Definition: IAgoraRtcEngine.h:12427
agora::rtc::IRtcEngineEventHandler::onExtensionStartedWithContext
virtual void onExtensionStartedWithContext(const ExtensionContext &context)
Occurrs when the extension is enabled.
Definition: IAgoraRtcEngine.h:3613
agora::rtc::IMetadataObserver::Metadata::Metadata
Metadata()
Definition: IAgoraRtcEngine.h:4222
agora::rtc::IRtcEngine::takeSnapshot
virtual int takeSnapshot(uid_t uid, const char *filePath)=0
Takes a snapshot of a video stream.
agora::rtc::IRtcEngine::setRemoteSubscribeFallbackOption
virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option)=0
Sets the fallback option for the subscribed video stream based on the network conditions.
agora::rtc::AUDIO_EQUALIZATION_BAND_1K
@ AUDIO_EQUALIZATION_BAND_1K
Definition: IAgoraRtcEngine.h:220
agora::rtc::IMetadataObserver::VIDEO_METADATA
@ VIDEO_METADATA
Definition: IAgoraRtcEngine.h:4182
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_9
@ VIDEO_PROFILE_LANDSCAPE_480P_9
Definition: IAgoraRtcEngine.h:12457
agora::rtc::IRtcEngine::enableContentInspect
virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config)=0
Enables or disables video screenshot and upload.
agora::rtc::AUDIO_MIXING_REASON_CAN_NOT_OPEN
@ AUDIO_MIXING_REASON_CAN_NOT_OPEN
Definition: IAgoraRtcEngine.h:113
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_4
@ VIDEO_PROFILE_PORTRAIT_360P_4
Definition: IAgoraRtcEngine.h:12503
agora::rtc::RemoteAudioStats::frozenRate
int frozenRate
Definition: IAgoraRtcEngine.h:480
agora::rtc::IRtcEngineEventHandler::onExtensionErrorWithContext
virtual void onExtensionErrorWithContext(const ExtensionContext &context, int error, const char *message)
Occurs when the extension runs incorrectly.
Definition: IAgoraRtcEngine.h:3644
agora::rtc::IRtcEngine::addVideoWatermark
virtual int addVideoWatermark(const WatermarkConfig &configs)=0
Adds a watermark image to the local video.
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_6
@ VIDEO_PROFILE_LANDSCAPE_360P_6
Definition: IAgoraRtcEngine.h:12435
agora::rtc::ChannelMediaOptions::autoSubscribeAudio
Optional< bool > autoSubscribeAudio
Definition: IAgoraRtcEngine.h:1394
agora::rtc::VirtualBackgroundSource
The custom background.
Definition: AgoraBase.h:5892
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:1501
agora::rtc::IRtcEngine::stopLocalAudioMixer
virtual int stopLocalAudioMixer()=0
Stops the local audio mixing.
agora::rtc::IVideoDeviceManager
Definition: IAgoraRtcEngine.h:3739
agora::rtc::IRtcEngine::adjustCustomAudioPublishVolume
virtual int adjustCustomAudioPublishVolume(track_id_t trackId, int volume)=0
Adjusts the volume of the custom audio track played remotely.
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:4190
agora::rtc::AUDIO_REVERB_WET_LEVEL
@ AUDIO_REVERB_WET_LEVEL
Definition: IAgoraRtcEngine.h:250
agora::rtc::VIDEO_CAPTURE_DEVICE
@ VIDEO_CAPTURE_DEVICE
Definition: IAgoraRtcEngine.h:60
agora::rtc::RdtState
RdtState
Reliable Data Transmission tunnel state.
Definition: AgoraBase.h:7991
agora::rtc::AUDIO_REVERB_TYPE
AUDIO_REVERB_TYPE
Audio reverberation types.
Definition: IAgoraRtcEngine.h:242
agora::media::base::RENDER_MODE_TYPE
RENDER_MODE_TYPE
Video display modes.
Definition: AgoraMediaBase.h:587
agora::rtc::IRtcEngine::muteLocalVideoStream
virtual int muteLocalVideoStream(bool mute)=0
Stops or resumes publishing the local video stream.
agora::rtc::LocalVideoStats::targetBitrate
int targetBitrate
Definition: IAgoraRtcEngine.h:376
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition: IAgoraRtcEngine.h:4444
agora::rtc::IMetadataObserver::UNKNOWN_METADATA
@ UNKNOWN_METADATA
Definition: IAgoraRtcEngine.h:4178
agora::rtc::INJECT_STREAM_STATUS
INJECT_STREAM_STATUS
Definition: IAgoraRtcEngine.h:146
agora::rtc::IRtcEngine::setVoiceBeautifierParameters
virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2)=0
Sets parameters for the preset voice beautifier effects.
agora::rtc::ChannelMediaOptions::publishScreenCaptureAudio
Optional< bool > publishScreenCaptureAudio
Definition: IAgoraRtcEngine.h:1293
agora::rtc::IRtcEngine::setLogLevel
virtual int setLogLevel(commons::LOG_LEVEL level)=0
Sets the output log level of the SDK.
agora::rtc::IRtcEngineEventHandler::onChannelMediaRelayStateChanged
virtual void onChannelMediaRelayStateChanged(int state, int code)
Occurs when the state of the media stream relay changes.
Definition: IAgoraRtcEngine.h:3227
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
Sets the properties of the extension.
agora::rtc::IRtcEngine::setRemoteUserPriority
virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority)=0
agora::rtc::RemoteAudioStats::jitterBufferDelay
int jitterBufferDelay
Definition: IAgoraRtcEngine.h:453
agora::rtc::VIDEO_PROFILE_PORTRAIT_720P_6
@ VIDEO_PROFILE_PORTRAIT_720P_6
Definition: IAgoraRtcEngine.h:12537
agora::rtc::PublisherConfiguration::width
int width
Definition: IAgoraRtcEngine.h:817
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1080P_3
@ VIDEO_PROFILE_LANDSCAPE_1080P_3
Definition: IAgoraRtcEngine.h:12471
agora::rtc::IRtcEngine::startDirectCdnStreaming
virtual int startDirectCdnStreaming(IDirectCdnStreamingEventHandler *eventHandler, const char *publishUrl, const DirectCdnStreamingMediaOptions &options)=0
Starts pushing media streams to the CDN directly.
agora::rtc::IRtcEngine::setPlaybackAudioFrameParameters
virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
Sets the format of the raw audio playback data.
agora::rtc::IVideoDeviceManager::getDevice
virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
Retrieves the current video capture device.
agora::rtc::IMetadataObserver::onMetadataReceived
virtual void onMetadataReceived(const Metadata &metadata)=0
Occurs when the local user receives the metadata.
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_4
@ VIDEO_PROFILE_PORTRAIT_480P_4
Definition: IAgoraRtcEngine.h:12521
agora::rtc::IRtcEngineEventHandler::onTranscodedStreamLayoutInfo
virtual void onTranscodedStreamLayoutInfo(uid_t uid, int width, int height, int layoutCount, const VideoLayout *layoutlist)
Occurs when the local user receives a mixed video stream carrying layout information.
Definition: IAgoraRtcEngine.h:3565
agora::rtc::RtcEngineContext::logConfig
commons::LogConfig logConfig
Definition: IAgoraRtcEngine.h:4124
agora::rtc::PublisherConfiguration::defaultLayout
int defaultLayout
Definition: IAgoraRtcEngine.h:835
agora::rtc::STREAM_FALLBACK_OPTION_DISABLED
@ STREAM_FALLBACK_OPTION_DISABLED
Definition: IAgoraRtcEngine.h:273
agora::rtc::AUDIO_EQUALIZATION_BAND_31
@ AUDIO_EQUALIZATION_BAND_31
Definition: IAgoraRtcEngine.h:200
agora::rtc::UDP_PROXY_TYPE
@ UDP_PROXY_TYPE
Definition: IAgoraRtcEngine.h:1718
agora::rtc::VideoCompositingLayout::canvasWidth
int canvasWidth
Definition: IAgoraRtcEngine.h:714
agora::rtc::IRtcEngine::stopScreenCapture
virtual int stopScreenCapture(VIDEO_SOURCE_TYPE sourceType)=0
Stops screen capture from the specified video source.
agora::rtc::RtcEngineReleaseCallback
void(*)() RtcEngineReleaseCallback
Callback triggered when IRtcEngine is released.
Definition: IAgoraRtcEngine.h:4573
agora::rtc::VideoCompositingLayout::appDataLength
int appDataLength
Definition: IAgoraRtcEngine.h:735
agora::rtc::PROXY_TYPE
PROXY_TYPE
The cloud proxy type.
Definition: IAgoraRtcEngine.h:1709
agora::rtc::VIDEO_QOE_PREFERENCE_TYPE
VIDEO_QOE_PREFERENCE_TYPE
Definition: AgoraBase.h:3323
agora::rtc::IRtcEngineEventHandler::onLocalVideoStateChanged
virtual void onLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_REASON reason)
Occurs when the local video stream state changes.
Definition: IAgoraRtcEngine.h:2324
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW
Definition: IAgoraRtcEngine.h:277
agora::rtc::ExtensionInfo::ExtensionInfo
ExtensionInfo()
Definition: IAgoraRtcEngine.h:4555
agora::rtc::MEDIA_TRACE_EVENT
MEDIA_TRACE_EVENT
The rendering state of the media frame.
Definition: AgoraBase.h:7704
agora::rtc::DirectCdnStreamingMediaOptions::DirectCdnStreamingMediaOptions
DirectCdnStreamingMediaOptions()
Definition: IAgoraRtcEngine.h:4468
agora::rtc::AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED
@ AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED
Definition: IAgoraRtcEngine.h:126
agora::rtc::IRtcEngine::setDirectCdnStreamingVideoConfiguration
virtual int setDirectCdnStreamingVideoConfiguration(const VideoEncoderConfiguration &config)=0
Sets the video profile of the media streams directly pushed to the CDN by the host.
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoDecoded
virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) 1
Occurs when the first remote video frame is received and decoded.
Definition: IAgoraRtcEngine.h:2230
agora::rtc::RTMP_STREAMING_EVENT
RTMP_STREAMING_EVENT
Events during the Media Push.
Definition: AgoraBase.h:4331
agora::rtc::VideoCompositingLayout::Region::zOrder
int zOrder
Definition: IAgoraRtcEngine.h:690
agora::rtc::IRtcEngine::registerAudioEncodedFrameObserver
virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig &config, IAudioEncodedFrameObserver *observer)=0
Registers an encoded audio observer.
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_4
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_4
Definition: IAgoraRtcEngine.h:291
agora::rtc::RtcEngineContext::audioScenario
AUDIO_SCENARIO_TYPE audioScenario
Definition: IAgoraRtcEngine.h:4097
agora::rtc::STREAM_FALLBACK_OPTION_AUDIO_ONLY
@ STREAM_FALLBACK_OPTION_AUDIO_ONLY
Definition: IAgoraRtcEngine.h:283
agora::rtc::IRtcEngine::setSimulcastConfig
virtual int setSimulcastConfig(const SimulcastConfig &simulcastConfig)=0
Sets the simulcast video stream configuration.
agora::rtc::IRtcEngine::joinChannel
virtual int joinChannel(const char *token, const char *channelId, uid_t uid, const ChannelMediaOptions &options)=0
Joins a channel with media options.
agora::rtc::VIDEO_PROFILE_PORTRAIT_720P_3
@ VIDEO_PROFILE_PORTRAIT_720P_3
Definition: IAgoraRtcEngine.h:12533
agora::rtc::AUDIO_EQUALIZATION_BAND_500
@ AUDIO_EQUALIZATION_BAND_500
Definition: IAgoraRtcEngine.h:216
agora::rtc::RemoteVideoStats::publishDuration
int publishDuration
Definition: IAgoraRtcEngine.h:655
agora::rtc::RemoteAudioStats::RemoteAudioStats
RemoteAudioStats()
Definition: IAgoraRtcEngine.h:549
agora::rtc::IRtcEngine::setDualStreamMode
virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode)=0
Sets the dual-stream mode on the sender side.
agora::rtc::IRtcEngine::joinChannelWithUserAccountEx
virtual int joinChannelWithUserAccountEx(const char *token, const char *channelId, const char *userAccount, const ChannelMediaOptions &options, IRtcEngineEventHandler *eventHandler)=0
Join a channel using a user account and token, and set the media options.
agora::media::CONTENT_INSPECT_RESULT
CONTENT_INSPECT_RESULT
Definition: AgoraMediaBase.h:1274
agora::rtc::LocalVideoStats::targetFrameRate
int targetFrameRate
Definition: IAgoraRtcEngine.h:380
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_1
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_1
Definition: IAgoraRtcEngine.h:288
agora::rtc::ChannelMediaOptions::enableBuiltInMediaEncryption
Optional< bool > enableBuiltInMediaEncryption
Definition: IAgoraRtcEngine.h:1462
agora::rtc::IRtcEngine::sendCustomReportMessage
virtual int sendCustomReportMessage(const char *id, const char *category, const char *event, const char *label, int value)=0
Reports customized messages.
agora::rtc::IRtcEngineEventHandler::onUserMuteAudio
virtual void onUserMuteAudio(uid_t uid, bool muted)
Occurs when a remote user (in the communication profile) or a host (in the live streaming profile) st...
Definition: IAgoraRtcEngine.h:2444
agora::rtc::NONE_PROXY_TYPE
@ NONE_PROXY_TYPE
Definition: IAgoraRtcEngine.h:1713
agora::rtc::CodecCapInfo
The codec capability of the SDK.
Definition: AgoraBase.h:2019
agora::commons::LogConfig
Configuration of Agora SDK log files.
Definition: IAgoraLog.h:124
agora::rtc::IRtcEngine::enableDualStreamMode
virtual int enableDualStreamMode(bool enabled) 1=0
Enables or disables dual-stream mode on the sender side.
agora::rtc::IRtcEngineEventHandler::onPermissionError
virtual void onPermissionError(PERMISSION_TYPE permissionType)
Occurs when the SDK cannot get the device permission.
Definition: IAgoraRtcEngine.h:3366
agora::rtc::IRtcEngineEventHandler::onVideoSizeChanged
virtual void onVideoSizeChanged(VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation)
Occurs when the video size or rotation of a specified user changes.
Definition: IAgoraRtcEngine.h:2249
agora::rtc::MEDIA_DEVICE_STATE_TYPE
MEDIA_DEVICE_STATE_TYPE
Media device states.
Definition: IAgoraRtcEngine.h:12382
agora::rtc::ChannelMediaOptions::operator==
bool operator==(const ChannelMediaOptions &o) const
Definition: IAgoraRtcEngine.h:1590
createAgoraRtcEngine
AGORA_API agora::rtc::IRtcEngine *AGORA_CALL createAgoraRtcEngine()
Creates one IRtcEngine object.
IAgoraLog.h
agora::rtc::IRtcEngine::preloadChannelWithUserAccount
virtual int preloadChannelWithUserAccount(const char *token, const char *channelId, const char *userAccount)=0
Preloads a channel with token, channelId, and userAccount.
agora::rtc::LocalVideoStats
The statistics of the local video stream.
Definition: IAgoraRtcEngine.h:311
agora::rtc::RemoteVideoStats::mosValue
int mosValue
Definition: IAgoraRtcEngine.h:663
agora::rtc::VIDEO_ORIENTATION
VIDEO_ORIENTATION
The clockwise rotation of the video.
Definition: AgoraBase.h:1001
agora::rtc::InjectStreamConfig::height
int height
Definition: IAgoraRtcEngine.h:757
agora::rtc::INJECT_STREAM_STATUS_STOP_UNAUTHORIZED
@ INJECT_STREAM_STATUS_STOP_UNAUTHORIZED
Definition: IAgoraRtcEngine.h:178
agora::rtc::MultipathStats
Aggregates statistics of each network path in multipath transmission.
Definition: AgoraBase.h:2695
agora::rtc::SimulcastConfig::STREAM_LAYER_COUNT_MAX
@ STREAM_LAYER_COUNT_MAX
Definition: AgoraBase.h:2294
agora::rtc::IRtcEngine::muteAllRemoteAudioStreams
virtual int muteAllRemoteAudioStreams(bool mute)=0
Stops or resumes subscribing to the audio streams of all remote users.
agora::rtc::IRtcEngine::enableLoopbackRecording
virtual int enableLoopbackRecording(bool enabled, const char *deviceName=NULL)=0
Enables loopback audio capturing.
agora::rtc::TCP_PROXY_AUTO_FALLBACK_TYPE
@ TCP_PROXY_AUTO_FALLBACK_TYPE
Definition: IAgoraRtcEngine.h:1732
agora::rtc::IRtcEngine::enableAudio
virtual int enableAudio()=0
Enables the audio module.
agora::rtc::IDirectCdnStreamingEventHandler
Definition: IAgoraRtcEngine.h:4382
agora::rtc::STREAM_FALLBACK_OPTIONS
STREAM_FALLBACK_OPTIONS
Options for handling audio and video stream fallback when network conditions are weak.
Definition: IAgoraRtcEngine.h:268
agora::rtc::MEDIA_DEVICE_STATE_ACTIVE
@ MEDIA_DEVICE_STATE_ACTIVE
Definition: IAgoraRtcEngine.h:12390
agora::rtc::IMetadataObserver::~IMetadataObserver
virtual ~IMetadataObserver()
Definition: IAgoraRtcEngine.h:4168
agora::rtc::DirectCdnStreamingMediaOptions::operator==
bool operator==(const DirectCdnStreamingMediaOptions &o) const
Definition: IAgoraRtcEngine.h:4483
agora::rtc::ChannelMediaOptions::publishLipSyncTrack
Optional< bool > publishLipSyncTrack
Definition: IAgoraRtcEngine.h:1388
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
Gets the facial beauty area options.
agora::rtc::AUDIO_SCENARIO_TYPE
AUDIO_SCENARIO_TYPE
The audio scenarios.
Definition: AgoraBase.h:3124
agora::rtc::IRtcEngine::createCustomEncodedVideoTrack
virtual video_track_id_t createCustomEncodedVideoTrack(const SenderOptions &sender_option)=0
agora::rtc::EncryptionConfig
Built-in encryption configurations.
Definition: AgoraBase.h:7286
agora::rtc::LocalVideoStats::qualityAdaptIndication
QUALITY_ADAPT_INDICATION qualityAdaptIndication
Definition: IAgoraRtcEngine.h:385
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
Registers an extension.
agora::rtc::INJECT_STREAM_STATUS_START_TIMEDOUT
@ INJECT_STREAM_STATUS_START_TIMEDOUT
Definition: IAgoraRtcEngine.h:162
agora::rtc::RtcEngineContext::channelProfile
CHANNEL_PROFILE_TYPE channelProfile
Definition: IAgoraRtcEngine.h:4086
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
Occurs when the SDK decodes the first remote audio frame for playback.
Definition: IAgoraRtcEngine.h:2964
agora::rtc::REMOTE_AUDIO_STATE_REASON
REMOTE_AUDIO_STATE_REASON
The reason for the remote audio state change.
Definition: AgoraBase.h:3731
agora::rtc::RtcEngineContext::autoRegisterAgoraExtensions
bool autoRegisterAgoraExtensions
Definition: IAgoraRtcEngine.h:4156
agora::rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE
RAW_AUDIO_FRAME_OP_MODE_TYPE
The use mode of the audio data.
Definition: AgoraMediaBase.h:261
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_4
@ VIDEO_PROFILE_LANDSCAPE_480P_4
Definition: IAgoraRtcEngine.h:12451
agora::rtc::IRtcEngine::setMixedAudioFrameParameters
virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall)=0
Sets the format of the raw audio data after mixing for audio capture and playback.
agora::rtc::IRtcEngineEventHandler::onTokenPrivilegeWillExpire
virtual void onTokenPrivilegeWillExpire(const char *token)
Occurs when the token expires in 30 seconds.
Definition: IAgoraRtcEngine.h:2909
agora::rtc::AdvancedAudioOptions::~AdvancedAudioOptions
~AdvancedAudioOptions()
Definition: IAgoraRtcEngine.h:1218
agora::rtc::IRtcEngineEventHandler::onFirstRemoteAudioFrame
virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) 1
Occurs when the SDK receives the first audio frame from a specific remote user.
Definition: IAgoraRtcEngine.h:2980
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_10
@ VIDEO_PROFILE_LANDSCAPE_480P_10
Definition: IAgoraRtcEngine.h:12459
agora::rtc::PRIORITY_HIGH
@ PRIORITY_HIGH
Definition: IAgoraRtcEngine.h:299
AgoraOptional.h
agora::rtc::IRtcEngine::startLastmileProbeTest
virtual int startLastmileProbeTest(const LastmileProbeConfig &config)=0
Starts the last mile network probe test.
agora::rtc::IRtcEngineEventHandler::onUserMuteVideo
virtual void onUserMuteVideo(uid_t uid, bool muted)
Occurs when a remote user stops or resumes publishing the video stream.
Definition: IAgoraRtcEngine.h:2466
agora::rtc::RtcEngineContext::appId
const char * appId
Definition: IAgoraRtcEngine.h:4076
agora::rtc::RemoteVideoStats::rxVideoBytes
unsigned int rxVideoBytes
Definition: IAgoraRtcEngine.h:667
agora::rtc::RemoteAudioStats
Audio statistics of the remote user.
Definition: IAgoraRtcEngine.h:435
agora::rtc::VideoCompositingLayout::VideoCompositingLayout
VideoCompositingLayout()
Definition: IAgoraRtcEngine.h:737
agora::rtc::TranscodingVideoStream
The video streams for local video mixing.
Definition: AgoraBase.h:4721
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)
Occurs when the audio device state changes.
Definition: IAgoraRtcEngine.h:2011
agora::rtc::RemoteAudioStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:439
agora::rtc::IRtcEngineEventHandler::onCameraReady
virtual void onCameraReady() 1
Occurs when the camera turns on and is ready to capture the video.
Definition: IAgoraRtcEngine.h:2591
agora::rtc::ChannelMediaOptions::publishThirdCameraTrack
Optional< bool > publishThirdCameraTrack
Definition: IAgoraRtcEngine.h:1273
agora::rtc::AUDIO_EFFECT_PRESET
AUDIO_EFFECT_PRESET
Preset audio effects.
Definition: AgoraBase.h:6201
agora::rtc::IRtcEngine::destroyMediaPlayer
virtual int destroyMediaPlayer(agora_refptr< IMediaPlayer > media_player)=0
Destroys the media player instance.
agora::rtc::IRtcEngine::setVoiceBeautifierPreset
virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset)=0
Sets a preset voice beautifier effect.
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStateChanged
virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed)
Occurs when the remote audio state changes.
Definition: IAgoraRtcEngine.h:3025
agora::rtc::LocalVideoStats::captureBrightnessLevel
CAPTURE_BRIGHTNESS_LEVEL_TYPE captureBrightnessLevel
Definition: IAgoraRtcEngine.h:408
agora::rtc::IRtcEngineEventHandler::onUserAccountUpdated
virtual void onUserAccountUpdated(uid_t uid, const char *userAccount)
Definition: IAgoraRtcEngine.h:3420
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P
@ VIDEO_PROFILE_LANDSCAPE_360P
Definition: IAgoraRtcEngine.h:12429
agora::rtc::LocalVideoStats::simulcastDimensions
VideoDimensions simulcastDimensions[SimulcastConfig::STREAM_LAYER_COUNT_MAX]
Definition: IAgoraRtcEngine.h:421
agora::rtc::IRtcEngine::setAudioProfile
virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) 1=0
Sets the audio profile and audio scenario.
agora::rtc::DIRECT_CDN_STREAMING_REASON_OK
@ DIRECT_CDN_STREAMING_REASON_OK
Definition: IAgoraRtcEngine.h:4276
agora::rtc::WatermarkConfig
Used to configure watermark-related information.
Definition: AgoraBase.h:2586
agora::rtc::LocalVideoStats::encoderOutputFrameRate
int encoderOutputFrameRate
Definition: IAgoraRtcEngine.h:359
agora::rtc::LocalVideoStats::codecType
VIDEO_CODEC_TYPE codecType
Definition: IAgoraRtcEngine.h:398
agora::rtc::ChannelMediaOptions::isAudioFilterable
Optional< bool > isAudioFilterable
Definition: IAgoraRtcEngine.h:1495
agora::rtc::AUDIO_AINS_MODE
AUDIO_AINS_MODE
AI noise suppression modes.
Definition: AgoraBase.h:3053
agora::rtc::RemoteVideoStats::decoderInputFrameRate
int decoderInputFrameRate
Definition: IAgoraRtcEngine.h:608
agora::rtc::VIDEO_STREAM_TYPE
VIDEO_STREAM_TYPE
The type of video streams.
Definition: AgoraBase.h:1660
agora::rtc::VIDEO_PROFILE_PORTRAIT_4K_3
@ VIDEO_PROFILE_PORTRAIT_4K_3
Definition: IAgoraRtcEngine.h:12551
agora::rtc::IVideoDeviceManager::setDevice
virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::RtcStats
Statistics of a call session.
Definition: AgoraBase.h:2742
agora::rtc::PublisherConfiguration::lifecycle
int lifecycle
Definition: IAgoraRtcEngine.h:838
agora::rtc::ChannelMediaOptions::audienceLatencyLevel
Optional< AUDIENCE_LATENCY_LEVEL_TYPE > audienceLatencyLevel
Definition: IAgoraRtcEngine.h:1424
agora::rtc::RtcEngineContext::license
const char * license
Definition: IAgoraRtcEngine.h:4091
AgoraMediaBase.h
agora::rtc::PublisherConfiguration::PublisherConfiguration
PublisherConfiguration()
Definition: IAgoraRtcEngine.h:865
agora::rtc::ChannelMediaOptions::publishMediaPlayerVideoTrack
Optional< bool > publishMediaPlayerVideoTrack
Definition: IAgoraRtcEngine.h:1368
agora::rtc::VIDEO_PROFILE_PORTRAIT_1080P_3
@ VIDEO_PROFILE_PORTRAIT_1080P_3
Definition: IAgoraRtcEngine.h:12541
agora::rtc::IRtcEngine::startRtmpStreamWithoutTranscoding
virtual int startRtmpStreamWithoutTranscoding(const char *url)=0
Starts pushing media streams to a CDN without transcoding.
agora::rtc::QUALITY_REPORT_HTML
@ QUALITY_REPORT_HTML
Definition: IAgoraRtcEngine.h:12376
agora::rtc::LowlightEnhanceOptions
The low-light enhancement options.
Definition: AgoraBase.h:5753
agora::rtc::IRtcEngine::setRecordingAudioFrameParameters
virtual int setRecordingAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
Sets the format of the captured raw audio data.
agora::rtc::RemoteVideoStats::rxStreamType
VIDEO_STREAM_TYPE rxStreamType
Definition: IAgoraRtcEngine.h:628
agora::rtc::DIRECT_CDN_STREAMING_STATE_STOPPED
@ DIRECT_CDN_STREAMING_STATE_STOPPED
Definition: IAgoraRtcEngine.h:4328
agora::rtc::IRtcEngineEventHandler::onSetRtmFlagResult
virtual void onSetRtmFlagResult(int code)
Definition: IAgoraRtcEngine.h:3656
agora::rtc::IRtcEngine::stopRtmpStream
virtual int stopRtmpStream(const char *url)=0
Stops pushing media streams to a CDN.
agora::rtc::IRtcEngine::startEchoTest
virtual int startEchoTest(const EchoTestConfiguration &config)=0
Starts an audio device loopback test.
agora::rtc::ChannelMediaOptions::mediaPlayerAudioDelayMs
Optional< int > mediaPlayerAudioDelayMs
Definition: IAgoraRtcEngine.h:1443
agora::rtc::ChannelMediaOptions::clientRoleType
Optional< CLIENT_ROLE_TYPE > clientRoleType
Definition: IAgoraRtcEngine.h:1419
agora::rtc::LocalVideoStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:315
agora::rtc::IRtcEngine::setLocalRenderTargetFps
virtual int setLocalRenderTargetFps(VIDEO_SOURCE_TYPE sourceType, int targetFps)=0
Sets the maximum frame rate for rendering local video.
agora::rtc::IRtcEngine::setFaceShapeAreaOptions
virtual int setFaceShapeAreaOptions(const FaceShapeAreaOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
Sets the image enhancement options for facial areas and specifies the media source.
agora::rtc::STREAM_PUBLISH_STATE
STREAM_PUBLISH_STATE
The publishing state.
Definition: AgoraBase.h:7483
agora::rtc::IRtcEngineEventHandler::onJoinChannelSuccess
virtual void onJoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Occurs when a user joins a channel.
Definition: IAgoraRtcEngine.h:1817
agora::rtc::WatermarkOptions
Watermark image configurations.
Definition: AgoraBase.h:2408
agora::rtc::IRtcEngine::adjustPlaybackSignalVolume
virtual int adjustPlaybackSignalVolume(int volume)=0
Adjusts the playback signal volume of all remote users.
agora::rtc::LocalAudioStats
Local audio statistics.
Definition: AgoraBase.h:4166
agora::rtc::RecorderStreamInfo
The information about the media streams to be recorded.
Definition: AgoraBase.h:7942
agora::rtc::SimulcastConfig
Configure video streams of different quality levels.
Definition: AgoraBase.h:2258
agora::rtc::LOCAL_AUDIO_STREAM_STATE
LOCAL_AUDIO_STREAM_STATE
The state of the local audio.
Definition: AgoraBase.h:3405
agora::rtc::VIDEO_MIRROR_MODE_DISABLED
@ VIDEO_MIRROR_MODE_DISABLED
Definition: AgoraBase.h:1927
agora::rtc::IRtcEngine::setVideoDenoiserOptions
virtual int setVideoDenoiserOptions(bool enabled, const VideoDenoiserOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
Sets video noise reduction.
agora::rtc::AUDIO_RECORDING_QUALITY_TYPE
AUDIO_RECORDING_QUALITY_TYPE
Recording quality.
Definition: AgoraBase.h:6659
agora::rtc::IRtcEngine::setupRemoteVideo
virtual int setupRemoteVideo(const VideoCanvas &canvas)=0
Initializes the video view of a remote user.
agora::rtc::IRtcEngine::stopCameraCapture
virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType)=0
Stops camera capture.
__deprecated
#define __deprecated
Definition: AgoraBase.h:74
agora::rtc::VideoCompositingLayout::backgroundColor
const char * backgroundColor
Definition: IAgoraRtcEngine.h:722
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_4
@ VIDEO_PROFILE_LANDSCAPE_360P_4
Definition: IAgoraRtcEngine.h:12433
agora::rtc::ScreenCaptureConfiguration::params
ScreenCaptureParameters params
Definition: IAgoraRtcEngine.h:1018
agora::rtc::IMetadataObserver::Metadata::buffer
unsigned char * buffer
Definition: IAgoraRtcEngine.h:4216
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:12465
agora::RefCountInterface
Definition: AgoraRefPtr.h:31
agora::rtc::IRtcEngine::setupLocalVideo
virtual int setupLocalVideo(const VideoCanvas &canvas)=0
Initializes the local video view.
agora::rtc::InjectStreamConfig
Definition: IAgoraRtcEngine.h:749
agora::rtc::HEADPHONE_EQUALIZER_PRESET
HEADPHONE_EQUALIZER_PRESET
Preset headphone equalizer types.
Definition: AgoraBase.h:6379
agora::media::MEDIA_SOURCE_TYPE
MEDIA_SOURCE_TYPE
Media source type.
Definition: AgoraMediaBase.h:283
agora::rtc::VIDEO_PROFILE_LANDSCAPE_240P
@ VIDEO_PROFILE_LANDSCAPE_240P
Definition: IAgoraRtcEngine.h:12423
agora::rtc::ChannelMediaOptions::publishRhythmPlayerTrack
Optional< bool > publishRhythmPlayerTrack
Definition: IAgoraRtcEngine.h:1469
agora::rtc::IRtcEngine::startOrUpdateChannelMediaRelay
virtual int startOrUpdateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration)=0
Starts relaying media streams across channels or updates channels for media relay.
agora::rtc::ScreenCaptureConfiguration::isCaptureWindow
bool isCaptureWindow
Definition: IAgoraRtcEngine.h:999
agora::rtc::IRtcEngineEventHandler::onRtmpStreamingStateChanged
virtual void onRtmpStreamingStateChanged(const char *url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_REASON reason)
Occurs when the state of Media Push changes.
Definition: IAgoraRtcEngine.h:3175
agora::rtc::QUALITY_REPORT_JSON
@ QUALITY_REPORT_JSON
Definition: IAgoraRtcEngine.h:12373
agora::rtc::AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED
@ AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED
Definition: IAgoraRtcEngine.h:130
agora::rtc::IRtcEngine::startAudioRecording
virtual int startAudioRecording(const AudioRecordingConfiguration &config)=0
agora::rtc::IRtcEngineEventHandler::onConnectionInterrupted
virtual void onConnectionInterrupted() 1
Occurs when the connection between the SDK and the server is interrupted.
Definition: IAgoraRtcEngine.h:2761
agora::rtc::LocalVideoStats::captureFrameWidth
int captureFrameWidth
Definition: IAgoraRtcEngine.h:333
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
Gets detailed information on the extensions.
agora::rtc::RtcEngineContext
Configurations for the RtcEngineContext instance.
Definition: IAgoraRtcEngine.h:4065
agora::rtc::IRtcEngine::resumeAllChannelMediaRelay
virtual int resumeAllChannelMediaRelay()=0
Resumes the media stream relay to all target channels.
agora::rtc::ChannelMediaOptions
The channel media options.
Definition: IAgoraRtcEngine.h:1254
agora::rtc::IRtcEngine::enableVideo
virtual int enableVideo()=0
Enables the video module.
agora::rtc::IRtcEngineEventHandler::onExtensionEventWithContext
virtual void onExtensionEventWithContext(const ExtensionContext &context, const char *key, const char *value)
The event callback of the extension.
Definition: IAgoraRtcEngine.h:3598
agora::rtc::IRtcEngine
Definition: IAgoraRtcEngine.h:4581
agora::rtc::LocalVideoStats::encodedBitrate
int encodedBitrate
Definition: IAgoraRtcEngine.h:390
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)
Occurs when the audio subscribing state changes.
Definition: IAgoraRtcEngine.h:3486
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStats
virtual void onRemoteAudioStats(const RemoteAudioStats &stats)
Reports the transport-layer statistics of each remote audio stream.
Definition: IAgoraRtcEngine.h:2533
agora::rtc::IRtcEngineEventHandler::onRemoteAudioTransportStats
virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) 1
Reports the transport-layer statistics of each remote audio stream.
Definition: IAgoraRtcEngine.h:3278
agora::rtc::IRtcEngine::setClientRole
virtual int setClientRole(CLIENT_ROLE_TYPE role)=0
Sets the client role.
agora::rtc::AUDIO_MIXING_REASON_TYPE
AUDIO_MIXING_REASON_TYPE
The reason why the playback state of the music file changes. Reported in the onAudioMixingStateChange...
Definition: IAgoraRtcEngine.h:108
agora::rtc::RemoteAudioStats::plcCount
uint32_t plcCount
Definition: IAgoraRtcEngine.h:505
agora::rtc::ScreenCaptureConfiguration
The configuration of the captured screen.
Definition: IAgoraRtcEngine.h:993
agora::rtc::IRtcEngine::startAudioRecording
virtual int startAudioRecording(const char *filePath, AUDIO_RECORDING_QUALITY_TYPE quality)=0
Starts client-side audio recording with recording configuration.
agora::rtc::IVideoDeviceManager::enumerateVideoDevices
virtual IVideoDeviceCollection * enumerateVideoDevices()=0
Enumerates the video devices.
agora::rtc::VideoCompositingLayout::Region::Region
Region()
Definition: IAgoraRtcEngine.h:699
agora::rtc::ImageTrackOptions::fps
int fps
Definition: IAgoraRtcEngine.h:1235
agora::rtc::IRtcEngine::updateLocalAudioMixerConfiguration
virtual int updateLocalAudioMixerConfiguration(const LocalAudioMixerConfiguration &config)=0
Updates the configurations for mixing audio streams locally.
agora::rtc::DIRECT_CDN_STREAMING_STATE_RECOVERING
@ DIRECT_CDN_STREAMING_STATE_RECOVERING
Definition: IAgoraRtcEngine.h:4341
agora::rtc::IVideoDeviceManager::~IVideoDeviceManager
virtual ~IVideoDeviceManager()
Definition: IAgoraRtcEngine.h:3741
agora::rtc::AudioRecordingConfiguration
Recording configurations.
Definition: AgoraBase.h:6721
agora::rtc::AUDIO_RECORDING_DEVICE
@ AUDIO_RECORDING_DEVICE
Definition: IAgoraRtcEngine.h:52
agora::rtc::ExtensionInfo::channelId
const char * channelId
Definition: IAgoraRtcEngine.h:4548
agora::rtc::IMetadataObserver::Metadata::timeStampMs
long long timeStampMs
Definition: IAgoraRtcEngine.h:4220
agora::rtc::IVideoDeviceCollection::release
virtual void release()=0
Releases all the resources occupied by the IVideoDeviceCollection object.
agora::rtc::REMOTE_VIDEO_STATE_REASON
REMOTE_VIDEO_STATE_REASON
The reason for the remote video state change.
Definition: AgoraBase.h:3809
agora::rtc::REMOTE_USER_STATE
REMOTE_USER_STATE
Definition: AgoraBase.h:3873
agora::rtc::LocalVideoStats::encodedFrameDepth
int encodedFrameDepth
Definition: IAgoraRtcEngine.h:428
agora::rtc::DirectCdnStreamingMediaOptions::publishMediaPlayerAudioTrack
Optional< bool > publishMediaPlayerAudioTrack
Definition: IAgoraRtcEngine.h:4456
agora::rtc::IRtcEngineEventHandler::onRenewTokenResult
virtual void onRenewTokenResult(const char *token, RENEW_TOKEN_ERROR_CODE code)
Callback for renewToken call result.
Definition: IAgoraRtcEngine.h:3685
agora::rtc::IRtcEngine::renewToken
virtual int renewToken(const char *token)=0
Renews the token.
agora::rtc::DIRECT_CDN_STREAMING_REASON_AUDIO_PUBLICATION
@ DIRECT_CDN_STREAMING_REASON_AUDIO_PUBLICATION
Definition: IAgoraRtcEngine.h:4287
agora::rtc::VideoDimensions
The video dimension.
Definition: AgoraBase.h:1166
agora::rtc::IRtcEngine::disableAudioSpectrumMonitor
virtual int disableAudioSpectrumMonitor()=0
Disables audio spectrum monitoring.
agora::rtc::AUDIO_EQUALIZATION_BAND_62
@ AUDIO_EQUALIZATION_BAND_62
Definition: IAgoraRtcEngine.h:204
agora::rtc::IRtcEngine::setAdvancedAudioOptions
virtual int setAdvancedAudioOptions(AdvancedAudioOptions &options, int sourceType=0)=0
Sets audio advanced options.
agora::rtc::RENEW_TOKEN_ERROR_CODE
RENEW_TOKEN_ERROR_CODE
Represents the error codes after calling renewToken.
Definition: AgoraBase.h:7386
agora::rtc::IRtcEngine::startLocalVideoTranscoder
virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration &config)=0
Starts the local video mixing.
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_7
@ VIDEO_PROFILE_LANDSCAPE_360P_7
Definition: IAgoraRtcEngine.h:12437
agora::rtc::IRtcEngineEventHandler::onClientRoleChangeFailed
virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole)
Occurs when switching a user role fails.
Definition: IAgoraRtcEngine.h:3134
agora::rtc::IRtcEngineEventHandler::onRdtStateChanged
virtual void onRdtStateChanged(uid_t userId, RdtState state)
Occurs when the RDT tunnel state changed.
Definition: IAgoraRtcEngine.h:2848
agora::rtc::AUDIO_MIXING_REASON_RESUMED_BY_USER
@ AUDIO_MIXING_REASON_RESUMED_BY_USER
Definition: IAgoraRtcEngine.h:136
agora::rtc::ChannelMediaOptions::downlinkMultipathMode
Optional< MultipathMode > downlinkMultipathMode
Definition: IAgoraRtcEngine.h:1526
agora::rtc::IRtcEngine::unregisterMediaMetadataObserver
virtual int unregisterMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type)=0
Unregisters the specified metadata observer.
agora::rtc::IRtcEngine::muteRecordingSignal
virtual int muteRecordingSignal(bool mute)=0
Whether to mute the recording signal.
agora::rtc::IRtcEngine::enableSpatialAudio
virtual int enableSpatialAudio(bool enabled)=0
Enables or disables the spatial audio effect.
agora::rtc::InjectStreamConfig::videoGop
int videoGop
Definition: IAgoraRtcEngine.h:761
agora::rtc::IRtcEngine::rate
virtual int rate(const char *callId, int rating, const char *description)=0
Allows a user to rate a call after the call ends.
agora::rtc::ImageTrackOptions::ImageTrackOptions
ImageTrackOptions()
Definition: IAgoraRtcEngine.h:1237
agora::rtc::FeatureType
FeatureType
The type of the advanced feature.
Definition: IAgoraRtcEngine.h:1744
agora::rtc::IRtcEngineEventHandler::onLocalAudioStateChanged
virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_REASON reason)
Occurs when the local audio stream state changes.
Definition: IAgoraRtcEngine.h:3001
agora::util::CopyableAutoPtr
Definition: AgoraBase.h:156
agora::rtc::INJECT_STREAM_STATUS_STOP_SUCCESS
@ INJECT_STREAM_STATUS_STOP_SUCCESS
Definition: IAgoraRtcEngine.h:170
agora::rtc::NETWORK_TYPE
NETWORK_TYPE
Network type.
Definition: AgoraBase.h:5207
agora::rtc::IRtcEngineEventHandler::onAudioDeviceVolumeChanged
virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted)
Reports the volume change of the audio device or app.
Definition: IAgoraRtcEngine.h:3155
OPTIONAL_NULLPTR
#define OPTIONAL_NULLPTR
Definition: AgoraBase.h:90
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_3
@ VIDEO_PROFILE_PORTRAIT_360P_3
Definition: IAgoraRtcEngine.h:12501
agora::rtc::VIDEO_PROFILE_PORTRAIT_720P
@ VIDEO_PROFILE_PORTRAIT_720P
Definition: IAgoraRtcEngine.h:12531
agora::rtc::VideoCompositingLayout::appData
const char * appData
Definition: IAgoraRtcEngine.h:732
agora::rtc::CAMERA_STABILIZATION_MODE
CAMERA_STABILIZATION_MODE
Camera stabilization modes.
Definition: AgoraBase.h:3374
agora::rtc::IRtcEngineEventHandler::onStreamMessage
virtual void onStreamMessage(uid_t uid, int streamId, const char *data, size_t length, uint64_t sentTs)
Occurs when the local user receives the data stream from the remote user.
Definition: IAgoraRtcEngine.h:2787
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_6
@ VIDEO_PROFILE_PORTRAIT_480P_6
Definition: IAgoraRtcEngine.h:12523
agora::rtc::IRtcEngine::muteRemoteVideoStream
virtual int muteRemoteVideoStream(uid_t uid, bool mute)=0
Stops or resumes subscribing to the video stream of a specified user.
agora::rtc::IRtcEngine::setRemoteVideoStreamType
virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType)=0
Sets the video stream type to subscribe to.
agora::rtc::DirectCdnStreamingMediaOptions::~DirectCdnStreamingMediaOptions
~DirectCdnStreamingMediaOptions()
Definition: IAgoraRtcEngine.h:4469
agora::rtc::IRtcEngineEventHandler::onNetworkQuality
virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality)
Reports the last mile network quality of each user in the channel.
Definition: IAgoraRtcEngine.h:2110
agora::rtc::CAMERA_DIRECTION
CAMERA_DIRECTION
The camera direction.
Definition: IAgoraRtcEngine.h:884
agora::rtc::ChannelMediaOptions::audioDelayMs
Optional< int > audioDelayMs
Definition: IAgoraRtcEngine.h:1438
agora::rtc::IRtcEngine::setRemoteDefaultVideoStreamType
virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType)=0
Sets the default video stream type to subscribe to.
agora::rtc::AUDIO_PROFILE_TYPE
AUDIO_PROFILE_TYPE
The audio profile.
Definition: AgoraBase.h:3076
agora::rtc::DirectCdnStreamingMediaOptions::publishMicrophoneTrack
Optional< bool > publishMicrophoneTrack
Definition: IAgoraRtcEngine.h:4438
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
Sets the format of the raw audio playback data before mixing.
agora::rtc::IRtcEngine::disableAudio
virtual int disableAudio()=0
Disables the audio module.
agora::rtc::IRtcEngine::leaveChannel
virtual int leaveChannel()=0
Leaves a channel.
agora::rtc::IRtcEngineEventHandler::onLicenseValidationFailure
virtual void onLicenseValidationFailure(LICENSE_ERROR_TYPE error)
Definition: IAgoraRtcEngine.h:2918
agora::rtc::IRtcEngine::setClientRole
virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions &options)=0
Sets the user role and the audience latency level in a live streaming scenario.
agora::rtc::LeaveChannelOptions::LeaveChannelOptions
LeaveChannelOptions()
Definition: IAgoraRtcEngine.h:1778
agora::rtc::IDirectCdnStreamingEventHandler::onDirectCdnStreamingStats
virtual void onDirectCdnStreamingStats(const DirectCdnStreamingStats &stats)
Reports the CDN streaming statistics.
Definition: IAgoraRtcEngine.h:4416
agora::rtc::IMetadataObserver::MAX_METADATA_SIZE_TYPE
MAX_METADATA_SIZE_TYPE
Definition: IAgoraRtcEngine.h:4188
agora::rtc::DIRECT_CDN_STREAMING_STATE_RUNNING
@ DIRECT_CDN_STREAMING_STATE_RUNNING
Definition: IAgoraRtcEngine.h:4322
agora::rtc::MEDIA_DEVICE_STATE_NOT_PRESENT
@ MEDIA_DEVICE_STATE_NOT_PRESENT
Definition: IAgoraRtcEngine.h:12404
agora::rtc::INJECT_STREAM_STATUS_START_UNAUTHORIZED
@ INJECT_STREAM_STATUS_START_UNAUTHORIZED
Definition: IAgoraRtcEngine.h:158
agora::rtc::VideoCompositingLayout::Region::uid
uid_t uid
Definition: IAgoraRtcEngine.h:674
agora::rtc::IRtcEngine::setRemoteRenderTargetFps
virtual int setRemoteRenderTargetFps(int targetFps)=0
Sets the maximum frame rate for rendering remote video.
agora::rtc::IRtcEngine::destroyMediaRecorder
virtual int destroyMediaRecorder(agora_refptr< IMediaRecorder > mediaRecorder)=0
Destroys an audio and video recording object.
agora::rtc::IRtcEngine::setPlaybackAudioFrameBeforeMixingParameters
virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel, int samplesPerCall)=0
Sets the format of audio data in the onPlaybackAudioFrameBeforeMixing callback.
agora::rtc::IRtcEngine::setLogFile
virtual int setLogFile(const char *filePath)=0
Sets the log file.
agora::rtc::RtcEngineContext::context
void * context
Definition: IAgoraRtcEngine.h:4082
ADD_COMPARE
#define ADD_COMPARE(X)
agora::rtc::ImageTrackOptions
Image configurations.
Definition: IAgoraRtcEngine.h:1224
agora::rtc::ImageTrackOptions::imageUrl
const char * imageUrl
Definition: IAgoraRtcEngine.h:1230
agora::rtc::VIDEO_PROFILE_PORTRAIT_4K
@ VIDEO_PROFILE_PORTRAIT_4K
Definition: IAgoraRtcEngine.h:12549
agora::rtc::IRtcEngine::setLocalRenderMode
virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) 1=0
agora::rtc::VideoCompositingLayout::Region
Definition: IAgoraRtcEngine.h:671
agora::rtc::IRtcEngine::registerLocalUserAccount
virtual int registerLocalUserAccount(const char *appId, const char *userAccount)=0
Registers a user account.
agora::rtc::LocalVideoStats::encodedFrameCount
int encodedFrameCount
Definition: IAgoraRtcEngine.h:394
agora::rtc::IRtcEngine::stopPreview
virtual int stopPreview()=0
Stops the local video preview.
agora::rtc::IRtcEngine::createCustomVideoTrack
virtual video_track_id_t createCustomVideoTrack()=0
Creates a custom video track.
agora::rtc::RemoteVideoStats::height
int height
Definition: IAgoraRtcEngine.h:601
agora::rtc::IRtcEngine::registerEventHandler
virtual bool registerEventHandler(IRtcEngineEventHandler *eventHandler)=0
agora::rtc::IVideoDeviceCollection::getCount
virtual int getCount()=0
Gets the total number of the indexed video devices in the system.
agora::rtc::PublisherConfiguration::height
int height
Definition: IAgoraRtcEngine.h:821
agora::rtc::ChannelMediaOptions::publishMediaPlayerAudioTrack
Optional< bool > publishMediaPlayerAudioTrack
Definition: IAgoraRtcEngine.h:1362
agora::rtc::RdtStreamType
RdtStreamType
Reliable Data Transmission Tunnel message stream type.
Definition: AgoraBase.h:7967
agora::rtc::DirectCdnStreamingMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition: IAgoraRtcEngine.h:4461
agora::rtc::IRtcEngineEventHandler::onUplinkNetworkInfoUpdated
virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo &info)
Occurs when the uplink network information changes.
Definition: IAgoraRtcEngine.h:2136
agora::rtc::VIDEO_PROFILE_TYPE
VIDEO_PROFILE_TYPE
Definition: IAgoraRtcEngine.h:12411
agora::rtc::IRtcEngine::stopDirectCdnStreaming
virtual int stopDirectCdnStreaming()=0
Stops pushing media streams to the CDN directly.
agora::rtc::DIRECT_CDN_STREAMING_REASON
DIRECT_CDN_STREAMING_REASON
Reasons for the changes in CDN streaming status.
Definition: IAgoraRtcEngine.h:4271
agora::rtc::AUDIO_EQUALIZATION_BAND_4K
@ AUDIO_EQUALIZATION_BAND_4K
Definition: IAgoraRtcEngine.h:228
agora::rtc::RtcEngineContext::RtcEngineContext
RtcEngineContext()
Definition: IAgoraRtcEngine.h:4158
agora::rtc::InjectStreamConfig::width
int width
Definition: IAgoraRtcEngine.h:753
agora::rtc::IRtcEngine::getUserInfoByUid
virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo *userInfo)=0
Gets the user information by passing in the user ID.
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:12467
agora::rtc::IRtcEngine::adjustRecordingSignalVolume
virtual int adjustRecordingSignalVolume(int volume)=0
Adjusts the capturing signal volume.
agora::rtc::IRtcEngineEventHandler::onTranscodingUpdated
virtual void onTranscodingUpdated()
Occurs when the publisher's transcoding is updated.
Definition: IAgoraRtcEngine.h:3205
agora::rtc::VIDEO_PROFILE_LANDSCAPE_180P_4
@ VIDEO_PROFILE_LANDSCAPE_180P_4
Definition: IAgoraRtcEngine.h:12421
agora::LICENSE_ERROR_TYPE
LICENSE_ERROR_TYPE
Definition: AgoraBase.h:794
agora::rtc::IRtcEngine::joinChannelWithUserAccount
virtual int joinChannelWithUserAccount(const char *token, const char *channelId, const char *userAccount)=0
Joins a channel with a User Account and Token.
agora::rtc::FaceShapeAreaOptions
Filter effect options.
Definition: AgoraBase.h:5466
agora::rtc::AREA_CODE_GLOB
@ AREA_CODE_GLOB
Definition: AgoraBase.h:6911
AGORA_CALL
#define AGORA_CALL
Definition: AgoraBase.h:72
agora::rtc::ScreenCaptureConfiguration::windowId
int64_t windowId
Definition: IAgoraRtcEngine.h:1014
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P
@ VIDEO_PROFILE_LANDSCAPE_480P
Definition: IAgoraRtcEngine.h:12447
agora::rtc::IRtcEngine::isFeatureAvailableOnDevice
virtual bool isFeatureAvailableOnDevice(FeatureType type)=0
Checks whether the device supports the specified advanced feature.
agora::rtc::TCP_PROXY_TYPE
@ TCP_PROXY_TYPE
Definition: IAgoraRtcEngine.h:1723
agora::rtc::IRtcEngine::addVideoWatermark
virtual int addVideoWatermark(const RtcImage &watermark) 1=0
Adds a watermark image to the local video.
agora::rtc::IRtcEngine::getConnectionState
virtual CONNECTION_STATE_TYPE getConnectionState()=0
Gets the current connection state of the SDK.
agora::rtc::IRtcEngineEventHandler::onMultipathStats
virtual void onMultipathStats(const MultipathStats &stats)
Report the multipath transmission statistics.
Definition: IAgoraRtcEngine.h:3668
agora::rtc::LocalVideoStats::txPacketLossRate
unsigned short txPacketLossRate
Definition: IAgoraRtcEngine.h:403
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition: IAgoraRtcEngine.h:4450
agora::rtc::RemoteAudioStats::networkTransportDelay
int networkTransportDelay
Definition: IAgoraRtcEngine.h:447
agora::rtc::PublisherConfiguration::rawStreamUrl
const char * rawStreamUrl
Definition: IAgoraRtcEngine.h:860
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
The reason for a user role switch failure.
Definition: AgoraBase.h:5177
agora::rtc::IRtcEngineEventHandler::onLeaveChannel
virtual void onLeaveChannel(const RtcStats &stats)
Occurs when a user leaves a channel.
Definition: IAgoraRtcEngine.h:1983
agora::rtc::AAudioDeviceManager
Definition: IAgoraRtcEngine.h:12556
agora::rtc::IMetadataObserver::Metadata
Media metadata.
Definition: IAgoraRtcEngine.h:4198
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_10
@ VIDEO_PROFILE_PORTRAIT_360P_10
Definition: IAgoraRtcEngine.h:12513
agora::rtc::IRtcEngine::registerAudioSpectrumObserver
virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
Registers an audio spectrum observer.
agora::rtc::IRtcEngineEventHandler::onLastmileQuality
virtual void onLastmileQuality(int quality)
Reports the last-mile network quality of the local user.
Definition: IAgoraRtcEngine.h:2153
agora::rtc::LOCAL_PROXY_TYPE
@ LOCAL_PROXY_TYPE
Definition: IAgoraRtcEngine.h:1727
agora::rtc::FocalLengthInfo
Focal length information supported by the camera, including the camera direction and focal length typ...
Definition: AgoraBase.h:2043
agora::rtc::IRtcEngineEventHandler::onEncryptionError
virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType)
Reports the built-in encryption errors.
Definition: IAgoraRtcEngine.h:3352
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_7
@ VIDEO_PROFILE_PORTRAIT_360P_7
Definition: IAgoraRtcEngine.h:12507
agora::rtc::IRtcEngine::getFaceShapeBeautyOptions
virtual int getFaceShapeBeautyOptions(FaceShapeBeautyOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
Gets the beauty effect options.
agora::rtc::DeviceInfo
The audio device information.
Definition: AgoraBase.h:4018
agora::base::IEngineBase
Definition: AgoraBase.h:8022
agora::rtc::DIRECT_CDN_STREAMING_REASON_VIDEO_PUBLICATION
@ DIRECT_CDN_STREAMING_REASON_VIDEO_PUBLICATION
Definition: IAgoraRtcEngine.h:4293
agora::rtc::VIDEO_PROFILE_LANDSCAPE_120P_3
@ VIDEO_PROFILE_LANDSCAPE_120P_3
Definition: IAgoraRtcEngine.h:12415
agora::rtc::IRtcEngine::queryCodecCapability
virtual int queryCodecCapability(CodecCapInfo *codecInfo, int &size)=0
Queries the video codec capabilities of the SDK.
agora::rtc::VideoRenderingTracingInfo
Indicators during video frame rendering progress.
Definition: AgoraBase.h:7718
agora::rtc::IRtcEngine::enableAudioSpectrumMonitor
virtual int enableAudioSpectrumMonitor(int intervalInMS=100)=0
Turns on audio spectrum monitoring.
agora::rtc::IRtcEngineEventHandler::onRtcStats
virtual void onRtcStats(const RtcStats &stats)
Reports the statistics about the current call.
Definition: IAgoraRtcEngine.h:1995
agora::rtc::UDP_PROXY
@ UDP_PROXY
Definition: IAgoraRtcEngine.h:910
agora::rtc::IRtcEngineEventHandler::onActiveSpeaker
virtual void onActiveSpeaker(uid_t uid)
Occurs when the most active remote speaker is detected.
Definition: IAgoraRtcEngine.h:3049
agora::rtc::IRtcEngineEventHandler::onConnectionLost
virtual void onConnectionLost()
Occurs when the SDK cannot reconnect to Agora's edge server 10 seconds after its connection to the se...
Definition: IAgoraRtcEngine.h:2741
SET_FROM
#define SET_FROM(X)
agora::rtc::LeaveChannelOptions::stopMicrophoneRecording
bool stopMicrophoneRecording
Definition: IAgoraRtcEngine.h:1776
agora::rtc::PublisherConfiguration::injectStreamHeight
int injectStreamHeight
Definition: IAgoraRtcEngine.h:849
agora::rtc::IRtcEngine::setInEarMonitoringVolume
virtual int setInEarMonitoringVolume(int volume)=0
Sets the volume of the in-ear monitor.
agora::rtc::IRtcEngineEventHandler::onFirstLocalVideoFramePublished
virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed)
Occurs when the first video frame is published.
Definition: IAgoraRtcEngine.h:2204
agora::rtc::CameraCapturerConfiguration
The camera capturer preference.
Definition: IAgoraRtcEngine.h:923
agora::rtc::ExtensionInfo::localUid
uid_t localUid
Definition: IAgoraRtcEngine.h:4553
agora::rtc::VIDEO_PROFILE_LANDSCAPE_4K_3
@ VIDEO_PROFILE_LANDSCAPE_4K_3
Definition: IAgoraRtcEngine.h:12481
agora::rtc::VIDEO_PROFILE_PORTRAIT_180P_3
@ VIDEO_PROFILE_PORTRAIT_180P_3
Definition: IAgoraRtcEngine.h:12489
agora::rtc::RemoteVideoStats
Statistics of the remote video stream.
Definition: IAgoraRtcEngine.h:576
agora::rtc::AUDIO_MIXING_STATE_TYPE
AUDIO_MIXING_STATE_TYPE
The playback state of the music file.
Definition: IAgoraRtcEngine.h:78
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoFrame
virtual void onFirstRemoteVideoFrame(uid_t uid, int width, int height, int elapsed)
Occurs when the renderer receives the first frame of the remote video.
Definition: IAgoraRtcEngine.h:2367
agora::Optional
Definition: AgoraOptional.h:413
agora::rtc::IRtcEngine::enableLocalVideo
virtual int enableLocalVideo(bool enabled)=0
Enables/Disables the local video capture.
agora::rtc::IRtcEngine::enableCustomAudioLocalPlayback
virtual int enableCustomAudioLocalPlayback(track_id_t trackId, bool enabled)=0
Sets whether to enable the local playback of external audio source.
agora::rtc::ClientRoleOptions
Setting of user role properties.
Definition: AgoraBase.h:2999
agora::rtc::IRtcEngine::setAudioProfile
virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile)=0
Sets audio profiles.
agora::rtc::RTMP_STREAM_PUBLISH_STATE
RTMP_STREAM_PUBLISH_STATE
States of the Media Push.
Definition: AgoraBase.h:4210
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:290
agora::rtc::InjectStreamConfig::videoBitrate
int videoBitrate
Definition: IAgoraRtcEngine.h:769
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
Reports the transport-layer statistics of each remote video stream.
Definition: IAgoraRtcEngine.h:3302
agora::rtc::RTMP_STREAM_LIFE_CYCLE_BIND2OWNER
@ RTMP_STREAM_LIFE_CYCLE_BIND2OWNER
Definition: IAgoraRtcEngine.h:808
agora::rtc::IRtcEngine::enableLocalAudio
virtual int enableLocalAudio(bool enabled)=0
Enables or disables the local audio capture.
agora::rtc::IRtcEngine::enableWebSdkInteroperability
virtual int enableWebSdkInteroperability(bool enabled) 1=0
Enables interoperability with the Agora Web SDK (applicable only in the live streaming.
agora::rtc::VideoCanvas
Attributes of the video canvas object.
Definition: AgoraBase.h:5266
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_11
@ VIDEO_PROFILE_LANDSCAPE_360P_11
Definition: IAgoraRtcEngine.h:12445
agora::rtc::RTMP_STREAM_PUBLISH_REASON
RTMP_STREAM_PUBLISH_REASON
Reasons for changes in the status of RTMP or RTMPS streaming.
Definition: AgoraBase.h:4249
agora::rtc::AUDIO_REVERB_DRY_LEVEL
@ AUDIO_REVERB_DRY_LEVEL
Definition: IAgoraRtcEngine.h:246
agora::rtc::VideoCompositingLayout::Region::alpha
double alpha
Definition: IAgoraRtcEngine.h:695
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1080P
@ VIDEO_PROFILE_LANDSCAPE_1080P
Definition: IAgoraRtcEngine.h:12469
agora::rtc::RemoteAudioStats::frozenCntByCustom
uint32_t frozenCntByCustom
Definition: IAgoraRtcEngine.h:511
agora::rtc::RtcEngineContext::areaCode
unsigned int areaCode
Definition: IAgoraRtcEngine.h:4103
agora::rtc::SegmentationProperty
Processing properties for background images.
Definition: AgoraBase.h:5987
agora::rtc::AUDIO_SAMPLE_RATE_TYPE
AUDIO_SAMPLE_RATE_TYPE
The audio sampling rate of the stream to be pushed to the CDN.
Definition: AgoraBase.h:4097
agora::rtc::IRtcEngineEventHandler::onIntraRequestReceived
virtual void onIntraRequestReceived()
Definition: IAgoraRtcEngine.h:2122
agora::rtc::track_id_t
unsigned int track_id_t
Definition: AgoraMediaBase.h:29
agora::rtc::LOCAL_AUDIO_STREAM_REASON
LOCAL_AUDIO_STREAM_REASON
Reasons for local audio state changes.
Definition: AgoraBase.h:3427
agora::rtc::IRtcEngineEventHandler::onLastmileProbeResult
virtual void onLastmileProbeResult(const LastmileProbeResult &result)
Reports the last mile network probe result.
Definition: IAgoraRtcEngine.h:1922