Agora C++ API Reference for All Platforms

Loading...
Searching...
No Matches
IAgoraRtcEngine.h
1//
2// Agora Rtc Engine SDK
3//
4// Copyright (c) 2018 Agora.io. All rights reserved.
5//
6#pragma once
7
8#include "AgoraBase.h"
9#include "AgoraMediaBase.h"
10#include "IAgoraLog.h"
11#include "AgoraOptional.h"
12#include "IAudioDeviceManager.h"
13#include "IAgoraRhythmPlayer.h"
14#include "IAgoraMediaEngine.h"
15#include "IAgoraH265Transcoder.h"
16
17 namespace agora {
18 namespace rtm {
19 class IStreamChannel;
20}
21 namespace rtc {
22
23 template <typename T>
24 static void SetFrom(Optional<T>* s, const Optional<T>& o) {
25 if (o) {
26 *s = o;
27 }
28}
29
30 template <typename T>
31 static void ReplaceBy(Optional<T>* s, const Optional<T>& o) {
32 *s = o;
33}
34
35//class IAudioDeviceManager;
36
40 enum MEDIA_DEVICE_TYPE {
44 UNKNOWN_AUDIO_DEVICE = -1,
48 AUDIO_PLAYOUT_DEVICE = 0,
52 AUDIO_RECORDING_DEVICE = 1,
56 VIDEO_RENDER_DEVICE = 2,
60 VIDEO_CAPTURE_DEVICE = 3,
64 AUDIO_APPLICATION_PLAYOUT_DEVICE = 4,
68 AUDIO_VIRTUAL_PLAYOUT_DEVICE = 5,
72 AUDIO_VIRTUAL_RECORDING_DEVICE = 6,
73};
74
78 enum AUDIO_MIXING_STATE_TYPE {
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__)
930 Optional<CAMERA_DIRECTION> cameraDirection;
931
948 Optional<CAMERA_FOCAL_LENGTH_TYPE> cameraFocalLengthType;
949#else
954 Optional<const char *> deviceId;
955#endif
956
957#if defined(__ANDROID__)
973 Optional<const char *> cameraId;
974#endif
983 Optional<bool> followEncodeDimensionRatio;
987 VideoFormat format;
988 CameraCapturerConfiguration() : format(VideoFormat(0, 0, 0)) {}
989};
990
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__))
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__))
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};
1073
1076 enum ScreenCaptureSourceType {
1080 ScreenCaptureSourceType_Unknown = -1,
1084 ScreenCaptureSourceType_Window = 0,
1088 ScreenCaptureSourceType_Screen = 1,
1092 ScreenCaptureSourceType_Custom = 2,
1093};
1094
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)
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};
1159
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)
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__)
1293 Optional<bool> publishScreenCaptureAudio;
1294 #endif
1295 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(__OHOS__)
1302 Optional<bool> publishScreenCaptureVideo;
1303
1304 #else
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 }
2610
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__)
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
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__)
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
3668 */ 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)
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
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 };
4184
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
5321 virtual int enableMultiCamera(bool enabled, const CameraCapturerConfiguration& config) = 0;
5322#endif
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__)
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__)
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__)
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__)
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__))
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)
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)
10007 virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect,
10008 const Rectangle& regionRect,
10009 const ScreenCaptureParameters& captureParams) __deprecated = 0;
10010#endif
10011
10012#if defined(__ANDROID__)
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__)
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__)
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__))
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.
12370enum 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
12585
12595AGORA_API agora::rtc::IRtcEngine* AGORA_CALL createAgoraRtcEngine();
12596
12598
12600
12606#define getAgoraRtcEngineErrorDescription getAgoraSdkErrorDescription
12607#define setAgoraRtcEngineExternalSymbolLoader setAgoraSdkExternalSymbolLoader
agora::Optional
Definition AgoraOptional.h:413
agora::RefCountInterface
Definition AgoraRefPtr.h:31
agora::agora_refptr
Definition AgoraRefPtr.h:44
agora::base::IEngineBase
Definition AgoraBase.h:8022
agora::media::IAudioSpectrumObserver
Definition AgoraMediaBase.h:1873
agora::rtc::AAudioDeviceManager::AAudioDeviceManager
AAudioDeviceManager(IRtcEngine *engine)
Definition IAgoraRtcEngine.h:12558
agora::rtc::AVideoDeviceManager::AVideoDeviceManager
AVideoDeviceManager(IRtcEngine *engine)
Definition IAgoraRtcEngine.h:12565
agora::rtc::IAudioEncodedFrameObserver
Definition AgoraBase.h:6826
agora::rtc::IDirectCdnStreamingEventHandler
Definition IAgoraRtcEngine.h:4382
agora::rtc::IDirectCdnStreamingEventHandler::onDirectCdnStreamingStats
virtual void onDirectCdnStreamingStats(const DirectCdnStreamingStats &stats)
Reports the CDN streaming statistics.
Definition IAgoraRtcEngine.h:4416
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::IDirectCdnStreamingEventHandler::~IDirectCdnStreamingEventHandler
virtual ~IDirectCdnStreamingEventHandler()
Definition IAgoraRtcEngine.h:4384
agora::rtc::IMetadataObserver
Definition IAgoraRtcEngine.h:4166
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::IMetadataObserver::UNKNOWN_METADATA
@ UNKNOWN_METADATA
Definition IAgoraRtcEngine.h:4178
agora::rtc::IMetadataObserver::VIDEO_METADATA
@ VIDEO_METADATA
Definition IAgoraRtcEngine.h:4182
agora::rtc::IMetadataObserver::~IMetadataObserver
virtual ~IMetadataObserver()
Definition IAgoraRtcEngine.h:4168
agora::rtc::IMetadataObserver::onMetadataReceived
virtual void onMetadataReceived(const Metadata &metadata)=0
Occurs when the local user receives the metadata.
agora::rtc::IMetadataObserver::getMaxMetadataSize
virtual int getMaxMetadataSize()
Occurs when the SDK requests the maximum size of the metadata.
Definition IAgoraRtcEngine.h:4237
agora::rtc::IMetadataObserver::MAX_METADATA_SIZE_TYPE
MAX_METADATA_SIZE_TYPE
Definition IAgoraRtcEngine.h:4188
agora::rtc::IMetadataObserver::MAX_METADATA_SIZE_IN_BYTE
@ MAX_METADATA_SIZE_IN_BYTE
Definition IAgoraRtcEngine.h:4191
agora::rtc::IMetadataObserver::DEFAULT_METADATA_SIZE_IN_BYTE
@ DEFAULT_METADATA_SIZE_IN_BYTE
Definition IAgoraRtcEngine.h:4190
agora::rtc::IMetadataObserver::INVALID_METADATA_SIZE_IN_BYTE
@ INVALID_METADATA_SIZE_IN_BYTE
Definition IAgoraRtcEngine.h:4189
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::IPacketObserver
Definition AgoraBase.h:4032
agora::rtc::IRtcEngineEventHandler
Definition IAgoraRtcEngine.h:1791
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::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::IRtcEngineEventHandler::onFirstLocalAudioFramePublished
virtual void onFirstLocalAudioFramePublished(int elapsed)
Occurs when the first audio frame is published.
Definition IAgoraRtcEngine.h:2939
agora::rtc::IRtcEngineEventHandler::onTranscodingUpdated
virtual void onTranscodingUpdated()
Occurs when the publisher's transcoding is updated.
Definition IAgoraRtcEngine.h:3205
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::IRtcEngineEventHandler::onLocalAudioStats
virtual void onLocalAudioStats(const LocalAudioStats &stats)
Reports the statistics of the local audio stream.
Definition IAgoraRtcEngine.h:2546
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::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
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::IRtcEngineEventHandler::eventHandlerType
virtual const char * eventHandlerType() const
Definition IAgoraRtcEngine.h:1795
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::IRtcEngineEventHandler::onFirstRemoteAudioFrame
virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) __deprecated
Occurs when the SDK receives the first audio frame from a specific remote user.
Definition IAgoraRtcEngine.h:2980
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::onExtensionStoppedWithContext
virtual void onExtensionStoppedWithContext(const ExtensionContext &context)
Occurs when the extension is disabled.
Definition IAgoraRtcEngine.h:3626
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::IRtcEngineEventHandler::onUserEnableLocalVideo
virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) __deprecated
Occurs when a specific remote user enables/disables the local video capturing function.
Definition IAgoraRtcEngine.h:2517
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::rtc::IRtcEngineEventHandler::onAudioMixingPositionChanged
virtual void onAudioMixingPositionChanged(int64_t position)
Reports the playback progress of a music file.
Definition IAgoraRtcEngine.h:2031
agora::rtc::IRtcEngineEventHandler::onContentInspectResult
virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result)
Definition IAgoraRtcEngine.h:3057
agora::rtc::IRtcEngineEventHandler::onUserStateChanged
virtual void onUserStateChanged(uid_t uid, REMOTE_USER_STATE state)
Definition IAgoraRtcEngine.h:2496
agora::rtc::IRtcEngineEventHandler::onIntraRequestReceived
virtual void onIntraRequestReceived()
Definition IAgoraRtcEngine.h:2122
agora::rtc::IRtcEngineEventHandler::onRemoteAudioTransportStats
virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated
Reports the transport-layer statistics of each remote audio stream.
Definition IAgoraRtcEngine.h:3278
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::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::rtc::IRtcEngineEventHandler::onMultipathStats
virtual void onMultipathStats(const MultipathStats &stats)
Report the multipath transmission statistics.
Definition IAgoraRtcEngine.h:3668
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::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::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::IRtcEngineEventHandler::onLicenseValidationFailure
virtual void onLicenseValidationFailure(LICENSE_ERROR_TYPE error)
Definition IAgoraRtcEngine.h:2918
agora::rtc::IRtcEngineEventHandler::onLastmileProbeResult
virtual void onLastmileProbeResult(const LastmileProbeResult &result)
Reports the last mile network probe result.
Definition IAgoraRtcEngine.h:1922
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::IRtcEngineEventHandler::onAudioMetadataReceived
virtual void onAudioMetadataReceived(uid_t uid, const char *metadata, size_t length)
Definition IAgoraRtcEngine.h:3581
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::IRtcEngineEventHandler::onVideoStopped
virtual void onVideoStopped() __deprecated
Occurs when the video stops playing.
Definition IAgoraRtcEngine.h:2691
agora::rtc::IRtcEngineEventHandler::onFirstRemoteAudioDecoded
virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) __deprecated
Occurs when the SDK decodes the first remote audio frame for playback.
Definition IAgoraRtcEngine.h:2964
agora::rtc::IRtcEngineEventHandler::onAudioRoutingChanged
virtual void onAudioRoutingChanged(int routing)
Occurs when the local audio route changes.
Definition IAgoraRtcEngine.h:3215
agora::rtc::IRtcEngineEventHandler::onUploadLogResult
virtual void onUploadLogResult(const char *requestId, bool success, UPLOAD_ERROR_REASON reason)
Definition IAgoraRtcEngine.h:3470
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::IRtcEngineEventHandler::onCameraReady
virtual void onCameraReady() __deprecated
Occurs when the camera turns on and is ready to capture the video.
Definition IAgoraRtcEngine.h:2591
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::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::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::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::IRtcEngineEventHandler::onRdtStateChanged
virtual void onRdtStateChanged(uid_t userId, RdtState state)
Occurs when the RDT tunnel state changed.
Definition IAgoraRtcEngine.h:2848
agora::rtc::IRtcEngineEventHandler::onPermissionGranted
virtual void onPermissionGranted(agora::rtc::PERMISSION_TYPE permissionType)
Definition IAgoraRtcEngine.h:3375
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::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::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::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::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::IRtcEngineEventHandler::onAudioMixingFinished
virtual void onAudioMixingFinished() __deprecated
Occurs when the playback of the local music file finishes.
Definition IAgoraRtcEngine.h:2046
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::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::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::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::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::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::IRtcEngineEventHandler::onConnectionBanned
virtual void onConnectionBanned() __deprecated
Occurs when the connection is banned by the Agora server.
Definition IAgoraRtcEngine.h:2768
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::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::IRtcEngineEventHandler::onLeaveChannel
virtual void onLeaveChannel(const RtcStats &stats)
Occurs when a user leaves a channel.
Definition IAgoraRtcEngine.h:1983
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::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::IRtcEngineEventHandler::onUplinkNetworkInfoUpdated
virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo &info)
Occurs when the uplink network information changes.
Definition IAgoraRtcEngine.h:2136
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::IRtcEngineEventHandler::onRequestToken
virtual void onRequestToken()
Occurs when the token expires.
Definition IAgoraRtcEngine.h:2887
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::IRtcEngineEventHandler::~IRtcEngineEventHandler
virtual ~IRtcEngineEventHandler()
Definition IAgoraRtcEngine.h:1793
agora::rtc::IRtcEngineEventHandler::onRemoteVideoTransportStats
virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated
Reports the transport-layer statistics of each remote video stream.
Definition IAgoraRtcEngine.h:3302
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::IRtcEngineEventHandler::onRenewTokenResult
virtual void onRenewTokenResult(const char *token, RENEW_TOKEN_ERROR_CODE code)
Callback for renewToken call result.
Definition IAgoraRtcEngine.h:3685
agora::rtc::IRtcEngineEventHandler::onAudioEffectFinished
virtual void onAudioEffectFinished(int soundId)
Occurs when the playback of the local music file finishes.
Definition IAgoraRtcEngine.h:2057
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
agora::rtc::IRtcEngineEventHandler::onAudioQuality
virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay, unsigned short lost) __deprecated
Reports the statistics of the audio stream sent by each remote user.
Definition IAgoraRtcEngine.h:1905
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::onPermissionError
virtual void onPermissionError(PERMISSION_TYPE permissionType)
Occurs when the SDK cannot get the device permission.
Definition IAgoraRtcEngine.h:3366
agora::rtc::IRtcEngineEventHandler::onTokenPrivilegeWillExpire
virtual void onTokenPrivilegeWillExpire(const char *token)
Occurs when the token expires in 30 seconds.
Definition IAgoraRtcEngine.h:2909
agora::rtc::IRtcEngineEventHandler::onConnectionInterrupted
virtual void onConnectionInterrupted() __deprecated
Occurs when the connection between the SDK and the server is interrupted.
Definition IAgoraRtcEngine.h:2761
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::IRtcEngineEventHandler::onUserAccountUpdated
virtual void onUserAccountUpdated(uid_t uid, const char *userAccount)
Definition IAgoraRtcEngine.h:3420
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::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::IRtcEngineEventHandler::onEncryptionError
virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType)
Reports the built-in encryption errors.
Definition IAgoraRtcEngine.h:3352
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoDecoded
virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) __deprecated
Occurs when the first remote video frame is received and decoded.
Definition IAgoraRtcEngine.h:2230
agora::rtc::IRtcEngineEventHandler::onRtcStats
virtual void onRtcStats(const RtcStats &stats)
Reports the statistics about the current call.
Definition IAgoraRtcEngine.h:1995
agora::rtc::IRtcEngineEventHandler::onAudioMixingStateChanged
virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason)
Occurs when the playback state of the music file changes.
Definition IAgoraRtcEngine.h:2704
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::onActiveSpeaker
virtual void onActiveSpeaker(uid_t uid)
Occurs when the most active remote speaker is detected.
Definition IAgoraRtcEngine.h:3049
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::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::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::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::onExtensionStartedWithContext
virtual void onExtensionStartedWithContext(const ExtensionContext &context)
Occurrs when the extension is enabled.
Definition IAgoraRtcEngine.h:3613
agora::rtc::IRtcEngineEventHandler::onFacePositionChanged
virtual void onFacePositionChanged(int imageWidth, int imageHeight, const Rectangle *vecRectangle, const int *vecDistance, int numFaces)
Reports the face detection result of the local user.
Definition IAgoraRtcEngine.h:2670
agora::rtc::IRtcEngineEventHandler::onSetRtmFlagResult
virtual void onSetRtmFlagResult(int code)
Definition IAgoraRtcEngine.h:3656
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::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::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::IRtcEngineEventHandler::onNetworkTypeChanged
virtual void onNetworkTypeChanged(NETWORK_TYPE type)
Occurs when the local network type changes.
Definition IAgoraRtcEngine.h:3338
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::IRtcEngine
Definition IAgoraRtcEngine.h:4581
agora::rtc::IRtcEngine::setLocalAccessPoint
virtual int setLocalAccessPoint(const LocalAccessPointConfiguration &config)=0
Configures the connection to Agora's Private Media Server access module.
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::preloadEffect
virtual int preloadEffect(int soundId, const char *filePath, int startPos=0)=0
Preloads a specified audio effect file into the memory.
agora::rtc::IRtcEngine::setVolumeOfEffect
virtual int setVolumeOfEffect(int soundId, int volume)=0
Gets the volume of a specified audio effect file.
agora::rtc::IRtcEngine::muteLocalAudioStream
virtual int muteLocalAudioStream(bool mute)=0
Stops or resumes publishing the local audio stream.
agora::rtc::IRtcEngine::startScreenCaptureByDisplayId
virtual int startScreenCaptureByDisplayId(int64_t displayId, const Rectangle &regionRect, const ScreenCaptureParameters &captureParams)=0
Captures the screen by specifying the display ID.
agora::rtc::IRtcEngine::setScreenCaptureContentHint
virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint)=0
Sets the content hint for screen sharing.
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::IRtcEngine::updateScreenCapture
virtual int updateScreenCapture(const ScreenCaptureParameters2 &captureParams)=0
Updates the screen capturing parameters.
agora::rtc::IRtcEngine::registerLocalUserAccount
virtual int registerLocalUserAccount(const char *appId, const char *userAccount)=0
Registers a user account.
agora::rtc::IRtcEngine::getEffectsVolume
virtual int getEffectsVolume()=0
Retrieves the volume of the audio effects.
agora::rtc::IRtcEngine::startRtmpStreamWithTranscoding
virtual int startRtmpStreamWithTranscoding(const char *url, const LiveTranscoding &transcoding)=0
Starts Media Push and sets the transcoding configuration.
agora::rtc::IRtcEngine::startScreenCaptureByWindowId
virtual int startScreenCaptureByWindowId(int64_t windowId, const Rectangle &regionRect, const ScreenCaptureParameters &captureParams)=0
Captures the whole or part of a window by specifying the window ID.
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::rtc::IRtcEngine::setCameraTorchOn
virtual int setCameraTorchOn(bool isOn)=0
Enables the camera flash.
agora::rtc::IRtcEngine::setSubscribeAudioBlocklist
virtual int setSubscribeAudioBlocklist(uid_t *uidList, int uidNumber)=0
Sets the blocklist of subscriptions for audio streams.
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::IRtcEngine::setExternalMediaProjection
virtual int setExternalMediaProjection(void *mediaProjection)=0
Configures MediaProjection outside of the SDK to capture screen video streams.
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::IRtcEngine::setAudioMixingPlaybackSpeed
virtual int setAudioMixingPlaybackSpeed(int speed)=0
Sets the playback speed of the current audio file.
agora::rtc::IRtcEngine::enableLocalVideo
virtual int enableLocalVideo(bool enabled)=0
Enables/Disables the local video capture.
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::IRtcEngine::disableAudio
virtual int disableAudio()=0
Disables the audio module.
agora::rtc::IRtcEngine::setCameraAutoExposureFaceModeEnabled
virtual int setCameraAutoExposureFaceModeEnabled(bool enabled)=0
Sets whether to enable auto exposure.
agora::rtc::IRtcEngine::setScreenCaptureScenario
virtual int setScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario)=0
Sets the screen sharing scenario.
agora::rtc::IRtcEngine::setSubscribeAudioAllowlist
virtual int setSubscribeAudioAllowlist(uid_t *uidList, int uidNumber)=0
Sets the allowlist of subscriptions for audio streams.
agora::rtc::IRtcEngine::stopDirectCdnStreaming
virtual int stopDirectCdnStreaming()=0
Stops pushing media streams to the CDN directly.
agora::rtc::IRtcEngine::setLogFileSize
virtual int setLogFileSize(unsigned int fileSizeInKBytes)=0
Sets the log file size.
agora::rtc::IRtcEngine::selectAudioTrack
virtual int selectAudioTrack(int index)=0
Selects the audio track used during playback.
agora::rtc::IRtcEngine::enableAudioVolumeIndication
virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad)=0
Enables the reporting of users' volume indication.
agora::rtc::IRtcEngine::updateLocalAudioMixerConfiguration
virtual int updateLocalAudioMixerConfiguration(const LocalAudioMixerConfiguration &config)=0
Updates the configurations for mixing audio streams locally.
agora::rtc::IRtcEngine::registerAudioSpectrumObserver
virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
Registers an audio spectrum observer.
agora::rtc::IRtcEngine::setAudioMixingPitch
virtual int setAudioMixingPitch(int pitch)=0
Sets the pitch of the local music file.
agora::rtc::IRtcEngine::stopAudioFrameDump
virtual int stopAudioFrameDump(const char *channel_id, uid_t uid, const char *location)=0
agora::rtc::IRtcEngine::startRhythmPlayer
virtual int startRhythmPlayer(const char *sound1, const char *sound2, const AgoraRhythmPlayerConfig &config)=0
Enables the virtual metronome.
agora::rtc::IRtcEngine::stopCameraCapture
virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType)=0
Stops camera capture.
agora::rtc::IRtcEngine::isCameraZoomSupported
virtual bool isCameraZoomSupported()=0
Checks whether the device supports camera zoom.
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::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::IRtcEngine::stopAudioMixing
virtual int stopAudioMixing()=0
Stops playing the music file.
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::IRtcEngine::setDualStreamMode
virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode)=0
Sets the dual-stream mode on the sender side.
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::IRtcEngine::setEnableSpeakerphone
virtual int setEnableSpeakerphone(bool speakerOn)=0
Enables/Disables the audio route to the speakerphone.
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::IRtcEngine::resumeAllEffects
virtual int resumeAllEffects()=0
Resumes playing all audio effect files.
agora::rtc::IRtcEngine::createVideoEffectObject
virtual agora_refptr< IVideoEffectObject > createVideoEffectObject(const char *bundlePath, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
Creates a video effect object.
agora::rtc::IRtcEngine::queryCodecCapability
virtual int queryCodecCapability(CodecCapInfo *codecInfo, int &size)=0
Queries the video codec capabilities of the SDK.
agora::rtc::IRtcEngine::uploadLogFile
virtual int uploadLogFile(agora::util::AString &requestId)=0
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::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::IRtcEngine::getVersion
virtual const char * getVersion(int *build)=0
Gets the SDK version.
agora::rtc::IRtcEngine::addVideoWatermark
virtual int addVideoWatermark(const char *watermarkUrl, const WatermarkOptions &options)=0
Adds a watermark image to the local video.
agora::rtc::IRtcEngine::setBeautyEffectOptions
virtual int setBeautyEffectOptions(bool enabled, const BeautyOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
Sets the image enhancement options.
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::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::IRtcEngine::setSimulcastConfig
virtual int setSimulcastConfig(const SimulcastConfig &simulcastConfig)=0
Sets the simulcast video stream configuration.
agora::rtc::IRtcEngine::startEchoTest
virtual int startEchoTest(const EchoTestConfiguration &config)=0
Starts an audio device loopback test.
agora::rtc::IRtcEngine::startLocalAudioMixer
virtual int startLocalAudioMixer(const LocalAudioMixerConfiguration &config)=0
Starts local audio mixing.
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::IRtcEngine::pauseEffect
virtual int pauseEffect(int soundId)=0
Pauses a specified audio effect file.
agora::rtc::IRtcEngine::setHeadphoneEQPreset
virtual int setHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset)=0
Sets the preset headphone equalization effect.
agora::rtc::IRtcEngine::muteRecordingSignal
virtual int muteRecordingSignal(bool mute)=0
Whether to mute the recording signal.
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::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::IRtcEngine::startLocalVideoTranscoder
virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration &config)=0
Starts the local video mixing.
agora::rtc::IRtcEngine::enableDualStreamMode
virtual int enableDualStreamMode(bool enabled) __deprecated=0
Enables or disables dual-stream mode on the sender side.
agora::rtc::IRtcEngine::setInEarMonitoringVolume
virtual int setInEarMonitoringVolume(int volume)=0
Sets the volume of the in-ear monitor.
agora::rtc::IRtcEngine::isCameraTorchSupported
virtual bool isCameraTorchSupported()=0
Checks whether the device supports camera flash.
agora::rtc::IRtcEngine::stopLocalVideoTranscoder
virtual int stopLocalVideoTranscoder()=0
Stops the local video mixing.
agora::rtc::IRtcEngine::updateChannelMediaOptions
virtual int updateChannelMediaOptions(const ChannelMediaOptions &options)=0
Updates the channel media options after joining the channel.
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::IRtcEngine::setLocalVoicePitch
virtual int setLocalVoicePitch(double pitch)=0
Changes the voice pitch of the local speaker.
agora::rtc::IRtcEngine::queryDeviceScore
virtual int queryDeviceScore()=0
Queries device score.
agora::rtc::IRtcEngine::enableCameraCenterStage
virtual int enableCameraCenterStage(bool enabled)=0
Enables or disables portrait center stage.
agora::rtc::IRtcEngine::switchCamera
virtual int switchCamera()=0
Switches between front and rear cameras.
agora::rtc::IRtcEngine::startMediaRenderingTracing
virtual int startMediaRenderingTracing()=0
Enables tracing the video frame rendering process.
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::IRtcEngine::playEffect
virtual int playEffect(int soundId, const char *filePath, int loopCount, double pitch, double pan, int gain, bool publish=false, int startPos=0)=0
Plays the specified local or online audio effect file.
agora::rtc::IRtcEngine::setVoiceConversionParameters
virtual int setVoiceConversionParameters(VOICE_CONVERSION_PRESET preset, int param1, int param2)=0
agora::rtc::IRtcEngine::addVideoWatermark
virtual int addVideoWatermark(const RtcImage &watermark) __deprecated=0
Adds a watermark image to the local video.
agora::rtc::IRtcEngine::setLocalVoiceReverb
virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value)=0
Sets the local voice reverberation.
agora::rtc::IRtcEngine::getEffectDuration
virtual int getEffectDuration(const char *filePath)=0
Retrieves the duration of the audio effect file.
agora::rtc::IRtcEngine::setAudioMixingDualMonoMode
virtual int setAudioMixingDualMonoMode(media::AUDIO_MIXING_DUAL_MONO_MODE mode)=0
Sets the channel mode of the current audio file.
agora::rtc::IRtcEngine::isCameraCenterStageSupported
virtual bool isCameraCenterStageSupported()=0
Checks if the camera supports portrait center stage.
agora::rtc::IRtcEngine::getConnectionState
virtual CONNECTION_STATE_TYPE getConnectionState()=0
Gets the current connection state of the SDK.
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::IRtcEngine::leaveChannel
virtual int leaveChannel()=0
Leaves a channel.
agora::rtc::IRtcEngine::setLocalVoiceFormant
virtual int setLocalVoiceFormant(double formantRatio)=0
Sets the formant ratio to change the timbre of human voice.
agora::rtc::IRtcEngine::adjustAudioMixingVolume
virtual int adjustAudioMixingVolume(int volume)=0
Adjusts the volume during audio mixing.
agora::rtc::IRtcEngine::enableMultiCamera
virtual int enableMultiCamera(bool enabled, const CameraCapturerConfiguration &config)=0
Enables or disables multi-camera capture.
agora::rtc::IRtcEngine::resumeAudio
virtual int resumeAudio() __deprecated=0
agora::rtc::IRtcEngine::setVoiceBeautifierPreset
virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset)=0
Sets a preset voice beautifier effect.
agora::rtc::IRtcEngine::setRemoteUserSpatialAudioParams
virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams &params)=0
Sets the spatial audio effect parameters of the remote user.
agora::rtc::IRtcEngine::createDataStream
virtual int createDataStream(int *streamId, bool reliable, bool ordered)=0
Creates a data stream.
agora::rtc::IRtcEngine::takeSnapshot
virtual int takeSnapshot(uid_t uid, const char *filePath)=0
Takes a snapshot of a video stream.
agora::rtc::IRtcEngine::resumeAudioMixing
virtual int resumeAudioMixing()=0
Resumes playing and mixing the music file.
agora::rtc::IRtcEngine::enableWebSdkInteroperability
virtual int enableWebSdkInteroperability(bool enabled) __deprecated=0
Enables interoperability with the Agora Web SDK (applicable only in the live streaming.
agora::rtc::IRtcEngine::destroyCustomVideoTrack
virtual int destroyCustomVideoTrack(video_track_id_t video_track_id)=0
Destroys the specified video track.
agora::rtc::IRtcEngine::addVideoWatermark
virtual int addVideoWatermark(const WatermarkConfig &configs)=0
Adds a watermark image to the local video.
agora::rtc::IRtcEngine::setFilterEffectOptions
virtual int setFilterEffectOptions(bool enabled, const FilterEffectOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
Sets the filter effect options and specifies the media source.
agora::rtc::IRtcEngine::setAudioEffectPreset
virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset)=0
Sets an SDK preset audio effect.
agora::rtc::IRtcEngine::setCameraExposureFactor
virtual int setCameraExposureFactor(float factor)=0
Sets the camera exposure value.
agora::rtc::IRtcEngine::resumeEffect
virtual int resumeEffect(int soundId)=0
Resumes playing a specified audio effect.
agora::rtc::IRtcEngine::pauseAllChannelMediaRelay
virtual int pauseAllChannelMediaRelay()=0
Pauses the media stream relay to all target channels.
agora::rtc::IRtcEngine::setCameraZoomFactor
virtual int setCameraZoomFactor(float factor)=0
Sets the camera zoom factor.
agora::rtc::IRtcEngine::getAudioMixingDuration
virtual int getAudioMixingDuration()=0
Retrieves the duration (ms) of the music file.
agora::rtc::IRtcEngine::writeLog
virtual int writeLog(commons::LOG_LEVEL level, const char *fmt,...)=0
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::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::IRtcEngine::setAudioMixingPosition
virtual int setAudioMixingPosition(int pos)=0
Sets the audio mixing position.
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::IRtcEngine::unregisterAudioSpectrumObserver
virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
Unregisters the audio spectrum observer.
agora::rtc::IRtcEngine::setHighPriorityUserList
virtual int setHighPriorityUserList(uid_t *uidList, int uidNum, STREAM_FALLBACK_OPTIONS option)=0
agora::rtc::IRtcEngine::sendStreamMessage
virtual int sendStreamMessage(int streamId, const char *data, size_t length)=0
Sends data stream messages.
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::updateLocalTranscoderConfiguration
virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration &config)=0
Updates the local video mixing configuration.
agora::rtc::IRtcEngine::enableAudioSpectrumMonitor
virtual int enableAudioSpectrumMonitor(int intervalInMS=100)=0
Turns on audio spectrum monitoring.
agora::rtc::IRtcEngine::destroyMediaPlayer
virtual int destroyMediaPlayer(agora_refptr< IMediaPlayer > media_player)=0
Destroys the media player instance.
agora::rtc::IRtcEngine::queryInterface
virtual int queryInterface(INTERFACE_ID_TYPE iid, void **inter)=0
Gets the pointer to the specified interface.
agora::rtc::IRtcEngine::setRemoteRenderTargetFps
virtual int setRemoteRenderTargetFps(int targetFps)=0
Sets the maximum frame rate for rendering remote video.
agora::rtc::IRtcEngine::setupLocalVideo
virtual int setupLocalVideo(const VideoCanvas &canvas)=0
Initializes the local video view.
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::IRtcEngine::muteLocalVideoStream
virtual int muteLocalVideoStream(bool mute)=0
Stops or resumes publishing the local video stream.
agora::rtc::IRtcEngine::pauseAudio
virtual int pauseAudio() __deprecated=0
agora::rtc::IRtcEngine::stopScreenCapture
virtual int stopScreenCapture()=0
Stops screen capture.
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::IRtcEngine::getErrorDescription
virtual const char * getErrorDescription(int code)=0
Gets the warning or error description.
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::IRtcEngine::setAudioProfile
virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) __deprecated=0
Sets the audio profile and audio scenario.
agora::rtc::IRtcEngine::enableVideo
virtual int enableVideo()=0
Enables the video module.
agora::rtc::IRtcEngine::getAudioTrackCount
virtual int getAudioTrackCount()=0
Gets the index of audio tracks of the current music file.
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::IRtcEngine::setDefaultAudioRouteToSpeakerphone
virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker)=0
Sets the default audio playback route.
agora::rtc::IRtcEngine::setAudioScenario
virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario)=0
Sets audio scenarios.
agora::rtc::IRtcEngine::startScreenCapture
virtual int startScreenCapture(const ScreenCaptureParameters2 &captureParams)=0
Starts screen capture.
agora::rtc::IRtcEngine::registerMediaMetadataObserver
virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type)=0
Registers the metadata observer.
agora::rtc::IRtcEngine::destroyCustomEncodedVideoTrack
virtual int destroyCustomEncodedVideoTrack(video_track_id_t video_track_id)=0
agora::rtc::IRtcEngine::startScreenCaptureByScreenRect
virtual int startScreenCaptureByScreenRect(const Rectangle &screenRect, const Rectangle &regionRect, const ScreenCaptureParameters &captureParams) __deprecated=0
Captures the whole or part of a screen by specifying the screen rect.
agora::rtc::IRtcEngine::adjustAudioMixingPlayoutVolume
virtual int adjustAudioMixingPlayoutVolume(int volume)=0
Adjusts the volume of audio mixing for local playback.
agora::rtc::IRtcEngine::updateRtmpTranscoding
virtual int updateRtmpTranscoding(const LiveTranscoding &transcoding)=0
Updates the transcoding configuration.
agora::rtc::IRtcEngine::enableLoopbackRecording
virtual int enableLoopbackRecording(bool enabled, const char *deviceName=NULL)=0
Enables loopback audio capturing.
agora::rtc::IRtcEngine::startAudioMixing
virtual int startAudioMixing(const char *filePath, bool loopback, int cycle)=0
Starts playing the music file.
agora::rtc::IRtcEngine::setLocalRenderMode
virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) __deprecated=0
agora::rtc::IRtcEngine::stopAllEffects
virtual int stopAllEffects()=0
Stops playing all audio effects.
agora::rtc::IRtcEngine::startAudioMixing
virtual int startAudioMixing(const char *filePath, bool loopback, int cycle, int startPos)=0
Starts playing the music file.
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::IRtcEngine::muteAllRemoteVideoStreams
virtual int muteAllRemoteVideoStreams(bool mute)=0
Stops or resumes subscribing to the video streams of all remote users.
agora::rtc::IRtcEngine::setClientRole
virtual int setClientRole(CLIENT_ROLE_TYPE role)=0
Sets the client role.
agora::rtc::IRtcEngine::getNetworkType
virtual int getNetworkType()=0
Gets the type of the local network connection.
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::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::IRtcEngine::queryHDRCapability
virtual int queryHDRCapability(VIDEO_MODULE_TYPE videoModule, HDR_CAPABILITY &capability)=0
Queries the HDR capability of the video module.
agora::rtc::IRtcEngine::setLocalVoiceEqualization
virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain)=0
Sets the local voice equalization effect.
agora::rtc::IRtcEngine::unloadAllEffects
virtual int unloadAllEffects()=0
Releases a specified preloaded audio effect from the memory.
agora::rtc::IRtcEngine::sendMediaControlMessage
virtual int sendMediaControlMessage(uid_t uid, const char *data, size_t length)=0
Send media control message.
agora::rtc::IRtcEngine::setLocalVideoMirrorMode
virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) __deprecated=0
Sets the local video mirror mode.
agora::rtc::IRtcEngine::renewToken
virtual int renewToken(const char *token)=0
Renews the token.
agora::rtc::IRtcEngine::isFeatureAvailableOnDevice
virtual bool isFeatureAvailableOnDevice(FeatureType type)=0
Checks whether the device supports the specified advanced feature.
agora::rtc::IRtcEngine::isCameraAutoExposureFaceModeSupported
virtual bool isCameraAutoExposureFaceModeSupported()=0
Checks whether the device supports auto exposure.
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::registerAudioEncodedFrameObserver
virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig &config, IAudioEncodedFrameObserver *observer)=0
Registers an encoded audio observer.
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::resumeAllChannelMediaRelay
virtual int resumeAllChannelMediaRelay()=0
Resumes the media stream relay to all target channels.
agora::rtc::IRtcEngine::stopScreenCapture
virtual int stopScreenCapture(VIDEO_SOURCE_TYPE sourceType)=0
Stops screen capture from the specified video source.
agora::rtc::IRtcEngine::createCustomVideoTrack
virtual video_track_id_t createCustomVideoTrack()=0
Creates a custom video track.
agora::rtc::IRtcEngine::stopLastmileProbeTest
virtual int stopLastmileProbeTest()=0
Stops the last mile network probe test.
agora::rtc::IRtcEngine::registerPacketObserver
virtual int registerPacketObserver(IPacketObserver *observer)=0
Registers a packet observer.
agora::rtc::IRtcEngine::adjustLoopbackSignalVolume
virtual int adjustLoopbackSignalVolume(int volume)=0
Adjusts the volume of the signal captured by the sound card.
agora::rtc::IRtcEngine::adjustPlaybackSignalVolume
virtual int adjustPlaybackSignalVolume(int volume)=0
Adjusts the playback signal volume of all remote users.
agora::rtc::IRtcEngine::enableAudio
virtual int enableAudio()=0
Enables the audio module.
agora::rtc::IRtcEngine::setRemoteVideoSubscriptionOptions
virtual int setRemoteVideoSubscriptionOptions(uid_t uid, const VideoSubscriptionOptions &options)=0
Options for subscribing to remote video streams.
agora::rtc::IRtcEngine::setVideoEncoderConfiguration
virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration &config)=0
Sets the video encoder configuration.
agora::rtc::IRtcEngine::setRemoteDefaultVideoStreamType
virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType)=0
Sets the default video stream type to subscribe to.
agora::rtc::IRtcEngine::enableDualStreamMode
virtual int enableDualStreamMode(bool enabled, const SimulcastStreamConfig &streamConfig) __deprecated=0
Sets the dual-stream mode on the sender side and the low-quality video stream.
agora::rtc::IRtcEngine::enableVoiceAITuner
virtual int enableVoiceAITuner(bool enabled, VOICE_AI_TUNER_TYPE type)=0
Enables or disables the voice AI tuner.
agora::rtc::IRtcEngine::setAudioEffectParameters
virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2)=0
Sets parameters for SDK preset audio effects.
agora::rtc::IRtcEngine::adjustAudioMixingPublishVolume
virtual int adjustAudioMixingPublishVolume(int volume)=0
Adjusts the volume of audio mixing for publishing.
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::setCameraFocusPositionInPreview
virtual int setCameraFocusPositionInPreview(float positionX, float positionY)=0
Sets the camera manual focus position.
agora::rtc::IRtcEngine::isCameraFocusSupported
virtual bool isCameraFocusSupported()=0
Check whether the device supports the manual focus function.
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::IRtcEngine::setCameraAutoFocusFaceModeEnabled
virtual int setCameraAutoFocusFaceModeEnabled(bool enabled)=0
Enables the camera auto-face focus function.
agora::rtc::IRtcEngine::unloadEffect
virtual int unloadEffect(int soundId)=0
Releases a specified preloaded audio effect from the memory.
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::IRtcEngine::enableLocalAudio
virtual int enableLocalAudio(bool enabled)=0
Enables or disables the local audio capture.
agora::rtc::IRtcEngine::getAudioMixingPublishVolume
virtual int getAudioMixingPublishVolume()=0
Retrieves the audio mixing volume for publishing.
agora::rtc::IRtcEngine::setAdvancedAudioOptions
virtual int setAdvancedAudioOptions(AdvancedAudioOptions &options, int sourceType=0)=0
Sets audio advanced options.
agora::rtc::IRtcEngine::release
static AGORA_CPP_API void release(RtcEngineReleaseCallback callback=nullptr)
Releases the IRtcEngine instance.
agora::rtc::IRtcEngine::getScreenCaptureSources
virtual IScreenCaptureSourceList * getScreenCaptureSources(const SIZE &thumbSize, const SIZE &iconSize, const bool includeScreen)=0
Gets a list of shareable screens and windows.
agora::rtc::IRtcEngine::setCameraCapturerConfiguration
virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration &config)=0
Sets the camera capture configuration.
agora::rtc::IRtcEngine::setChannelProfile
virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile)=0
Sets the channel profile.
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::IRtcEngine::startPreview
virtual int startPreview()=0
Enables the local video preview.
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::getAudioMixingCurrentPosition
virtual int getAudioMixingCurrentPosition()=0
Retrieves the playback position (ms) of the music file.
agora::rtc::IRtcEngine::isSpeakerphoneEnabled
virtual bool isSpeakerphoneEnabled()=0
Checks whether the speakerphone is enabled.
agora::rtc::IRtcEngine::unregisterEventHandler
virtual bool unregisterEventHandler(IRtcEngineEventHandler *eventHandler)=0
agora::rtc::IRtcEngine::updateDirectCdnStreamingMediaOptions
virtual int updateDirectCdnStreamingMediaOptions(const DirectCdnStreamingMediaOptions &options)=0
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::IRtcEngine::disableAudioSpectrumMonitor
virtual int disableAudioSpectrumMonitor()=0
Disables audio spectrum monitoring.
agora::rtc::IRtcEngine::setCameraDeviceOrientation
virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation)=0
Sets the rotation angle of the captured video.
agora::rtc::IRtcEngine::stopPreview
virtual int stopPreview()=0
Stops the local video preview.
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::IRtcEngine::stopRhythmPlayer
virtual int stopRhythmPlayer()=0
Disables the virtual metronome.
agora::rtc::IRtcEngine::enableInEarMonitoring
virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters)=0
Enables in-ear monitoring.
agora::rtc::IRtcEngine::enableInstantMediaRendering
virtual int enableInstantMediaRendering()=0
Enables audio and video frame instant rendering.
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::IRtcEngine::getVolumeOfEffect
virtual int getVolumeOfEffect(int soundId)=0
Gets the volume of a specified audio effect file.
agora::rtc::IRtcEngine::configRhythmPlayer
virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig &config)=0
Configures the virtual metronome.
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::IRtcEngine::pauseAudioMixing
virtual int pauseAudioMixing()=0
Pauses playing and mixing the music file.
agora::rtc::IRtcEngine::setAVSyncSource
virtual int setAVSyncSource(const char *channelId, uid_t uid)=0
Sets audio-video synchronization for the sender.
agora::rtc::IRtcEngine::stopRtmpStream
virtual int stopRtmpStream(const char *url)=0
Stops pushing media streams to a CDN.
agora::rtc::IRtcEngine::playAllEffects
virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish=false)=0
Plays all audio effect files.
agora::rtc::IRtcEngine::isCameraExposurePositionSupported
virtual bool isCameraExposurePositionSupported()=0
Checks whether the device supports manual exposure.
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::IRtcEngine::setCameraStabilizationMode
virtual int setCameraStabilizationMode(CAMERA_STABILIZATION_MODE mode)=0
Sets the camera stabilization mode.
agora::rtc::IRtcEngine::getEffectCurrentPosition
virtual int getEffectCurrentPosition(int soundId)=0
Retrieves the playback position of the audio effect file.
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::IRtcEngine::destroyVideoEffectObject
virtual int destroyVideoEffectObject(agora_refptr< IVideoEffectObject > videoEffectObject)=0
Destroys a video effect object.
agora::rtc::IRtcEngine::setRouteInCommunicationMode
virtual int setRouteInCommunicationMode(int route)=0
Selects the audio playback route in communication audio mode.
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::IRtcEngine::muteAllRemoteAudioStreams
virtual int muteAllRemoteAudioStreams(bool mute)=0
Stops or resumes subscribing to the audio streams of all remote users.
agora::rtc::IRtcEngine::enableContentInspect
virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config)=0
Enables or disables video screenshot and upload.
agora::rtc::IRtcEngine::setupRemoteVideo
virtual int setupRemoteVideo(const VideoCanvas &canvas)=0
Initializes the video view of a remote user.
agora::rtc::IRtcEngine::setSubscribeVideoBlocklist
virtual int setSubscribeVideoBlocklist(uid_t *uidList, int uidNumber)=0
Sets the blocklist of subscriptions for video streams.
agora::rtc::IRtcEngine::queryCameraFocalLengthCapability
virtual int queryCameraFocalLengthCapability(agora::rtc::FocalLengthInfo *focalLengthInfos, int &size)=0
Queries the focal length capability supported by the camera.
agora::rtc::IRtcEngine::enableSoundPositionIndication
virtual int enableSoundPositionIndication(bool enabled)=0
Enables or disables stereo panning for remote users.
agora::rtc::IRtcEngine::stopPreview
virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType)=0
Stops the local video preview.
agora::rtc::IRtcEngine::destroyMediaRecorder
virtual int destroyMediaRecorder(agora_refptr< IMediaRecorder > mediaRecorder)=0
Destroys an audio and video recording object.
agora::rtc::IRtcEngine::getCurrentMonotonicTimeInMs
virtual int64_t getCurrentMonotonicTimeInMs()=0
Gets the current Monotonic Time of the SDK.
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::enableExtension
virtual int enableExtension(const char *provider, const char *extension, const ExtensionInfo &extensionInfo, bool enable=true)=0
agora::rtc::IRtcEngine::enableSpatialAudio
virtual int enableSpatialAudio(bool enabled)=0
Enables or disables the spatial audio effect.
agora::rtc::IRtcEngine::initialize
virtual int initialize(const RtcEngineContext &context)=0
Initializes IRtcEngine.
agora::rtc::IRtcEngine::disableVideo
virtual int disableVideo()=0
Disables the video module.
agora::rtc::IRtcEngine::removeVideoWatermark
virtual int removeVideoWatermark(const char *id)=0
Removes the watermark image from the local video.
agora::rtc::IRtcEngine::getLoopbackRecordingVolume
virtual int getLoopbackRecordingVolume()=0
agora::rtc::IRtcEngine::createMediaRecorder
virtual agora_refptr< IMediaRecorder > createMediaRecorder(const RecorderStreamInfo &info)=0
Creates an audio and video recording object.
agora::rtc::IRtcEngine::isCameraAutoFocusFaceModeSupported
virtual bool isCameraAutoFocusFaceModeSupported()=0
Checks whether the device supports the face auto-focus function.
agora::rtc::IRtcEngine::getCameraMaxZoomFactor
virtual float getCameraMaxZoomFactor()=0
Gets the maximum zoom ratio supported by the camera.
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::startOrUpdateChannelMediaRelay
virtual int startOrUpdateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration)=0
Starts relaying media streams across channels or updates channels for media relay.
agora::rtc::IRtcEngine::setEffectPosition
virtual int setEffectPosition(int soundId, int pos)=0
Sets the playback position of an audio effect file.
agora::rtc::IRtcEngine::startAudioRecording
virtual int startAudioRecording(const AudioRecordingConfiguration &config)=0
agora::rtc::IRtcEngine::unregisterMediaMetadataObserver
virtual int unregisterMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type)=0
Unregisters the specified metadata observer.
agora::rtc::IRtcEngine::getAudioDeviceInfo
virtual int getAudioDeviceInfo(DeviceInfo &deviceInfo)=0
Gets the audio device information.
agora::rtc::IRtcEngine::createDataStream
virtual int createDataStream(int *streamId, const DataStreamConfig &config)=0
Creates a data stream.
agora::rtc::IRtcEngine::adjustRecordingSignalVolume
virtual int adjustRecordingSignalVolume(int volume)=0
Adjusts the capturing signal volume.
agora::rtc::IRtcEngine::setVideoScenario
virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType)=0
Sets video application scenarios.
agora::rtc::IRtcEngine::setLogFilter
virtual int setLogFilter(unsigned int filter)=0
Sets the log output level of the SDK.
agora::rtc::IRtcEngine::startRtmpStreamWithoutTranscoding
virtual int startRtmpStreamWithoutTranscoding(const char *url)=0
Starts pushing media streams to a CDN without transcoding.
agora::rtc::IRtcEngine::startCameraCapture
virtual int startCameraCapture(VIDEO_SOURCE_TYPE sourceType, const CameraCapturerConfiguration &config)=0
Starts camera capture.
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::IRtcEngine::enableFaceDetection
virtual int enableFaceDetection(bool enabled)=0
Enables or disables face detection for the local user.
agora::rtc::IRtcEngine::isCameraFaceDetectSupported
virtual bool isCameraFaceDetectSupported()=0
Checks whether the device camera supports face detection.
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::IRtcEngine::queryScreenCaptureCapability
virtual int queryScreenCaptureCapability()=0
Queries the highest frame rate supported by the device during screen sharing.
agora::rtc::IRtcEngine::leaveChannel
virtual int leaveChannel(const LeaveChannelOptions &options)=0
Sets channel options and leaves the channel.
agora::rtc::IRtcEngine::enableEncryption
virtual int enableEncryption(bool enabled, const EncryptionConfig &config)=0
Enables or disables the built-in encryption.
agora::rtc::IRtcEngine::updateScreenCaptureParameters
virtual int updateScreenCaptureParameters(const ScreenCaptureParameters &captureParams)=0
Updates the screen capturing parameters.
agora::rtc::IRtcEngine::pauseAllEffects
virtual int pauseAllEffects()=0
Pauses all audio effects.
agora::rtc::IRtcEngine::stopEffect
virtual int stopEffect(int soundId)=0
Stops playing a specified audio effect.
agora::rtc::IRtcEngine::createCustomEncodedVideoTrack
virtual video_track_id_t createCustomEncodedVideoTrack(const SenderOptions &sender_option)=0
agora::rtc::IRtcEngine::setCameraExposurePosition
virtual int setCameraExposurePosition(float positionXinView, float positionYinView)=0
Sets the camera exposure position.
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::stopAudioRecording
virtual int stopAudioRecording()=0
Stops client-side audio recording.
agora::rtc::IRtcEngine::startLastmileProbeTest
virtual int startLastmileProbeTest(const LastmileProbeConfig &config)=0
Starts the last mile network probe test.
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::IRtcEngine::setVideoQoEPreference
virtual int setVideoQoEPreference(VIDEO_QOE_PREFERENCE_TYPE qoePreference)=0
agora::rtc::IRtcEngine::setEffectsVolume
virtual int setEffectsVolume(int volume)=0
Sets the volume of the audio effects.
agora::rtc::IRtcEngine::setScreenCaptureOrientation
virtual int setScreenCaptureOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation)=0
agora::rtc::IRtcEngine::registerEventHandler
virtual bool registerEventHandler(IRtcEngineEventHandler *eventHandler)=0
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::loadExtensionProvider
virtual int loadExtensionProvider(const char *path, bool unload_after_use=false)=0
Loads an extension.
agora::rtc::IRtcEngine::updateScreenCaptureRegion
virtual int updateScreenCaptureRegion(const Rectangle &regionRect)=0
Updates the screen capturing region.
agora::rtc::IRtcEngine::setSubscribeVideoAllowlist
virtual int setSubscribeVideoAllowlist(uid_t *uidList, int uidNumber)=0
Sets the allowlist of subscriptions for video streams.
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::IRtcEngine::getNtpWallTimeInMs
virtual uint64_t getNtpWallTimeInMs()=0
Gets the current NTP (Network Time Protocol) time.
agora::rtc::IRtcEngine::setLogFile
virtual int setLogFile(const char *filePath)=0
Sets the log file.
agora::rtc::IRtcEngine::stopEchoTest
virtual int stopEchoTest()=0
Stops the audio call test.
agora::rtc::IRtcEngine::clearVideoWatermarks
virtual int clearVideoWatermarks()=0
Removes the watermark image from the video stream.
agora::rtc::IRtcEngine::sendAudioMetadata
virtual int sendAudioMetadata(const char *metadata, size_t length)=0
send audio metadata
agora::rtc::IRtcEngine::createMediaPlayer
virtual agora_refptr< IMediaPlayer > createMediaPlayer()=0
Creates a media player object.
agora::rtc::IRtcEngine::setRemoteUserPriority
virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority)=0
agora::rtc::IRtcEngine::getAudioMixingPlayoutVolume
virtual int getAudioMixingPlayoutVolume()=0
Retrieves the audio mixing volume for local playback.
agora::rtc::IRtcEngine::setVoiceConversionPreset
virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset)=0
Sets a preset voice beautifier effect.
agora::rtc::IRtcEngine::updatePreloadChannelToken
virtual int updatePreloadChannelToken(const char *token)=0
Updates the wildcard token for preloading channels.
agora::rtc::IRtcEngine::isCameraExposureSupported
virtual bool isCameraExposureSupported()=0
Queries whether the current camera supports adjusting exposure value.
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::setLogLevel
virtual int setLogLevel(commons::LOG_LEVEL level)=0
Sets the output log level of the SDK.
agora::rtc::IRtcEngine::setAudioSessionOperationRestriction
virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction)=0
Sets the operational permission of the SDK on the audio session.
agora::rtc::IRtcEngine::getCallId
virtual int getCallId(agora::util::AString &callId)=0
Retrieves the call ID.
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::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::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::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::IRtcEngine::setExtensionProperty
virtual int setExtensionProperty(const char *provider, const char *extension, const ExtensionInfo &extensionInfo, const char *key, const char *value)=0
agora::rtc::IRtcEngine::stopLocalAudioMixer
virtual int stopLocalAudioMixer()=0
Stops the local audio mixing.
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::IRtcEngine::setAudioProfile
virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile)=0
Sets audio profiles.
agora::rtc::IRtcEngine::setCloudProxy
virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType)=0
Sets up cloud proxy service.
agora::rtc::IScreenCaptureSourceList
Definition IAgoraRtcEngine.h:1162
agora::rtc::IScreenCaptureSourceList::getCount
virtual unsigned int getCount()=0
Gets the number of shareable windows and screens.
agora::rtc::IScreenCaptureSourceList::~IScreenCaptureSourceList
virtual ~IScreenCaptureSourceList()
Definition IAgoraRtcEngine.h:1164
agora::rtc::IScreenCaptureSourceList::getSourceInfo
virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index)=0
Gets information about the specified shareable window or screen.
agora::rtc::IScreenCaptureSourceList::release
virtual void release()=0
Releases IScreenCaptureSourceList.
agora::rtc::IVideoDeviceCollection
Definition IAgoraRtcEngine.h:3694
agora::rtc::IVideoDeviceCollection::setDevice
virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IVideoDeviceCollection::release
virtual void release()=0
Releases all the resources occupied by the IVideoDeviceCollection object.
agora::rtc::IVideoDeviceCollection::getDevice
virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH], char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IVideoDeviceCollection::getCount
virtual int getCount()=0
Gets the total number of the indexed video devices in the system.
agora::rtc::IVideoDeviceCollection::~IVideoDeviceCollection
virtual ~IVideoDeviceCollection()
Definition IAgoraRtcEngine.h:3696
agora::rtc::IVideoDeviceManager
Definition IAgoraRtcEngine.h:3739
agora::rtc::IVideoDeviceManager::setDevice
virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IVideoDeviceManager::enumerateVideoDevices
virtual IVideoDeviceCollection * enumerateVideoDevices()=0
Enumerates the video devices.
agora::rtc::IVideoDeviceManager::getDevice
virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
Retrieves the current video capture device.
agora::rtc::IVideoDeviceManager::~IVideoDeviceManager
virtual ~IVideoDeviceManager()
Definition IAgoraRtcEngine.h:3741
agora::rtc::IVideoDeviceManager::release
virtual void release()=0
Releases all the resources occupied by the IVideoDeviceManager object.
agora::rtc::IVideoDeviceManager::startDeviceTest
virtual int startDeviceTest(view_t hwnd)=0
agora::rtc::IVideoDeviceManager::getCapability
virtual int getCapability(const char *deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat &capability)=0
Gets the detailed video frame information of the video capture device in the specified video format.
agora::rtc::IVideoDeviceManager::stopDeviceTest
virtual int stopDeviceTest()=0
agora::rtc::IVideoDeviceManager::numberOfCapabilities
virtual int numberOfCapabilities(const char *deviceIdUTF8)=0
Gets the number of video formats supported by the specified video capture device.
agora::rtc::IVideoEffectObject
Provides methods to manage and configure video effects, such as beauty, style makeup,...
Definition IAgoraRtcEngine.h:3866
agora::rtc::IVideoEffectObject::VIDEO_EFFECT_NODE_ID
VIDEO_EFFECT_NODE_ID
Types of applicable video effect nodes.
Definition IAgoraRtcEngine.h:3875
agora::rtc::IVideoEffectObject::VIDEO_EFFECT_NODE_ID::STYLE_MAKEUP
@ STYLE_MAKEUP
Definition IAgoraRtcEngine.h:3883
agora::rtc::IVideoEffectObject::VIDEO_EFFECT_NODE_ID::FILTER
@ FILTER
Definition IAgoraRtcEngine.h:3887
agora::rtc::IVideoEffectObject::VIDEO_EFFECT_NODE_ID::BEAUTY
@ BEAUTY
Definition IAgoraRtcEngine.h:3879
agora::rtc::IVideoEffectObject::setVideoEffectFloatParam
virtual int setVideoEffectFloatParam(const char *option, const char *key, float param)=0
Sets the float parameter for video effects.
agora::rtc::IVideoEffectObject::getVideoEffectFloatParam
virtual float getVideoEffectFloatParam(const char *option, const char *key)=0
Retrieves float type parameters in video effects.
agora::rtc::IVideoEffectObject::removeVideoEffect
virtual int removeVideoEffect(uint32_t nodeId)=0
Removes the video effect with the specified node ID.
agora::rtc::IVideoEffectObject::setVideoEffectIntParam
virtual int setVideoEffectIntParam(const char *option, const char *key, int param)=0
Sets an integer parameter for video effects.
agora::rtc::IVideoEffectObject::~IVideoEffectObject
virtual ~IVideoEffectObject()
Definition IAgoraRtcEngine.h:3868
agora::rtc::IVideoEffectObject::getVideoEffectBoolParam
virtual bool getVideoEffectBoolParam(const char *option, const char *key)=0
Gets the boolean parameter in video effects.
agora::rtc::IVideoEffectObject::addOrUpdateVideoEffect
virtual int addOrUpdateVideoEffect(uint32_t nodeId, const char *templateName)=0
Adds or updates the video effect for the specified node ID and template.
agora::rtc::IVideoEffectObject::VIDEO_EFFECT_ACTION
VIDEO_EFFECT_ACTION
Actions that can be performed on video effect nodes.
Definition IAgoraRtcEngine.h:3895
agora::rtc::IVideoEffectObject::SAVE
@ SAVE
Definition IAgoraRtcEngine.h:3899
agora::rtc::IVideoEffectObject::RESET
@ RESET
Definition IAgoraRtcEngine.h:3903
agora::rtc::IVideoEffectObject::getVideoEffectIntParam
virtual int getVideoEffectIntParam(const char *option, const char *key)=0
Retrieves integer parameters in video effects.
agora::rtc::IVideoEffectObject::performVideoEffectAction
virtual int performVideoEffectAction(uint32_t nodeId, VIDEO_EFFECT_ACTION actionId)=0
Performs an action on the specified video effect node.
agora::rtc::IVideoEffectObject::setVideoEffectBoolParam
virtual int setVideoEffectBoolParam(const char *option, const char *key, bool param)=0
Sets the boolean parameter for video effects.
agora::util::AutoPtr
Definition AgoraBase.h:100
agora::util::AutoPtr< IAudioDeviceManager >::queryInterface
bool queryInterface(C1 *c, C2 iid)
Definition AgoraBase.h:138
createAgoraRtcEngine
AGORA_API agora::rtc::IRtcEngine *AGORA_CALL createAgoraRtcEngine()
Creates one IRtcEngine object.
agora::base
Definition IAgoraService.h:73
agora::capability
Definition channel_capability_i.h:14
agora::commons::LOG_LEVEL
OPTIONAL_ENUM_CLASS LOG_LEVEL
The output log level of the SDK.
Definition IAgoraLog.h:33
agora::extension
Definition builtin_extension_literal_def.h:10
agora::media::base::RENDER_MODE_TYPE
RENDER_MODE_TYPE
Video display modes.
Definition AgoraMediaBase.h:587
agora::media
Definition content_inspect_i.h:15
agora::media::MEDIA_SOURCE_TYPE
MEDIA_SOURCE_TYPE
Media source type.
Definition AgoraMediaBase.h:283
agora::media::PRIMARY_CAMERA_SOURCE
@ PRIMARY_CAMERA_SOURCE
Definition AgoraMediaBase.h:295
agora::media::UNKNOWN_MEDIA_SOURCE
@ UNKNOWN_MEDIA_SOURCE
Definition AgoraMediaBase.h:343
agora::media::CONTENT_INSPECT_RESULT
CONTENT_INSPECT_RESULT
Definition AgoraMediaBase.h:1274
agora::media::AUDIO_MIXING_DUAL_MONO_MODE
AUDIO_MIXING_DUAL_MONO_MODE
The channel mode.
Definition IAgoraMediaEngine.h:18
agora::rtc
Definition AgoraExtensions.h:5
agora::rtc::video_track_id_t
unsigned int video_track_id_t
Definition AgoraMediaBase.h:31
agora::rtc::MEDIA_DEVICE_STATE_TYPE
MEDIA_DEVICE_STATE_TYPE
Media device states.
Definition IAgoraRtcEngine.h:12382
agora::rtc::MEDIA_DEVICE_STATE_IDLE
@ MEDIA_DEVICE_STATE_IDLE
Definition IAgoraRtcEngine.h:12386
agora::rtc::MEDIA_DEVICE_STATE_DISABLED
@ MEDIA_DEVICE_STATE_DISABLED
Definition IAgoraRtcEngine.h:12394
agora::rtc::MEDIA_DEVICE_STATE_PLUGGED_IN
@ MEDIA_DEVICE_STATE_PLUGGED_IN
Definition IAgoraRtcEngine.h:12399
agora::rtc::MEDIA_DEVICE_STATE_ACTIVE
@ MEDIA_DEVICE_STATE_ACTIVE
Definition IAgoraRtcEngine.h:12390
agora::rtc::MEDIA_DEVICE_STATE_NOT_PRESENT
@ MEDIA_DEVICE_STATE_NOT_PRESENT
Definition IAgoraRtcEngine.h:12404
agora::rtc::MEDIA_DEVICE_STATE_UNPLUGGED
@ MEDIA_DEVICE_STATE_UNPLUGGED
Definition IAgoraRtcEngine.h:12408
agora::rtc::FeatureType
FeatureType
The type of the advanced feature.
Definition IAgoraRtcEngine.h:1744
agora::rtc::VIDEO_BEAUTY_EFFECT
@ VIDEO_BEAUTY_EFFECT
Definition IAgoraRtcEngine.h:1752
agora::rtc::VIDEO_VIRTUAL_BACKGROUND
@ VIDEO_VIRTUAL_BACKGROUND
Definition IAgoraRtcEngine.h:1748
agora::rtc::MEDIA_TRACE_EVENT
MEDIA_TRACE_EVENT
The rendering state of the media frame.
Definition AgoraBase.h:7704
agora::rtc::SIMULCAST_STREAM_MODE
SIMULCAST_STREAM_MODE
The mode in which the video stream is sent.
Definition AgoraBase.h:2210
agora::rtc::AUDIO_EFFECT_PRESET
AUDIO_EFFECT_PRESET
Preset audio effects.
Definition AgoraBase.h:6201
agora::rtc::LOCAL_AUDIO_STREAM_STATE
LOCAL_AUDIO_STREAM_STATE
The state of the local audio.
Definition AgoraBase.h:3405
agora::rtc::VOICE_BEAUTIFIER_PRESET
VOICE_BEAUTIFIER_PRESET
The options for SDK preset voice beautifier effects.
Definition AgoraBase.h:6112
agora::rtc::DIRECT_CDN_STREAMING_REASON
DIRECT_CDN_STREAMING_REASON
Reasons for the changes in CDN streaming status.
Definition IAgoraRtcEngine.h:4271
agora::rtc::DIRECT_CDN_STREAMING_REASON_OK
@ DIRECT_CDN_STREAMING_REASON_OK
Definition IAgoraRtcEngine.h:4276
agora::rtc::DIRECT_CDN_STREAMING_REASON_BAD_NAME
@ DIRECT_CDN_STREAMING_REASON_BAD_NAME
Definition IAgoraRtcEngine.h:4303
agora::rtc::DIRECT_CDN_STREAMING_REASON_FAILED
@ DIRECT_CDN_STREAMING_REASON_FAILED
Definition IAgoraRtcEngine.h:4281
agora::rtc::DIRECT_CDN_STREAMING_REASON_VIDEO_PUBLICATION
@ DIRECT_CDN_STREAMING_REASON_VIDEO_PUBLICATION
Definition IAgoraRtcEngine.h:4293
agora::rtc::DIRECT_CDN_STREAMING_REASON_AUDIO_PUBLICATION
@ DIRECT_CDN_STREAMING_REASON_AUDIO_PUBLICATION
Definition IAgoraRtcEngine.h:4287
agora::rtc::DIRECT_CDN_STREAMING_REASON_NET_CONNECT
@ DIRECT_CDN_STREAMING_REASON_NET_CONNECT
Definition IAgoraRtcEngine.h:4298
agora::rtc::AUDIO_SCENARIO_TYPE
AUDIO_SCENARIO_TYPE
The audio scenarios.
Definition AgoraBase.h:3124
agora::rtc::AUDIO_SCENARIO_DEFAULT
@ AUDIO_SCENARIO_DEFAULT
Definition AgoraBase.h:3129
agora::rtc::VIDEO_QOE_PREFERENCE_TYPE
VIDEO_QOE_PREFERENCE_TYPE
Definition AgoraBase.h:3323
agora::rtc::AUDIO_EQUALIZATION_BAND_FREQUENCY
AUDIO_EQUALIZATION_BAND_FREQUENCY
The midrange frequency for audio equalization.
Definition IAgoraRtcEngine.h:196
agora::rtc::AUDIO_EQUALIZATION_BAND_1K
@ AUDIO_EQUALIZATION_BAND_1K
Definition IAgoraRtcEngine.h:220
agora::rtc::AUDIO_EQUALIZATION_BAND_16K
@ AUDIO_EQUALIZATION_BAND_16K
Definition IAgoraRtcEngine.h:236
agora::rtc::AUDIO_EQUALIZATION_BAND_31
@ AUDIO_EQUALIZATION_BAND_31
Definition IAgoraRtcEngine.h:200
agora::rtc::AUDIO_EQUALIZATION_BAND_250
@ AUDIO_EQUALIZATION_BAND_250
Definition IAgoraRtcEngine.h:212
agora::rtc::AUDIO_EQUALIZATION_BAND_125
@ AUDIO_EQUALIZATION_BAND_125
Definition IAgoraRtcEngine.h:208
agora::rtc::AUDIO_EQUALIZATION_BAND_2K
@ AUDIO_EQUALIZATION_BAND_2K
Definition IAgoraRtcEngine.h:224
agora::rtc::AUDIO_EQUALIZATION_BAND_62
@ AUDIO_EQUALIZATION_BAND_62
Definition IAgoraRtcEngine.h:204
agora::rtc::AUDIO_EQUALIZATION_BAND_500
@ AUDIO_EQUALIZATION_BAND_500
Definition IAgoraRtcEngine.h:216
agora::rtc::AUDIO_EQUALIZATION_BAND_8K
@ AUDIO_EQUALIZATION_BAND_8K
Definition IAgoraRtcEngine.h:232
agora::rtc::AUDIO_EQUALIZATION_BAND_4K
@ AUDIO_EQUALIZATION_BAND_4K
Definition IAgoraRtcEngine.h:228
agora::rtc::CONNECTION_CHANGED_REASON_TYPE
CONNECTION_CHANGED_REASON_TYPE
Reasons causing the change of the connection state.
Definition AgoraBase.h:5041
agora::rtc::ENCRYPTION_ERROR_TYPE
ENCRYPTION_ERROR_TYPE
Encryption error type.
Definition AgoraBase.h:7350
agora::rtc::PROXY_TYPE
PROXY_TYPE
The cloud proxy type.
Definition IAgoraRtcEngine.h:1709
agora::rtc::TCP_PROXY_AUTO_FALLBACK_TYPE
@ TCP_PROXY_AUTO_FALLBACK_TYPE
Definition IAgoraRtcEngine.h:1732
agora::rtc::HTTPS_PROXY_TYPE
@ HTTPS_PROXY_TYPE
Definition IAgoraRtcEngine.h:1738
agora::rtc::NONE_PROXY_TYPE
@ NONE_PROXY_TYPE
Definition IAgoraRtcEngine.h:1713
agora::rtc::TCP_PROXY_TYPE
@ TCP_PROXY_TYPE
Definition IAgoraRtcEngine.h:1723
agora::rtc::UDP_PROXY_TYPE
@ UDP_PROXY_TYPE
Definition IAgoraRtcEngine.h:1718
agora::rtc::LOCAL_PROXY_TYPE
@ LOCAL_PROXY_TYPE
Definition IAgoraRtcEngine.h:1727
agora::rtc::HTTP_PROXY_TYPE
@ HTTP_PROXY_TYPE
Definition IAgoraRtcEngine.h:1735
agora::rtc::MEDIA_DEVICE_TYPE
MEDIA_DEVICE_TYPE
Media device types.
Definition IAgoraRtcEngine.h:40
agora::rtc::VIDEO_CAPTURE_DEVICE
@ VIDEO_CAPTURE_DEVICE
Definition IAgoraRtcEngine.h:60
agora::rtc::AUDIO_VIRTUAL_PLAYOUT_DEVICE
@ AUDIO_VIRTUAL_PLAYOUT_DEVICE
Definition IAgoraRtcEngine.h:68
agora::rtc::AUDIO_VIRTUAL_RECORDING_DEVICE
@ AUDIO_VIRTUAL_RECORDING_DEVICE
Definition IAgoraRtcEngine.h:72
agora::rtc::AUDIO_PLAYOUT_DEVICE
@ AUDIO_PLAYOUT_DEVICE
Definition IAgoraRtcEngine.h:48
agora::rtc::VIDEO_RENDER_DEVICE
@ VIDEO_RENDER_DEVICE
Definition IAgoraRtcEngine.h:56
agora::rtc::AUDIO_RECORDING_DEVICE
@ AUDIO_RECORDING_DEVICE
Definition IAgoraRtcEngine.h:52
agora::rtc::AUDIO_APPLICATION_PLAYOUT_DEVICE
@ AUDIO_APPLICATION_PLAYOUT_DEVICE
Definition IAgoraRtcEngine.h:64
agora::rtc::UNKNOWN_AUDIO_DEVICE
@ UNKNOWN_AUDIO_DEVICE
Definition IAgoraRtcEngine.h:44
agora::rtc::VIDEO_CONTENT_HINT
VIDEO_CONTENT_HINT
The content hint for screen sharing.
Definition AgoraBase.h:3210
agora::rtc::CLIENT_ROLE_TYPE
CLIENT_ROLE_TYPE
The user role in the interactive live streaming.
Definition AgoraBase.h:2951
agora::rtc::CONNECTION_STATE_TYPE
CONNECTION_STATE_TYPE
Connection states.
Definition AgoraBase.h:4433
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::AUDIO_SAMPLE_RATE_48000
@ AUDIO_SAMPLE_RATE_48000
Definition AgoraBase.h:4109
agora::rtc::PERMISSION_TYPE
PERMISSION_TYPE
The type of the device permission.
Definition AgoraBase.h:7430
agora::rtc::RtcEngineReleaseCallback
void(*)() RtcEngineReleaseCallback
Callback triggered when IRtcEngine is released.
Definition IAgoraRtcEngine.h:4573
agora::rtc::REMOTE_AUDIO_STATE_REASON
REMOTE_AUDIO_STATE_REASON
The reason for the remote audio state change.
Definition AgoraBase.h:3731
agora::rtc::USER_OFFLINE_REASON_TYPE
USER_OFFLINE_REASON_TYPE
Reasons for a user being offline.
Definition AgoraBase.h:884
agora::rtc::STREAM_PUBLISH_STATE
STREAM_PUBLISH_STATE
The publishing state.
Definition AgoraBase.h:7483
agora::rtc::CAMERA_DIRECTION
CAMERA_DIRECTION
The camera direction.
Definition IAgoraRtcEngine.h:884
agora::rtc::CAMERA_FRONT
@ CAMERA_FRONT
Definition IAgoraRtcEngine.h:892
agora::rtc::CAMERA_REAR
@ CAMERA_REAR
Definition IAgoraRtcEngine.h:888
agora::rtc::VIDEO_STREAM_TYPE
VIDEO_STREAM_TYPE
The type of video streams.
Definition AgoraBase.h:1660
agora::rtc::LOCAL_AUDIO_STREAM_REASON
LOCAL_AUDIO_STREAM_REASON
Reasons for local audio state changes.
Definition AgoraBase.h:3427
agora::rtc::DIRECT_CDN_STREAMING_STATE
DIRECT_CDN_STREAMING_STATE
The current CDN streaming state.
Definition IAgoraRtcEngine.h:4311
agora::rtc::DIRECT_CDN_STREAMING_STATE_FAILED
@ DIRECT_CDN_STREAMING_STATE_FAILED
Definition IAgoraRtcEngine.h:4334
agora::rtc::DIRECT_CDN_STREAMING_STATE_RECOVERING
@ DIRECT_CDN_STREAMING_STATE_RECOVERING
Definition IAgoraRtcEngine.h:4341
agora::rtc::DIRECT_CDN_STREAMING_STATE_RUNNING
@ DIRECT_CDN_STREAMING_STATE_RUNNING
Definition IAgoraRtcEngine.h:4322
agora::rtc::DIRECT_CDN_STREAMING_STATE_STOPPED
@ DIRECT_CDN_STREAMING_STATE_STOPPED
Definition IAgoraRtcEngine.h:4328
agora::rtc::DIRECT_CDN_STREAMING_STATE_IDLE
@ DIRECT_CDN_STREAMING_STATE_IDLE
Definition IAgoraRtcEngine.h:4316
agora::rtc::AUDIO_AINS_MODE
AUDIO_AINS_MODE
AI noise suppression modes.
Definition AgoraBase.h:3053
agora::rtc::track_id_t
unsigned int track_id_t
Definition AgoraMediaBase.h:29
agora::rtc::AUDIO_PROFILE_TYPE
AUDIO_PROFILE_TYPE
The audio profile.
Definition AgoraBase.h:3076
agora::rtc::VIDEO_CODEC_TYPE
VIDEO_CODEC_TYPE
Video codec types.
Definition AgoraBase.h:1256
agora::rtc::LOCAL_VIDEO_EVENT_TYPE
LOCAL_VIDEO_EVENT_TYPE
The local video event type.
Definition AgoraBase.h:3513
agora::rtc::LOCAL_VIDEO_STREAM_STATE
LOCAL_VIDEO_STREAM_STATE
Local video state types.
Definition AgoraBase.h:3489
agora::rtc::REMOTE_VIDEO_STATE
REMOTE_VIDEO_STATE
The state of the remote video stream.
Definition AgoraBase.h:3777
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::AUDIO_MIXING_REASON_INTERRUPTED_EOF
@ AUDIO_MIXING_REASON_INTERRUPTED_EOF
Definition IAgoraRtcEngine.h:122
agora::rtc::AUDIO_MIXING_REASON_RESUMED_BY_USER
@ AUDIO_MIXING_REASON_RESUMED_BY_USER
Definition IAgoraRtcEngine.h:136
agora::rtc::AUDIO_MIXING_REASON_STOPPED_BY_USER
@ AUDIO_MIXING_REASON_STOPPED_BY_USER
Definition IAgoraRtcEngine.h:134
agora::rtc::AUDIO_MIXING_REASON_OK
@ AUDIO_MIXING_REASON_OK
Definition IAgoraRtcEngine.h:140
agora::rtc::AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED
@ AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED
Definition IAgoraRtcEngine.h:130
agora::rtc::AUDIO_MIXING_REASON_CAN_NOT_OPEN
@ AUDIO_MIXING_REASON_CAN_NOT_OPEN
Definition IAgoraRtcEngine.h:113
agora::rtc::AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED
@ AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED
Definition IAgoraRtcEngine.h:126
agora::rtc::AUDIO_MIXING_REASON_TOO_FREQUENT_CALL
@ AUDIO_MIXING_REASON_TOO_FREQUENT_CALL
Definition IAgoraRtcEngine.h:118
agora::rtc::RTMP_STREAMING_EVENT
RTMP_STREAMING_EVENT
Events during the Media Push.
Definition AgoraBase.h:4331
agora::rtc::AREA_CODE_GLOB
@ AREA_CODE_GLOB
Definition AgoraBase.h:6911
agora::rtc::SetFrom
static void SetFrom(Optional< T > *s, const Optional< T > &o)
Definition IAgoraRtcEngine.h:24
agora::rtc::SCREEN_SCENARIO_TYPE
SCREEN_SCENARIO_TYPE
The screen sharing scenario.
Definition AgoraBase.h:3229
agora::rtc::CLOUD_PROXY_TYPE
CLOUD_PROXY_TYPE
The cloud proxy type.
Definition IAgoraRtcEngine.h:900
agora::rtc::UDP_PROXY
@ UDP_PROXY
Definition IAgoraRtcEngine.h:910
agora::rtc::NONE_PROXY
@ NONE_PROXY
Definition IAgoraRtcEngine.h:905
agora::rtc::RENEW_TOKEN_ERROR_CODE
RENEW_TOKEN_ERROR_CODE
Represents the error codes after calling renewToken.
Definition AgoraBase.h:7386
agora::rtc::VIDEO_MIRROR_MODE_TYPE
VIDEO_MIRROR_MODE_TYPE
Video mirror mode.
Definition AgoraBase.h:1912
agora::rtc::VIDEO_MIRROR_MODE_DISABLED
@ VIDEO_MIRROR_MODE_DISABLED
Definition AgoraBase.h:1927
agora::rtc::AUDIO_RECORDING_QUALITY_TYPE
AUDIO_RECORDING_QUALITY_TYPE
Recording quality.
Definition AgoraBase.h:6659
agora::rtc::RdtState
RdtState
Reliable Data Transmission tunnel state.
Definition AgoraBase.h:7991
agora::rtc::PRIORITY_TYPE
PRIORITY_TYPE
Definition IAgoraRtcEngine.h:296
agora::rtc::PRIORITY_HIGH
@ PRIORITY_HIGH
Definition IAgoraRtcEngine.h:299
agora::rtc::PRIORITY_NORMAL
@ PRIORITY_NORMAL
Definition IAgoraRtcEngine.h:302
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::RdtStreamType
RdtStreamType
Reliable Data Transmission Tunnel message stream type.
Definition AgoraBase.h:7967
agora::rtc::RTMP_STREAM_PUBLISH_STATE
RTMP_STREAM_PUBLISH_STATE
States of the Media Push.
Definition AgoraBase.h:4210
agora::rtc::LOCAL_VIDEO_STREAM_REASON
LOCAL_VIDEO_STREAM_REASON
Reasons for local video state changes.
Definition AgoraBase.h:3535
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::__deprecated
@ __deprecated
Definition AgoraBase.h:945
agora::rtc::INJECT_STREAM_STATUS
INJECT_STREAM_STATUS
Definition IAgoraRtcEngine.h:146
agora::rtc::INJECT_STREAM_STATUS_STOP_SUCCESS
@ INJECT_STREAM_STATUS_STOP_SUCCESS
Definition IAgoraRtcEngine.h:170
agora::rtc::INJECT_STREAM_STATUS_START_FAILED
@ INJECT_STREAM_STATUS_START_FAILED
Definition IAgoraRtcEngine.h:166
agora::rtc::INJECT_STREAM_STATUS_STOP_TIMEDOUT
@ INJECT_STREAM_STATUS_STOP_TIMEDOUT
Definition IAgoraRtcEngine.h:182
agora::rtc::INJECT_STREAM_STATUS_STOP_FAILED
@ INJECT_STREAM_STATUS_STOP_FAILED
Definition IAgoraRtcEngine.h:186
agora::rtc::INJECT_STREAM_STATUS_START_SUCCESS
@ INJECT_STREAM_STATUS_START_SUCCESS
Definition IAgoraRtcEngine.h:150
agora::rtc::INJECT_STREAM_STATUS_BROKEN
@ INJECT_STREAM_STATUS_BROKEN
Definition IAgoraRtcEngine.h:190
agora::rtc::INJECT_STREAM_STATUS_STOP_NOT_FOUND
@ INJECT_STREAM_STATUS_STOP_NOT_FOUND
Definition IAgoraRtcEngine.h:174
agora::rtc::INJECT_STREAM_STATUS_START_TIMEDOUT
@ INJECT_STREAM_STATUS_START_TIMEDOUT
Definition IAgoraRtcEngine.h:162
agora::rtc::INJECT_STREAM_STATUS_START_UNAUTHORIZED
@ INJECT_STREAM_STATUS_START_UNAUTHORIZED
Definition IAgoraRtcEngine.h:158
agora::rtc::INJECT_STREAM_STATUS_START_ALREADY_EXISTS
@ INJECT_STREAM_STATUS_START_ALREADY_EXISTS
Definition IAgoraRtcEngine.h:154
agora::rtc::INJECT_STREAM_STATUS_STOP_UNAUTHORIZED
@ INJECT_STREAM_STATUS_STOP_UNAUTHORIZED
Definition IAgoraRtcEngine.h:178
agora::rtc::VIDEO_MODULE_TYPE
VIDEO_MODULE_TYPE
Definition AgoraBase.h:1942
agora::rtc::VIDEO_PROFILE_TYPE
VIDEO_PROFILE_TYPE
Definition IAgoraRtcEngine.h:12411
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P
@ VIDEO_PROFILE_LANDSCAPE_480P
Definition IAgoraRtcEngine.h:12447
agora::rtc::VIDEO_PROFILE_PORTRAIT_180P
@ VIDEO_PROFILE_PORTRAIT_180P
Definition IAgoraRtcEngine.h:12487
agora::rtc::VIDEO_PROFILE_PORTRAIT_180P_4
@ VIDEO_PROFILE_PORTRAIT_180P_4
Definition IAgoraRtcEngine.h:12491
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_7
@ VIDEO_PROFILE_LANDSCAPE_360P_7
Definition IAgoraRtcEngine.h:12437
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_8
@ VIDEO_PROFILE_LANDSCAPE_480P_8
Definition IAgoraRtcEngine.h:12455
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P
@ VIDEO_PROFILE_LANDSCAPE_360P
Definition IAgoraRtcEngine.h:12429
agora::rtc::VIDEO_PROFILE_PORTRAIT_240P
@ VIDEO_PROFILE_PORTRAIT_240P
Definition IAgoraRtcEngine.h:12493
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_3
@ VIDEO_PROFILE_PORTRAIT_480P_3
Definition IAgoraRtcEngine.h:12519
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_6
@ VIDEO_PROFILE_PORTRAIT_360P_6
Definition IAgoraRtcEngine.h:12505
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1080P_3
@ VIDEO_PROFILE_LANDSCAPE_1080P_3
Definition IAgoraRtcEngine.h:12471
agora::rtc::VIDEO_PROFILE_LANDSCAPE_240P
@ VIDEO_PROFILE_LANDSCAPE_240P
Definition IAgoraRtcEngine.h:12423
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P
@ VIDEO_PROFILE_PORTRAIT_480P
Definition IAgoraRtcEngine.h:12517
agora::rtc::VIDEO_PROFILE_LANDSCAPE_720P_3
@ VIDEO_PROFILE_LANDSCAPE_720P_3
Definition IAgoraRtcEngine.h:12463
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_6
@ VIDEO_PROFILE_LANDSCAPE_360P_6
Definition IAgoraRtcEngine.h:12435
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_4
@ VIDEO_PROFILE_LANDSCAPE_480P_4
Definition IAgoraRtcEngine.h:12451
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_10
@ VIDEO_PROFILE_PORTRAIT_360P_10
Definition IAgoraRtcEngine.h:12513
agora::rtc::VIDEO_PROFILE_DEFAULT
@ VIDEO_PROFILE_DEFAULT
Definition IAgoraRtcEngine.h:12553
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1440P
@ VIDEO_PROFILE_LANDSCAPE_1440P
Definition IAgoraRtcEngine.h:12475
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_9
@ VIDEO_PROFILE_PORTRAIT_480P_9
Definition IAgoraRtcEngine.h:12527
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_4
@ VIDEO_PROFILE_PORTRAIT_480P_4
Definition IAgoraRtcEngine.h:12521
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_9
@ VIDEO_PROFILE_LANDSCAPE_480P_9
Definition IAgoraRtcEngine.h:12457
agora::rtc::VIDEO_PROFILE_PORTRAIT_4K_3
@ VIDEO_PROFILE_PORTRAIT_4K_3
Definition IAgoraRtcEngine.h:12551
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_7
@ VIDEO_PROFILE_PORTRAIT_360P_7
Definition IAgoraRtcEngine.h:12507
agora::rtc::VIDEO_PROFILE_PORTRAIT_240P_4
@ VIDEO_PROFILE_PORTRAIT_240P_4
Definition IAgoraRtcEngine.h:12497
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_4
@ VIDEO_PROFILE_LANDSCAPE_360P_4
Definition IAgoraRtcEngine.h:12433
agora::rtc::VIDEO_PROFILE_LANDSCAPE_180P
@ VIDEO_PROFILE_LANDSCAPE_180P
Definition IAgoraRtcEngine.h:12417
agora::rtc::VIDEO_PROFILE_LANDSCAPE_180P_4
@ VIDEO_PROFILE_LANDSCAPE_180P_4
Definition IAgoraRtcEngine.h:12421
agora::rtc::VIDEO_PROFILE_PORTRAIT_4K
@ VIDEO_PROFILE_PORTRAIT_4K
Definition IAgoraRtcEngine.h:12549
agora::rtc::VIDEO_PROFILE_LANDSCAPE_120P_3
@ VIDEO_PROFILE_LANDSCAPE_120P_3
Definition IAgoraRtcEngine.h:12415
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_6
@ VIDEO_PROFILE_PORTRAIT_480P_6
Definition IAgoraRtcEngine.h:12523
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_6
@ VIDEO_PROFILE_LANDSCAPE_480P_6
Definition IAgoraRtcEngine.h:12453
agora::rtc::VIDEO_PROFILE_LANDSCAPE_120P
@ VIDEO_PROFILE_LANDSCAPE_120P
Definition IAgoraRtcEngine.h:12413
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_3
@ VIDEO_PROFILE_PORTRAIT_360P_3
Definition IAgoraRtcEngine.h:12501
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1080P_5
@ VIDEO_PROFILE_LANDSCAPE_1080P_5
Definition IAgoraRtcEngine.h:12473
agora::rtc::VIDEO_PROFILE_PORTRAIT_120P
@ VIDEO_PROFILE_PORTRAIT_120P
Definition IAgoraRtcEngine.h:12483
agora::rtc::VIDEO_PROFILE_LANDSCAPE_720P_6
@ VIDEO_PROFILE_LANDSCAPE_720P_6
Definition IAgoraRtcEngine.h:12467
agora::rtc::VIDEO_PROFILE_PORTRAIT_120P_3
@ VIDEO_PROFILE_PORTRAIT_120P_3
Definition IAgoraRtcEngine.h:12485
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_10
@ VIDEO_PROFILE_LANDSCAPE_480P_10
Definition IAgoraRtcEngine.h:12459
agora::rtc::VIDEO_PROFILE_LANDSCAPE_480P_3
@ VIDEO_PROFILE_LANDSCAPE_480P_3
Definition IAgoraRtcEngine.h:12449
agora::rtc::VIDEO_PROFILE_PORTRAIT_1440P
@ VIDEO_PROFILE_PORTRAIT_1440P
Definition IAgoraRtcEngine.h:12545
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_8
@ VIDEO_PROFILE_PORTRAIT_480P_8
Definition IAgoraRtcEngine.h:12525
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1440P_2
@ VIDEO_PROFILE_LANDSCAPE_1440P_2
Definition IAgoraRtcEngine.h:12477
agora::rtc::VIDEO_PROFILE_PORTRAIT_720P_6
@ VIDEO_PROFILE_PORTRAIT_720P_6
Definition IAgoraRtcEngine.h:12537
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_9
@ VIDEO_PROFILE_PORTRAIT_360P_9
Definition IAgoraRtcEngine.h:12511
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_9
@ VIDEO_PROFILE_LANDSCAPE_360P_9
Definition IAgoraRtcEngine.h:12441
agora::rtc::VIDEO_PROFILE_LANDSCAPE_240P_4
@ VIDEO_PROFILE_LANDSCAPE_240P_4
Definition IAgoraRtcEngine.h:12427
agora::rtc::VIDEO_PROFILE_LANDSCAPE_720P_5
@ VIDEO_PROFILE_LANDSCAPE_720P_5
Definition IAgoraRtcEngine.h:12465
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_8
@ VIDEO_PROFILE_PORTRAIT_360P_8
Definition IAgoraRtcEngine.h:12509
agora::rtc::VIDEO_PROFILE_LANDSCAPE_180P_3
@ VIDEO_PROFILE_LANDSCAPE_180P_3
Definition IAgoraRtcEngine.h:12419
agora::rtc::VIDEO_PROFILE_PORTRAIT_720P_5
@ VIDEO_PROFILE_PORTRAIT_720P_5
Definition IAgoraRtcEngine.h:12535
agora::rtc::VIDEO_PROFILE_PORTRAIT_720P_3
@ VIDEO_PROFILE_PORTRAIT_720P_3
Definition IAgoraRtcEngine.h:12533
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P
@ VIDEO_PROFILE_PORTRAIT_360P
Definition IAgoraRtcEngine.h:12499
agora::rtc::VIDEO_PROFILE_PORTRAIT_1080P_3
@ VIDEO_PROFILE_PORTRAIT_1080P_3
Definition IAgoraRtcEngine.h:12541
agora::rtc::VIDEO_PROFILE_PORTRAIT_1080P
@ VIDEO_PROFILE_PORTRAIT_1080P
Definition IAgoraRtcEngine.h:12539
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_4
@ VIDEO_PROFILE_PORTRAIT_360P_4
Definition IAgoraRtcEngine.h:12503
agora::rtc::VIDEO_PROFILE_LANDSCAPE_1080P
@ VIDEO_PROFILE_LANDSCAPE_1080P
Definition IAgoraRtcEngine.h:12469
agora::rtc::VIDEO_PROFILE_PORTRAIT_1440P_2
@ VIDEO_PROFILE_PORTRAIT_1440P_2
Definition IAgoraRtcEngine.h:12547
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_3
@ VIDEO_PROFILE_LANDSCAPE_360P_3
Definition IAgoraRtcEngine.h:12431
agora::rtc::VIDEO_PROFILE_PORTRAIT_480P_10
@ VIDEO_PROFILE_PORTRAIT_480P_10
Definition IAgoraRtcEngine.h:12529
agora::rtc::VIDEO_PROFILE_LANDSCAPE_720P
@ VIDEO_PROFILE_LANDSCAPE_720P
Definition IAgoraRtcEngine.h:12461
agora::rtc::VIDEO_PROFILE_LANDSCAPE_240P_3
@ VIDEO_PROFILE_LANDSCAPE_240P_3
Definition IAgoraRtcEngine.h:12425
agora::rtc::VIDEO_PROFILE_PORTRAIT_720P
@ VIDEO_PROFILE_PORTRAIT_720P
Definition IAgoraRtcEngine.h:12531
agora::rtc::VIDEO_PROFILE_LANDSCAPE_4K
@ VIDEO_PROFILE_LANDSCAPE_4K
Definition IAgoraRtcEngine.h:12479
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_11
@ VIDEO_PROFILE_LANDSCAPE_360P_11
Definition IAgoraRtcEngine.h:12445
agora::rtc::VIDEO_PROFILE_PORTRAIT_240P_3
@ VIDEO_PROFILE_PORTRAIT_240P_3
Definition IAgoraRtcEngine.h:12495
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_8
@ VIDEO_PROFILE_LANDSCAPE_360P_8
Definition IAgoraRtcEngine.h:12439
agora::rtc::VIDEO_PROFILE_LANDSCAPE_360P_10
@ VIDEO_PROFILE_LANDSCAPE_360P_10
Definition IAgoraRtcEngine.h:12443
agora::rtc::VIDEO_PROFILE_PORTRAIT_360P_11
@ VIDEO_PROFILE_PORTRAIT_360P_11
Definition IAgoraRtcEngine.h:12515
agora::rtc::VIDEO_PROFILE_PORTRAIT_1080P_5
@ VIDEO_PROFILE_PORTRAIT_1080P_5
Definition IAgoraRtcEngine.h:12543
agora::rtc::VIDEO_PROFILE_PORTRAIT_180P_3
@ VIDEO_PROFILE_PORTRAIT_180P_3
Definition IAgoraRtcEngine.h:12489
agora::rtc::VIDEO_PROFILE_LANDSCAPE_4K_3
@ VIDEO_PROFILE_LANDSCAPE_4K_3
Definition IAgoraRtcEngine.h:12481
agora::rtc::REMOTE_AUDIO_STATE
REMOTE_AUDIO_STATE
Remote audio states.
Definition AgoraBase.h:3697
agora::rtc::HEADPHONE_EQUALIZER_PRESET
HEADPHONE_EQUALIZER_PRESET
Preset headphone equalizer types.
Definition AgoraBase.h:6379
agora::rtc::AUDIO_MIXING_STATE_TYPE
AUDIO_MIXING_STATE_TYPE
The playback state of the music file.
Definition IAgoraRtcEngine.h:78
agora::rtc::AUDIO_MIXING_STATE_FAILED
@ AUDIO_MIXING_STATE_FAILED
Definition IAgoraRtcEngine.h:101
agora::rtc::AUDIO_MIXING_STATE_PAUSED
@ AUDIO_MIXING_STATE_PAUSED
Definition IAgoraRtcEngine.h:86
agora::rtc::AUDIO_MIXING_STATE_STOPPED
@ AUDIO_MIXING_STATE_STOPPED
Definition IAgoraRtcEngine.h:93
agora::rtc::AUDIO_MIXING_STATE_PLAYING
@ AUDIO_MIXING_STATE_PLAYING
Definition IAgoraRtcEngine.h:82
agora::rtc::NETWORK_TYPE
NETWORK_TYPE
Network type.
Definition AgoraBase.h:5207
agora::rtc::uid_t
unsigned int uid_t
Definition AgoraMediaBase.h:28
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::VOICE_AI_TUNER_TYPE
VOICE_AI_TUNER_TYPE
Voice AI tuner sound types.
Definition AgoraBase.h:6397
agora::rtc::HDR_CAPABILITY
HDR_CAPABILITY
Definition AgoraBase.h:1957
agora::rtc::ScreenCaptureSourceType
ScreenCaptureSourceType
The type of the shared target. Set in ScreenCaptureSourceInfo.
Definition IAgoraRtcEngine.h:1076
agora::rtc::ScreenCaptureSourceType_Screen
@ ScreenCaptureSourceType_Screen
Definition IAgoraRtcEngine.h:1088
agora::rtc::ScreenCaptureSourceType_Window
@ ScreenCaptureSourceType_Window
Definition IAgoraRtcEngine.h:1084
agora::rtc::ScreenCaptureSourceType_Unknown
@ ScreenCaptureSourceType_Unknown
Definition IAgoraRtcEngine.h:1080
agora::rtc::ScreenCaptureSourceType_Custom
@ ScreenCaptureSourceType_Custom
Definition IAgoraRtcEngine.h:1092
agora::rtc::REMOTE_USER_STATE
REMOTE_USER_STATE
Definition AgoraBase.h:3873
agora::rtc::VIDEO_APPLICATION_SCENARIO_TYPE
VIDEO_APPLICATION_SCENARIO_TYPE
The video application scenarios.
Definition AgoraBase.h:3257
agora::rtc::CAMERA_STABILIZATION_MODE
CAMERA_STABILIZATION_MODE
Camera stabilization modes.
Definition AgoraBase.h:3374
agora::rtc::STREAM_SUBSCRIBE_STATE
STREAM_SUBSCRIBE_STATE
The subscribing state.
Definition AgoraBase.h:7449
agora::rtc::VIDEO_SOURCE_TYPE
VIDEO_SOURCE_TYPE
The type of the video source.
Definition AgoraMediaBase.h:67
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::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_1
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_1
Definition IAgoraRtcEngine.h:288
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_4
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_4
Definition IAgoraRtcEngine.h:291
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_3
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_3
Definition IAgoraRtcEngine.h:290
agora::rtc::STREAM_FALLBACK_OPTION_AUDIO_ONLY
@ STREAM_FALLBACK_OPTION_AUDIO_ONLY
Definition IAgoraRtcEngine.h:283
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW
Definition IAgoraRtcEngine.h:277
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_5
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_5
Definition IAgoraRtcEngine.h:292
agora::rtc::STREAM_FALLBACK_OPTION_DISABLED
@ STREAM_FALLBACK_OPTION_DISABLED
Definition IAgoraRtcEngine.h:273
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_2
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_2
Definition IAgoraRtcEngine.h:289
agora::rtc::STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_6
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_6
Definition IAgoraRtcEngine.h:293
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::RTMP_STREAM_LIFE_CYCLE_BIND2OWNER
@ RTMP_STREAM_LIFE_CYCLE_BIND2OWNER
Definition IAgoraRtcEngine.h:808
agora::rtc::RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL
@ RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL
Definition IAgoraRtcEngine.h:803
agora::rtc::ReplaceBy
static void ReplaceBy(Optional< T > *s, const Optional< T > &o)
Definition IAgoraRtcEngine.h:31
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::AUDIO_REVERB_TYPE
AUDIO_REVERB_TYPE
Audio reverberation types.
Definition IAgoraRtcEngine.h:242
agora::rtc::AUDIO_REVERB_WET_DELAY
@ AUDIO_REVERB_WET_DELAY
Definition IAgoraRtcEngine.h:258
agora::rtc::AUDIO_REVERB_ROOM_SIZE
@ AUDIO_REVERB_ROOM_SIZE
Definition IAgoraRtcEngine.h:254
agora::rtc::AUDIO_REVERB_DRY_LEVEL
@ AUDIO_REVERB_DRY_LEVEL
Definition IAgoraRtcEngine.h:246
agora::rtc::AUDIO_REVERB_STRENGTH
@ AUDIO_REVERB_STRENGTH
Definition IAgoraRtcEngine.h:262
agora::rtc::AUDIO_REVERB_WET_LEVEL
@ AUDIO_REVERB_WET_LEVEL
Definition IAgoraRtcEngine.h:250
agora::rtc::UPLOAD_ERROR_REASON
UPLOAD_ERROR_REASON
Definition AgoraBase.h:7375
agora::rtc::VIDEO_TRANSCODER_ERROR
VIDEO_TRANSCODER_ERROR
The error code of the local video mixing failure.
Definition AgoraBase.h:4832
agora::rtc::REMOTE_VIDEO_STATE_REASON
REMOTE_VIDEO_STATE_REASON
The reason for the remote video state change.
Definition AgoraBase.h:3809
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::INTERFACE_ID_TYPE
INTERFACE_ID_TYPE
The interface class.
Definition AgoraBase.h:905
agora::rtc::AGORA_IID_AUDIO_DEVICE_MANAGER
@ AGORA_IID_AUDIO_DEVICE_MANAGER
Definition AgoraBase.h:909
agora::rtc::AGORA_IID_VIDEO_DEVICE_MANAGER
@ AGORA_IID_VIDEO_DEVICE_MANAGER
Definition AgoraBase.h:913
agora::rtc::VIDEO_ORIENTATION
VIDEO_ORIENTATION
The clockwise rotation of the video.
Definition AgoraBase.h:1001
agora::rtc::VOICE_CONVERSION_PRESET
VOICE_CONVERSION_PRESET
The options for SDK preset voice conversion effects.
Definition AgoraBase.h:6315
agora::rtc::QUALITY_REPORT_FORMAT_TYPE
QUALITY_REPORT_FORMAT_TYPE
Definition IAgoraRtcEngine.h:12370
agora::rtc::QUALITY_REPORT_HTML
@ QUALITY_REPORT_HTML
Definition IAgoraRtcEngine.h:12376
agora::rtc::QUALITY_REPORT_JSON
@ QUALITY_REPORT_JSON
Definition IAgoraRtcEngine.h:12373
agora::rtm
Definition IAgoraRtmService.h:14
agora::util::AString
CopyableAutoPtr< IString > AString
Definition AgoraBase.h:182
agora
Definition AgoraAtomicOps.h:21
agora::AUDIO_SESSION_OPERATION_RESTRICTION
AUDIO_SESSION_OPERATION_RESTRICTION
The operation permissions of the SDK on the audio session.
Definition AgoraBase.h:824
agora::view_t
void * view_t
Definition AgoraBase.h:850
agora::CHANNEL_PROFILE_TYPE
CHANNEL_PROFILE_TYPE
The channel profile.
Definition AgoraBase.h:267
agora::CHANNEL_PROFILE_LIVE_BROADCASTING
@ CHANNEL_PROFILE_LIVE_BROADCASTING
Definition AgoraBase.h:275
agora::LICENSE_ERROR_TYPE
LICENSE_ERROR_TYPE
Definition AgoraBase.h:794
rtc
Definition video_node_i.h:28
agora::SpatialAudioParams
The spatial audio parameters.
Definition AgoraBase.h:8056
agora::VideoLayout
Layout information of a specific sub-video stream within the mixed stream.
Definition AgoraBase.h:8137
agora::commons::LogConfig
Configuration of Agora SDK log files.
Definition IAgoraLog.h:124
agora::rtc::AdvancedAudioOptions
The advanced options for audio.
Definition IAgoraRtcEngine.h:1209
agora::rtc::AdvancedAudioOptions::audioProcessingChannels
Optional< int > audioProcessingChannels
Definition IAgoraRtcEngine.h:1215
agora::rtc::AdvancedAudioOptions::~AdvancedAudioOptions
~AdvancedAudioOptions()
Definition IAgoraRtcEngine.h:1218
agora::rtc::AdvancedAudioOptions::AdvancedAudioOptions
AdvancedAudioOptions()
Definition IAgoraRtcEngine.h:1217
agora::rtc::AudioEncodedFrameObserverConfig
Observer settings for the encoded audio.
Definition AgoraBase.h:6809
agora::rtc::AudioRecordingConfiguration
Recording configurations.
Definition AgoraBase.h:6721
agora::rtc::AudioVolumeInfo
The volume information of users.
Definition AgoraBase.h:3974
agora::rtc::BeautyOptions
Image enhancement options.
Definition AgoraBase.h:5396
agora::rtc::CameraCapturerConfiguration
The camera capturer preference.
Definition IAgoraRtcEngine.h:923
agora::rtc::CameraCapturerConfiguration::CameraCapturerConfiguration
CameraCapturerConfiguration()
Definition IAgoraRtcEngine.h:988
agora::rtc::CameraCapturerConfiguration::cameraDirection
Optional< CAMERA_DIRECTION > cameraDirection
Definition IAgoraRtcEngine.h:930
agora::rtc::CameraCapturerConfiguration::cameraFocalLengthType
Optional< CAMERA_FOCAL_LENGTH_TYPE > cameraFocalLengthType
Definition IAgoraRtcEngine.h:948
agora::rtc::CameraCapturerConfiguration::format
VideoFormat format
Definition IAgoraRtcEngine.h:987
agora::rtc::CameraCapturerConfiguration::cameraId
Optional< const char * > cameraId
Definition IAgoraRtcEngine.h:973
agora::rtc::CameraCapturerConfiguration::followEncodeDimensionRatio
Optional< bool > followEncodeDimensionRatio
Definition IAgoraRtcEngine.h:983
agora::rtc::CameraCapturerConfiguration::deviceId
Optional< const char * > deviceId
Definition IAgoraRtcEngine.h:954
agora::rtc::ChannelMediaOptions
The channel media options.
Definition IAgoraRtcEngine.h:1254
agora::rtc::ChannelMediaOptions::publishThirdScreenTrack
Optional< bool > publishThirdScreenTrack
Definition IAgoraRtcEngine.h:1324
agora::rtc::ChannelMediaOptions::audioDelayMs
Optional< int > audioDelayMs
Definition IAgoraRtcEngine.h:1438
agora::rtc::ChannelMediaOptions::enableMultipath
Optional< bool > enableMultipath
Definition IAgoraRtcEngine.h:1512
agora::rtc::ChannelMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition IAgoraRtcEngine.h:1350
agora::rtc::ChannelMediaOptions::customVideoTrackId
Optional< video_track_id_t > customVideoTrackId
Definition IAgoraRtcEngine.h:1487
agora::rtc::ChannelMediaOptions::enableBuiltInMediaEncryption
Optional< bool > enableBuiltInMediaEncryption
Definition IAgoraRtcEngine.h:1462
agora::rtc::ChannelMediaOptions::publishCustomAudioTrackId
Optional< int > publishCustomAudioTrackId
Definition IAgoraRtcEngine.h:1344
agora::rtc::ChannelMediaOptions::publishSecondaryScreenTrack
Optional< bool > publishSecondaryScreenTrack
Definition IAgoraRtcEngine.h:1317
agora::rtc::ChannelMediaOptions::token
Optional< const char * > token
Definition IAgoraRtcEngine.h:1454
agora::rtc::ChannelMediaOptions::mediaPlayerAudioDelayMs
Optional< int > mediaPlayerAudioDelayMs
Definition IAgoraRtcEngine.h:1443
agora::rtc::ChannelMediaOptions::operator==
bool operator==(const ChannelMediaOptions &o) const
Definition IAgoraRtcEngine.h:1590
agora::rtc::ChannelMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition IAgoraRtcEngine.h:1412
agora::rtc::ChannelMediaOptions::SetAll
void SetAll(const ChannelMediaOptions &change)
Definition IAgoraRtcEngine.h:1538
agora::rtc::ChannelMediaOptions::~ChannelMediaOptions
~ChannelMediaOptions()
Definition IAgoraRtcEngine.h:1536
agora::rtc::ChannelMediaOptions::publishTranscodedVideoTrack
Optional< bool > publishTranscodedVideoTrack
Definition IAgoraRtcEngine.h:1376
agora::rtc::ChannelMediaOptions::publishCameraTrack
Optional< bool > publishCameraTrack
Definition IAgoraRtcEngine.h:1260
agora::rtc::ChannelMediaOptions::channelProfile
Optional< CHANNEL_PROFILE_TYPE > channelProfile
Definition IAgoraRtcEngine.h:1432
agora::rtc::ChannelMediaOptions::publishScreenTrack
Optional< bool > publishScreenTrack
Definition IAgoraRtcEngine.h:1311
agora::rtc::ChannelMediaOptions::publishFourthCameraTrack
Optional< bool > publishFourthCameraTrack
Definition IAgoraRtcEngine.h:1280
agora::rtc::ChannelMediaOptions::enableAudioRecordingOrPlayout
Optional< bool > enableAudioRecordingOrPlayout
Definition IAgoraRtcEngine.h:1408
agora::rtc::ChannelMediaOptions::publishMicrophoneTrack
Optional< bool > publishMicrophoneTrack
Definition IAgoraRtcEngine.h:1286
agora::rtc::ChannelMediaOptions::publishFourthScreenTrack
Optional< bool > publishFourthScreenTrack
Definition IAgoraRtcEngine.h:1331
agora::rtc::ChannelMediaOptions::preferMultipathType
Optional< MultipathType > preferMultipathType
Definition IAgoraRtcEngine.h:1533
agora::rtc::ChannelMediaOptions::publishScreenCaptureVideo
Optional< bool > publishScreenCaptureVideo
Definition IAgoraRtcEngine.h:1302
agora::rtc::ChannelMediaOptions::operator=
ChannelMediaOptions & operator=(const ChannelMediaOptions &replace)
Definition IAgoraRtcEngine.h:1650
agora::rtc::ChannelMediaOptions::publishMixedAudioTrack
Optional< bool > publishMixedAudioTrack
Definition IAgoraRtcEngine.h:1382
agora::rtc::ChannelMediaOptions::autoSubscribeVideo
Optional< bool > autoSubscribeVideo
Definition IAgoraRtcEngine.h:1400
agora::rtc::ChannelMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition IAgoraRtcEngine.h:1339
agora::rtc::ChannelMediaOptions::parameters
Optional< const char * > parameters
Definition IAgoraRtcEngine.h:1501
agora::rtc::ChannelMediaOptions::clientRoleType
Optional< CLIENT_ROLE_TYPE > clientRoleType
Definition IAgoraRtcEngine.h:1419
agora::rtc::ChannelMediaOptions::publishLipSyncTrack
Optional< bool > publishLipSyncTrack
Definition IAgoraRtcEngine.h:1388
agora::rtc::ChannelMediaOptions::defaultVideoStreamType
Optional< VIDEO_STREAM_TYPE > defaultVideoStreamType
Definition IAgoraRtcEngine.h:1428
agora::rtc::ChannelMediaOptions::publishEncodedVideoTrack
Optional< bool > publishEncodedVideoTrack
Definition IAgoraRtcEngine.h:1356
agora::rtc::ChannelMediaOptions::audienceLatencyLevel
Optional< AUDIENCE_LATENCY_LEVEL_TYPE > audienceLatencyLevel
Definition IAgoraRtcEngine.h:1424
agora::rtc::ChannelMediaOptions::publishMediaPlayerVideoTrack
Optional< bool > publishMediaPlayerVideoTrack
Definition IAgoraRtcEngine.h:1368
agora::rtc::ChannelMediaOptions::downlinkMultipathMode
Optional< MultipathMode > downlinkMultipathMode
Definition IAgoraRtcEngine.h:1526
agora::rtc::ChannelMediaOptions::isAudioFilterable
Optional< bool > isAudioFilterable
Definition IAgoraRtcEngine.h:1495
agora::rtc::ChannelMediaOptions::publishScreenCaptureAudio
Optional< bool > publishScreenCaptureAudio
Definition IAgoraRtcEngine.h:1293
agora::rtc::ChannelMediaOptions::uplinkMultipathMode
Optional< MultipathMode > uplinkMultipathMode
Definition IAgoraRtcEngine.h:1519
agora::rtc::ChannelMediaOptions::publishThirdCameraTrack
Optional< bool > publishThirdCameraTrack
Definition IAgoraRtcEngine.h:1273
agora::rtc::ChannelMediaOptions::isInteractiveAudience
Optional< bool > isInteractiveAudience
Definition IAgoraRtcEngine.h:1482
agora::rtc::ChannelMediaOptions::publishSecondaryCameraTrack
Optional< bool > publishSecondaryCameraTrack
Definition IAgoraRtcEngine.h:1266
agora::rtc::ChannelMediaOptions::publishMediaPlayerAudioTrack
Optional< bool > publishMediaPlayerAudioTrack
Definition IAgoraRtcEngine.h:1362
agora::rtc::ChannelMediaOptions::autoSubscribeAudio
Optional< bool > autoSubscribeAudio
Definition IAgoraRtcEngine.h:1394
agora::rtc::ChannelMediaOptions::publishRhythmPlayerTrack
Optional< bool > publishRhythmPlayerTrack
Definition IAgoraRtcEngine.h:1469
agora::rtc::ChannelMediaOptions::ChannelMediaOptions
ChannelMediaOptions()
Definition IAgoraRtcEngine.h:1535
agora::rtc::ChannelMediaRelayConfiguration
Configuration of cross channel media relay.
Definition AgoraBase.h:7060
agora::rtc::ClientRoleOptions
Setting of user role properties.
Definition AgoraBase.h:2999
agora::rtc::CodecCapInfo
The codec capability of the SDK.
Definition AgoraBase.h:2019
agora::rtc::ColorEnhanceOptions
The color enhancement options.
Definition AgoraBase.h:5862
agora::rtc::DataStreamConfig
The configurations for the data stream.
Definition AgoraBase.h:2185
agora::rtc::DeviceInfo
The audio device information.
Definition AgoraBase.h:4018
agora::rtc::DirectCdnStreamingMediaOptions
The media setting options for the host.
Definition IAgoraRtcEngine.h:4426
agora::rtc::DirectCdnStreamingMediaOptions::publishMediaPlayerAudioTrack
Optional< bool > publishMediaPlayerAudioTrack
Definition IAgoraRtcEngine.h:4456
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition IAgoraRtcEngine.h:4450
agora::rtc::DirectCdnStreamingMediaOptions::DirectCdnStreamingMediaOptions
DirectCdnStreamingMediaOptions()
Definition IAgoraRtcEngine.h:4468
agora::rtc::DirectCdnStreamingMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition IAgoraRtcEngine.h:4461
agora::rtc::DirectCdnStreamingMediaOptions::publishCameraTrack
Optional< bool > publishCameraTrack
Definition IAgoraRtcEngine.h:4432
agora::rtc::DirectCdnStreamingMediaOptions::SetAll
void SetAll(const DirectCdnStreamingMediaOptions &change)
Definition IAgoraRtcEngine.h:4471
agora::rtc::DirectCdnStreamingMediaOptions::~DirectCdnStreamingMediaOptions
~DirectCdnStreamingMediaOptions()
Definition IAgoraRtcEngine.h:4469
agora::rtc::DirectCdnStreamingMediaOptions::operator==
bool operator==(const DirectCdnStreamingMediaOptions &o) const
Definition IAgoraRtcEngine.h:4483
agora::rtc::DirectCdnStreamingMediaOptions::operator=
DirectCdnStreamingMediaOptions & operator=(const DirectCdnStreamingMediaOptions &replace)
Definition IAgoraRtcEngine.h:4504
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition IAgoraRtcEngine.h:4444
agora::rtc::DirectCdnStreamingMediaOptions::publishMicrophoneTrack
Optional< bool > publishMicrophoneTrack
Definition IAgoraRtcEngine.h:4438
agora::rtc::DirectCdnStreamingMediaOptions::customVideoTrackId
Optional< video_track_id_t > customVideoTrackId
Definition IAgoraRtcEngine.h:4466
agora::rtc::DirectCdnStreamingStats
The statistics of the current CDN streaming.
Definition IAgoraRtcEngine.h:4349
agora::rtc::DirectCdnStreamingStats::videoBitrate
int videoBitrate
Definition IAgoraRtcEngine.h:4368
agora::rtc::DirectCdnStreamingStats::audioBitrate
int audioBitrate
Definition IAgoraRtcEngine.h:4373
agora::rtc::DirectCdnStreamingStats::videoWidth
int videoWidth
Definition IAgoraRtcEngine.h:4353
agora::rtc::DirectCdnStreamingStats::videoHeight
int videoHeight
Definition IAgoraRtcEngine.h:4358
agora::rtc::DirectCdnStreamingStats::fps
int fps
Definition IAgoraRtcEngine.h:4363
agora::rtc::EchoTestConfiguration
The configuration of the audio and video call loop test.
Definition AgoraBase.h:7512
agora::rtc::EncryptionConfig
Built-in encryption configurations.
Definition AgoraBase.h:7286
agora::rtc::ExtensionContext
The context information of the extension.
Definition AgoraMediaBase.h:41
agora::rtc::ExtensionInfo
Definition IAgoraRtcEngine.h:4524
agora::rtc::ExtensionInfo::mediaSourceType
agora::media::MEDIA_SOURCE_TYPE mediaSourceType
Definition IAgoraRtcEngine.h:4528
agora::rtc::ExtensionInfo::channelId
const char * channelId
Definition IAgoraRtcEngine.h:4548
agora::rtc::ExtensionInfo::ExtensionInfo
ExtensionInfo()
Definition IAgoraRtcEngine.h:4555
agora::rtc::ExtensionInfo::remoteUid
uid_t remoteUid
Definition IAgoraRtcEngine.h:4535
agora::rtc::ExtensionInfo::localUid
uid_t localUid
Definition IAgoraRtcEngine.h:4553
agora::rtc::FaceShapeAreaOptions
Filter effect options.
Definition AgoraBase.h:5466
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::FaceShapeBeautyOptions
The facial enhancement style options.
Definition AgoraBase.h:5675
agora::rtc::FilterEffectOptions
Filter effect options.
Definition AgoraBase.h:5719
agora::rtc::FocalLengthInfo
Focal length information supported by the camera, including the camera direction and focal length typ...
Definition AgoraBase.h:2043
agora::rtc::IMetadataObserver::Metadata
Media metadata.
Definition IAgoraRtcEngine.h:4198
agora::rtc::IMetadataObserver::Metadata::timeStampMs
long long timeStampMs
Definition IAgoraRtcEngine.h:4220
agora::rtc::IMetadataObserver::Metadata::size
unsigned int size
Definition IAgoraRtcEngine.h:4212
agora::rtc::IMetadataObserver::Metadata::uid
unsigned int uid
Definition IAgoraRtcEngine.h:4208
agora::rtc::IMetadataObserver::Metadata::Metadata
Metadata()
Definition IAgoraRtcEngine.h:4222
agora::rtc::IMetadataObserver::Metadata::channelId
const char * channelId
Definition IAgoraRtcEngine.h:4202
agora::rtc::IMetadataObserver::Metadata::buffer
unsigned char * buffer
Definition IAgoraRtcEngine.h:4216
agora::rtc::ImageTrackOptions
Image configurations.
Definition IAgoraRtcEngine.h:1224
agora::rtc::ImageTrackOptions::fps
int fps
Definition IAgoraRtcEngine.h:1235
agora::rtc::ImageTrackOptions::ImageTrackOptions
ImageTrackOptions()
Definition IAgoraRtcEngine.h:1237
agora::rtc::ImageTrackOptions::imageUrl
const char * imageUrl
Definition IAgoraRtcEngine.h:1230
agora::rtc::ImageTrackOptions::mirrorMode
VIDEO_MIRROR_MODE_TYPE mirrorMode
Definition IAgoraRtcEngine.h:1236
agora::rtc::InjectStreamConfig::InjectStreamConfig
InjectStreamConfig()
Definition IAgoraRtcEngine.h:784
agora::rtc::InjectStreamConfig::audioChannels
int audioChannels
Definition IAgoraRtcEngine.h:780
agora::rtc::InjectStreamConfig::audioBitrate
int audioBitrate
Definition IAgoraRtcEngine.h:777
agora::rtc::InjectStreamConfig::height
int height
Definition IAgoraRtcEngine.h:757
agora::rtc::InjectStreamConfig::videoFramerate
int videoFramerate
Definition IAgoraRtcEngine.h:765
agora::rtc::InjectStreamConfig::audioSampleRate
AUDIO_SAMPLE_RATE_TYPE audioSampleRate
Definition IAgoraRtcEngine.h:773
agora::rtc::InjectStreamConfig::videoGop
int videoGop
Definition IAgoraRtcEngine.h:761
agora::rtc::InjectStreamConfig::videoBitrate
int videoBitrate
Definition IAgoraRtcEngine.h:769
agora::rtc::InjectStreamConfig::width
int width
Definition IAgoraRtcEngine.h:753
agora::rtc::LastmileProbeConfig
Configurations of the last-mile network test.
Definition AgoraBase.h:4948
agora::rtc::LastmileProbeResult
Results of the uplink and downlink last-mile network tests.
Definition AgoraBase.h:5017
agora::rtc::LeaveChannelOptions
The options for leaving a channel.
Definition IAgoraRtcEngine.h:1758
agora::rtc::LeaveChannelOptions::stopMicrophoneRecording
bool stopMicrophoneRecording
Definition IAgoraRtcEngine.h:1776
agora::rtc::LeaveChannelOptions::stopAudioMixing
bool stopAudioMixing
Definition IAgoraRtcEngine.h:1764
agora::rtc::LeaveChannelOptions::LeaveChannelOptions
LeaveChannelOptions()
Definition IAgoraRtcEngine.h:1778
agora::rtc::LeaveChannelOptions::stopAllEffect
bool stopAllEffect
Definition IAgoraRtcEngine.h:1770
agora::rtc::LiveTranscoding
Transcoding configurations for Media Push.
Definition AgoraBase.h:4553
agora::rtc::LocalAccessPointConfiguration
Configuration for the Local Access Point.
Definition AgoraBase.h:7872
agora::rtc::LocalAudioMixerConfiguration
The configurations for mixing the lcoal audio.
Definition AgoraBase.h:4923
agora::rtc::LocalAudioStats
Local audio statistics.
Definition AgoraBase.h:4166
agora::rtc::LocalTranscoderConfiguration
The configuration of the video mixing on the local client.
Definition AgoraBase.h:4798
agora::rtc::LocalVideoStats
The statistics of the local video stream.
Definition IAgoraRtcEngine.h:311
agora::rtc::LocalVideoStats::hwEncoderAccelerating
int hwEncoderAccelerating
Definition IAgoraRtcEngine.h:418
agora::rtc::LocalVideoStats::encodedFrameCount
int encodedFrameCount
Definition IAgoraRtcEngine.h:394
agora::rtc::LocalVideoStats::targetBitrate
int targetBitrate
Definition IAgoraRtcEngine.h:376
agora::rtc::LocalVideoStats::regulatedCaptureFrameRate
int regulatedCaptureFrameRate
Definition IAgoraRtcEngine.h:343
agora::rtc::LocalVideoStats::captureFrameHeight
int captureFrameHeight
Definition IAgoraRtcEngine.h:337
agora::rtc::LocalVideoStats::captureFrameWidth
int captureFrameWidth
Definition IAgoraRtcEngine.h:333
agora::rtc::LocalVideoStats::dualStreamEnabled
bool dualStreamEnabled
Definition IAgoraRtcEngine.h:412
agora::rtc::LocalVideoStats::encodedBitrate
int encodedBitrate
Definition IAgoraRtcEngine.h:390
agora::rtc::LocalVideoStats::simulcastDimensions
VideoDimensions simulcastDimensions[SimulcastConfig::STREAM_LAYER_COUNT_MAX]
Definition IAgoraRtcEngine.h:421
agora::rtc::LocalVideoStats::encodedFrameHeight
int encodedFrameHeight
Definition IAgoraRtcEngine.h:367
agora::rtc::LocalVideoStats::encodedFrameWidth
int encodedFrameWidth
Definition IAgoraRtcEngine.h:363
agora::rtc::LocalVideoStats::captureBrightnessLevel
CAPTURE_BRIGHTNESS_LEVEL_TYPE captureBrightnessLevel
Definition IAgoraRtcEngine.h:408
agora::rtc::LocalVideoStats::qualityAdaptIndication
QUALITY_ADAPT_INDICATION qualityAdaptIndication
Definition IAgoraRtcEngine.h:385
agora::rtc::LocalVideoStats::regulatedCaptureFrameHeight
int regulatedCaptureFrameHeight
Definition IAgoraRtcEngine.h:355
agora::rtc::LocalVideoStats::captureFrameRate
int captureFrameRate
Definition IAgoraRtcEngine.h:329
agora::rtc::LocalVideoStats::sentFrameRate
int sentFrameRate
Definition IAgoraRtcEngine.h:325
agora::rtc::LocalVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition IAgoraRtcEngine.h:371
agora::rtc::LocalVideoStats::encoderOutputFrameRate
int encoderOutputFrameRate
Definition IAgoraRtcEngine.h:359
agora::rtc::LocalVideoStats::targetFrameRate
int targetFrameRate
Definition IAgoraRtcEngine.h:380
agora::rtc::LocalVideoStats::encodedFrameDepth
int encodedFrameDepth
Definition IAgoraRtcEngine.h:428
agora::rtc::LocalVideoStats::uid
uid_t uid
Definition IAgoraRtcEngine.h:315
agora::rtc::LocalVideoStats::txPacketLossRate
unsigned short txPacketLossRate
Definition IAgoraRtcEngine.h:403
agora::rtc::LocalVideoStats::sentBitrate
int sentBitrate
Definition IAgoraRtcEngine.h:320
agora::rtc::LocalVideoStats::codecType
VIDEO_CODEC_TYPE codecType
Definition IAgoraRtcEngine.h:398
agora::rtc::LocalVideoStats::regulatedCaptureFrameWidth
int regulatedCaptureFrameWidth
Definition IAgoraRtcEngine.h:349
agora::rtc::LowlightEnhanceOptions
The low-light enhancement options.
Definition AgoraBase.h:5753
agora::rtc::MultipathStats
Aggregates statistics of each network path in multipath transmission.
Definition AgoraBase.h:2695
agora::rtc::PublisherConfiguration::width
int width
Definition IAgoraRtcEngine.h:817
agora::rtc::PublisherConfiguration::injectStreamWidth
int injectStreamWidth
Definition IAgoraRtcEngine.h:846
agora::rtc::PublisherConfiguration::bitrate
int bitrate
Definition IAgoraRtcEngine.h:829
agora::rtc::PublisherConfiguration::height
int height
Definition IAgoraRtcEngine.h:821
agora::rtc::PublisherConfiguration::owner
bool owner
Definition IAgoraRtcEngine.h:843
agora::rtc::PublisherConfiguration::framerate
int framerate
Definition IAgoraRtcEngine.h:825
agora::rtc::PublisherConfiguration::PublisherConfiguration
PublisherConfiguration()
Definition IAgoraRtcEngine.h:865
agora::rtc::PublisherConfiguration::injectStreamHeight
int injectStreamHeight
Definition IAgoraRtcEngine.h:849
agora::rtc::PublisherConfiguration::injectStreamUrl
const char * injectStreamUrl
Definition IAgoraRtcEngine.h:852
agora::rtc::PublisherConfiguration::extraInfo
const char * extraInfo
Definition IAgoraRtcEngine.h:863
agora::rtc::PublisherConfiguration::publishUrl
const char * publishUrl
Definition IAgoraRtcEngine.h:856
agora::rtc::PublisherConfiguration::rawStreamUrl
const char * rawStreamUrl
Definition IAgoraRtcEngine.h:860
agora::rtc::PublisherConfiguration::defaultLayout
int defaultLayout
Definition IAgoraRtcEngine.h:835
agora::rtc::PublisherConfiguration::lifecycle
int lifecycle
Definition IAgoraRtcEngine.h:838
agora::rtc::RecorderStreamInfo
The information about the media streams to be recorded.
Definition AgoraBase.h:7942
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::RemoteAudioStats
Audio statistics of the remote user.
Definition IAgoraRtcEngine.h:435
agora::rtc::RemoteAudioStats::audioLossRate
int audioLossRate
Definition IAgoraRtcEngine.h:457
agora::rtc::RemoteAudioStats::networkTransportDelay
int networkTransportDelay
Definition IAgoraRtcEngine.h:447
agora::rtc::RemoteAudioStats::frozenCntByCustom
uint32_t frozenCntByCustom
Definition IAgoraRtcEngine.h:511
agora::rtc::RemoteAudioStats::qoeQuality
int qoeQuality
Definition IAgoraRtcEngine.h:533
agora::rtc::RemoteAudioStats::jitterBufferDelay
int jitterBufferDelay
Definition IAgoraRtcEngine.h:453
agora::rtc::RemoteAudioStats::frozenRateByCustomPlcCount
uint32_t frozenRateByCustomPlcCount
Definition IAgoraRtcEngine.h:501
agora::rtc::RemoteAudioStats::receivedSampleRate
int receivedSampleRate
Definition IAgoraRtcEngine.h:465
agora::rtc::RemoteAudioStats::e2eDelay
int e2eDelay
Definition IAgoraRtcEngine.h:547
agora::rtc::RemoteAudioStats::frozenTimeByCustom
uint32_t frozenTimeByCustom
Definition IAgoraRtcEngine.h:517
agora::rtc::RemoteAudioStats::publishDuration
int publishDuration
Definition IAgoraRtcEngine.h:528
agora::rtc::RemoteAudioStats::plcCount
uint32_t plcCount
Definition IAgoraRtcEngine.h:505
agora::rtc::RemoteAudioStats::rxAudioBytes
unsigned int rxAudioBytes
Definition IAgoraRtcEngine.h:542
agora::rtc::RemoteAudioStats::RemoteAudioStats
RemoteAudioStats()
Definition IAgoraRtcEngine.h:549
agora::rtc::RemoteAudioStats::frozenRate
int frozenRate
Definition IAgoraRtcEngine.h:480
agora::rtc::RemoteAudioStats::receivedBitrate
int receivedBitrate
Definition IAgoraRtcEngine.h:469
agora::rtc::RemoteAudioStats::uid
uid_t uid
Definition IAgoraRtcEngine.h:439
agora::rtc::RemoteAudioStats::totalFrozenTime
int totalFrozenTime
Definition IAgoraRtcEngine.h:474
agora::rtc::RemoteAudioStats::quality
int quality
Definition IAgoraRtcEngine.h:443
agora::rtc::RemoteAudioStats::qualityChangedReason
int qualityChangedReason
Definition IAgoraRtcEngine.h:538
agora::rtc::RemoteAudioStats::mosValue
int mosValue
Definition IAgoraRtcEngine.h:496
agora::rtc::RemoteAudioStats::totalActiveTime
int totalActiveTime
Definition IAgoraRtcEngine.h:524
agora::rtc::RemoteAudioStats::numChannels
int numChannels
Definition IAgoraRtcEngine.h:461
agora::rtc::RemoteVideoStats
Statistics of the remote video stream.
Definition IAgoraRtcEngine.h:576
agora::rtc::RemoteVideoStats::rxStreamType
VIDEO_STREAM_TYPE rxStreamType
Definition IAgoraRtcEngine.h:628
agora::rtc::RemoteVideoStats::avSyncTimeMs
int avSyncTimeMs
Definition IAgoraRtcEngine.h:645
agora::rtc::RemoteVideoStats::__deprecated
int delay __deprecated
Definition IAgoraRtcEngine.h:588
agora::rtc::RemoteVideoStats::mosValue
int mosValue
Definition IAgoraRtcEngine.h:663
agora::rtc::RemoteVideoStats::decoderOutputFrameRate
int decoderOutputFrameRate
Definition IAgoraRtcEngine.h:612
agora::rtc::RemoteVideoStats::totalActiveTime
int totalActiveTime
Definition IAgoraRtcEngine.h:651
agora::rtc::RemoteVideoStats::e2eDelay
int e2eDelay
Definition IAgoraRtcEngine.h:593
agora::rtc::RemoteVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition IAgoraRtcEngine.h:616
agora::rtc::RemoteVideoStats::packetLossRate
int packetLossRate
Definition IAgoraRtcEngine.h:624
agora::rtc::RemoteVideoStats::frozenRate
int frozenRate
Definition IAgoraRtcEngine.h:640
agora::rtc::RemoteVideoStats::publishDuration
int publishDuration
Definition IAgoraRtcEngine.h:655
agora::rtc::RemoteVideoStats::width
int width
Definition IAgoraRtcEngine.h:597
agora::rtc::RemoteVideoStats::decoderInputFrameRate
int decoderInputFrameRate
Definition IAgoraRtcEngine.h:608
agora::rtc::RemoteVideoStats::receivedBitrate
int receivedBitrate
Definition IAgoraRtcEngine.h:605
agora::rtc::RemoteVideoStats::uid
uid_t uid
Definition IAgoraRtcEngine.h:580
agora::rtc::RemoteVideoStats::height
int height
Definition IAgoraRtcEngine.h:601
agora::rtc::RemoteVideoStats::totalFrozenTime
int totalFrozenTime
Definition IAgoraRtcEngine.h:634
agora::rtc::RemoteVideoStats::rxVideoBytes
unsigned int rxVideoBytes
Definition IAgoraRtcEngine.h:667
agora::rtc::RemoteVideoStats::frameLossRate
int frameLossRate
Definition IAgoraRtcEngine.h:620
agora::rtc::RtcEngineContext
Configurations for the RtcEngineContext instance.
Definition IAgoraRtcEngine.h:4065
agora::rtc::RtcEngineContext::RtcEngineContext
RtcEngineContext()
Definition IAgoraRtcEngine.h:4158
agora::rtc::RtcEngineContext::audioScenario
AUDIO_SCENARIO_TYPE audioScenario
Definition IAgoraRtcEngine.h:4097
agora::rtc::RtcEngineContext::areaCode
unsigned int areaCode
Definition IAgoraRtcEngine.h:4103
agora::rtc::RtcEngineContext::eventHandler
IRtcEngineEventHandler * eventHandler
Definition IAgoraRtcEngine.h:4069
agora::rtc::RtcEngineContext::logConfig
commons::LogConfig logConfig
Definition IAgoraRtcEngine.h:4124
agora::rtc::RtcEngineContext::channelProfile
CHANNEL_PROFILE_TYPE channelProfile
Definition IAgoraRtcEngine.h:4086
agora::rtc::RtcEngineContext::appId
const char * appId
Definition IAgoraRtcEngine.h:4076
agora::rtc::RtcEngineContext::domainLimit
bool domainLimit
Definition IAgoraRtcEngine.h:4148
agora::rtc::RtcEngineContext::autoRegisterAgoraExtensions
bool autoRegisterAgoraExtensions
Definition IAgoraRtcEngine.h:4156
agora::rtc::RtcEngineContext::context
void * context
Definition IAgoraRtcEngine.h:4082
agora::rtc::RtcEngineContext::license
const char * license
Definition IAgoraRtcEngine.h:4091
agora::rtc::RtcEngineContext::useExternalEglContext
bool useExternalEglContext
Definition IAgoraRtcEngine.h:4138
agora::rtc::RtcEngineContext::threadPriority
Optional< THREAD_PRIORITY_TYPE > threadPriority
Definition IAgoraRtcEngine.h:4129
agora::rtc::RtcImage
Image properties.
Definition AgoraBase.h:4358
agora::rtc::RtcStats
Statistics of a call session.
Definition AgoraBase.h:2742
agora::rtc::SIZE
Definition IAgoraRtcEngine.h:1033
agora::rtc::SIZE::SIZE
SIZE()
Definition IAgoraRtcEngine.h:1041
agora::rtc::SIZE::width
int width
Definition IAgoraRtcEngine.h:1036
agora::rtc::SIZE::SIZE
SIZE(int ww, int hh)
Definition IAgoraRtcEngine.h:1042
agora::rtc::SIZE::height
int height
Definition IAgoraRtcEngine.h:1039
agora::rtc::ScreenCaptureConfiguration
The configuration of the captured screen.
Definition IAgoraRtcEngine.h:993
agora::rtc::ScreenCaptureConfiguration::screenRect
Rectangle screenRect
Definition IAgoraRtcEngine.h:1009
agora::rtc::ScreenCaptureConfiguration::ScreenCaptureConfiguration
ScreenCaptureConfiguration()
Definition IAgoraRtcEngine.h:1027
agora::rtc::ScreenCaptureConfiguration::displayId
int64_t displayId
Definition IAgoraRtcEngine.h:1004
agora::rtc::ScreenCaptureConfiguration::params
ScreenCaptureParameters params
Definition IAgoraRtcEngine.h:1018
agora::rtc::ScreenCaptureConfiguration::isCaptureWindow
bool isCaptureWindow
Definition IAgoraRtcEngine.h:999
agora::rtc::ScreenCaptureConfiguration::regionRect
Rectangle regionRect
Definition IAgoraRtcEngine.h:1025
agora::rtc::ScreenCaptureConfiguration::windowId
int64_t windowId
Definition IAgoraRtcEngine.h:1014
agora::rtc::ScreenCaptureParameters2
Screen sharing configurations.
Definition AgoraBase.h:7667
agora::rtc::ScreenCaptureParameters
Screen sharing configurations.
Definition AgoraBase.h:6475
agora::rtc::ScreenCaptureSourceInfo
The information about the specified shareable window or screen. The information is returned in IScree...
Definition IAgoraRtcEngine.h:1098
agora::rtc::ScreenCaptureSourceInfo::minimizeWindow
bool minimizeWindow
Definition IAgoraRtcEngine.h:1145
agora::rtc::ScreenCaptureSourceInfo::sourceName
const char * sourceName
Definition IAgoraRtcEngine.h:1110
agora::rtc::ScreenCaptureSourceInfo::primaryMonitor
bool primaryMonitor
Definition IAgoraRtcEngine.h:1132
agora::rtc::ScreenCaptureSourceInfo::isOccluded
bool isOccluded
Definition IAgoraRtcEngine.h:1133
agora::rtc::ScreenCaptureSourceInfo::processPath
const char * processPath
Definition IAgoraRtcEngine.h:1122
agora::rtc::ScreenCaptureSourceInfo::ScreenCaptureSourceInfo
ScreenCaptureSourceInfo()
Definition IAgoraRtcEngine.h:1153
agora::rtc::ScreenCaptureSourceInfo::iconImage
ThumbImageBuffer iconImage
Definition IAgoraRtcEngine.h:1118
agora::rtc::ScreenCaptureSourceInfo::type
ScreenCaptureSourceType type
Definition IAgoraRtcEngine.h:1102
agora::rtc::ScreenCaptureSourceInfo::thumbImage
ThumbImageBuffer thumbImage
Definition IAgoraRtcEngine.h:1114
agora::rtc::ScreenCaptureSourceInfo::sourceTitle
const char * sourceTitle
Definition IAgoraRtcEngine.h:1126
agora::rtc::ScreenCaptureSourceInfo::sourceDisplayId
int64_t sourceDisplayId
Definition IAgoraRtcEngine.h:1152
agora::rtc::ScreenCaptureSourceInfo::sourceId
int64_t sourceId
Definition IAgoraRtcEngine.h:1106
agora::rtc::ScreenCaptureSourceInfo::position
Rectangle position
Definition IAgoraRtcEngine.h:1138
agora::rtc::SegmentationProperty
Processing properties for background images.
Definition AgoraBase.h:5987
agora::rtc::SenderOptions
Definition AgoraBase.h:1342
agora::rtc::SimulcastConfig
Configure video streams of different quality levels.
Definition AgoraBase.h:2258
agora::rtc::SimulcastConfig::STREAM_LAYER_COUNT_MAX
@ STREAM_LAYER_COUNT_MAX
Definition AgoraBase.h:2294
agora::rtc::SimulcastStreamConfig
The configuration of the low-quality video stream.
Definition AgoraBase.h:2230
agora::rtc::ThumbImageBuffer
The image content of the thumbnail or icon. Set in ScreenCaptureSourceInfo.
Definition IAgoraRtcEngine.h:1054
agora::rtc::ThumbImageBuffer::width
unsigned int width
Definition IAgoraRtcEngine.h:1066
agora::rtc::ThumbImageBuffer::height
unsigned int height
Definition IAgoraRtcEngine.h:1070
agora::rtc::ThumbImageBuffer::buffer
const char * buffer
Definition IAgoraRtcEngine.h:1058
agora::rtc::ThumbImageBuffer::length
unsigned int length
Definition IAgoraRtcEngine.h:1062
agora::rtc::ThumbImageBuffer::ThumbImageBuffer
ThumbImageBuffer()
Definition IAgoraRtcEngine.h:1071
agora::rtc::TranscodingVideoStream
The video streams for local video mixing.
Definition AgoraBase.h:4721
agora::rtc::UplinkNetworkInfo
The uplink network information.
Definition AgoraBase.h:7106
agora::rtc::UserInfo
The information of the user.
Definition AgoraBase.h:7570
agora::rtc::VideoCanvas
Attributes of the video canvas object.
Definition AgoraBase.h:5266
agora::rtc::VideoCompositingLayout::Region
Definition IAgoraRtcEngine.h:671
agora::rtc::VideoCompositingLayout::Region::y
double y
Definition IAgoraRtcEngine.h:680
agora::rtc::VideoCompositingLayout::Region::alpha
double alpha
Definition IAgoraRtcEngine.h:695
agora::rtc::VideoCompositingLayout::Region::zOrder
int zOrder
Definition IAgoraRtcEngine.h:690
agora::rtc::VideoCompositingLayout::Region::height
double height
Definition IAgoraRtcEngine.h:686
agora::rtc::VideoCompositingLayout::Region::renderMode
media::base::RENDER_MODE_TYPE renderMode
Definition IAgoraRtcEngine.h:697
agora::rtc::VideoCompositingLayout::Region::uid
uid_t uid
Definition IAgoraRtcEngine.h:674
agora::rtc::VideoCompositingLayout::Region::x
double x
Definition IAgoraRtcEngine.h:677
agora::rtc::VideoCompositingLayout::Region::width
double width
Definition IAgoraRtcEngine.h:684
agora::rtc::VideoCompositingLayout::Region::Region
Region()
Definition IAgoraRtcEngine.h:699
agora::rtc::VideoCompositingLayout::VideoCompositingLayout
VideoCompositingLayout()
Definition IAgoraRtcEngine.h:737
agora::rtc::VideoCompositingLayout::appData
const char * appData
Definition IAgoraRtcEngine.h:732
agora::rtc::VideoCompositingLayout::appDataLength
int appDataLength
Definition IAgoraRtcEngine.h:735
agora::rtc::VideoCompositingLayout::canvasHeight
int canvasHeight
Definition IAgoraRtcEngine.h:719
agora::rtc::VideoCompositingLayout::backgroundColor
const char * backgroundColor
Definition IAgoraRtcEngine.h:722
agora::rtc::VideoCompositingLayout::regions
const Region * regions
Definition IAgoraRtcEngine.h:726
agora::rtc::VideoCompositingLayout::regionCount
int regionCount
Definition IAgoraRtcEngine.h:729
agora::rtc::VideoCompositingLayout::canvasWidth
int canvasWidth
Definition IAgoraRtcEngine.h:714
agora::rtc::VideoDenoiserOptions
Video noise reduction options.
Definition AgoraBase.h:5807
agora::rtc::VideoDimensions
The video dimension.
Definition AgoraBase.h:1166
agora::rtc::VideoEncoderConfiguration
Video encoder configurations.
Definition AgoraBase.h:2057
agora::rtc::VideoFormat
The format of the video frame.
Definition AgoraBase.h:3167
agora::rtc::VideoRenderingTracingInfo
Indicators during video frame rendering progress.
Definition AgoraBase.h:7718
agora::rtc::VideoSubscriptionOptions
Video subscription options.
Definition AgoraBase.h:1705
agora::rtc::VirtualBackgroundSource
The custom background.
Definition AgoraBase.h:5892
agora::rtc::WatermarkConfig
Used to configure watermark-related information.
Definition AgoraBase.h:2586
agora::rtc::WatermarkOptions
Watermark image configurations.
Definition AgoraBase.h:2408