Agora Java API Reference for Android
IAgoraRtcEngine.h
1 //
2 // Agora Rtc Engine SDK
3 //
4 // Copyright (c) 2018 Agora.io. All rights reserved.
5 //
6 #pragma once
7 
8 #include "AgoraBase.h"
9 #include "AgoraMediaBase.h"
10 #include "IAgoraLog.h"
11 #include "AgoraOptional.h"
12 #include "IAudioDeviceManager.h"
13 #include "IAgoraRhythmPlayer.h"
14 #include "IAgoraMediaEngine.h"
15 #include "IAgoraH265Transcoder.h"
16 
17 namespace agora {
18 namespace rtm {
19 class IStreamChannel;
20 }
21 namespace rtc {
22 
23 template <typename T>
24 static void SetFrom(Optional<T>* s, const Optional<T>& o) {
25  if (o) {
26  *s = o;
27  }
28 }
29 
30 template <typename T>
31 static void ReplaceBy(Optional<T>* s, const Optional<T>& o) {
32  *s = o;
33 }
34 
35 //class IAudioDeviceManager;
36 
40 enum MEDIA_DEVICE_TYPE {
44  UNKNOWN_AUDIO_DEVICE = -1,
48  AUDIO_PLAYOUT_DEVICE = 0,
52  AUDIO_RECORDING_DEVICE = 1,
56  VIDEO_RENDER_DEVICE = 2,
60  VIDEO_CAPTURE_DEVICE = 3,
64  AUDIO_APPLICATION_PLAYOUT_DEVICE = 4,
68  AUDIO_VIRTUAL_PLAYOUT_DEVICE = 5,
72  AUDIO_VIRTUAL_RECORDING_DEVICE = 6,
73 };
74 
78 enum AUDIO_MIXING_STATE_TYPE {
80  AUDIO_MIXING_STATE_PLAYING = 710,
82  AUDIO_MIXING_STATE_PAUSED = 711,
84  AUDIO_MIXING_STATE_STOPPED = 713,
87  AUDIO_MIXING_STATE_FAILED = 714,
88 };
89 
93 enum AUDIO_MIXING_REASON_TYPE {
95  AUDIO_MIXING_REASON_CAN_NOT_OPEN = 701,
97  AUDIO_MIXING_REASON_TOO_FREQUENT_CALL = 702,
99  AUDIO_MIXING_REASON_INTERRUPTED_EOF = 703,
101  AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED = 721,
103  AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED = 723,
105  AUDIO_MIXING_REASON_STOPPED_BY_USER = 724,
107  AUDIO_MIXING_REASON_RESUMED_BY_USER = 726,
109  AUDIO_MIXING_REASON_OK = 0,
110 };
111 
115 enum INJECT_STREAM_STATUS {
119  INJECT_STREAM_STATUS_START_SUCCESS = 0,
123  INJECT_STREAM_STATUS_START_ALREADY_EXISTS = 1,
127  INJECT_STREAM_STATUS_START_UNAUTHORIZED = 2,
131  INJECT_STREAM_STATUS_START_TIMEDOUT = 3,
135  INJECT_STREAM_STATUS_START_FAILED = 4,
139  INJECT_STREAM_STATUS_STOP_SUCCESS = 5,
143  INJECT_STREAM_STATUS_STOP_NOT_FOUND = 6,
147  INJECT_STREAM_STATUS_STOP_UNAUTHORIZED = 7,
151  INJECT_STREAM_STATUS_STOP_TIMEDOUT = 8,
155  INJECT_STREAM_STATUS_STOP_FAILED = 9,
159  INJECT_STREAM_STATUS_BROKEN = 10,
160 };
161 
165 enum AUDIO_EQUALIZATION_BAND_FREQUENCY {
169  AUDIO_EQUALIZATION_BAND_31 = 0,
173  AUDIO_EQUALIZATION_BAND_62 = 1,
177  AUDIO_EQUALIZATION_BAND_125 = 2,
181  AUDIO_EQUALIZATION_BAND_250 = 3,
185  AUDIO_EQUALIZATION_BAND_500 = 4,
189  AUDIO_EQUALIZATION_BAND_1K = 5,
193  AUDIO_EQUALIZATION_BAND_2K = 6,
197  AUDIO_EQUALIZATION_BAND_4K = 7,
201  AUDIO_EQUALIZATION_BAND_8K = 8,
205  AUDIO_EQUALIZATION_BAND_16K = 9,
206 };
207 
211 enum AUDIO_REVERB_TYPE {
215  AUDIO_REVERB_DRY_LEVEL = 0,
219  AUDIO_REVERB_WET_LEVEL = 1,
223  AUDIO_REVERB_ROOM_SIZE = 2,
227  AUDIO_REVERB_WET_DELAY = 3,
231  AUDIO_REVERB_STRENGTH = 4,
232 };
233 
234 enum STREAM_FALLBACK_OPTIONS {
239  STREAM_FALLBACK_OPTION_DISABLED = 0,
244  STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW = 1,
248  STREAM_FALLBACK_OPTION_AUDIO_ONLY = 2,
253  STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_1 = 3,
254  STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_2 = 4,
255  STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_3 = 5,
256  STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_4 = 6,
257  STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_5 = 7,
258  STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_6 = 8,
259 };
260 
261 enum PRIORITY_TYPE {
264  PRIORITY_HIGH = 50,
267  PRIORITY_NORMAL = 100,
268 };
269 
270 struct RtcConnection;
271 
275 {
279  uid_t uid;
330  QUALITY_ADAPT_INDICATION qualityAdaptIndication;
340  VIDEO_CODEC_TYPE codecType;
344  unsigned short txPacketLossRate;
347  CAPTURE_BRIGHTNESS_LEVEL_TYPE captureBrightnessLevel;
360 };
361 
366 {
370  uid_t uid;
374  int quality;
430  int mosValue;
439  uint32_t plcCount;
440 
461  unsigned int rxAudioBytes;
465  int e2eDelay;
466 
468  : uid(0),
469  quality(0),
472  audioLossRate(0),
473  numChannels(0),
475  receivedBitrate(0),
476  totalFrozenTime(0),
477  frozenRate(0),
478  mosValue(0),
480  plcCount(0),
481  totalActiveTime(0),
482  publishDuration(0),
483  qoeQuality(0),
485  rxAudioBytes(0),
486  e2eDelay(0) {}
487 };
488 
496  uid_t uid;
504  int delay __deprecated;
508  int e2eDelay;
512  int width;
516  int height;
539  VIDEO_STREAM_TYPE rxStreamType;
571  int mosValue;
575  unsigned int rxVideoBytes;
576 };
577 
579  struct Region {
582  uid_t uid;
585  double x; // [0,1]
588  double y; // [0,1]
592  double width; // [0,1]
594  double height; // [0,1]
598  int zOrder; // optional, [0, 100] //0 (default): bottom most, 100: top most
599 
603  double alpha;
604 
605  media::base::RENDER_MODE_TYPE renderMode; // RENDER_MODE_HIDDEN: Crop, RENDER_MODE_FIT: Zoom to fit
606 
607  Region()
608  : uid(0),
609  x(0),
610  y(0),
611  width(0),
612  height(0),
613  zOrder(0),
614  alpha(1.0),
615  renderMode(media::base::RENDER_MODE_HIDDEN) {}
616  };
617 
630  const char* backgroundColor; // e.g. "#C0C0C0" in RGB
634  const Region* regions;
640  const char* appData;
644 
646  : canvasWidth(0),
647  canvasHeight(0),
648  backgroundColor(OPTIONAL_NULLPTR),
649  regions(NULL),
650  regionCount(0),
651  appData(OPTIONAL_NULLPTR),
652  appDataLength(0) {}
653 };
654 
661  int width;
665  int height;
669  int videoGop;
681  AUDIO_SAMPLE_RATE_TYPE audioSampleRate;
689 
690  // width / height default set to 0 means pull the stream with its original
691  // resolution
693  : width(0),
694  height(0),
695  videoGop(30),
696  videoFramerate(15),
697  videoBitrate(400),
698  audioSampleRate(AUDIO_SAMPLE_RATE_48000),
699  audioBitrate(48),
700  audioChannels(1) {}
701 };
702 
705 enum RTMP_STREAM_LIFE_CYCLE_TYPE {
708  RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL = 1,
711  RTMP_STREAM_LIFE_CYCLE_BIND2OWNER = 2,
712 };
713 
720  int width;
724  int height;
732  int bitrate;
746  bool owner;
755  const char* injectStreamUrl;
759  const char* publishUrl;
763  const char* rawStreamUrl;
766  const char* extraInfo;
767 
769  : width(640),
770  height(360),
771  framerate(15),
772  bitrate(500),
773  defaultLayout(1),
774  lifecycle(RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL),
775  owner(true),
778  injectStreamUrl(NULL),
779  publishUrl(NULL),
780  rawStreamUrl(NULL),
781  extraInfo(NULL) {}
782 };
783 
787 enum CAMERA_DIRECTION {
789  CAMERA_REAR = 0,
791  CAMERA_FRONT = 1,
792 };
793 
798 enum CLOUD_PROXY_TYPE {
801  NONE_PROXY = 0,
804  UDP_PROXY = 1,
806 
808  TCP_PROXY = 2,
810 };
811 
815 #if defined(__ANDROID__) || (defined(__APPLE__) && (TARGET_OS_IOS || (defined(TARGET_OS_VISION) && TARGET_OS_VISION)))
816 
819  Optional<CAMERA_DIRECTION> cameraDirection;
820 
821  /*- CAMERA_FOCAL_LENGTH_TYPE.CAMERA_FOCAL_LENGTH_DEFAULT:
822  For iOS, if iPhone/iPad has 3 or 2 back camera, it means combination of triple (wide + ultra wide + telephoto) camera
823  or dual wide(wide + ultra wide) camera.In this situation, you can apply for ultra wide len by set smaller zoom fator
824  and bigger zoom fator for telephoto len.Otherwise, it always means wide back/front camera.
825 
826  - CAMERA_FOCAL_LENGTH_TYPE.CAMERA_FOCAL_LENGTH_WIDE_ANGLE:wide camera
827  - CAMERA_FOCAL_LENGTH_TYPE.CAMERA_FOCAL_LENGTH_ULTRA_WIDE:ultra wide camera
828  - CAMERA_FOCAL_LENGTH_TYPE.CAMERA_FOCAL_LENGTH_TELEPHOTO:telephoto camera*/
829  Optional<CAMERA_FOCAL_LENGTH_TYPE> cameraFocalLengthType;
830 #else
831 
833 #endif
834 
835 #if defined(__ANDROID__)
836 
839  Optional<const char *> cameraId;
840 #endif
841  Optional<bool> followEncodeDimensionRatio;
845 };
855  bool isCaptureWindow; // true - capture window, false - capture display
859  int64_t displayId;
864  Rectangle screenRect; //Windows only
869  int64_t windowId;
882 
884 };
885 
886 #if (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
887 
889 struct SIZE {
892  int width;
895  int height;
896 
897  SIZE() : width(0), height(0) {}
898  SIZE(int ww, int hh) : width(ww), height(hh) {}
899 };
900 #endif
901 
902 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
903 
908 struct ThumbImageBuffer {
912  const char* buffer;
916  unsigned int length;
920  unsigned int width;
924  unsigned int height;
925  ThumbImageBuffer() : buffer(nullptr), length(0), width(0), height(0) {}
926 };
930 enum ScreenCaptureSourceType {
932  ScreenCaptureSourceType_Unknown = -1,
934  ScreenCaptureSourceType_Window = 0,
936  ScreenCaptureSourceType_Screen = 1,
938  ScreenCaptureSourceType_Custom = 2,
939 };
941 struct ScreenCaptureSourceInfo {
945  ScreenCaptureSourceType type;
949  int64_t sourceId;
953  const char* sourceName;
957  ThumbImageBuffer thumbImage;
961  ThumbImageBuffer iconImage;
965  const char* processPath;
969  const char* sourceTitle;
975  bool primaryMonitor;
976  bool isOccluded;
980  Rectangle position;
981 #if defined(_WIN32)
982 
985  bool minimizeWindow;
992  int64_t sourceDisplayId;
993  ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(0), sourceName(nullptr),
994  processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false), minimizeWindow(false), sourceDisplayId(-2) {}
995 #else
996  ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(0), sourceName(nullptr), processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false) {}
997 #endif
998 };
1002 class IScreenCaptureSourceList {
1003  protected:
1004  virtual ~IScreenCaptureSourceList(){};
1005 
1006  public:
1012  virtual unsigned int getCount() = 0;
1022  virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index) = 0;
1029  virtual void release() = 0;
1030 };
1031 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
1032 
1040 
1042  ~AdvancedAudioOptions() {}
1043 };
1044 
1046  const char* imageUrl;
1047  int fps;
1048  VIDEO_MIRROR_MODE_TYPE mirrorMode;
1049  ImageTrackOptions() : imageUrl(NULL), fps(1), mirrorMode(VIDEO_MIRROR_MODE_DISABLED) {}
1050 };
1051 
1091  #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(TARGET_OS_MAC)
1092 
1097  Optional<bool> publishScreenCaptureAudio;
1098  #endif
1099 
1100  #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1101 
1106  Optional<bool> publishScreenCaptureVideo;
1107  #else
1108 
1132  #endif
1133 
1279 
1285 
1290 
1291  ChannelMediaOptions() {}
1292  ~ChannelMediaOptions() {}
1293 
1294  void SetAll(const ChannelMediaOptions& change) {
1295 #define SET_FROM(X) SetFrom(&X, change.X)
1296 
1297  SET_FROM(publishCameraTrack);
1298  SET_FROM(publishSecondaryCameraTrack);
1299  SET_FROM(publishThirdCameraTrack);
1300  SET_FROM(publishFourthCameraTrack);
1301  SET_FROM(publishMicrophoneTrack);
1302 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(TARGET_OS_MAC)
1303  SET_FROM(publishScreenCaptureAudio);
1304 #endif
1305 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1306  SET_FROM(publishScreenCaptureVideo);
1307 #else
1308  SET_FROM(publishScreenTrack);
1309  SET_FROM(publishSecondaryScreenTrack);
1310  SET_FROM(publishThirdScreenTrack);
1311  SET_FROM(publishFourthScreenTrack);
1312 #endif
1313  SET_FROM(publishTranscodedVideoTrack);
1314  SET_FROM(publishMixedAudioTrack);
1315  SET_FROM(publishLipSyncTrack);
1316  SET_FROM(publishCustomAudioTrack);
1317  SET_FROM(publishCustomAudioTrackId);
1318  SET_FROM(publishCustomVideoTrack);
1319  SET_FROM(publishEncodedVideoTrack);
1320  SET_FROM(publishMediaPlayerAudioTrack);
1321  SET_FROM(publishMediaPlayerVideoTrack);
1322  SET_FROM(autoSubscribeAudio);
1323  SET_FROM(autoSubscribeVideo);
1324  SET_FROM(publishMediaPlayerId);
1326  SET_FROM(clientRoleType);
1327  SET_FROM(audienceLatencyLevel);
1328  SET_FROM(defaultVideoStreamType);
1329  SET_FROM(channelProfile);
1330  SET_FROM(audioDelayMs);
1331  SET_FROM(mediaPlayerAudioDelayMs);
1332  SET_FROM(token);
1333  SET_FROM(enableBuiltInMediaEncryption);
1334  SET_FROM(publishRhythmPlayerTrack);
1335  SET_FROM(customVideoTrackId);
1336  SET_FROM(isAudioFilterable);
1337  SET_FROM(isInteractiveAudience);
1338  SET_FROM(parameters);
1339  SET_FROM(customUserInfo);
1340 
1341 #undef SET_FROM
1342  }
1343 
1344  bool operator==(const ChannelMediaOptions& o) const {
1345 #define BEGIN_COMPARE() bool b = true
1346 #define ADD_COMPARE(X) b = (b && (X == o.X))
1347 #define END_COMPARE()
1348 
1349  BEGIN_COMPARE();
1350  ADD_COMPARE(publishCameraTrack);
1351  ADD_COMPARE(publishSecondaryCameraTrack);
1352  ADD_COMPARE(publishThirdCameraTrack);
1353  ADD_COMPARE(publishFourthCameraTrack);
1354  ADD_COMPARE(publishMicrophoneTrack);
1355 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(TARGET_OS_MAC)
1356  ADD_COMPARE(publishScreenCaptureAudio);
1357 #endif
1358 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1359  ADD_COMPARE(publishScreenCaptureVideo);
1360 #else
1361  ADD_COMPARE(publishScreenTrack);
1362  ADD_COMPARE(publishSecondaryScreenTrack);
1363  ADD_COMPARE(publishThirdScreenTrack);
1364  ADD_COMPARE(publishFourthScreenTrack);
1365 #endif
1366  ADD_COMPARE(publishTranscodedVideoTrack);
1367  ADD_COMPARE(publishMixedAudioTrack);
1368  ADD_COMPARE(publishLipSyncTrack);
1369  ADD_COMPARE(publishCustomAudioTrack);
1370  ADD_COMPARE(publishCustomAudioTrackId);
1371  ADD_COMPARE(publishCustomVideoTrack);
1372  ADD_COMPARE(publishEncodedVideoTrack);
1373  ADD_COMPARE(publishMediaPlayerAudioTrack);
1374  ADD_COMPARE(publishMediaPlayerVideoTrack);
1375  ADD_COMPARE(autoSubscribeAudio);
1376  ADD_COMPARE(autoSubscribeVideo);
1377  ADD_COMPARE(publishMediaPlayerId);
1378  ADD_COMPARE(enableAudioRecordingOrPlayout);
1379  ADD_COMPARE(clientRoleType);
1380  ADD_COMPARE(audienceLatencyLevel);
1381  ADD_COMPARE(defaultVideoStreamType);
1382  ADD_COMPARE(channelProfile);
1383  ADD_COMPARE(audioDelayMs);
1384  ADD_COMPARE(mediaPlayerAudioDelayMs);
1385  ADD_COMPARE(token);
1386  ADD_COMPARE(enableBuiltInMediaEncryption);
1387  ADD_COMPARE(publishRhythmPlayerTrack);
1388  ADD_COMPARE(customVideoTrackId);
1389  ADD_COMPARE(isAudioFilterable);
1390  ADD_COMPARE(isInteractiveAudience);
1391  ADD_COMPARE(parameters);
1392  ADD_COMPARE(customUserInfo);
1393  END_COMPARE();
1394 
1395 #undef BEGIN_COMPARE
1396 #undef ADD_COMPARE
1397 #undef END_COMPARE
1398  return b;
1399  }
1400 
1401  ChannelMediaOptions& operator=(const ChannelMediaOptions& replace) {
1402  if (this != &replace) {
1403 #define REPLACE_BY(X) ReplaceBy(&X, replace.X)
1404 
1405  REPLACE_BY(publishCameraTrack);
1406  REPLACE_BY(publishSecondaryCameraTrack);
1407  REPLACE_BY(publishThirdCameraTrack);
1408  REPLACE_BY(publishFourthCameraTrack);
1409  REPLACE_BY(publishMicrophoneTrack);
1410 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(TARGET_OS_MAC)
1411  REPLACE_BY(publishScreenCaptureAudio);
1412 #endif
1413 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1414  REPLACE_BY(publishScreenCaptureVideo);
1415 #else
1416  REPLACE_BY(publishScreenTrack);
1417  REPLACE_BY(publishSecondaryScreenTrack);
1418  REPLACE_BY(publishThirdScreenTrack);
1419  REPLACE_BY(publishFourthScreenTrack);
1420 #endif
1421  REPLACE_BY(publishTranscodedVideoTrack);
1422  REPLACE_BY(publishMixedAudioTrack);
1423  REPLACE_BY(publishLipSyncTrack);
1424  REPLACE_BY(publishCustomAudioTrack);
1425  REPLACE_BY(publishCustomAudioTrackId);
1426  REPLACE_BY(publishCustomVideoTrack);
1427  REPLACE_BY(publishEncodedVideoTrack);
1428  REPLACE_BY(publishMediaPlayerAudioTrack);
1429  REPLACE_BY(publishMediaPlayerVideoTrack);
1430  REPLACE_BY(autoSubscribeAudio);
1431  REPLACE_BY(autoSubscribeVideo);
1432  REPLACE_BY(publishMediaPlayerId);
1433  REPLACE_BY(enableAudioRecordingOrPlayout);
1434  REPLACE_BY(clientRoleType);
1435  REPLACE_BY(audienceLatencyLevel);
1436  REPLACE_BY(defaultVideoStreamType);
1437  REPLACE_BY(channelProfile);
1438  REPLACE_BY(audioDelayMs);
1439  REPLACE_BY(mediaPlayerAudioDelayMs);
1440  REPLACE_BY(token);
1441  REPLACE_BY(enableBuiltInMediaEncryption);
1442  REPLACE_BY(publishRhythmPlayerTrack);
1443  REPLACE_BY(customVideoTrackId);
1444  REPLACE_BY(isAudioFilterable);
1445  REPLACE_BY(isInteractiveAudience);
1446  REPLACE_BY(parameters);
1447  REPLACE_BY(customUserInfo);
1448 #undef REPLACE_BY
1449  }
1450  return *this;
1451  }
1452 };
1453 
1454 enum PROXY_TYPE {
1457  NONE_PROXY_TYPE = 0,
1460  UDP_PROXY_TYPE = 1,
1463  TCP_PROXY_TYPE = 2,
1466  LOCAL_PROXY_TYPE = 3,
1469  TCP_PROXY_AUTO_FALLBACK_TYPE = 4,
1472  HTTP_PROXY_TYPE = 5,
1475  HTTPS_PROXY_TYPE = 6,
1476 };
1477 
1478 enum FeatureType {
1479  VIDEO_VIRTUAL_BACKGROUND = 1,
1480  VIDEO_BEAUTY_EFFECT = 2,
1481 };
1482 
1511 
1513 };
1514 
1526  public:
1527  virtual ~IRtcEngineEventHandler() {}
1528 
1529  virtual const char* eventHandlerType() const { return "event_handler"; }
1530 
1540  virtual void onJoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1541  (void)channel;
1542  (void)uid;
1543  (void)elapsed;
1544  }
1545 
1556  virtual void onRejoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1557  (void)channel;
1558  (void)uid;
1559  (void)elapsed;
1560  }
1561 
1569  virtual void onProxyConnected(const char* channel, uid_t uid, PROXY_TYPE proxyType, const char* localProxyIp, int elapsed) {
1570  (void)channel;
1571  (void)uid;
1572  (void)proxyType;
1573  (void)localProxyIp;
1574  (void)elapsed;
1575  }
1576 
1582  virtual void onError(int err, const char* msg) {
1583  (void)err;
1584  (void)msg;
1585  }
1586 
1602  virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay, unsigned short lost) __deprecated {
1603  (void)uid;
1604  (void)quality;
1605  (void)delay;
1606  (void)lost;
1607  }
1608 
1614  virtual void onLastmileProbeResult(const LastmileProbeResult& result) {
1615  (void)result;
1616  }
1617 
1644  virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, unsigned int speakerNumber,
1645  int totalVolume) {
1646  (void)speakers;
1647  (void)speakerNumber;
1648  (void)totalVolume;
1649  }
1650 
1659  virtual void onLeaveChannel(const RtcStats& stats) { (void)stats; }
1660 
1668  virtual void onRtcStats(const RtcStats& stats) { (void)stats; }
1669 
1683  virtual void onAudioDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1684  (void)deviceId;
1685  (void)deviceType;
1686  (void)deviceState;
1687  }
1688 
1695  virtual void onAudioMixingPositionChanged(int64_t position) {}
1696 
1703  virtual void onAudioMixingFinished() __deprecated {}
1704 
1712  virtual void onAudioEffectFinished(int soundId) {}
1713 
1723  virtual void onVideoDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1724  (void)deviceId;
1725  (void)deviceType;
1726  (void)deviceState;
1727  }
1728 
1751  virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) {
1752  (void)uid;
1753  (void)txQuality;
1754  (void)rxQuality;
1755  }
1756 
1763  virtual void onIntraRequestReceived() {}
1764 
1775  virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo& info) {
1776  (void)info;
1777  }
1778 
1787  (void)info;
1788  }
1789 
1802  virtual void onLastmileQuality(int quality) { (void)quality; }
1803 
1814  virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed) {
1815  (void)source;
1816  (void)width;
1817  (void)height;
1818  (void)elapsed;
1819  }
1820 
1831  virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed) {
1832  (void)source;
1833  (void)elapsed;
1834  }
1835 
1852  virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) __deprecated {
1853  (void)uid;
1854  (void)width;
1855  (void)height;
1856  (void)elapsed;
1857  }
1858 
1867  virtual void onVideoSizeChanged(VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation) {
1868  (void)uid;
1869  (void)width;
1870  (void)height;
1871  (void)rotation;
1872  }
1873 
1900  virtual void onLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_REASON reason) {
1901  (void)source;
1902  (void)state;
1903  (void)reason;
1904  }
1905 
1917  virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) {
1918  (void)uid;
1919  (void)state;
1920  (void)reason;
1921  (void)elapsed;
1922  }
1923 
1931  virtual void onFirstRemoteVideoFrame(uid_t uid, int width, int height, int elapsed) {
1932  (void)uid;
1933  (void)width;
1934  (void)height;
1935  (void)elapsed;
1936  }
1937 
1957  virtual void onUserJoined(uid_t uid, int elapsed) {
1958  (void)uid;
1959  (void)elapsed;
1960  }
1961 
1976  virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) {
1977  (void)uid;
1978  (void)reason;
1979  }
1980 
1993  virtual void onUserMuteAudio(uid_t uid, bool muted) {
1994  (void)uid;
1995  (void)muted;
1996  }
1997 
2012  virtual void onUserMuteVideo(uid_t uid, bool muted) {
2013  (void)uid;
2014  (void)muted;
2015  }
2016 
2029  virtual void onUserEnableVideo(uid_t uid, bool enabled) {
2030  (void)uid;
2031  (void)enabled;
2032  }
2033 
2039  virtual void onUserStateChanged(uid_t uid, REMOTE_USER_STATE state) {
2040  (void)uid;
2041  (void)state;
2042  }
2043 
2054  virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) __deprecated {
2055  (void)uid;
2056  (void)enabled;
2057  }
2058 
2066  virtual void onRemoteAudioStats(const RemoteAudioStats& stats) {
2067  (void)stats;
2068  }
2069 
2077  virtual void onLocalAudioStats(const LocalAudioStats& stats) {
2078  (void)stats;
2079  }
2080 
2094  virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats& stats) {
2095  (void)source;
2096  (void)stats;
2097  }
2098 
2107  virtual void onRemoteVideoStats(const RemoteVideoStats& stats) {
2108  (void)stats;
2109  }
2110 
2116  virtual void onCameraReady() __deprecated {}
2117 
2128  virtual void onCameraFocusAreaChanged(int x, int y, int width, int height) {
2129  (void)x;
2130  (void)y;
2131  (void)width;
2132  (void)height;
2133  }
2142  virtual void onCameraExposureAreaChanged(int x, int y, int width, int height) {
2143  (void)x;
2144  (void)y;
2145  (void)width;
2146  (void)height;
2147  }
2148 #if defined(__ANDROID__) || (defined(__APPLE__) && (TARGET_OS_IOS || (defined(TARGET_OS_VISION) && TARGET_OS_VISION)))
2149 
2179  virtual void onFacePositionChanged(int imageWidth, int imageHeight,
2180  const Rectangle* vecRectangle, const int* vecDistance,
2181  int numFaces) {
2182  (void) imageWidth;
2183  (void) imageHeight;
2184  (void) vecRectangle;
2185  (void) vecDistance;
2186  (void) numFaces;
2187  }
2188 #endif
2189 
2196  virtual void onVideoStopped() __deprecated {}
2197 
2205  virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) {
2206  (void)state;
2207  (void)reason;
2208  }
2209 
2218  virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_REASON reason) {
2219  (void)state;
2220  (void)reason;
2221  }
2222 
2231  virtual void onConnectionLost() {}
2232 
2244  virtual void onConnectionInterrupted() __deprecated {}
2245 
2249  virtual void onConnectionBanned() __deprecated {}
2250 
2262  virtual void onStreamMessage(uid_t uid, int streamId, const char* data, size_t length, uint64_t sentTs) {
2263  (void)uid;
2264  (void)streamId;
2265  (void)data;
2266  (void)length;
2267  (void)sentTs;
2268  }
2269 
2282  virtual void onStreamMessageError(uid_t uid, int streamId, int code, int missed, int cached) {
2283  (void)uid;
2284  (void)streamId;
2285  (void)code;
2286  (void)missed;
2287  (void)cached;
2288  }
2289 
2299  virtual void onRequestToken() {}
2300 
2312  virtual void onTokenPrivilegeWillExpire(const char* token) {
2313  (void)token;
2314  }
2315 
2321  virtual void onLicenseValidationFailure(LICENSE_ERROR_TYPE error) {
2322  (void)error;
2323  }
2324 
2335  virtual void onFirstLocalAudioFramePublished(int elapsed) {
2336  (void)elapsed;
2337  }
2338 
2355  virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) __deprecated {
2356  (void)uid;
2357  (void)elapsed;
2358  }
2359 
2367  virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) __deprecated {
2368  (void)uid;
2369  (void)elapsed;
2370  }
2371 
2386  virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_REASON reason) {
2387  (void)state;
2388  (void)reason;
2389  }
2390 
2407  virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) {
2408  (void)uid;
2409  (void)state;
2410  (void)reason;
2411  (void)elapsed;
2412  }
2413 
2427  virtual void onActiveSpeaker(uid_t uid) {
2428  (void)uid;
2429  }
2430 
2435  virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result) { (void)result; }
2436 
2454  virtual void onSnapshotTaken(uid_t uid, const char* filePath, int width, int height, int errCode) {
2455  (void)uid;
2456  (void)filePath;
2457  (void)width;
2458  (void)height;
2459  (void)errCode;
2460  }
2461 
2469  virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions& newRoleOptions) {
2470  (void)oldRole;
2471  (void)newRole;
2472  (void)newRoleOptions;
2473  }
2474 
2482  virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole) {
2483  (void)reason;
2484  (void)currentRole;
2485  }
2486 
2494  virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) {
2495  (void)deviceType;
2496  (void)volume;
2497  (void)muted;
2498  }
2499 
2511  virtual void onRtmpStreamingStateChanged(const char* url, RTMP_STREAM_PUBLISH_STATE state,
2512  RTMP_STREAM_PUBLISH_REASON reason) {
2513  (void)url;
2514  (void)state;
2515  (void)reason;
2516  }
2517 
2523  virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode) {
2524  (void)url;
2525  (void)eventCode;
2526  }
2527 
2538  virtual void onTranscodingUpdated() {}
2539 
2553  virtual void onAudioRoutingChanged(int routing) { (void)routing; }
2554 
2586  virtual void onChannelMediaRelayStateChanged(int state, int code) {
2587  (void)state;
2588  (void)code;
2589  }
2590 
2604  virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) {
2605  (void)isFallbackOrRecover;
2606  }
2607 
2625  virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover) {
2626  (void)uid;
2627  (void)isFallbackOrRecover;
2628  }
2629 
2644  virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated {
2645  (void)uid;
2646  (void)delay;
2647  (void)lost;
2648  (void)rxKBitRate;
2649  }
2650 
2668  virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated {
2669  (void)uid;
2670  (void)delay;
2671  (void)lost;
2672  (void)rxKBitRate;
2673  }
2674 
2684  CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) {
2685  (void)state;
2686  (void)reason;
2687  }
2688 
2695  virtual void onWlAccMessage(WLACC_MESSAGE_REASON reason, WLACC_SUGGEST_ACTION action, const char* wlAccMsg) {
2696  (void)reason;
2697  (void)action;
2698  (void)wlAccMsg;
2699  }
2700 
2706  virtual void onWlAccStats(const WlAccStats& currentStats, const WlAccStats& averageStats) {
2707  (void)currentStats;
2708  (void)averageStats;
2709  }
2710 
2720  virtual void onNetworkTypeChanged(NETWORK_TYPE type) {
2721  (void)type;
2722  }
2723 
2731  virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) {
2732  (void)errorType;
2733  }
2734 
2744  virtual void onPermissionError(PERMISSION_TYPE permissionType) {
2745  (void)permissionType;
2746  }
2747 
2757  virtual void onLocalUserRegistered(uid_t uid, const char* userAccount) {
2758  (void)uid;
2759  (void)userAccount;
2760  }
2761 
2770  virtual void onUserInfoUpdated(uid_t uid, const UserInfo& info) {
2771  (void)uid;
2772  (void)info;
2773  }
2774 
2781  virtual void onUserAccountUpdated(uid_t uid, const char* userAccount){
2782  (void)uid;
2783  (void)userAccount;
2784  }
2785 
2793  virtual void onVideoRenderingTracingResult(uid_t uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo) {
2794  (void)uid;
2795  (void)currentEvent;
2796  (void)tracingInfo;
2797  }
2798 
2805  virtual void onLocalVideoTranscoderError(const TranscodingVideoStream& stream, VIDEO_TRANSCODER_ERROR error){
2806  (void)stream;
2807  (void)error;
2808  }
2809 
2816  virtual void onUploadLogResult(const char* requestId, bool success, UPLOAD_ERROR_REASON reason) {
2817  (void)requestId;
2818  (void)success;
2819  (void)reason;
2820  }
2821 
2831  virtual void onAudioSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
2832  (void)channel;
2833  (void)uid;
2834  (void)oldState;
2835  (void)newState;
2836  (void)elapseSinceLastState;
2837  }
2838 
2848  virtual void onVideoSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
2849  (void)channel;
2850  (void)uid;
2851  (void)oldState;
2852  (void)newState;
2853  (void)elapseSinceLastState;
2854  }
2855 
2864  virtual void onAudioPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
2865  (void)channel;
2866  (void)oldState;
2867  (void)newState;
2868  (void)elapseSinceLastState;
2869  }
2870 
2880  virtual void onVideoPublishStateChanged(VIDEO_SOURCE_TYPE source, const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
2881  (void)source;
2882  (void)channel;
2883  (void)oldState;
2884  (void)newState;
2885  (void)elapseSinceLastState;
2886  }
2887 
2897  virtual void onTranscodedStreamLayoutInfo(uid_t uid, int width, int height, int layoutCount,const VideoLayout* layoutlist) {
2898  (void)uid;
2899  (void)width;
2900  (void)height;
2901  (void)layoutCount;
2902  (void)layoutlist;
2903  }
2904 
2913  virtual void onAudioMetadataReceived(uid_t uid, const char* metadata, size_t length) {
2914  (void)uid;
2915  (void)metadata;
2916  (void)length;
2917  }
2918 
2928  virtual void onExtensionEventWithContext(const ExtensionContext &context, const char* key, const char* value) {
2929  (void)context;
2930  (void)key;
2931  (void)value;
2932  }
2933 
2941  virtual void onExtensionStartedWithContext(const ExtensionContext &context) {
2942  (void)context;
2943  }
2944 
2952  virtual void onExtensionStoppedWithContext(const ExtensionContext &context) {
2953  (void)context;
2954  }
2955 
2966  virtual void onExtensionErrorWithContext(const ExtensionContext &context, int error, const char* message) {
2967  (void)context;
2968  (void)error;
2969  (void)message;
2970  }
2971 
2978  virtual void onSetRtmFlagResult(int code) {
2979  (void)code;
2980  }
2981 };
2982 
2987  public:
2988  virtual ~IVideoDeviceCollection() {}
2989 
2995  virtual int getCount() = 0;
2996 
3006  virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3007 
3018  virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH],
3019  char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3020 
3024  virtual void release() = 0;
3025 };
3026 
3031  public:
3032  virtual ~IVideoDeviceManager() {}
3045 
3056  virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3057 
3066  virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3067 
3068 #if defined(_WIN32) || (defined(__linux__) && !defined(__ANDROID__)) || \
3069  (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
3070 
3087  virtual int numberOfCapabilities(const char* deviceIdUTF8) = 0;
3088 
3106  virtual int getCapability(const char* deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat& capability) = 0;
3107 #endif
3108 
3121  virtual int startDeviceTest(view_t hwnd) = 0;
3122 
3129  virtual int stopDeviceTest() = 0;
3130 
3134  virtual void release() = 0;
3135 };
3136 
3143  public:
3144  virtual ~IVideoEffectObject() {}
3145 
3151  enum class VIDEO_EFFECT_NODE_ID : uint32_t {
3153  BEAUTY = 1U << 0,
3155  STYLE_MAKEUP = 1U << 1,
3157  FILTER = 1U << 2,
3159  STICKER = 1U << 3,
3160  };
3161 
3169  SAVE = 1,
3171  RESET = 2,
3172  };
3173 
3198  virtual int addOrUpdateVideoEffect(uint32_t nodeId, const char* templateName) = 0;
3199 
3211  virtual int removeVideoEffect(uint32_t nodeId) = 0;
3212 
3225  virtual int performVideoEffectAction(uint32_t nodeId, VIDEO_EFFECT_ACTION actionId) = 0;
3226 
3240  virtual int setVideoEffectFloatParam(const char* option, const char* key, float param) = 0;
3241 
3255  virtual int setVideoEffectIntParam(const char* option, const char* key, int param) = 0;
3256 
3272  virtual int setVideoEffectBoolParam(const char* option, const char* key, bool param) = 0;
3273 
3286  virtual float getVideoEffectFloatParam(const char* option, const char* key) = 0;
3287 
3300  virtual int getVideoEffectIntParam(const char* option, const char* key) = 0;
3301 
3314  virtual bool getVideoEffectBoolParam(const char* option, const char* key) = 0;
3315 
3316 };
3317 
3332  const char* appId;
3338  void* context;
3342  CHANNEL_PROFILE_TYPE channelProfile;
3343 
3347  const char* license;
3348 
3356  AUDIO_SCENARIO_TYPE audioScenario;
3365  unsigned int areaCode;
3366 
3383 
3388 
3397 
3404 
3411 
3413  : eventHandler(NULL), appId(NULL), context(NULL), channelProfile(CHANNEL_PROFILE_LIVE_BROADCASTING),
3414  license(NULL), audioScenario(AUDIO_SCENARIO_DEFAULT), areaCode(AREA_CODE_GLOB),
3416 };
3417 
3421 public:
3422  virtual ~IMetadataObserver() {}
3423 
3429  {
3436  };
3441  {
3442  INVALID_METADATA_SIZE_IN_BYTE = -1,
3443  DEFAULT_METADATA_SIZE_IN_BYTE = 512,
3444  MAX_METADATA_SIZE_IN_BYTE = 1024
3445  };
3446 
3449  struct Metadata
3450  {
3453  const char* channelId;
3458  unsigned int uid;
3461  unsigned int size;
3464  unsigned char *buffer;
3468  long long timeStampMs;
3469 
3470  Metadata() : channelId(NULL), uid(0), size(0), buffer(NULL), timeStampMs(0) {}
3471  };
3472 
3483  virtual int getMaxMetadataSize() { return DEFAULT_METADATA_SIZE_IN_BYTE; }
3484 
3495  virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type) = 0;
3496 
3504  virtual void onMetadataReceived(const Metadata& metadata) = 0;
3505 };
3506 
3507 // The reason codes for media streaming
3508 // GENERATED_JAVA_ENUM_PACKAGE: io.agora.streaming
3509 enum DIRECT_CDN_STREAMING_REASON {
3510  // No error occurs.
3511  DIRECT_CDN_STREAMING_REASON_OK = 0,
3512  // A general error occurs (no specified reason).
3513  DIRECT_CDN_STREAMING_REASON_FAILED = 1,
3514  // Audio publication error.
3515  DIRECT_CDN_STREAMING_REASON_AUDIO_PUBLICATION = 2,
3516  // Video publication error.
3517  DIRECT_CDN_STREAMING_REASON_VIDEO_PUBLICATION = 3,
3518 
3519  DIRECT_CDN_STREAMING_REASON_NET_CONNECT = 4,
3520  // Already exist stream name.
3521  DIRECT_CDN_STREAMING_REASON_BAD_NAME = 5,
3522 };
3523 
3524 // The connection state of media streaming
3525 // GENERATED_JAVA_ENUM_PACKAGE: io.agora.streaming
3526 enum DIRECT_CDN_STREAMING_STATE {
3527 
3528  DIRECT_CDN_STREAMING_STATE_IDLE = 0,
3529 
3530  DIRECT_CDN_STREAMING_STATE_RUNNING = 1,
3531 
3532  DIRECT_CDN_STREAMING_STATE_STOPPED = 2,
3533 
3534  DIRECT_CDN_STREAMING_STATE_FAILED = 3,
3535 
3536  DIRECT_CDN_STREAMING_STATE_RECOVERING = 4,
3537 };
3538 
3547 
3552 
3556  int fps;
3557 
3562 
3567 };
3568 
3574  public:
3575  virtual ~IDirectCdnStreamingEventHandler() {}
3576 
3583  virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_REASON reason, const char* message) {
3584  (void)state;
3585  (void)reason;
3586  (void)message;
3587  };
3588 
3589  virtual void onDirectCdnStreamingStats(const DirectCdnStreamingStats& stats) {
3590  (void)stats;
3591  };
3592 };
3593 
3638 
3641 
3642  void SetAll(const DirectCdnStreamingMediaOptions& change) {
3643 #define SET_FROM(X) SetFrom(&X, change.X)
3644  SET_FROM(publishCameraTrack);
3645  SET_FROM(publishMicrophoneTrack);
3646  SET_FROM(publishCustomAudioTrack);
3647  SET_FROM(publishCustomVideoTrack);
3648  SET_FROM(publishMediaPlayerAudioTrack);
3649  SET_FROM(publishMediaPlayerId);
3650  SET_FROM(customVideoTrackId);
3651 #undef SET_FROM
3652  }
3653 
3654  bool operator==(const DirectCdnStreamingMediaOptions& o) const {
3655 #define BEGIN_COMPARE() bool b = true
3656 #define ADD_COMPARE(X) b = (b && (X == o.X))
3657 #define END_COMPARE()
3658 
3659  BEGIN_COMPARE();
3660  ADD_COMPARE(publishCameraTrack);
3661  ADD_COMPARE(publishMicrophoneTrack);
3662  ADD_COMPARE(publishCustomAudioTrack);
3663  ADD_COMPARE(publishCustomVideoTrack);
3664  ADD_COMPARE(publishMediaPlayerAudioTrack);
3665  ADD_COMPARE(customVideoTrackId);
3666  ADD_COMPARE(publishMediaPlayerId);
3667  END_COMPARE();
3668 
3669 #undef BEGIN_COMPARE
3670 #undef ADD_COMPARE
3671 #undef END_COMPARE
3672  return b;
3673  }
3674 
3675  DirectCdnStreamingMediaOptions& operator=(const DirectCdnStreamingMediaOptions& replace) {
3676  if (this != &replace) {
3677 #define REPLACE_BY(X) ReplaceBy(&X, replace.X)
3678 
3679  REPLACE_BY(publishCameraTrack);
3680  REPLACE_BY(publishMicrophoneTrack);
3681  REPLACE_BY(publishCustomAudioTrack);
3682  REPLACE_BY(publishCustomVideoTrack);
3683  REPLACE_BY(publishMediaPlayerAudioTrack);
3684  REPLACE_BY(customVideoTrackId);
3685  REPLACE_BY(publishMediaPlayerId);
3686 #undef REPLACE_BY
3687  }
3688  return *this;
3689  }
3690 };
3691 
3699  agora::media::MEDIA_SOURCE_TYPE mediaSourceType;
3700 
3706  uid_t remoteUid;
3707 
3719  const char* channelId;
3720 
3724  uid_t localUid;
3725 
3726  ExtensionInfo() : mediaSourceType(agora::media::UNKNOWN_MEDIA_SOURCE), remoteUid(0), channelId(NULL), localUid(0) {}
3727 };
3728 
3729 class IMediaPlayer;
3730 class IMediaRecorder;
3731 
3737 using RtcEngineReleaseCallback = void(*)();
3738 
3746  public:
3771  AGORA_CPP_API static void release(RtcEngineReleaseCallback callback = nullptr);
3772 
3789  virtual int initialize(const RtcEngineContext& context) = 0;
3790 
3800  virtual int queryInterface(INTERFACE_ID_TYPE iid, void** inter) = 0;
3801 
3802 
3808  virtual const char* getVersion(int* build) = 0;
3809 
3815  virtual const char* getErrorDescription(int code) = 0;
3816 
3826  virtual int queryCodecCapability(CodecCapInfo* codecInfo, int& size) = 0;
3827 
3837  virtual int queryDeviceScore() = 0;
3838 
3876  virtual int preloadChannel(const char* token, const char* channelId, uid_t uid) = 0;
3877 
3917  virtual int preloadChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount) = 0;
3918 
3936  virtual int updatePreloadChannelToken(const char* token) = 0;
3937 
3997  virtual int joinChannel(const char* token, const char* channelId, const char* info, uid_t uid) = 0;
3998 
4066  virtual int joinChannel(const char* token, const char* channelId, uid_t uid, const ChannelMediaOptions& options) = 0;
4067 
4076  virtual int updateChannelMediaOptions(const ChannelMediaOptions& options) = 0;
4077 
4095  virtual int leaveChannel() = 0;
4096 
4116  virtual int leaveChannel(const LeaveChannelOptions& options) = 0;
4117 
4134  virtual int renewToken(const char* token) = 0;
4135 
4155  virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile) = 0;
4156 
4180  virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0;
4181 
4204  virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0;
4205 
4214  virtual int startEchoTest(const EchoTestConfiguration& config) = 0;
4215 
4222  virtual int stopEchoTest() = 0;
4223 
4224 #if defined(__APPLE__) && (TARGET_OS_IOS || (defined(TARGET_OS_VISION) && TARGET_OS_VISION))
4225 
4234  virtual int enableMultiCamera(bool enabled, const CameraCapturerConfiguration& config) = 0;
4235 #endif
4236 
4251  virtual int enableVideo() = 0;
4252 
4262  virtual int disableVideo() = 0;
4263 
4275  virtual int startPreview() = 0;
4276 
4284  virtual int startPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
4285 
4293  virtual int stopPreview() = 0;
4294 
4302  virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
4303 
4337  virtual int startLastmileProbeTest(const LastmileProbeConfig& config) = 0;
4338 
4340  virtual int stopLastmileProbeTest() = 0;
4341 
4359 
4369  virtual int setBeautyEffectOptions(bool enabled, const BeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4379  virtual int setFaceShapeBeautyOptions(bool enabled, const FaceShapeBeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4386  virtual int setFaceShapeAreaOptions(const FaceShapeAreaOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4387 
4394  virtual int getFaceShapeBeautyOptions(FaceShapeBeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4395 
4403  virtual int getFaceShapeAreaOptions(agora::rtc::FaceShapeAreaOptions::FACE_SHAPE_AREA shapeArea, FaceShapeAreaOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4404 
4429  virtual int setFilterEffectOptions(bool enabled, const FilterEffectOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4430 
4431 
4444  virtual agora_refptr<IVideoEffectObject> createVideoEffectObject(const char* bundlePath, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4445 
4446 
4459 
4486  virtual int setLowlightEnhanceOptions(bool enabled, const LowlightEnhanceOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4513  virtual int setVideoDenoiserOptions(bool enabled, const VideoDenoiserOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4540  virtual int setColorEnhanceOptions(bool enabled, const ColorEnhanceOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4541 
4574  virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4575 
4598  virtual int setupRemoteVideo(const VideoCanvas& canvas) = 0;
4599 
4616  virtual int setupLocalVideo(const VideoCanvas& canvas) = 0;
4617 
4636  virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType) = 0;
4637 
4656  virtual int setVideoQoEPreference(VIDEO_QOE_PREFERENCE_TYPE qoePreference) = 0;
4657 
4671  virtual int enableAudio() = 0;
4672 
4684  virtual int disableAudio() = 0;
4685 
4707  virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) __deprecated = 0;
4708 
4724  virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile) = 0;
4733  virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario) = 0;
4756  virtual int enableLocalAudio(bool enabled) = 0;
4757 
4783  virtual int muteLocalAudioStream(bool mute) = 0;
4784 
4826  virtual int muteAllRemoteAudioStreams(bool mute) = 0;
4827 
4844  virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0;
4845 
4857  virtual int muteLocalVideoStream(bool mute) = 0;
4858 
4883  virtual int enableLocalVideo(bool enabled) = 0;
4884 
4924  virtual int muteAllRemoteVideoStreams(bool mute) = 0;
4925 
4935  virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType) = 0;
4936 
4953  virtual int muteRemoteVideoStream(uid_t uid, bool mute) = 0;
4954 
4972  virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0;
4973 
4984  virtual int setRemoteVideoSubscriptionOptions(uid_t uid, const VideoSubscriptionOptions &options) = 0;
4985 
5000  virtual int setSubscribeAudioBlocklist(uid_t* uidList, int uidNumber) = 0;
5001 
5018  virtual int setSubscribeAudioAllowlist(uid_t* uidList, int uidNumber) = 0;
5019 
5034  virtual int setSubscribeVideoBlocklist(uid_t* uidList, int uidNumber) = 0;
5035 
5052  virtual int setSubscribeVideoAllowlist(uid_t* uidList, int uidNumber) = 0;
5053 
5080  virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad) = 0;
5081 
5102  virtual int startAudioRecording(const char* filePath,
5103  AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
5125  virtual int startAudioRecording(const char* filePath,
5126  int sampleRate,
5127  AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
5128 
5147  virtual int startAudioRecording(const AudioRecordingConfiguration& config) = 0;
5148 
5155 
5164  virtual int stopAudioRecording() = 0;
5165 
5177 
5189  virtual int destroyMediaPlayer(agora_refptr<IMediaPlayer> media_player) = 0;
5190 
5202 
5212  virtual int destroyMediaRecorder(agora_refptr<IMediaRecorder> mediaRecorder) = 0;
5213 
5255  virtual int startAudioMixing(const char* filePath, bool loopback, int cycle) = 0;
5256 
5300  virtual int startAudioMixing(const char* filePath, bool loopback, int cycle, int startPos) = 0;
5301 
5310  virtual int stopAudioMixing() = 0;
5311 
5320  virtual int pauseAudioMixing() = 0;
5321 
5330  virtual int resumeAudioMixing() = 0;
5331 
5340  virtual int selectAudioTrack(int index) = 0;
5349  virtual int getAudioTrackCount() = 0;
5350 
5365  virtual int adjustAudioMixingVolume(int volume) = 0;
5366 
5374  virtual int adjustAudioMixingPublishVolume(int volume) = 0;
5375 
5383  virtual int getAudioMixingPublishVolume() = 0;
5384 
5392  virtual int adjustAudioMixingPlayoutVolume(int volume) = 0;
5393 
5401  virtual int getAudioMixingPlayoutVolume() = 0;
5402 
5411  virtual int getAudioMixingDuration() = 0;
5412 
5423 
5433  virtual int setAudioMixingPosition(int pos /*in ms*/) = 0;
5434 
5445  virtual int setAudioMixingDualMonoMode(media::AUDIO_MIXING_DUAL_MONO_MODE mode) = 0;
5446 
5463  virtual int setAudioMixingPitch(int pitch) = 0;
5464 
5480  virtual int setAudioMixingPlaybackSpeed(int speed) = 0;
5481 
5489  virtual int getEffectsVolume() = 0;
5499  virtual int setEffectsVolume(int volume) = 0;
5527  virtual int preloadEffect(int soundId, const char* filePath, int startPos = 0) = 0;
5573  virtual int playEffect(int soundId, const char* filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0) = 0;
5604  virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false) = 0;
5605 
5615  virtual int getVolumeOfEffect(int soundId) = 0;
5616 
5627  virtual int setVolumeOfEffect(int soundId, int volume) = 0;
5636  virtual int pauseEffect(int soundId) = 0;
5643  virtual int pauseAllEffects() = 0;
5652  virtual int resumeEffect(int soundId) = 0;
5659  virtual int resumeAllEffects() = 0;
5668  virtual int stopEffect(int soundId) = 0;
5675  virtual int stopAllEffects() = 0;
5684  virtual int unloadEffect(int soundId) = 0;
5691  virtual int unloadAllEffects() = 0;
5710  virtual int getEffectDuration(const char* filePath) = 0;
5727  virtual int setEffectPosition(int soundId, int pos) = 0;
5742  virtual int getEffectCurrentPosition(int soundId) = 0;
5755  virtual int enableSoundPositionIndication(bool enabled) = 0;
5756 
5777  virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0;
5778 
5788  virtual int enableSpatialAudio(bool enabled) = 0;
5789 
5799  virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams& params) = 0;
5800 
5838  virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset) = 0;
5839 
5877  virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset) = 0;
5878 
5915  virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset) = 0;
5916 
5992  virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2) = 0;
5993 
6036  virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset,
6037  int param1, int param2) = 0;
6038 
6051  virtual int setVoiceConversionParameters(VOICE_CONVERSION_PRESET preset,
6052  int param1, int param2) = 0;
6053 
6064  virtual int setLocalVoicePitch(double pitch) = 0;
6065 
6076  virtual int setLocalVoiceFormant(double formantRatio) = 0;
6077 
6089  virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain) = 0;
6090 
6099  virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value) = 0;
6111  virtual int setHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset) = 0;
6112 
6122  virtual int setHeadphoneEQParameters(int lowGain, int highGain) = 0;
6123 
6135  virtual int enableVoiceAITuner(bool enabled, VOICE_AI_TUNER_TYPE type) = 0;
6136 
6152  virtual int setLogFile(const char* filePath) = 0;
6153 
6176  virtual int setLogFilter(unsigned int filter) = 0;
6177 
6194  virtual int setLogLevel(commons::LOG_LEVEL level) = 0;
6195 
6210  virtual int setLogFileSize(unsigned int fileSizeInKBytes) = 0;
6211 
6220  virtual int uploadLogFile(agora::util::AString& requestId) = 0;
6221 
6237  virtual int writeLog(commons::LOG_LEVEL level, const char* fmt, ...) = 0;
6238 
6257  virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
6258 
6279  virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode,
6280  VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
6291  virtual int setLocalRenderTargetFps(VIDEO_SOURCE_TYPE sourceType, int targetFps) = 0;
6300  virtual int setRemoteRenderTargetFps(int targetFps) = 0;
6301  // The following APIs are either deprecated and going to deleted.
6302 
6320  virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) __deprecated = 0;
6321 
6333  virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) __deprecated = 0;
6334 
6349  virtual int enableDualStreamMode(bool enabled) __deprecated = 0;
6350 
6367  virtual int enableDualStreamMode(bool enabled, const SimulcastStreamConfig& streamConfig) __deprecated = 0;
6368 
6369 
6383  virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode) = 0;
6384 
6400  virtual int setSimulcastConfig(const SimulcastConfig& simulcastConfig) = 0;
6401 
6415  virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode, const SimulcastStreamConfig& streamConfig) = 0;
6416 
6431  virtual int enableCustomAudioLocalPlayback(track_id_t trackId, bool enabled) = 0;
6432 
6451  virtual int setRecordingAudioFrameParameters(int sampleRate, int channel,
6452  RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
6453  int samplesPerCall) = 0;
6454 
6474  virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel,
6475  RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
6476  int samplesPerCall) = 0;
6477 
6493  virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall) = 0;
6494 
6514  virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel,
6515  RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
6516  int samplesPerCall) = 0;
6517 
6533  virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel) = 0;
6534 
6545  virtual int enableAudioSpectrumMonitor(int intervalInMS = 100) = 0;
6553  virtual int disableAudioSpectrumMonitor() = 0;
6554 
6580 
6594  virtual int adjustRecordingSignalVolume(int volume) = 0;
6595 
6607  virtual int muteRecordingSignal(bool mute) = 0;
6608 
6622  virtual int adjustPlaybackSignalVolume(int volume) = 0;
6623 
6624  /*
6625  * Adjust the playback volume of the user specified by uid.
6626  *
6627  * You can call this method to adjust the playback volume of the user specified by uid
6628  * in call. If you want to adjust playback volume of the multi user, you can call this
6629  * this method multi times.
6630  *
6631  * @note
6632  * Please call this method after join channel.
6633  * This method adjust the playback volume of specified user.
6634  *
6635  * @param uid Remote user ID.
6636  * @param volume The playback volume of the specified remote user. The value ranges between 0 and 400, including the following:
6637  * 0: Mute.
6638  * 100: (Default) Original volume.
6639  * 400: Four times the original volume with signal-clipping protection.
6640  * @return
6641  * - 0: Success.
6642  * - < 0: Failure.
6643  */
6644  virtual int adjustUserPlaybackSignalVolume(uid_t uid, int volume) = 0;
6645 
6667  virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0;
6668 
6684  virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0;
6685 
6699  virtual int setHighPriorityUserList(uid_t* uidList, int uidNum, STREAM_FALLBACK_OPTIONS option) = 0;
6700 
6721  virtual int enableExtension(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, bool enable = true) = 0;
6722 
6736  virtual int setExtensionProperty(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, const char* key, const char* value) = 0;
6737 
6752  virtual int getExtensionProperty(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, const char* key, char* value, int buf_len) = 0;
6753 
6772  virtual int enableLoopbackRecording(bool enabled, const char* deviceName = NULL) = 0;
6773 
6774 
6787  virtual int adjustLoopbackSignalVolume(int volume) = 0;
6788 
6795  virtual int getLoopbackRecordingVolume() = 0;
6796 
6808  virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters) = 0;
6809 
6820  virtual int setInEarMonitoringVolume(int volume) = 0;
6821 
6822 #if defined (_WIN32) || defined(__linux__) || defined(__ANDROID__)
6823  virtual int loadExtensionProvider(const char* path, bool unload_after_use = false) = 0;
6824 #endif
6825 
6837  virtual int setExtensionProviderProperty(const char* provider, const char* key, const char* value) = 0;
6838 
6851  virtual int registerExtension(const char* provider, const char* extension, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6852 
6873  virtual int enableExtension(const char* provider, const char* extension, bool enable=true, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6874 
6888  const char* provider, const char* extension,
6889  const char* key, const char* value, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6890 
6905  const char* provider, const char* extension,
6906  const char* key, char* value, int buf_len, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6907 
6920 
6928  virtual video_track_id_t createCustomVideoTrack() = 0;
6929 
6937  virtual video_track_id_t createCustomEncodedVideoTrack(const SenderOptions& sender_option) = 0;
6938 
6947  virtual int destroyCustomVideoTrack(video_track_id_t video_track_id) = 0;
6948 
6957  virtual int destroyCustomEncodedVideoTrack(video_track_id_t video_track_id) = 0;
6958 
6959 
6960 #if defined(__ANDROID__) || (defined(__APPLE__) && (TARGET_OS_IOS || (defined(TARGET_OS_VISION) && TARGET_OS_VISION)))
6961 
6970  virtual int switchCamera() = 0;
6971 
6979  virtual bool isCameraZoomSupported() = 0;
6980 
6988  virtual bool isCameraFaceDetectSupported() = 0;
6989 
6997  virtual bool isCameraTorchSupported() = 0;
6998 
7006  virtual bool isCameraFocusSupported() = 0;
7007 
7015  virtual bool isCameraAutoFocusFaceModeSupported() = 0;
7016 
7026  virtual int setCameraZoomFactor(float factor) = 0;
7027 
7036  virtual int enableFaceDetection(bool enabled) = 0;
7037 
7042  virtual float getCameraMaxZoomFactor() = 0;
7043 
7053  virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0;
7054 
7062  virtual int setCameraTorchOn(bool isOn) = 0;
7063 
7071  virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0;
7072 
7084  virtual bool isCameraExposurePositionSupported() = 0;
7085 
7101  virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0;
7102 
7115  virtual bool isCameraExposureSupported() = 0;
7116 
7127  virtual int setCameraExposureFactor(float factor) = 0;
7128 
7129 #if defined(__APPLE__)
7130 
7137  virtual bool isCameraAutoExposureFaceModeSupported() = 0;
7138 
7139 
7147  virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0;
7148 
7154  virtual int setCameraStabilizationMode(CAMERA_STABILIZATION_MODE mode) = 0;
7155 #endif
7156 
7190  virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0;
7191 
7218  virtual int setEnableSpeakerphone(bool speakerOn) = 0;
7219 
7227  virtual bool isSpeakerphoneEnabled() = 0;
7228 
7235  virtual int setRouteInCommunicationMode(int route) = 0;
7236 
7237 #endif // __ANDROID__ || (__APPLE__ && (TARGET_OS_IOS || (defined(TARGET_OS_VISION) && TARGET_OS_VISION)))
7238 
7239 #if defined(__APPLE__)
7240 
7247  virtual bool isCameraCenterStageSupported() = 0;
7248 
7257  virtual int enableCameraCenterStage(bool enabled) = 0;
7258 #endif
7259 
7260 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
7261 
7271  virtual IScreenCaptureSourceList* getScreenCaptureSources(const SIZE& thumbSize, const SIZE& iconSize, const bool includeScreen) = 0;
7272 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
7273 #if (defined(__APPLE__) && (TARGET_OS_IOS || (defined(TARGET_OS_VISION) && TARGET_OS_VISION)))
7274 
7298  virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction) = 0;
7299 #endif // __APPLE__ && (TARGET_OS_IOS || (defined(TARGET_OS_VISION) && TARGET_OS_VISION))
7300 
7301 #if defined(_WIN32) || (defined(__APPLE__) && !TARGET_OS_IPHONE && TARGET_OS_MAC)
7302 
7323  virtual int startScreenCaptureByDisplayId(int64_t displayId, const Rectangle& regionRect,
7324  const ScreenCaptureParameters& captureParams) = 0;
7325 
7326 #endif // __APPLE__ && TARGET_OS_MAC && !TARGET_OS_IPHONE
7327 
7328 #if defined(_WIN32)
7329 
7352  virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect,
7353  const Rectangle& regionRect,
7354  const ScreenCaptureParameters& captureParams) __deprecated = 0;
7355 #endif
7356 
7357 #if defined(__ANDROID__)
7358 
7364  virtual int getAudioDeviceInfo(DeviceInfo& deviceInfo) = 0;
7365 #endif // __ANDROID__
7366 
7367 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
7368 
7386  virtual int startScreenCaptureByWindowId(int64_t windowId, const Rectangle& regionRect,
7387  const ScreenCaptureParameters& captureParams) = 0;
7388 
7404  virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint) = 0;
7405 
7422  virtual int updateScreenCaptureRegion(const Rectangle& regionRect) = 0;
7423 
7437  virtual int updateScreenCaptureParameters(const ScreenCaptureParameters& captureParams) = 0;
7438 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
7439 
7440 #if defined(__ANDROID__) || (defined(__APPLE__) && (TARGET_OS_IOS || (defined(TARGET_OS_VISION) && TARGET_OS_VISION)))
7441 
7450  virtual int startScreenCapture(const ScreenCaptureParameters2& captureParams) = 0;
7451 
7461  virtual int updateScreenCapture(const ScreenCaptureParameters2& captureParams) = 0;
7462 
7474  virtual int queryScreenCaptureCapability() = 0;
7475 
7487  virtual int queryCameraFocalLengthCapability(agora::rtc::FocalLengthInfo* focalLengthInfos, int& size) = 0;
7488 
7489 #if defined(__ANDROID__)
7490 
7506  virtual int setExternalMediaProjection(void* mediaProjection) = 0;
7507 #endif
7508 #endif
7509 
7510 #if defined(_WIN32) || defined(__APPLE__) || defined(__ANDROID__)
7511 
7527  virtual int setScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario) = 0;
7528 
7536  virtual int stopScreenCapture() = 0;
7537 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC) || __ANDROID__
7538 
7555  virtual int getCallId(agora::util::AString& callId) = 0;
7556 
7571  virtual int rate(const char* callId, int rating, const char* description) = 0; // 0~10
7572 
7586  virtual int complain(const char* callId, const char* description) = 0;
7587 
7608  virtual int startRtmpStreamWithoutTranscoding(const char* url) = 0;
7609 
7631  virtual int startRtmpStreamWithTranscoding(const char* url, const LiveTranscoding& transcoding) = 0;
7632 
7642  virtual int updateRtmpTranscoding(const LiveTranscoding& transcoding) = 0;
7643 
7644  virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration& config) = 0;
7645  virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration& config) = 0;
7646 
7665  virtual int stopRtmpStream(const char* url) = 0;
7666 
7667  virtual int stopLocalVideoTranscoder() = 0;
7668 
7678  virtual int startLocalAudioMixer(const LocalAudioMixerConfiguration& config) = 0;
7679 
7690 
7700  virtual int stopLocalAudioMixer() = 0;
7701 
7711  virtual int startCameraCapture(VIDEO_SOURCE_TYPE sourceType, const CameraCapturerConfiguration& config) = 0;
7712 
7723  virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType) = 0;
7735  virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
7747  virtual int setScreenCaptureOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
7748 
7758  virtual int startScreenCapture(VIDEO_SOURCE_TYPE sourceType, const ScreenCaptureConfiguration& config) = 0;
7759 
7770  virtual int stopScreenCapture(VIDEO_SOURCE_TYPE sourceType) = 0;
7771 
7776  virtual CONNECTION_STATE_TYPE getConnectionState() = 0;
7777 
7778  // The following APIs are not implemented yet.
7779  virtual bool registerEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
7780  virtual bool unregisterEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
7781  virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0;
7782 
7794  virtual int registerPacketObserver(IPacketObserver* observer) = 0;
7795 
7796 
7818  virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0;
7819 
7851  virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0;
7852 
7862  virtual int createDataStream(int* streamId, const DataStreamConfig& config) = 0;
7863 
7894  virtual int sendStreamMessage(int streamId, const char* data, size_t length) = 0;
7895 
7917  virtual int addVideoWatermark(const RtcImage& watermark) __deprecated = 0;
7918 
7944  virtual int addVideoWatermark(const char* watermarkUrl, const WatermarkOptions& options) = 0;
7945 
7953  virtual int clearVideoWatermarks() = 0;
7954 
7955  // The following APIs are either deprecated and going to deleted.
7956 
7965  virtual int pauseAudio() __deprecated = 0;
7974  virtual int resumeAudio() __deprecated = 0;
7975 
7993  virtual int enableWebSdkInteroperability(bool enabled) __deprecated = 0;
7994 
8004  virtual int sendCustomReportMessage(const char* id, const char* category, const char* event, const char* label, int value) = 0;
8005 
8027  virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0;
8028 
8037  virtual int unregisterMediaMetadataObserver(IMetadataObserver* observer, IMetadataObserver::METADATA_TYPE type) = 0;
8038 
8047  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;
8048 
8052  virtual int stopAudioFrameDump(const char* channel_id, uid_t uid, const char* location) = 0;
8053 
8069  virtual int setAINSMode(bool enabled, AUDIO_AINS_MODE mode) = 0;
8070 
8102  virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0;
8103 
8134  virtual int joinChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount) = 0;
8135 
8167  virtual int joinChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount, const ChannelMediaOptions& options) = 0;
8168 
8201  virtual int joinChannelWithUserAccountEx(const char* token, const char* channelId,
8202  const char* userAccount, const ChannelMediaOptions& options,
8203  IRtcEngineEventHandler* eventHandler) = 0;
8204 
8222  virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo) = 0;
8223 
8241  virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo) = 0;
8242 
8278 
8307  virtual int stopChannelMediaRelay() = 0;
8308 
8318  virtual int pauseAllChannelMediaRelay() = 0;
8319 
8329  virtual int resumeAllChannelMediaRelay() = 0;
8330 
8343  virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile) = 0;
8344 
8360 
8375  const char* publishUrl, const DirectCdnStreamingMediaOptions& options) = 0;
8376 
8386  virtual int stopDirectCdnStreaming() = 0;
8387 
8400 
8411  virtual int startRhythmPlayer(const char* sound1, const char* sound2, const AgoraRhythmPlayerConfig& config) = 0;
8412 
8419  virtual int stopRhythmPlayer() = 0;
8420 
8429  virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig& config) = 0;
8430 
8460  virtual int takeSnapshot(uid_t uid, const char* filePath) = 0;
8461 
8486  virtual int takeSnapshot(uid_t uid, const media::SnapshotConfig& config) = 0;
8487 
8497  virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config) = 0;
8498  /*
8499  * Adjust the custom audio publish volume by track id.
8500  * @param trackId custom audio track id.
8501  * @param volume The volume, range is [0,100]:
8502  * 0: mute, 100: The original volume
8503  * @return
8504  * - 0: Success.
8505  * - < 0: Failure.
8506  */
8507  virtual int adjustCustomAudioPublishVolume(track_id_t trackId, int volume) = 0;
8508 
8509  /*
8510  * Adjust the custom audio playout volume by track id.
8511  * @param trackId custom audio track id.
8512  * @param volume The volume, range is [0,100]:
8513  * 0: mute, 100: The original volume
8514  * @return
8515  * - 0: Success.
8516  * - < 0: Failure.
8517  */
8518  virtual int adjustCustomAudioPlayoutVolume(track_id_t trackId, int volume) = 0;
8519 
8549  virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0;
8558  virtual int setLocalAccessPoint(const LocalAccessPointConfiguration& config) = 0;
8559 
8567  virtual int setAdvancedAudioOptions(AdvancedAudioOptions& options, int sourceType = 0) = 0;
8568 
8579  virtual int setAVSyncSource(const char* channelId, uid_t uid) = 0;
8580 
8587  virtual int enableVideoImageSource(bool enable, const ImageTrackOptions& options) = 0;
8588 
8589  /*
8590  * Get monotonic time in ms which can be used by capture time,
8591  * typical scenario is as follows:
8592  *
8593  * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8594  * | // custom audio/video base capture time, e.g. the first audio/video capture time. |
8595  * | int64_t custom_capture_time_base; |
8596  * | |
8597  * | int64_t agora_monotonic_time = getCurrentMonotonicTimeInMs(); |
8598  * | |
8599  * | // offset is fixed once calculated in the begining. |
8600  * | const int64_t offset = agora_monotonic_time - custom_capture_time_base; |
8601  * | |
8602  * | // realtime_custom_audio/video_capture_time is the origin capture time that customer provided.|
8603  * | // actual_audio/video_capture_time is the actual capture time transfered to sdk. |
8604  * | int64_t actual_audio_capture_time = realtime_custom_audio_capture_time + offset; |
8605  * | int64_t actual_video_capture_time = realtime_custom_video_capture_time + offset; |
8606  * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8607  *
8608  * @return
8609  * - >= 0: Success.
8610  * - < 0: Failure.
8611  */
8612  virtual int64_t getCurrentMonotonicTimeInMs() = 0;
8613 
8629  virtual int enableWirelessAccelerate(bool enabled) = 0;
8630 
8645  virtual int getNetworkType() = 0;
8646 
8655  virtual int setParameters(const char* parameters) = 0;
8656 
8671  virtual int startMediaRenderingTracing() = 0;
8672 
8686  virtual int enableInstantMediaRendering() = 0;
8687 
8691  virtual uint64_t getNtpWallTimeInMs() = 0;
8692 
8701  virtual bool isFeatureAvailableOnDevice(FeatureType type) = 0;
8702 
8713  virtual int sendAudioMetadata(const char* metadata, size_t length) = 0;
8714 
8724  virtual int queryHDRCapability(VIDEO_MODULE_TYPE videoModule, HDR_CAPABILITY& capability) = 0;
8725 };
8726 
8727 // The following types are either deprecated or not implmented yet.
8728 enum QUALITY_REPORT_FORMAT_TYPE {
8731  QUALITY_REPORT_JSON = 0,
8734  QUALITY_REPORT_HTML = 1,
8735 };
8736 
8738 enum MEDIA_DEVICE_STATE_TYPE {
8741  MEDIA_DEVICE_STATE_IDLE = 0,
8744  MEDIA_DEVICE_STATE_ACTIVE = 1,
8747  MEDIA_DEVICE_STATE_DISABLED = 2,
8748 
8751  MEDIA_DEVICE_STATE_PLUGGED_IN = 3,
8752 
8755  MEDIA_DEVICE_STATE_NOT_PRESENT = 4,
8758  MEDIA_DEVICE_STATE_UNPLUGGED = 8
8759 };
8760 
8761 enum VIDEO_PROFILE_TYPE { // res fps
8763  VIDEO_PROFILE_LANDSCAPE_120P = 0, // 160x120 15
8765  VIDEO_PROFILE_LANDSCAPE_120P_3 = 2, // 120x120 15
8767  VIDEO_PROFILE_LANDSCAPE_180P = 10, // 320x180 15
8769  VIDEO_PROFILE_LANDSCAPE_180P_3 = 12, // 180x180 15
8771  VIDEO_PROFILE_LANDSCAPE_180P_4 = 13, // 240x180 15
8773  VIDEO_PROFILE_LANDSCAPE_240P = 20, // 320x240 15
8775  VIDEO_PROFILE_LANDSCAPE_240P_3 = 22, // 240x240 15
8777  VIDEO_PROFILE_LANDSCAPE_240P_4 = 23, // 424x240 15
8779  VIDEO_PROFILE_LANDSCAPE_360P = 30, // 640x360 15
8781  VIDEO_PROFILE_LANDSCAPE_360P_3 = 32, // 360x360 15
8783  VIDEO_PROFILE_LANDSCAPE_360P_4 = 33, // 640x360 30
8785  VIDEO_PROFILE_LANDSCAPE_360P_6 = 35, // 360x360 30
8787  VIDEO_PROFILE_LANDSCAPE_360P_7 = 36, // 480x360 15
8789  VIDEO_PROFILE_LANDSCAPE_360P_8 = 37, // 480x360 30
8791  VIDEO_PROFILE_LANDSCAPE_360P_9 = 38, // 640x360 15
8793  VIDEO_PROFILE_LANDSCAPE_360P_10 = 39, // 640x360 24
8795  VIDEO_PROFILE_LANDSCAPE_360P_11 = 100, // 640x360 24
8797  VIDEO_PROFILE_LANDSCAPE_480P = 40, // 640x480 15
8799  VIDEO_PROFILE_LANDSCAPE_480P_3 = 42, // 480x480 15
8801  VIDEO_PROFILE_LANDSCAPE_480P_4 = 43, // 640x480 30
8803  VIDEO_PROFILE_LANDSCAPE_480P_6 = 45, // 480x480 30
8805  VIDEO_PROFILE_LANDSCAPE_480P_8 = 47, // 848x480 15
8807  VIDEO_PROFILE_LANDSCAPE_480P_9 = 48, // 848x480 30
8809  VIDEO_PROFILE_LANDSCAPE_480P_10 = 49, // 640x480 10
8811  VIDEO_PROFILE_LANDSCAPE_720P = 50, // 1280x720 15
8813  VIDEO_PROFILE_LANDSCAPE_720P_3 = 52, // 1280x720 30
8815  VIDEO_PROFILE_LANDSCAPE_720P_5 = 54, // 960x720 15
8817  VIDEO_PROFILE_LANDSCAPE_720P_6 = 55, // 960x720 30
8819  VIDEO_PROFILE_LANDSCAPE_1080P = 60, // 1920x1080 15
8821  VIDEO_PROFILE_LANDSCAPE_1080P_3 = 62, // 1920x1080 30
8823  VIDEO_PROFILE_LANDSCAPE_1080P_5 = 64, // 1920x1080 60
8825  VIDEO_PROFILE_LANDSCAPE_1440P = 66, // 2560x1440 30
8827  VIDEO_PROFILE_LANDSCAPE_1440P_2 = 67, // 2560x1440 60
8829  VIDEO_PROFILE_LANDSCAPE_4K = 70, // 3840x2160 30
8831  VIDEO_PROFILE_LANDSCAPE_4K_3 = 72, // 3840x2160 60
8833  VIDEO_PROFILE_PORTRAIT_120P = 1000, // 120x160 15
8835  VIDEO_PROFILE_PORTRAIT_120P_3 = 1002, // 120x120 15
8837  VIDEO_PROFILE_PORTRAIT_180P = 1010, // 180x320 15
8839  VIDEO_PROFILE_PORTRAIT_180P_3 = 1012, // 180x180 15
8841  VIDEO_PROFILE_PORTRAIT_180P_4 = 1013, // 180x240 15
8843  VIDEO_PROFILE_PORTRAIT_240P = 1020, // 240x320 15
8845  VIDEO_PROFILE_PORTRAIT_240P_3 = 1022, // 240x240 15
8847  VIDEO_PROFILE_PORTRAIT_240P_4 = 1023, // 240x424 15
8849  VIDEO_PROFILE_PORTRAIT_360P = 1030, // 360x640 15
8851  VIDEO_PROFILE_PORTRAIT_360P_3 = 1032, // 360x360 15
8853  VIDEO_PROFILE_PORTRAIT_360P_4 = 1033, // 360x640 30
8855  VIDEO_PROFILE_PORTRAIT_360P_6 = 1035, // 360x360 30
8857  VIDEO_PROFILE_PORTRAIT_360P_7 = 1036, // 360x480 15
8859  VIDEO_PROFILE_PORTRAIT_360P_8 = 1037, // 360x480 30
8861  VIDEO_PROFILE_PORTRAIT_360P_9 = 1038, // 360x640 15
8863  VIDEO_PROFILE_PORTRAIT_360P_10 = 1039, // 360x640 24
8865  VIDEO_PROFILE_PORTRAIT_360P_11 = 1100, // 360x640 24
8867  VIDEO_PROFILE_PORTRAIT_480P = 1040, // 480x640 15
8869  VIDEO_PROFILE_PORTRAIT_480P_3 = 1042, // 480x480 15
8871  VIDEO_PROFILE_PORTRAIT_480P_4 = 1043, // 480x640 30
8873  VIDEO_PROFILE_PORTRAIT_480P_6 = 1045, // 480x480 30
8875  VIDEO_PROFILE_PORTRAIT_480P_8 = 1047, // 480x848 15
8877  VIDEO_PROFILE_PORTRAIT_480P_9 = 1048, // 480x848 30
8879  VIDEO_PROFILE_PORTRAIT_480P_10 = 1049, // 480x640 10
8881  VIDEO_PROFILE_PORTRAIT_720P = 1050, // 720x1280 15
8883  VIDEO_PROFILE_PORTRAIT_720P_3 = 1052, // 720x1280 30
8885  VIDEO_PROFILE_PORTRAIT_720P_5 = 1054, // 720x960 15
8887  VIDEO_PROFILE_PORTRAIT_720P_6 = 1055, // 720x960 30
8889  VIDEO_PROFILE_PORTRAIT_1080P = 1060, // 1080x1920 15
8891  VIDEO_PROFILE_PORTRAIT_1080P_3 = 1062, // 1080x1920 30
8893  VIDEO_PROFILE_PORTRAIT_1080P_5 = 1064, // 1080x1920 60
8895  VIDEO_PROFILE_PORTRAIT_1440P = 1066, // 1440x2560 30
8897  VIDEO_PROFILE_PORTRAIT_1440P_2 = 1067, // 1440x2560 60
8899  VIDEO_PROFILE_PORTRAIT_4K = 1070, // 2160x3840 30
8901  VIDEO_PROFILE_PORTRAIT_4K_3 = 1072, // 2160x3840 60
8903  VIDEO_PROFILE_DEFAULT = VIDEO_PROFILE_LANDSCAPE_360P,
8904 };
8905 
8906 class AAudioDeviceManager : public agora::util::AutoPtr<IAudioDeviceManager> {
8907  public:
8908  AAudioDeviceManager(IRtcEngine* engine) {
8909  queryInterface(engine, AGORA_IID_AUDIO_DEVICE_MANAGER);
8910  }
8911 };
8912 
8913 class AVideoDeviceManager : public agora::util::AutoPtr<IVideoDeviceManager> {
8914  public:
8915  AVideoDeviceManager(IRtcEngine* engine) {
8916  queryInterface(engine, AGORA_IID_VIDEO_DEVICE_MANAGER);
8917  }
8918 };
8919 
8920 } // namespace rtc
8921 } // namespace agora
8922 
8928 #define getAgoraRtcEngineVersion getAgoraSdkVersion
8929 
8931 
8934 
8941 
8943 
8944 
8951 #define getAgoraRtcEngineErrorDescription getAgoraSdkErrorDescription
8952 #define setAgoraRtcEngineExternalSymbolLoader setAgoraSdkExternalSymbolLoader
agora::rtc::IRtcEngine::setDirectCdnStreamingAudioConfiguration
virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile)=0
agora::rtc::IRtcEngine::getErrorDescription
virtual const char * getErrorDescription(int code)=0
agora::rtc::IRtcEngine::enableAudioSpectrumMonitor
virtual int enableAudioSpectrumMonitor(int intervalInMS=100)=0
agora::rtc::IRtcEngine::setSubscribeVideoAllowlist
virtual int setSubscribeVideoAllowlist(uid_t *uidList, int uidNumber)=0
agora::rtc::IRtcEngine::adjustRecordingSignalVolume
virtual int adjustRecordingSignalVolume(int volume)=0
agora::rtc::IRtcEngine::enableWebSdkInteroperability
virtual int enableWebSdkInteroperability(bool enabled) __deprecated=0
agora::rtc::IRtcEngine::enableSpatialAudio
virtual int enableSpatialAudio(bool enabled)=0
agora::rtc::ChannelMediaOptions::publishMediaPlayerAudioTrack
Optional< bool > publishMediaPlayerAudioTrack
Definition: IAgoraRtcEngine.h:1161
agora::rtc::PublisherConfiguration::extraInfo
const char * extraInfo
Definition: IAgoraRtcEngine.h:766
agora::rtc::IRtcEngine::setAVSyncSource
virtual int setAVSyncSource(const char *channelId, uid_t uid)=0
agora::VideoLayout
Definition: AgoraBase.h:7134
agora::rtc::RtcEngineContext::appId
const char * appId
Definition: IAgoraRtcEngine.h:3332
agora::rtc::IRtcEngine::setSubscribeAudioBlocklist
virtual int setSubscribeAudioBlocklist(uid_t *uidList, int uidNumber)=0
agora::rtc::IRtcEngineEventHandler::onUserAccountUpdated
virtual void onUserAccountUpdated(uid_t uid, const char *userAccount)
Definition: IAgoraRtcEngine.h:2781
agora::rtc::IRtcEngine::enableInEarMonitoring
virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters)=0
agora::rtc::IRtcEngineEventHandler::onRtmpStreamingEvent
virtual void onRtmpStreamingEvent(const char *url, RTMP_STREAMING_EVENT eventCode)
Definition: IAgoraRtcEngine.h:2523
agora::rtc::IRtcEngineEventHandler::onExtensionErrorWithContext
virtual void onExtensionErrorWithContext(const ExtensionContext &context, int error, const char *message)
Definition: IAgoraRtcEngine.h:2966
agora::rtc::LocalVideoStats::regulatedCaptureFrameHeight
int regulatedCaptureFrameHeight
Definition: IAgoraRtcEngine.h:308
agora::rtc::IRtcEngine::setEffectPosition
virtual int setEffectPosition(int soundId, int pos)=0
agora::rtc::UserInfo
Definition: AgoraBase.h:6714
agora::rtc::RemoteVideoStats::publishDuration
int publishDuration
Definition: IAgoraRtcEngine.h:563
agora::rtc::FilterEffectOptions
Definition: AgoraBase.h:5129
agora::rtc::IRtcEngine::stopDirectCdnStreaming
virtual int stopDirectCdnStreaming()=0
agora::rtc::LastmileProbeResult
Definition: AgoraBase.h:4403
agora::rtc::AudioEncodedFrameObserverConfig
Definition: AgoraBase.h:6085
agora::rtc::ScreenCaptureParameters
Definition: AgoraBase.h:5782
agora::rtc::IRtcEngine::muteAllRemoteVideoStreams
virtual int muteAllRemoteVideoStreams(bool mute)=0
agora::rtc::IRtcEngine::setRemoteVideoSubscriptionOptions
virtual int setRemoteVideoSubscriptionOptions(uid_t uid, const VideoSubscriptionOptions &options)=0
agora::rtc::AudioVolumeInfo
Definition: AgoraBase.h:3417
agora::rtc::RemoteVideoStats::e2eDelay
int e2eDelay
Definition: IAgoraRtcEngine.h:508
agora::rtc::InjectStreamConfig::audioChannels
int audioChannels
Definition: IAgoraRtcEngine.h:688
agora::rtc::IVideoEffectObject::SAVE
@ SAVE
Definition: IAgoraRtcEngine.h:3169
agora::rtc::LocalVideoStats::regulatedCaptureFrameWidth
int regulatedCaptureFrameWidth
Definition: IAgoraRtcEngine.h:304
agora::rtc::IRtcEngine::pauseEffect
virtual int pauseEffect(int soundId)=0
agora::rtc::BeautyOptions
Definition: AgoraBase.h:4812
agora::rtc::ChannelMediaOptions::publishSecondaryCameraTrack
Optional< bool > publishSecondaryCameraTrack
Definition: IAgoraRtcEngine.h:1072
agora::rtc::SenderOptions
Definition: AgoraBase.h:1258
agora::rtc::IRtcEngine::muteLocalVideoStream
virtual int muteLocalVideoStream(bool mute)=0
agora::rtc::RtcEngineContext::eventHandler
IRtcEngineEventHandler * eventHandler
Definition: IAgoraRtcEngine.h:3325
agora::rtc::IRtcEngine::stopPreview
virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType)=0
agora::rtc::IRtcEngine::startScreenCapture
virtual int startScreenCapture(VIDEO_SOURCE_TYPE sourceType, const ScreenCaptureConfiguration &config)=0
agora::rtc::IRtcEngineEventHandler::onIntraRequestReceived
virtual void onIntraRequestReceived()
Definition: IAgoraRtcEngine.h:1763
agora::rtc::VideoCompositingLayout
Definition: IAgoraRtcEngine.h:578
agora::rtc::VideoCompositingLayout::canvasHeight
int canvasHeight
Definition: IAgoraRtcEngine.h:627
agora::rtc::IRtcEngine::setVoiceConversionPreset
virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset)=0
agora::rtc::DirectCdnStreamingStats::videoHeight
int videoHeight
Definition: IAgoraRtcEngine.h:3551
agora::rtc::LastmileProbeConfig
Definition: AgoraBase.h:4333
agora::rtc::IRtcEngine::enableLocalVideo
virtual int enableLocalVideo(bool enabled)=0
agora::rtc::IRtcEngineEventHandler::onLeaveChannel
virtual void onLeaveChannel(const RtcStats &stats)
Definition: IAgoraRtcEngine.h:1659
agora::rtc::IRtcEngine::joinChannel
virtual int joinChannel(const char *token, const char *channelId, uid_t uid, const ChannelMediaOptions &options)=0
agora::rtc::IRtcEngineEventHandler::onRhythmPlayerStateChanged
virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_REASON reason)
Definition: IAgoraRtcEngine.h:2218
agora::rtc::IDirectCdnStreamingEventHandler::onDirectCdnStreamingStateChanged
virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_REASON reason, const char *message)
Definition: IAgoraRtcEngine.h:3583
agora::rtc::IRtcEngine::getAudioTrackCount
virtual int getAudioTrackCount()=0
agora::rtc::IRtcEngineEventHandler::onStreamMessage
virtual void onStreamMessage(uid_t uid, int streamId, const char *data, size_t length, uint64_t sentTs)
Definition: IAgoraRtcEngine.h:2262
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoDecoded
virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) __deprecated
Definition: IAgoraRtcEngine.h:1852
agora::rtc::LocalVideoStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:279
agora::rtc::IRtcEngine::stopChannelMediaRelay
virtual int stopChannelMediaRelay()=0
agora::rtc::IRtcEngineEventHandler::onAudioEffectFinished
virtual void onAudioEffectFinished(int soundId)
Definition: IAgoraRtcEngine.h:1712
agora::rtc::IVideoEffectObject::getVideoEffectFloatParam
virtual float getVideoEffectFloatParam(const char *option, const char *key)=0
Gets a float parameter from the video effect.
agora::rtc::RtcEngineContext::threadPriority
Optional< THREAD_PRIORITY_TYPE > threadPriority
Definition: IAgoraRtcEngine.h:3387
agora::rtc::IRtcEngine::registerAudioEncodedFrameObserver
virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig &config, IAudioEncodedFrameObserver *observer)=0
agora::rtc::IRtcEngine::queryHDRCapability
virtual int queryHDRCapability(VIDEO_MODULE_TYPE videoModule, HDR_CAPABILITY &capability)=0
Queries the HDR capability of the video module.
agora::rtc::IRtcEngine::setFaceShapeBeautyOptions
virtual int setFaceShapeBeautyOptions(bool enabled, const FaceShapeBeautyOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::ChannelMediaOptions::enableBuiltInMediaEncryption
Optional< bool > enableBuiltInMediaEncryption
Definition: IAgoraRtcEngine.h:1253
agora::rtc::IRtcEngine::resumeAllEffects
virtual int resumeAllEffects()=0
agora::rtc::IRtcEngine::joinChannelWithUserAccountEx
virtual int joinChannelWithUserAccountEx(const char *token, const char *channelId, const char *userAccount, const ChannelMediaOptions &options, IRtcEngineEventHandler *eventHandler)=0
agora::rtc::InjectStreamConfig::width
int width
Definition: IAgoraRtcEngine.h:661
agora::rtc::IRtcEngine::pauseAudioMixing
virtual int pauseAudioMixing()=0
agora::rtc::IRtcEngine::setPlaybackAudioFrameBeforeMixingParameters
virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel)=0
agora::rtc::IRtcEngineEventHandler::onRemoteAudioTransportStats
virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated
Definition: IAgoraRtcEngine.h:2644
agora::rtc::RemoteAudioStats::totalActiveTime
int totalActiveTime
Definition: IAgoraRtcEngine.h:445
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::IRtcEngineEventHandler::onFirstRemoteAudioFrame
virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) __deprecated
Definition: IAgoraRtcEngine.h:2367
agora::rtc::IVideoDeviceCollection::release
virtual void release()=0
agora::rtc::IVideoDeviceManager::enumerateVideoDevices
virtual IVideoDeviceCollection * enumerateVideoDevices()=0
agora::rtc::LeaveChannelOptions::stopAudioMixing
bool stopAudioMixing
Definition: IAgoraRtcEngine.h:1492
agora::rtc::IRtcEngine::getVersion
virtual const char * getVersion(int *build)=0
agora::rtc::RemoteVideoStats::totalActiveTime
int totalActiveTime
Definition: IAgoraRtcEngine.h:559
agora::rtc::IRtcEngine::setAudioMixingPitch
virtual int setAudioMixingPitch(int pitch)=0
agora::rtc::ChannelMediaOptions::publishRhythmPlayerTrack
Optional< bool > publishRhythmPlayerTrack
Definition: IAgoraRtcEngine.h:1259
agora::rtc::ChannelMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition: IAgoraRtcEngine.h:1149
agora::rtc::IRtcEngineEventHandler::onLocalVideoStateChanged
virtual void onLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_REASON reason)
Definition: IAgoraRtcEngine.h:1900
agora::media::IAudioSpectrumObserver
Definition: AgoraMediaBase.h:1598
agora::rtc::DirectCdnStreamingStats::videoWidth
int videoWidth
Definition: IAgoraRtcEngine.h:3546
agora::rtc::IMetadataObserver::Metadata::buffer
unsigned char * buffer
Definition: IAgoraRtcEngine.h:3464
agora::rtc::PublisherConfiguration::publishUrl
const char * publishUrl
Definition: IAgoraRtcEngine.h:759
agora::rtc::IRtcEngine::enableVoiceAITuner
virtual int enableVoiceAITuner(bool enabled, VOICE_AI_TUNER_TYPE type)=0
agora::rtc::ExtensionInfo
Definition: IAgoraRtcEngine.h:3695
agora::rtc::IRtcEngineEventHandler::onVideoRenderingTracingResult
virtual void onVideoRenderingTracingResult(uid_t uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo)
Definition: IAgoraRtcEngine.h:2793
agora::rtc::ExtensionInfo::remoteUid
uid_t remoteUid
Definition: IAgoraRtcEngine.h:3706
agora::rtc::PublisherConfiguration::lifecycle
int lifecycle
Definition: IAgoraRtcEngine.h:741
agora::rtc::IRtcEngine::startPreview
virtual int startPreview()=0
agora::rtc::IMetadataObserver::Metadata::timeStampMs
long long timeStampMs
Definition: IAgoraRtcEngine.h:3468
agora::rtc::IRtcEngineEventHandler::onLocalAudioStats
virtual void onLocalAudioStats(const LocalAudioStats &stats)
Definition: IAgoraRtcEngine.h:2077
agora::rtc::IRtcEngine::setAINSMode
virtual int setAINSMode(bool enabled, AUDIO_AINS_MODE mode)=0
agora::rtc::IRtcEngine::updateLocalAudioMixerConfiguration
virtual int updateLocalAudioMixerConfiguration(const LocalAudioMixerConfiguration &config)=0
agora::rtc::ChannelMediaOptions::autoSubscribeAudio
Optional< bool > autoSubscribeAudio
Definition: IAgoraRtcEngine.h:1191
agora::rtc::IRtcEngineEventHandler::onCameraExposureAreaChanged
virtual void onCameraExposureAreaChanged(int x, int y, int width, int height)
Definition: IAgoraRtcEngine.h:2142
agora::rtc::LocalAccessPointConfiguration
Definition: AgoraBase.h:6992
agora::rtc::IRtcEngineEventHandler::onClientRoleChangeFailed
virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole)
Definition: IAgoraRtcEngine.h:2482
agora::rtc::IVideoDeviceCollection::getDevice
virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH], char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::DirectCdnStreamingStats::videoBitrate
int videoBitrate
Definition: IAgoraRtcEngine.h:3561
agora::rtc::IRtcEngineEventHandler::onLastmileQuality
virtual void onLastmileQuality(int quality)
Definition: IAgoraRtcEngine.h:1802
agora::rtc::IRtcEngine::enableInstantMediaRendering
virtual int enableInstantMediaRendering()=0
Enable instant media rendering.
agora::rtc::IRtcEngine::setRemoteRenderMode
virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
agora::rtc::ChannelMediaOptions::isAudioFilterable
Optional< bool > isAudioFilterable
Definition: IAgoraRtcEngine.h:1278
agora::rtc::LiveTranscoding
Definition: AgoraBase.h:3977
agora::rtc::ChannelMediaOptions::audienceLatencyLevel
Optional< AUDIENCE_LATENCY_LEVEL_TYPE > audienceLatencyLevel
Definition: IAgoraRtcEngine.h:1216
agora::rtc::IRtcEngineEventHandler::onRemoteVideoTransportStats
virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated
Definition: IAgoraRtcEngine.h:2668
agora::rtc::IVideoEffectObject::VIDEO_EFFECT_ACTION
VIDEO_EFFECT_ACTION
Actions that can be performed on video effect nodes.
Definition: IAgoraRtcEngine.h:3167
agora::rtc::LocalVideoStats::sentFrameRate
int sentFrameRate
Definition: IAgoraRtcEngine.h:287
agora::rtc::Rectangle
Definition: AgoraBase.h:2233
agora::rtc::IRtcEngine::setDirectCdnStreamingVideoConfiguration
virtual int setDirectCdnStreamingVideoConfiguration(const VideoEncoderConfiguration &config)=0
agora::rtc::IRtcEngine::createDataStream
virtual int createDataStream(int *streamId, bool reliable, bool ordered)=0
agora::rtc::IVideoDeviceManager::release
virtual void release()=0
agora::rtc::IRtcEngine::setVolumeOfEffect
virtual int setVolumeOfEffect(int soundId, int volume)=0
agora::rtc::IRtcEngineEventHandler::onUserInfoUpdated
virtual void onUserInfoUpdated(uid_t uid, const UserInfo &info)
Definition: IAgoraRtcEngine.h:2770
agora::rtc::IRtcEngineEventHandler::onNetworkTypeChanged
virtual void onNetworkTypeChanged(NETWORK_TYPE type)
Definition: IAgoraRtcEngine.h:2720
agora::rtc::IRtcEngineEventHandler::onFirstRemoteAudioDecoded
virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) __deprecated
Definition: IAgoraRtcEngine.h:2355
agora::rtc::InjectStreamConfig::videoFramerate
int videoFramerate
Definition: IAgoraRtcEngine.h:673
agora::rtc::IRtcEngine::setDualStreamMode
virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode, const SimulcastStreamConfig &streamConfig)=0
agora::rtc::IRtcEngine::stopAudioFrameDump
virtual int stopAudioFrameDump(const char *channel_id, uid_t uid, const char *location)=0
agora::rtc::IRtcEngine::enableAudioVolumeIndication
virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad)=0
agora::rtc::ChannelMediaOptions::mediaPlayerAudioDelayMs
Optional< int > mediaPlayerAudioDelayMs
Definition: IAgoraRtcEngine.h:1236
agora::rtc::IMetadataObserver::onReadyToSendMetadata
virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type)=0
agora::rtc::IRtcEngine::registerPacketObserver
virtual int registerPacketObserver(IPacketObserver *observer)=0
agora::rtc::RemoteAudioStats::networkTransportDelay
int networkTransportDelay
Definition: IAgoraRtcEngine.h:378
agora::rtc::IRtcEngine::unregisterMediaMetadataObserver
virtual int unregisterMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type)=0
agora::rtc::IRtcEngineEventHandler::onLocalVideoTranscoderError
virtual void onLocalVideoTranscoderError(const TranscodingVideoStream &stream, VIDEO_TRANSCODER_ERROR error)
Definition: IAgoraRtcEngine.h:2805
agora::rtc::IRtcEngine::getUserInfoByUid
virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo *userInfo)=0
agora::rtc::IRtcEngine::pauseAllEffects
virtual int pauseAllEffects()=0
agora::rtc::IRtcEngine::disableAudioSpectrumMonitor
virtual int disableAudioSpectrumMonitor()=0
agora::rtc::IVideoEffectObject::VIDEO_EFFECT_NODE_ID::STYLE_MAKEUP
@ STYLE_MAKEUP
agora::rtc::IRtcEngineEventHandler::onFirstLocalAudioFramePublished
virtual void onFirstLocalAudioFramePublished(int elapsed)
Definition: IAgoraRtcEngine.h:2335
agora::util::AutoPtr
Definition: AgoraBase.h:100
agora::rtc::LocalVideoStats::sentBitrate
int sentBitrate
Definition: IAgoraRtcEngine.h:283
agora::rtc::IRtcEngine::getAudioMixingPublishVolume
virtual int getAudioMixingPublishVolume()=0
agora::rtc::IRtcEngine::addVideoWatermark
virtual int addVideoWatermark(const char *watermarkUrl, const WatermarkOptions &options)=0
agora::rtc::IRtcEngineEventHandler::onRejoinChannelSuccess
virtual void onRejoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1556
agora::rtc::RemoteVideoStats::totalFrozenTime
int totalFrozenTime
Definition: IAgoraRtcEngine.h:545
agora::rtc::IMetadataObserver::METADATA_TYPE
METADATA_TYPE
Definition: IAgoraRtcEngine.h:3429
agora::rtc::IRtcEngine::setCloudProxy
virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType)=0
agora::rtc::RemoteAudioStats::receivedBitrate
int receivedBitrate
Definition: IAgoraRtcEngine.h:401
agora::rtc::VideoEncoderConfiguration
Definition: AgoraBase.h:1933
agora::rtc::IMetadataObserver::Metadata::channelId
const char * channelId
Definition: IAgoraRtcEngine.h:3453
agora::rtc::IRtcEngineEventHandler
Definition: IAgoraRtcEngine.h:1525
agora::rtc::VideoCompositingLayout::Region::height
double height
Definition: IAgoraRtcEngine.h:594
agora::rtc::IRtcEngine::leaveChannel
virtual int leaveChannel(const LeaveChannelOptions &options)=0
agora::rtc::IVideoDeviceManager::getDevice
virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngine::startAudioMixing
virtual int startAudioMixing(const char *filePath, bool loopback, int cycle, int startPos)=0
agora::rtc::IRtcEngineEventHandler::onUserMuteAudio
virtual void onUserMuteAudio(uid_t uid, bool muted)
Definition: IAgoraRtcEngine.h:1993
agora::rtc::ChannelMediaOptions::publishCustomAudioTrackId
Optional< int > publishCustomAudioTrackId
Definition: IAgoraRtcEngine.h:1143
agora::rtc::VideoSubscriptionOptions
Definition: AgoraBase.h:1614
agora::rtc::IRtcEngine::registerLocalUserAccount
virtual int registerLocalUserAccount(const char *appId, const char *userAccount)=0
agora::rtc::IRtcEngineEventHandler::onUplinkNetworkInfoUpdated
virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo &info)
Definition: IAgoraRtcEngine.h:1775
agora::rtc::DirectCdnStreamingMediaOptions::publishMicrophoneTrack
Optional< bool > publishMicrophoneTrack
Definition: IAgoraRtcEngine.h:3609
agora::rtc::EchoTestConfiguration
Definition: AgoraBase.h:6691
agora::rtc::RtcImage
Definition: AgoraBase.h:3787
agora::rtc::VideoCompositingLayout::backgroundColor
const char * backgroundColor
Definition: IAgoraRtcEngine.h:630
agora::rtc::IRtcEngine::getAudioMixingCurrentPosition
virtual int getAudioMixingCurrentPosition()=0
agora::rtc::IRtcEngine::startDirectCdnStreaming
virtual int startDirectCdnStreaming(IDirectCdnStreamingEventHandler *eventHandler, const char *publishUrl, const DirectCdnStreamingMediaOptions &options)=0
agora::rtc::IRtcEngine::registerAudioSpectrumObserver
virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
agora::rtc::LocalVideoStats::encodedBitrate
int encodedBitrate
Definition: IAgoraRtcEngine.h:334
agora::rtc::LocalVideoStats::qualityAdaptIndication
QUALITY_ADAPT_INDICATION qualityAdaptIndication
Definition: IAgoraRtcEngine.h:330
agora::rtc::IRtcEngine::enableDualStreamMode
virtual int enableDualStreamMode(bool enabled, const SimulcastStreamConfig &streamConfig) __deprecated=0
agora::rtc::ChannelMediaOptions::customVideoTrackId
Optional< video_track_id_t > customVideoTrackId
Definition: IAgoraRtcEngine.h:1272
agora::rtc::SimulcastStreamConfig
Definition: AgoraBase.h:2146
agora::rtc::IRtcEngineEventHandler::onConnectionInterrupted
virtual void onConnectionInterrupted() __deprecated
Definition: IAgoraRtcEngine.h:2244
agora::rtc::IRtcEngine::setMixedAudioFrameParameters
virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall)=0
agora::rtc::IRtcEngine::getVolumeOfEffect
virtual int getVolumeOfEffect(int soundId)=0
agora::rtc::IMetadataObserver::getMaxMetadataSize
virtual int getMaxMetadataSize()
Definition: IAgoraRtcEngine.h:3483
agora::rtc::LeaveChannelOptions::unloadAllEffect
bool unloadAllEffect
Definition: IAgoraRtcEngine.h:1504
agora::rtc::FaceShapeBeautyOptions
Face shape beauty options. This structure defines options for facial adjustments of different facial ...
Definition: AgoraBase.h:5090
agora::rtc::IRtcEngine::setSubscribeAudioAllowlist
virtual int setSubscribeAudioAllowlist(uid_t *uidList, int uidNumber)=0
agora::rtc::IRtcEngine::getConnectionState
virtual CONNECTION_STATE_TYPE getConnectionState()=0
agora::rtc::ExtensionInfo::channelId
const char * channelId
Definition: IAgoraRtcEngine.h:3719
agora::rtc::IRtcEngine::isFeatureAvailableOnDevice
virtual bool isFeatureAvailableOnDevice(FeatureType type)=0
Whether the target feature is available for the device.
agora::rtc::IRtcEngine::setExtensionProperty
virtual int setExtensionProperty(const char *provider, const char *extension, const char *key, const char *value, agora::media::MEDIA_SOURCE_TYPE type=agora::media::UNKNOWN_MEDIA_SOURCE)=0
agora::rtc::IRtcEngine::enableEncryption
virtual int enableEncryption(bool enabled, const EncryptionConfig &config)=0
agora::rtc::IRtcEngine::getFaceShapeBeautyOptions
virtual int getFaceShapeBeautyOptions(FaceShapeBeautyOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IRtcEngine::enableContentInspect
virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config)=0
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStateChanged
virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed)
Definition: IAgoraRtcEngine.h:2407
agora::rtc::IRtcEngine::startRhythmPlayer
virtual int startRhythmPlayer(const char *sound1, const char *sound2, const AgoraRhythmPlayerConfig &config)=0
agora::rtc::IRtcEngine::configRhythmPlayer
virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig &config)=0
agora::rtc::ExtensionContext
Definition: AgoraMediaBase.h:41
agora::rtc::IVideoEffectObject::VIDEO_EFFECT_NODE_ID
VIDEO_EFFECT_NODE_ID
Types of video effect nodes that can be applied.
Definition: IAgoraRtcEngine.h:3151
agora::rtc::IRtcEngine::adjustAudioMixingPublishVolume
virtual int adjustAudioMixingPublishVolume(int volume)=0
agora::rtc::DirectCdnStreamingMediaOptions::publishCameraTrack
Optional< bool > publishCameraTrack
Definition: IAgoraRtcEngine.h:3603
agora::rtc::IVideoDeviceCollection::getCount
virtual int getCount()=0
agora::rtc::IVideoEffectObject::VIDEO_EFFECT_NODE_ID::FILTER
@ FILTER
agora::rtc::IRtcEngine::getAudioMixingDuration
virtual int getAudioMixingDuration()=0
agora::rtc::IRtcEngine::destroyMediaRecorder
virtual int destroyMediaRecorder(agora_refptr< IMediaRecorder > mediaRecorder)=0
agora::rtc::RemoteAudioStats::frozenRateByCustomPlcCount
uint32_t frozenRateByCustomPlcCount
Definition: IAgoraRtcEngine.h:435
agora::rtc::ScreenCaptureConfiguration::params
ScreenCaptureParameters params
Definition: IAgoraRtcEngine.h:873
agora::rtc::IRtcEngineEventHandler::onVideoDeviceStateChanged
virtual void onVideoDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition: IAgoraRtcEngine.h:1723
agora::rtc::IMetadataObserver
Definition: IAgoraRtcEngine.h:3420
agora::rtc::VideoCompositingLayout::appData
const char * appData
Definition: IAgoraRtcEngine.h:640
agora::rtc::IVideoEffectObject::setVideoEffectBoolParam
virtual int setVideoEffectBoolParam(const char *option, const char *key, bool param)=0
Sets a boolean parameter for the video effect.
agora::rtc::RemoteAudioStats::totalFrozenTime
int totalFrozenTime
Definition: IAgoraRtcEngine.h:408
agora::rtc::IVideoEffectObject::setVideoEffectFloatParam
virtual int setVideoEffectFloatParam(const char *option, const char *key, float param)=0
Sets a float parameter for the video effect.
agora::rtc::IRtcEngineEventHandler::onAudioMixingPositionChanged
virtual void onAudioMixingPositionChanged(int64_t position)
Reports current AudioMixing progress.
Definition: IAgoraRtcEngine.h:1695
agora::rtc::IRtcEngine::setRemoteVoicePosition
virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain)=0
agora::rtc::IRtcEngine::registerMediaMetadataObserver
virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type)=0
agora::rtc::ColorEnhanceOptions
Definition: AgoraBase.h:5252
agora::rtc::PublisherConfiguration::defaultLayout
int defaultLayout
Definition: IAgoraRtcEngine.h:738
agora::rtc::IRtcEngineEventHandler::onTranscodingUpdated
virtual void onTranscodingUpdated()
Definition: IAgoraRtcEngine.h:2538
agora::rtc::IRtcEngine::updateRtmpTranscoding
virtual int updateRtmpTranscoding(const LiveTranscoding &transcoding)=0
agora::rtc::ScreenCaptureConfiguration::displayId
int64_t displayId
Definition: IAgoraRtcEngine.h:859
agora::rtc::RemoteAudioStats::publishDuration
int publishDuration
Definition: IAgoraRtcEngine.h:449
agora::rtc::IRtcEngineEventHandler::onWlAccMessage
virtual void onWlAccMessage(WLACC_MESSAGE_REASON reason, WLACC_SUGGEST_ACTION action, const char *wlAccMsg)
Definition: IAgoraRtcEngine.h:2695
agora::rtc::IRtcEngineEventHandler::onRequestToken
virtual void onRequestToken()
Definition: IAgoraRtcEngine.h:2299
agora::rtc::IRtcEngineEventHandler::onError
virtual void onError(int err, const char *msg)
Definition: IAgoraRtcEngine.h:1582
agora::rtc::IRtcEngine::getNtpWallTimeInMs
virtual uint64_t getNtpWallTimeInMs()=0
agora::rtc::IRtcEngine::startRtmpStreamWithoutTranscoding
virtual int startRtmpStreamWithoutTranscoding(const char *url)=0
agora::rtc::VideoCompositingLayout::regionCount
int regionCount
Definition: IAgoraRtcEngine.h:637
agora::rtc::ExtensionInfo::mediaSourceType
agora::media::MEDIA_SOURCE_TYPE mediaSourceType
Definition: IAgoraRtcEngine.h:3699
agora::rtc::IRtcEngineEventHandler::onProxyConnected
virtual void onProxyConnected(const char *channel, uid_t uid, PROXY_TYPE proxyType, const char *localProxyIp, int elapsed)
Definition: IAgoraRtcEngine.h:1569
agora::rtc::IRtcEngineEventHandler::onExtensionEventWithContext
virtual void onExtensionEventWithContext(const ExtensionContext &context, const char *key, const char *value)
Definition: IAgoraRtcEngine.h:2928
agora::rtc::IRtcEngineEventHandler::onLocalPublishFallbackToAudioOnly
virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover)
Definition: IAgoraRtcEngine.h:2604
agora::rtc::IRtcEngine::enableExtension
virtual int enableExtension(const char *provider, const char *extension, bool enable=true, agora::media::MEDIA_SOURCE_TYPE type=agora::media::UNKNOWN_MEDIA_SOURCE)=0
agora::rtc::IRtcEngineEventHandler::onUserStateChanged
virtual void onUserStateChanged(uid_t uid, REMOTE_USER_STATE state)
Definition: IAgoraRtcEngine.h:2039
agora::rtc::PublisherConfiguration::height
int height
Definition: IAgoraRtcEngine.h:724
agora::rtc::IRtcEngineEventHandler::onAudioMixingFinished
virtual void onAudioMixingFinished() __deprecated
Definition: IAgoraRtcEngine.h:1703
agora::rtc::AVideoDeviceManager
Definition: IAgoraRtcEngine.h:8913
agora::rtc::LocalVideoStats::codecType
VIDEO_CODEC_TYPE codecType
Definition: IAgoraRtcEngine.h:340
agora::rtc::ExtensionInfo::localUid
uid_t localUid
Definition: IAgoraRtcEngine.h:3724
agora::rtc::IRtcEngine::setSubscribeVideoBlocklist
virtual int setSubscribeVideoBlocklist(uid_t *uidList, int uidNumber)=0
agora::rtc::LocalTranscoderConfiguration
Definition: AgoraBase.h:4201
agora::rtc::IRtcEngine::adjustAudioMixingPlayoutVolume
virtual int adjustAudioMixingPlayoutVolume(int volume)=0
agora::rtc::InjectStreamConfig::audioBitrate
int audioBitrate
Definition: IAgoraRtcEngine.h:685
agora::rtc::IRtcEngine::setCameraDeviceOrientation
virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation)=0
agora::rtc::IRtcEngineEventHandler::onAudioVolumeIndication
virtual void onAudioVolumeIndication(const AudioVolumeInfo *speakers, unsigned int speakerNumber, int totalVolume)
Definition: IAgoraRtcEngine.h:1644
agora::rtc::IRtcEngineEventHandler::onStreamMessageError
virtual void onStreamMessageError(uid_t uid, int streamId, int code, int missed, int cached)
Definition: IAgoraRtcEngine.h:2282
agora::rtc::IPacketObserver
Definition: AgoraBase.h:3469
agora::rtc::IRtcEngine::setLocalPublishFallbackOption
virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option)=0
agora::rtc::LocalVideoStats::dualStreamEnabled
bool dualStreamEnabled
Definition: IAgoraRtcEngine.h:351
agora::rtc::IRtcEngine::writeLog
virtual int writeLog(commons::LOG_LEVEL level, const char *fmt,...)=0
agora::rtc::RemoteAudioStats::rxAudioBytes
unsigned int rxAudioBytes
Definition: IAgoraRtcEngine.h:461
agora::rtc::ChannelMediaOptions::publishEncodedVideoTrack
Optional< bool > publishEncodedVideoTrack
Definition: IAgoraRtcEngine.h:1155
agora::rtc::IRtcEngine::setDualStreamMode
virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode)=0
agora::rtc::DirectCdnStreamingStats
Definition: IAgoraRtcEngine.h:3542
agora::rtc::VideoFormat
Definition: AgoraBase.h:2737
agora::rtc::RemoteVideoStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:496
agora::rtc::IRtcEngineEventHandler::onUserOffline
virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:1976
agora::rtc::IRtcEngine::registerExtension
virtual int registerExtension(const char *provider, const char *extension, agora::media::MEDIA_SOURCE_TYPE type=agora::media::UNKNOWN_MEDIA_SOURCE)=0
agora::rtc::IRtcEngine::stopRtmpStream
virtual int stopRtmpStream(const char *url)=0
agora::rtc::DataStreamConfig
Definition: AgoraBase.h:2101
agora::rtc::IRtcEngineEventHandler::onCameraFocusAreaChanged
virtual void onCameraFocusAreaChanged(int x, int y, int width, int height)
Definition: IAgoraRtcEngine.h:2128
agora::rtc::VideoCompositingLayout::Region::y
double y
Definition: IAgoraRtcEngine.h:588
agora::rtc::IRtcEngine::stopAudioMixing
virtual int stopAudioMixing()=0
agora::rtc::IVideoEffectObject::RESET
@ RESET
Definition: IAgoraRtcEngine.h:3171
agora::rtc::PublisherConfiguration
Definition: IAgoraRtcEngine.h:716
agora::rtc::IRtcEngineEventHandler::onExtensionStartedWithContext
virtual void onExtensionStartedWithContext(const ExtensionContext &context)
Definition: IAgoraRtcEngine.h:2941
agora::rtc::IRtcEngine::setLogLevel
virtual int setLogLevel(commons::LOG_LEVEL level)=0
agora::rtc::RtcEngineContext::logConfig
commons::LogConfig logConfig
Definition: IAgoraRtcEngine.h:3382
agora::rtc::IRtcEngine::setRemoteDefaultVideoStreamType
virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType)=0
agora::rtc::LocalAudioMixerConfiguration
Definition: AgoraBase.h:4310
agora::rtc::IRtcEngine::setRemoteVideoStreamType
virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType)=0
agora::rtc::IRtcEngineEventHandler::onUserEnableVideo
virtual void onUserEnableVideo(uid_t uid, bool enabled)
Definition: IAgoraRtcEngine.h:2029
agora::rtc::IRtcEngineEventHandler::onRtmpStreamingStateChanged
virtual void onRtmpStreamingStateChanged(const char *url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_REASON reason)
Definition: IAgoraRtcEngine.h:2511
agora::rtc::InjectStreamConfig::height
int height
Definition: IAgoraRtcEngine.h:665
agora::rtc::IRtcEngine::destroyVideoEffectObject
virtual int destroyVideoEffectObject(agora_refptr< IVideoEffectObject > videoEffectObject)=0
Destroys a video effect object.
agora::rtc::ChannelMediaOptions::publishFourthCameraTrack
Optional< bool > publishFourthCameraTrack
Definition: IAgoraRtcEngine.h:1084
agora::rtc::IRtcEngine::startRtmpStreamWithTranscoding
virtual int startRtmpStreamWithTranscoding(const char *url, const LiveTranscoding &transcoding)=0
agora::rtc::DirectCdnStreamingMediaOptions
Definition: IAgoraRtcEngine.h:3597
agora::rtc::IRtcEngine::setVideoEncoderConfiguration
virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration &config)=0
agora::rtc::AdvancedAudioOptions
Definition: IAgoraRtcEngine.h:1035
agora::rtc::IRtcEngine::queryCodecCapability
virtual int queryCodecCapability(CodecCapInfo *codecInfo, int &size)=0
agora::rtc::IRtcEngine::stopAllEffects
virtual int stopAllEffects()=0
agora::rtc::IRtcEngine::setLocalRenderMode
virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) __deprecated=0
agora::rtc::ChannelMediaOptions::customUserInfo
Optional< const char * > customUserInfo
Definition: IAgoraRtcEngine.h:1289
agora::rtc::IRtcEngine::pauseAllChannelMediaRelay
virtual int pauseAllChannelMediaRelay()=0
agora::rtc::LocalVideoStats::captureFrameHeight
int captureFrameHeight
Definition: IAgoraRtcEngine.h:296
agora::rtc::IRtcEngineEventHandler::onAudioQuality
virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay, unsigned short lost) __deprecated
Definition: IAgoraRtcEngine.h:1602
agora::rtc::IRtcEngine::startAudioMixing
virtual int startAudioMixing(const char *filePath, bool loopback, int cycle)=0
agora::rtc::IRtcEngine::adjustLoopbackSignalVolume
virtual int adjustLoopbackSignalVolume(int volume)=0
agora::rtc::IRtcEngine::takeSnapshot
virtual int takeSnapshot(uid_t uid, const char *filePath)=0
agora::rtc::RtcEngineContext::license
const char * license
Definition: IAgoraRtcEngine.h:3347
agora::rtc::ScreenCaptureConfiguration::regionRect
Rectangle regionRect
Definition: IAgoraRtcEngine.h:881
agora::rtc::VideoCompositingLayout::canvasWidth
int canvasWidth
Definition: IAgoraRtcEngine.h:622
agora::rtc::LeaveChannelOptions::stopMicrophoneRecording
bool stopMicrophoneRecording
Definition: IAgoraRtcEngine.h:1510
agora::rtc::PublisherConfiguration::rawStreamUrl
const char * rawStreamUrl
Definition: IAgoraRtcEngine.h:763
agora::rtc::RemoteAudioStats::mosValue
int mosValue
Definition: IAgoraRtcEngine.h:430
agora::rtc::IRtcEngineEventHandler::onRemoteVideoStats
virtual void onRemoteVideoStats(const RemoteVideoStats &stats)
Definition: IAgoraRtcEngine.h:2107
agora::rtc::IRtcEngine::setAudioEffectParameters
virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2)=0
agora::rtc::IRtcEngine::setColorEnhanceOptions
virtual int setColorEnhanceOptions(bool enabled, const ColorEnhanceOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IRtcEngineEventHandler::onTokenPrivilegeWillExpire
virtual void onTokenPrivilegeWillExpire(const char *token)
Definition: IAgoraRtcEngine.h:2312
agora::rtc::LocalVideoStats::targetFrameRate
int targetFrameRate
Definition: IAgoraRtcEngine.h:326
agora::rtc::DirectCdnStreamingStats::audioBitrate
int audioBitrate
Definition: IAgoraRtcEngine.h:3566
agora::rtc::IRtcEngine::setRemoteSubscribeFallbackOption
virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option)=0
agora::rtc::IRtcEngine::getExtensionProperty
virtual int getExtensionProperty(const char *provider, const char *extension, const ExtensionInfo &extensionInfo, const char *key, char *value, int buf_len)=0
agora::rtc::RtcEngineContext::channelProfile
CHANNEL_PROFILE_TYPE channelProfile
Definition: IAgoraRtcEngine.h:3342
agora::rtc::IRtcEngineEventHandler::onRemoteSubscribeFallbackToAudioOnly
virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover)
Definition: IAgoraRtcEngine.h:2625
agora::rtc::IRtcEngine::setEarMonitoringAudioFrameParameters
virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
agora::rtc::IRtcEngineEventHandler::onContentInspectResult
virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result)
Definition: IAgoraRtcEngine.h:2435
agora::rtc::IRtcEngineEventHandler::onAudioDeviceStateChanged
virtual void onAudioDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition: IAgoraRtcEngine.h:1683
agora::rtc::IAudioEncodedFrameObserver
Definition: AgoraBase.h:6102
agora::rtc::ChannelMediaOptions::token
Optional< const char * > token
Definition: IAgoraRtcEngine.h:1245
agora::rtc::ChannelMediaOptions::parameters
Optional< const char * > parameters
Definition: IAgoraRtcEngine.h:1284
agora::rtc::LeaveChannelOptions
Definition: IAgoraRtcEngine.h:1486
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStats
virtual void onRemoteAudioStats(const RemoteAudioStats &stats)
Definition: IAgoraRtcEngine.h:2066
agora::rtc::IRtcEngine::setEffectsVolume
virtual int setEffectsVolume(int volume)=0
agora::rtc::IRtcEngine::playAllEffects
virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish=false)=0
agora::rtc::DirectCdnStreamingStats::fps
int fps
Definition: IAgoraRtcEngine.h:3556
agora::rtc::IRtcEngine::stopLastmileProbeTest
virtual int stopLastmileProbeTest()=0
agora::rtc::ChannelMediaRelayConfiguration
Definition: AgoraBase.h:6311
agora::rtc::IRtcEngine::setAdvancedAudioOptions
virtual int setAdvancedAudioOptions(AdvancedAudioOptions &options, int sourceType=0)=0
agora::rtc::IRtcEngine::createMediaPlayer
virtual agora_refptr< IMediaPlayer > createMediaPlayer()=0
agora::rtc::IRtcEngine::queryInterface
virtual int queryInterface(INTERFACE_ID_TYPE iid, void **inter)=0
agora::rtc::IVideoDeviceCollection
Definition: IAgoraRtcEngine.h:2986
agora::rtc::IRtcEngine::renewToken
virtual int renewToken(const char *token)=0
agora::rtc::IRtcEngine::pauseAudio
virtual int pauseAudio() __deprecated=0
agora::rtc::IRtcEngine::setAudioProfile
virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile)=0
agora::rtc::IRtcEngine::sendStreamMessage
virtual int sendStreamMessage(int streamId, const char *data, size_t length)=0
agora::rtc::LocalVideoStats::txPacketLossRate
unsigned short txPacketLossRate
Definition: IAgoraRtcEngine.h:344
agora::rtc::IRtcEngineEventHandler::onLocalVideoStats
virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats &stats)
Definition: IAgoraRtcEngine.h:2094
agora::rtc::ChannelMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition: IAgoraRtcEngine.h:1139
agora::rtc::RemoteVideoStats::avSyncTimeMs
int avSyncTimeMs
Definition: IAgoraRtcEngine.h:554
agora::rtc::IRtcEngine::setFilterEffectOptions
virtual int setFilterEffectOptions(bool enabled, const FilterEffectOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::RtcEngineContext::domainLimit
bool domainLimit
Definition: IAgoraRtcEngine.h:3403
agora::rtc::VideoDenoiserOptions
Definition: AgoraBase.h:5204
agora::rtc::IRtcEngine::setLocalVideoMirrorMode
virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) __deprecated=0
agora::rtc::RemoteVideoStats::decoderOutputFrameRate
int decoderOutputFrameRate
Definition: IAgoraRtcEngine.h:526
agora::rtc::RtcEngineContext::context
void * context
Definition: IAgoraRtcEngine.h:3338
agora::rtc::IRtcEngine::stopLocalAudioMixer
virtual int stopLocalAudioMixer()=0
agora::rtc::IRtcEngineEventHandler::onActiveSpeaker
virtual void onActiveSpeaker(uid_t uid)
Definition: IAgoraRtcEngine.h:2427
agora::rtc::ChannelMediaOptions::publishCameraTrack
Optional< bool > publishCameraTrack
Definition: IAgoraRtcEngine.h:1066
agora::rtc::RemoteAudioStats::e2eDelay
int e2eDelay
Definition: IAgoraRtcEngine.h:465
agora::rtc::IRtcEngineEventHandler::onFirstLocalVideoFrame
virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed)
Definition: IAgoraRtcEngine.h:1814
agora::rtc::ChannelMediaOptions::clientRoleType
Optional< CLIENT_ROLE_TYPE > clientRoleType
Definition: IAgoraRtcEngine.h:1212
agora::rtc::ChannelMediaOptions::publishThirdCameraTrack
Optional< bool > publishThirdCameraTrack
Definition: IAgoraRtcEngine.h:1078
agora::rtc::IRtcEngineEventHandler::onJoinChannelSuccess
virtual void onJoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1540
agora::rtc::DirectCdnStreamingMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition: IAgoraRtcEngine.h:3632
agora::rtc::ChannelMediaOptions::channelProfile
Optional< CHANNEL_PROFILE_TYPE > channelProfile
Definition: IAgoraRtcEngine.h:1226
agora::rtc::RemoteAudioStats::audioLossRate
int audioLossRate
Definition: IAgoraRtcEngine.h:388
agora::rtc::VideoCompositingLayout::Region::zOrder
int zOrder
Definition: IAgoraRtcEngine.h:598
agora::rtc::IRtcEngine::queryDeviceScore
virtual int queryDeviceScore()=0
agora::rtc::LocalVideoStats::captureFrameRate
int captureFrameRate
Definition: IAgoraRtcEngine.h:290
agora::rtc::VirtualBackgroundSource
Definition: AgoraBase.h:5278
agora::rtc::IRtcEngine::setParameters
virtual int setParameters(const char *parameters)=0
agora::rtc::IRtcEngine::muteRemoteVideoStream
virtual int muteRemoteVideoStream(uid_t uid, bool mute)=0
agora::rtc::IRtcEngine::setLowlightEnhanceOptions
virtual int setLowlightEnhanceOptions(bool enabled, const LowlightEnhanceOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IVideoDeviceManager
Definition: IAgoraRtcEngine.h:3030
agora::rtc::RemoteVideoStats::frozenRate
int frozenRate
Definition: IAgoraRtcEngine.h:549
agora::rtc::ScreenCaptureConfiguration::windowId
int64_t windowId
Definition: IAgoraRtcEngine.h:869
agora::rtc::IRtcEngine::enableLocalAudio
virtual int enableLocalAudio(bool enabled)=0
agora::rtc::IRtcEngine::setupLocalVideo
virtual int setupLocalVideo(const VideoCanvas &canvas)=0
agora::rtc::VideoCompositingLayout::appDataLength
int appDataLength
Definition: IAgoraRtcEngine.h:643
agora::rtc::IRtcEngine::setLocalVoiceReverb
virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value)=0
agora::rtc::IRtcEngine::stopEffect
virtual int stopEffect(int soundId)=0
agora::rtc::VideoCompositingLayout::Region::alpha
double alpha
Definition: IAgoraRtcEngine.h:603
agora::rtc::IRtcEngine::enableCustomAudioLocalPlayback
virtual int enableCustomAudioLocalPlayback(track_id_t trackId, bool enabled)=0
agora::rtc::IVideoEffectObject::addOrUpdateVideoEffect
virtual int addOrUpdateVideoEffect(uint32_t nodeId, const char *templateName)=0
Adds or updates video effects with specified node ID and template.
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition: IAgoraRtcEngine.h:3621
agora::rtc::ScreenCaptureConfiguration::isCaptureWindow
bool isCaptureWindow
Definition: IAgoraRtcEngine.h:855
agora::rtc::LocalVideoStats::encodedFrameHeight
int encodedFrameHeight
Definition: IAgoraRtcEngine.h:317
agora::rtc::IRtcEngineEventHandler::onAudioMetadataReceived
virtual void onAudioMetadataReceived(uid_t uid, const char *metadata, size_t length)
Definition: IAgoraRtcEngine.h:2913
agora::rtc::IRtcEngine::setLocalVoiceFormant
virtual int setLocalVoiceFormant(double formantRatio)=0
agora::rtc::AdvancedAudioOptions::audioProcessingChannels
Optional< int > audioProcessingChannels
Definition: IAgoraRtcEngine.h:1039
agora::rtc::IRtcEngine::getUserInfoByUserAccount
virtual int getUserInfoByUserAccount(const char *userAccount, rtc::UserInfo *userInfo)=0
agora::rtc::WlAccStats
Definition: AgoraBase.h:4610
agora::rtc::IRtcEngine::setLogFile
virtual int setLogFile(const char *filePath)=0
agora::rtc::IRtcEngine::enableVirtualBackground
virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IVideoDeviceCollection::setDevice
virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngine::setCameraCapturerConfiguration
virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration &config)=0
agora::rtc::FaceShapeAreaOptions::FACE_SHAPE_AREA
FACE_SHAPE_AREA
The specific facial area to be adjusted.
Definition: AgoraBase.h:4875
agora::rtc::RemoteVideoStats::__deprecated
int delay __deprecated
Definition: IAgoraRtcEngine.h:504
agora::rtc::CameraCapturerConfiguration::deviceId
Optional< const char * > deviceId
Definition: IAgoraRtcEngine.h:832
agora::rtc::RemoteAudioStats::quality
int quality
Definition: IAgoraRtcEngine.h:374
agora::rtc::PublisherConfiguration::width
int width
Definition: IAgoraRtcEngine.h:720
agora::rtc::VideoCompositingLayout::Region::width
double width
Definition: IAgoraRtcEngine.h:592
agora::rtc::IRtcEngine::startEchoTest
virtual int startEchoTest(const EchoTestConfiguration &config)=0
agora::rtc::IRtcEngine::startOrUpdateChannelMediaRelay
virtual int startOrUpdateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration)=0
agora::rtc::IRtcEngineEventHandler::onConnectionBanned
virtual void onConnectionBanned() __deprecated
Definition: IAgoraRtcEngine.h:2249
agora::rtc::IRtcEngine::getEffectsVolume
virtual int getEffectsVolume()=0
agora::rtc::IRtcEngineEventHandler::onEncryptionError
virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType)
Definition: IAgoraRtcEngine.h:2731
agora::rtc::IRtcEngineEventHandler::onCameraReady
virtual void onCameraReady() __deprecated
Definition: IAgoraRtcEngine.h:2116
agora::rtc::IRtcEngine::getEffectDuration
virtual int getEffectDuration(const char *filePath)=0
agora::rtc::IRtcEngineEventHandler::onWlAccStats
virtual void onWlAccStats(const WlAccStats &currentStats, const WlAccStats &averageStats)
Definition: IAgoraRtcEngine.h:2706
agora::rtc::CodecCapInfo
Definition: AgoraBase.h:1910
agora::commons::LogConfig
Definition: IAgoraLog.h:83
agora::rtc::IRtcEngine::setPlaybackAudioFrameParameters
virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
agora::rtc::IRtcEngine::setLogFileSize
virtual int setLogFileSize(unsigned int fileSizeInKBytes)=0
agora::rtc::LeaveChannelOptions::stopAllEffect
bool stopAllEffect
Definition: IAgoraRtcEngine.h:1498
agora::rtc::ChannelMediaOptions::defaultVideoStreamType
Optional< VIDEO_STREAM_TYPE > defaultVideoStreamType
Definition: IAgoraRtcEngine.h:1221
agora::rtc::IRtcEngine::preloadChannelWithUserAccount
virtual int preloadChannelWithUserAccount(const char *token, const char *channelId, const char *userAccount)=0
agora::rtc::RemoteVideoStats::rxVideoBytes
unsigned int rxVideoBytes
Definition: IAgoraRtcEngine.h:575
createAgoraRtcEngine
AGORA_API agora::rtc::IRtcEngine *AGORA_CALL createAgoraRtcEngine()
agora::rtc::IRtcEngine::setBeautyEffectOptions
virtual int setBeautyEffectOptions(bool enabled, const BeautyOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IRtcEngine::startAudioRecording
virtual int startAudioRecording(const AudioRecordingConfiguration &config)=0
agora::rtc::RtcEngineContext::autoRegisterAgoraExtensions
bool autoRegisterAgoraExtensions
Definition: IAgoraRtcEngine.h:3410
agora::rtc::LocalVideoStats
Definition: IAgoraRtcEngine.h:275
agora::rtc::IMetadataObserver::onMetadataReceived
virtual void onMetadataReceived(const Metadata &metadata)=0
agora::rtc::IRtcEngine::setAudioMixingPlaybackSpeed
virtual int setAudioMixingPlaybackSpeed(int speed)=0
agora::rtc::IRtcEngine::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 and returns its pointer.
agora::rtc::IRtcEngine::resumeAllChannelMediaRelay
virtual int resumeAllChannelMediaRelay()=0
agora::rtc::IRtcEngine::setExtensionProperty
virtual int setExtensionProperty(const char *provider, const char *extension, const ExtensionInfo &extensionInfo, const char *key, const char *value)=0
agora::rtc::ChannelMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition: IAgoraRtcEngine.h:1207
agora::rtc::IDirectCdnStreamingEventHandler
Definition: IAgoraRtcEngine.h:3573
agora::rtc::IRtcEngineEventHandler::onLocalAudioStateChanged
virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_REASON reason)
Definition: IAgoraRtcEngine.h:2386
agora::rtc::IRtcEngine::setRemoteRenderTargetFps
virtual int setRemoteRenderTargetFps(int targetFps)=0
agora::rtc::IRtcEngineEventHandler::onAudioSubscribeStateChanged
virtual void onAudioSubscribeStateChanged(const char *channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState)
Definition: IAgoraRtcEngine.h:2831
agora::rtc::IRtcEngineEventHandler::onVideoStopped
virtual void onVideoStopped() __deprecated
Definition: IAgoraRtcEngine.h:2196
agora::rtc::EncryptionConfig
Definition: AgoraBase.h:6521
agora::rtc::IRtcEngine::destroyMediaPlayer
virtual int destroyMediaPlayer(agora_refptr< IMediaPlayer > media_player)=0
agora::rtc::LocalVideoStats::simulcastDimensions
VideoDimensions simulcastDimensions[SimulcastConfig::STREAM_LAYER_COUNT_MAX]
Definition: IAgoraRtcEngine.h:359
agora::rtc::IRtcEngine::setAudioMixingPosition
virtual int setAudioMixingPosition(int pos)=0
agora::rtc::ChannelMediaOptions::publishTranscodedVideoTrack
Optional< bool > publishTranscodedVideoTrack
Definition: IAgoraRtcEngine.h:1173
agora::rtc::ChannelMediaOptions::enableAudioRecordingOrPlayout
Optional< bool > enableAudioRecordingOrPlayout
Definition: IAgoraRtcEngine.h:1203
agora::rtc::IRtcEngineEventHandler::onVideoPublishStateChanged
virtual void onVideoPublishStateChanged(VIDEO_SOURCE_TYPE source, const char *channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)
Definition: IAgoraRtcEngine.h:2880
agora::rtc::RemoteVideoStats::receivedBitrate
int receivedBitrate
Definition: IAgoraRtcEngine.h:520
agora::rtc::RemoteAudioStats
Definition: IAgoraRtcEngine.h:366
agora::rtc::TranscodingVideoStream
Definition: AgoraBase.h:4125
agora::rtc::IMetadataObserver::MAX_METADATA_SIZE_TYPE
MAX_METADATA_SIZE_TYPE
Definition: IAgoraRtcEngine.h:3441
agora::rtc::IRtcEngine::enableVideoImageSource
virtual int enableVideoImageSource(bool enable, const ImageTrackOptions &options)=0
enable or disable video image source to replace the current video source published or resume it
agora::rtc::LocalVideoStats::encoderOutputFrameRate
int encoderOutputFrameRate
Definition: IAgoraRtcEngine.h:311
agora::rtc::IRtcEngine::unregisterAudioSpectrumObserver
virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
agora::rtc::IVideoEffectObject::performVideoEffectAction
virtual int performVideoEffectAction(uint32_t nodeId, VIDEO_EFFECT_ACTION actionId)=0
Performs an action on a specified video effect node.
agora::rtc::IRtcEngine::setupRemoteVideo
virtual int setupRemoteVideo(const VideoCanvas &canvas)=0
agora::rtc::IRtcEngineEventHandler::onLastmileProbeResult
virtual void onLastmileProbeResult(const LastmileProbeResult &result)
Definition: IAgoraRtcEngine.h:1614
agora::rtc::IVideoDeviceManager::startDeviceTest
virtual int startDeviceTest(view_t hwnd)=0
agora::rtc::IRtcEngine::addVideoWatermark
virtual int addVideoWatermark(const RtcImage &watermark) __deprecated=0
agora::rtc::IVideoEffectObject::getVideoEffectBoolParam
virtual bool getVideoEffectBoolParam(const char *option, const char *key)=0
Gets a boolean parameter from the video effect.
agora::rtc::IRtcEngineEventHandler::onConnectionLost
virtual void onConnectionLost()
Definition: IAgoraRtcEngine.h:2231
agora::rtc::IRtcEngineEventHandler::onUserMuteVideo
virtual void onUserMuteVideo(uid_t uid, bool muted)
Definition: IAgoraRtcEngine.h:2012
agora::rtc::PublisherConfiguration::owner
bool owner
Definition: IAgoraRtcEngine.h:746
agora::rtc::IRtcEngine::setInEarMonitoringVolume
virtual int setInEarMonitoringVolume(int volume)=0
agora::rtc::IRtcEngine::enableSoundPositionIndication
virtual int enableSoundPositionIndication(bool enabled)=0
agora::rtc::VideoCompositingLayout::regions
const Region * regions
Definition: IAgoraRtcEngine.h:634
agora::rtc::IRtcEngine::stopCameraCapture
virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType)=0
agora::rtc::ChannelMediaOptions::publishMediaPlayerVideoTrack
Optional< bool > publishMediaPlayerVideoTrack
Definition: IAgoraRtcEngine.h:1167
agora::rtc::IRtcEngine::stopPreview
virtual int stopPreview()=0
agora::rtc::RemoteVideoStats::mosValue
int mosValue
Definition: IAgoraRtcEngine.h:571
agora::rtc::IVideoEffectObject::setVideoEffectIntParam
virtual int setVideoEffectIntParam(const char *option, const char *key, int param)=0
Sets an integer parameter for the video effect.
agora::rtc::IRtcEngine::destroyCustomEncodedVideoTrack
virtual int destroyCustomEncodedVideoTrack(video_track_id_t video_track_id)=0
agora::rtc::DirectCdnStreamingMediaOptions::customVideoTrackId
Optional< video_track_id_t > customVideoTrackId
Definition: IAgoraRtcEngine.h:3637
agora::rtc::IRtcEngineEventHandler::onVideoSizeChanged
virtual void onVideoSizeChanged(VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation)
Definition: IAgoraRtcEngine.h:1867
agora::rtc::IRtcEngine::muteRecordingSignal
virtual int muteRecordingSignal(bool mute)=0
agora::rtc::IRtcEngineEventHandler::onLocalUserRegistered
virtual void onLocalUserRegistered(uid_t uid, const char *userAccount)
Definition: IAgoraRtcEngine.h:2757
agora::rtc::LocalVideoStats::encodedFrameWidth
int encodedFrameWidth
Definition: IAgoraRtcEngine.h:314
agora::rtc::RtcStats
Definition: AgoraBase.h:2330
agora::rtc::LowlightEnhanceOptions
Definition: AgoraBase.h:5156
agora::rtc::IRtcEngine::setVoiceBeautifierParameters
virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2)=0
agora::rtc::IRtcEngine::muteRemoteAudioStream
virtual int muteRemoteAudioStream(uid_t uid, bool mute)=0
agora::rtc::IRtcEngine::setVideoDenoiserOptions
virtual int setVideoDenoiserOptions(bool enabled, const VideoDenoiserOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IRtcEngineEventHandler::onSnapshotTaken
virtual void onSnapshotTaken(uid_t uid, const char *filePath, int width, int height, int errCode)
Definition: IAgoraRtcEngine.h:2454
agora::rtc::IRtcEngine::destroyCustomVideoTrack
virtual int destroyCustomVideoTrack(video_track_id_t video_track_id)=0
agora::rtc::IRtcEngine::setVoiceConversionParameters
virtual int setVoiceConversionParameters(VOICE_CONVERSION_PRESET preset, int param1, int param2)=0
agora::rtc::SimulcastConfig::STREAM_LAYER_COUNT_MAX
@ STREAM_LAYER_COUNT_MAX
Definition: AgoraBase.h:2206
agora::rtc::ChannelMediaOptions::publishLipSyncTrack
Optional< bool > publishLipSyncTrack
Definition: IAgoraRtcEngine.h:1185
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoFrame
virtual void onFirstRemoteVideoFrame(uid_t uid, int width, int height, int elapsed)
Definition: IAgoraRtcEngine.h:1931
agora::rtc::IRtcEngine::adjustAudioMixingVolume
virtual int adjustAudioMixingVolume(int volume)=0
agora::rtc::WatermarkOptions
Definition: AgoraBase.h:2293
agora::rtc::LocalAudioStats
Definition: AgoraBase.h:3594
agora::rtc::IRtcEngine::setLocalRenderTargetFps
virtual int setLocalRenderTargetFps(VIDEO_SOURCE_TYPE sourceType, int targetFps)=0
agora::rtc::RecorderStreamInfo
Definition: AgoraBase.h:7040
agora::rtc::ChannelMediaOptions::publishThirdScreenTrack
Optional< bool > publishThirdScreenTrack
Definition: IAgoraRtcEngine.h:1125
agora::rtc::IRtcEngineEventHandler::onAudioDeviceVolumeChanged
virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted)
Definition: IAgoraRtcEngine.h:2494
agora::rtc::SimulcastConfig
Definition: AgoraBase.h:2170
agora::rtc::IRtcEngine::leaveChannel
virtual int leaveChannel()=0
agora::rtc::IRtcEngine::setAudioScenario
virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario)=0
agora::rtc::IRtcEngine::setClientRole
virtual int setClientRole(CLIENT_ROLE_TYPE role)=0
agora::rtc::IRtcEngine::preloadChannel
virtual int preloadChannel(const char *token, const char *channelId, uid_t uid)=0
agora::rtc::IRtcEngineEventHandler::onClientRoleChanged
virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions &newRoleOptions)
Definition: IAgoraRtcEngine.h:2469
agora::rtc::RemoteVideoStats::width
int width
Definition: IAgoraRtcEngine.h:512
agora::rtc::RtcEngineContext::audioScenario
AUDIO_SCENARIO_TYPE audioScenario
Definition: IAgoraRtcEngine.h:3356
agora::rtc::RemoteVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition: IAgoraRtcEngine.h:529
agora::rtc::IRtcEngine::setVoiceBeautifierPreset
virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset)=0
agora::rtc::RemoteVideoStats::decoderInputFrameRate
int decoderInputFrameRate
Definition: IAgoraRtcEngine.h:523
agora::rtc::IRtcEngine::rate
virtual int rate(const char *callId, int rating, const char *description)=0
agora::rtc::LocalVideoStats::targetBitrate
int targetBitrate
Definition: IAgoraRtcEngine.h:323
agora::rtc::ChannelMediaOptions::publishSecondaryScreenTrack
Optional< bool > publishSecondaryScreenTrack
Definition: IAgoraRtcEngine.h:1119
agora::RefCountInterface
Definition: AgoraRefPtr.h:31
agora::rtc::RemoteAudioStats::qualityChangedReason
int qualityChangedReason
Definition: IAgoraRtcEngine.h:457
agora::rtc::IRtcEngine::getCallId
virtual int getCallId(agora::util::AString &callId)=0
agora::rtc::InjectStreamConfig
Definition: IAgoraRtcEngine.h:657
agora::rtc::IRtcEngine::uploadLogFile
virtual int uploadLogFile(agora::util::AString &requestId)=0
agora::rtc::IRtcEngine::startMediaRenderingTracing
virtual int startMediaRenderingTracing()=0
Start tracing media rendering events.
agora::rtc::CameraCapturerConfiguration::format
VideoFormat format
Definition: IAgoraRtcEngine.h:843
agora::rtc::LocalVideoStats::encodedFrameCount
int encodedFrameCount
Definition: IAgoraRtcEngine.h:337
agora::rtc::PublisherConfiguration::bitrate
int bitrate
Definition: IAgoraRtcEngine.h:732
agora::rtc::LocalVideoStats::regulatedCaptureFrameRate
int regulatedCaptureFrameRate
Definition: IAgoraRtcEngine.h:300
agora::rtc::IRtcEngine::enableWirelessAccelerate
virtual int enableWirelessAccelerate(bool enabled)=0
agora::rtc::IRtcEngine::createCustomEncodedVideoTrack
virtual video_track_id_t createCustomEncodedVideoTrack(const SenderOptions &sender_option)=0
agora::rtc::RtcEngineContext
Definition: IAgoraRtcEngine.h:3321
agora::rtc::IRtcEngine::unloadAllEffects
virtual int unloadAllEffects()=0
agora::rtc::ChannelMediaOptions
Definition: IAgoraRtcEngine.h:1060
agora::rtc::IVideoEffectObject
Provides methods to manage and configure video effects, such as beauty, style makeup,...
Definition: IAgoraRtcEngine.h:3142
agora::rtc::IRtcEngine
Definition: IAgoraRtcEngine.h:3745
agora::rtc::IRtcEngine::setClientRole
virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions &options)=0
agora::rtc::IRtcEngine::enableLoopbackRecording
virtual int enableLoopbackRecording(bool enabled, const char *deviceName=NULL)=0
agora::rtc::IRtcEngine::sendAudioMetadata
virtual int sendAudioMetadata(const char *metadata, size_t length)=0
send audio metadata
agora::rtc::IRtcEngine::createMediaRecorder
virtual agora_refptr< IMediaRecorder > createMediaRecorder(const RecorderStreamInfo &info)=0
agora::rtc::ScreenCaptureConfiguration
Definition: IAgoraRtcEngine.h:849
agora::rtc::IRtcEngine::setAudioMixingDualMonoMode
virtual int setAudioMixingDualMonoMode(media::AUDIO_MIXING_DUAL_MONO_MODE mode)=0
agora::rtc::ChannelMediaOptions::autoSubscribeVideo
Optional< bool > autoSubscribeVideo
Definition: IAgoraRtcEngine.h:1197
agora::rtc::AudioRecordingConfiguration
Definition: AgoraBase.h:6005
agora::rtc::IRtcEngine::getEffectCurrentPosition
virtual int getEffectCurrentPosition(int soundId)=0
agora::rtc::ChannelMediaOptions::publishMicrophoneTrack
Optional< bool > publishMicrophoneTrack
Definition: IAgoraRtcEngine.h:1090
agora::rtc::IRtcEngine::updatePreloadChannelToken
virtual int updatePreloadChannelToken(const char *token)=0
agora::rtc::IRtcEngine::resumeAudio
virtual int resumeAudio() __deprecated=0
agora::rtc::IRtcEngine::muteLocalAudioStream
virtual int muteLocalAudioStream(bool mute)=0
agora::rtc::IRtcEngine::joinChannelWithUserAccount
virtual int joinChannelWithUserAccount(const char *token, const char *channelId, const char *userAccount)=0
agora::rtc::IRtcEngine::setChannelProfile
virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile)=0
agora::rtc::RemoteVideoStats::frameLossRate
int frameLossRate
Definition: IAgoraRtcEngine.h:532
agora::rtc::VideoDimensions
Definition: AgoraBase.h:1104
agora::rtc::IRtcEngine::updateDirectCdnStreamingMediaOptions
virtual int updateDirectCdnStreamingMediaOptions(const DirectCdnStreamingMediaOptions &options)=0
agora::rtc::IRtcEngine::setLocalVoicePitch
virtual int setLocalVoicePitch(double pitch)=0
agora::rtc::IRtcEngineEventHandler::onTranscodedStreamLayoutInfo
virtual void onTranscodedStreamLayoutInfo(uid_t uid, int width, int height, int layoutCount, const VideoLayout *layoutlist)
Definition: IAgoraRtcEngine.h:2897
agora::rtc::RemoteVideoStats::height
int height
Definition: IAgoraRtcEngine.h:516
agora::rtc::LocalVideoStats::captureFrameWidth
int captureFrameWidth
Definition: IAgoraRtcEngine.h:293
agora::rtc::IRtcEngine::setAudioEffectPreset
virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset)=0
agora::rtc::IRtcEngine::release
static AGORA_CPP_API void release(RtcEngineReleaseCallback callback=nullptr)
agora::rtc::RtcEngineContext::useExternalEglContext
bool useExternalEglContext
Definition: IAgoraRtcEngine.h:3396
agora::rtc::IRtcEngine::preloadEffect
virtual int preloadEffect(int soundId, const char *filePath, int startPos=0)=0
agora::rtc::RemoteAudioStats::frozenRate
int frozenRate
Definition: IAgoraRtcEngine.h:413
agora::rtc::IRtcEngine::setVideoScenario
virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType)=0
agora::rtc::RemoteAudioStats::plcCount
uint32_t plcCount
Definition: IAgoraRtcEngine.h:439
agora::rtc::IRtcEngine::stopEchoTest
virtual int stopEchoTest()=0
agora::rtc::IRtcEngine::startAudioRecording
virtual int startAudioRecording(const char *filePath, AUDIO_RECORDING_QUALITY_TYPE quality)=0
agora::rtc::IRtcEngine::setLocalVoiceEqualization
virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain)=0
agora::rtc::DirectCdnStreamingMediaOptions::publishMediaPlayerAudioTrack
Optional< bool > publishMediaPlayerAudioTrack
Definition: IAgoraRtcEngine.h:3627
agora::util::CopyableAutoPtr
Definition: AgoraBase.h:156
agora::rtc::IRtcEngine::getNetworkType
virtual int getNetworkType()=0
agora::rtc::InjectStreamConfig::audioSampleRate
AUDIO_SAMPLE_RATE_TYPE audioSampleRate
Definition: IAgoraRtcEngine.h:681
agora::rtc::IRtcEngine::enableExtension
virtual int enableExtension(const char *provider, const char *extension, const ExtensionInfo &extensionInfo, bool enable=true)=0
agora::rtc::PublisherConfiguration::framerate
int framerate
Definition: IAgoraRtcEngine.h:728
agora::rtc::IRtcEngine::resumeEffect
virtual int resumeEffect(int soundId)=0
agora::rtc::PublisherConfiguration::injectStreamUrl
const char * injectStreamUrl
Definition: IAgoraRtcEngine.h:755
agora::rtc::ChannelMediaOptions::publishScreenTrack
Optional< bool > publishScreenTrack
Definition: IAgoraRtcEngine.h:1113
agora::rtc::IRtcEngineEventHandler::onAudioRoutingChanged
virtual void onAudioRoutingChanged(int routing)
Definition: IAgoraRtcEngine.h:2553
agora::rtc::IRtcEngine::playEffect
virtual int playEffect(int soundId, const char *filePath, int loopCount, double pitch, double pan, int gain, bool publish=false, int startPos=0)=0
agora::rtc::InjectStreamConfig::videoBitrate
int videoBitrate
Definition: IAgoraRtcEngine.h:677
agora::rtc::LocalVideoStats::captureBrightnessLevel
CAPTURE_BRIGHTNESS_LEVEL_TYPE captureBrightnessLevel
Definition: IAgoraRtcEngine.h:347
agora::rtc::IRtcEngine::enableVideo
virtual int enableVideo()=0
agora::rtc::IRtcEngineEventHandler::onExtensionStoppedWithContext
virtual void onExtensionStoppedWithContext(const ExtensionContext &context)
Definition: IAgoraRtcEngine.h:2952
agora::rtc::IRtcEngine::setRemoteUserSpatialAudioParams
virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams &params)=0
agora::rtc::IVideoEffectObject::VIDEO_EFFECT_NODE_ID::BEAUTY
@ BEAUTY
agora::rtc::IVideoEffectObject::VIDEO_EFFECT_NODE_ID::STICKER
@ STICKER
agora::rtc::IRtcEngine::setHeadphoneEQParameters
virtual int setHeadphoneEQParameters(int lowGain, int highGain)=0
agora::rtc::IVideoEffectObject::removeVideoEffect
virtual int removeVideoEffect(uint32_t nodeId)=0
Removes a video effect with specified node ID.
agora::rtc::IRtcEngine::getFaceShapeAreaOptions
virtual int getFaceShapeAreaOptions(agora::rtc::FaceShapeAreaOptions::FACE_SHAPE_AREA shapeArea, FaceShapeAreaOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IMetadataObserver::UNKNOWN_METADATA
@ UNKNOWN_METADATA
Definition: IAgoraRtcEngine.h:3432
agora::rtc::IRtcEngineEventHandler::onFirstLocalVideoFramePublished
virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed)
Definition: IAgoraRtcEngine.h:1831
agora::rtc::IRtcEngine::stopScreenCapture
virtual int stopScreenCapture(VIDEO_SOURCE_TYPE sourceType)=0
agora::rtc::IRtcEngine::updateChannelMediaOptions
virtual int updateChannelMediaOptions(const ChannelMediaOptions &options)=0
agora::rtc::RemoteAudioStats::numChannels
int numChannels
Definition: IAgoraRtcEngine.h:392
agora::rtc::IRtcEngineEventHandler::onSetRtmFlagResult
virtual void onSetRtmFlagResult(int code)
Definition: IAgoraRtcEngine.h:2978
agora::rtc::ChannelMediaOptions::audioDelayMs
Optional< int > audioDelayMs
Definition: IAgoraRtcEngine.h:1231
agora::rtc::IRtcEngine::createDataStream
virtual int createDataStream(int *streamId, const DataStreamConfig &config)=0
agora::rtc::IRtcEngine::initialize
virtual int initialize(const RtcEngineContext &context)=0
agora::rtc::IRtcEngineEventHandler::onNetworkQuality
virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality)
Definition: IAgoraRtcEngine.h:1751
agora::rtc::IRtcEngine::resumeAudioMixing
virtual int resumeAudioMixing()=0
agora::rtc::ImageTrackOptions
Definition: IAgoraRtcEngine.h:1045
agora::rtc::IRtcEngine::unloadEffect
virtual int unloadEffect(int soundId)=0
agora::rtc::VideoCompositingLayout::Region
Definition: IAgoraRtcEngine.h:579
agora::rtc::IRtcEngine::stopRhythmPlayer
virtual int stopRhythmPlayer()=0
agora::rtc::IRtcEngine::getAudioMixingPlayoutVolume
virtual int getAudioMixingPlayoutVolume()=0
agora::rtc::IRtcEngine::startLastmileProbeTest
virtual int startLastmileProbeTest(const LastmileProbeConfig &config)=0
agora::rtc::IRtcEngineEventHandler::onVideoSubscribeStateChanged
virtual void onVideoSubscribeStateChanged(const char *channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState)
Definition: IAgoraRtcEngine.h:2848
agora::rtc::IRtcEngine::getExtensionProperty
virtual int getExtensionProperty(const char *provider, const char *extension, const char *key, char *value, int buf_len, agora::media::MEDIA_SOURCE_TYPE type=agora::media::UNKNOWN_MEDIA_SOURCE)=0
agora::rtc::ChannelMediaOptions::publishFourthScreenTrack
Optional< bool > publishFourthScreenTrack
Definition: IAgoraRtcEngine.h:1131
agora::rtc::RemoteAudioStats::jitterBufferDelay
int jitterBufferDelay
Definition: IAgoraRtcEngine.h:384
agora::rtc::IRtcEngine::adjustPlaybackSignalVolume
virtual int adjustPlaybackSignalVolume(int volume)=0
agora::rtc::IRtcEngineEventHandler::onRemoteVideoStateChanged
virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed)
Definition: IAgoraRtcEngine.h:1917
agora::rtc::IRtcEngine::setExtensionProviderProperty
virtual int setExtensionProviderProperty(const char *provider, const char *key, const char *value)=0
agora::rtc::PublisherConfiguration::injectStreamWidth
int injectStreamWidth
Definition: IAgoraRtcEngine.h:749
agora::rtc::ChannelMediaOptions::publishMixedAudioTrack
Optional< bool > publishMixedAudioTrack
Definition: IAgoraRtcEngine.h:1179
agora::rtc::IRtcEngine::startLocalAudioMixer
virtual int startLocalAudioMixer(const LocalAudioMixerConfiguration &config)=0
agora::rtc::RemoteVideoStats::rxStreamType
VIDEO_STREAM_TYPE rxStreamType
Definition: IAgoraRtcEngine.h:539
agora::rtc::IRtcEngine::enableAudio
virtual int enableAudio()=0
agora::rtc::IVideoDeviceManager::stopDeviceTest
virtual int stopDeviceTest()=0
agora::rtc::IMetadataObserver::Metadata::uid
unsigned int uid
Definition: IAgoraRtcEngine.h:3458
agora::rtc::RemoteAudioStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:370
agora::rtc::IRtcEngine::disableVideo
virtual int disableVideo()=0
agora::rtc::IRtcEngine::enableDualStreamMode
virtual int enableDualStreamMode(bool enabled) __deprecated=0
agora::rtc::InjectStreamConfig::videoGop
int videoGop
Definition: IAgoraRtcEngine.h:669
agora::rtc::IRtcEngine::setVideoQoEPreference
virtual int setVideoQoEPreference(VIDEO_QOE_PREFERENCE_TYPE qoePreference)=0
agora::rtc::ChannelMediaOptions::isInteractiveAudience
Optional< bool > isInteractiveAudience
Definition: IAgoraRtcEngine.h:1267
agora::rtc::FaceShapeAreaOptions
Face shape area options. This structure defines options for facial adjustments on different facial ar...
Definition: AgoraBase.h:4869
agora::SpatialAudioParams
Definition: AgoraBase.h:7097
agora::rtc::IRtcEngine::setLogFilter
virtual int setLogFilter(unsigned int filter)=0
agora::rtc::IRtcEngine::getLoopbackRecordingVolume
virtual int getLoopbackRecordingVolume()=0
agora::rtc::IRtcEngineEventHandler::onPermissionError
virtual void onPermissionError(PERMISSION_TYPE permissionType)
Definition: IAgoraRtcEngine.h:2744
agora::rtc::IRtcEngineEventHandler::onUploadLogResult
virtual void onUploadLogResult(const char *requestId, bool success, UPLOAD_ERROR_REASON reason)
Definition: IAgoraRtcEngine.h:2816
agora::rtc::RemoteAudioStats::qoeQuality
int qoeQuality
Definition: IAgoraRtcEngine.h:453
agora::rtc::IRtcEngine::setFaceShapeAreaOptions
virtual int setFaceShapeAreaOptions(const FaceShapeAreaOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IRtcEngine::setHeadphoneEQPreset
virtual int setHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset)=0
agora::rtc::IRtcEngine::startCameraCapture
virtual int startCameraCapture(VIDEO_SOURCE_TYPE sourceType, const CameraCapturerConfiguration &config)=0
agora::rtc::IRtcEngine::setLocalAccessPoint
virtual int setLocalAccessPoint(const LocalAccessPointConfiguration &config)=0
agora::rtc::IRtcEngine::createCustomVideoTrack
virtual video_track_id_t createCustomVideoTrack()=0
agora::rtc::IRtcEngine::disableAudio
virtual int disableAudio()=0
agora::rtc::IRtcEngine::muteAllRemoteAudioStreams
virtual int muteAllRemoteAudioStreams(bool mute)=0
agora::rtc::IRtcEngineEventHandler::onRtcStats
virtual void onRtcStats(const RtcStats &stats)
Definition: IAgoraRtcEngine.h:1668
agora::rtc::IRtcEngineEventHandler::onUserJoined
virtual void onUserJoined(uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1957
agora::rtc::AAudioDeviceManager
Definition: IAgoraRtcEngine.h:8906
agora::rtc::IMetadataObserver::Metadata
Definition: IAgoraRtcEngine.h:3450
agora::rtc::IRtcEngine::sendCustomReportMessage
virtual int sendCustomReportMessage(const char *id, const char *category, const char *event, const char *label, int value)=0
agora::rtc::FocalLengthInfo
Definition: AgoraBase.h:1923
agora::rtc::RemoteVideoStats::packetLossRate
int packetLossRate
Definition: IAgoraRtcEngine.h:535
agora::rtc::LocalVideoStats::hwEncoderAccelerating
int hwEncoderAccelerating
Definition: IAgoraRtcEngine.h:356
agora::rtc::DeviceInfo
Definition: AgoraBase.h:3455
agora::base::IEngineBase
Definition: AgoraBase.h:7063
agora::rtc::LocalVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition: IAgoraRtcEngine.h:320
agora::rtc::IRtcEngineEventHandler::onDownlinkNetworkInfoUpdated
virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo &info)
Definition: IAgoraRtcEngine.h:1786
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition: IAgoraRtcEngine.h:3615
agora::rtc::VideoRenderingTracingInfo
Definition: AgoraBase.h:6891
agora::rtc::IRtcEngineEventHandler::onAudioMixingStateChanged
virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:2205
agora::rtc::IRtcEngine::setLocalRenderMode
virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
agora::rtc::IRtcEngine::startAudioFrameDump
virtual int startAudioFrameDump(const char *channel_id, uid_t uid, const char *location, const char *uuid, const char *passwd, long duration_ms, bool auto_upload)=0
agora::rtc::IRtcEngine::setAudioProfile
virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) __deprecated=0
agora::rtc::RtcEngineContext::areaCode
unsigned int areaCode
Definition: IAgoraRtcEngine.h:3365
agora::rtc::IRtcEngine::setSimulcastConfig
virtual int setSimulcastConfig(const SimulcastConfig &simulcastConfig)=0
agora::rtc::IRtcEngineEventHandler::onLicenseValidationFailure
virtual void onLicenseValidationFailure(LICENSE_ERROR_TYPE error)
Definition: IAgoraRtcEngine.h:2321
agora::rtc::CameraCapturerConfiguration
Definition: IAgoraRtcEngine.h:813
agora::rtc::IMetadataObserver::VIDEO_METADATA
@ VIDEO_METADATA
Definition: IAgoraRtcEngine.h:3435
agora::rtc::IRtcEngine::selectAudioTrack
virtual int selectAudioTrack(int index)=0
agora::rtc::RemoteVideoStats
Definition: IAgoraRtcEngine.h:492
agora::rtc::IRtcEngine::startAudioRecording
virtual int startAudioRecording(const char *filePath, int sampleRate, AUDIO_RECORDING_QUALITY_TYPE quality)=0
agora::rtc::PublisherConfiguration::injectStreamHeight
int injectStreamHeight
Definition: IAgoraRtcEngine.h:752
agora::Optional
Definition: AgoraOptional.h:52
agora::rtc::IRtcEngine::joinChannel
virtual int joinChannel(const char *token, const char *channelId, const char *info, uid_t uid)=0
agora::rtc::IMetadataObserver::Metadata::size
unsigned int size
Definition: IAgoraRtcEngine.h:3461
agora::rtc::ClientRoleOptions
Definition: AgoraBase.h:2577
agora::rtc::IRtcEngine::setRecordingAudioFrameParameters
virtual int setRecordingAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
agora::rtc::ScreenCaptureConfiguration::screenRect
Rectangle screenRect
Definition: IAgoraRtcEngine.h:864
agora::rtc::IRtcEngineEventHandler::onUserEnableLocalVideo
virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) __deprecated
Definition: IAgoraRtcEngine.h:2054
agora::rtc::IVideoDeviceManager::setDevice
virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngineEventHandler::onChannelMediaRelayStateChanged
virtual void onChannelMediaRelayStateChanged(int state, int code)
Definition: IAgoraRtcEngine.h:2586
agora::rtc::IRtcEngine::complain
virtual int complain(const char *callId, const char *description)=0
agora::rtc::IRtcEngine::clearVideoWatermarks
virtual int clearVideoWatermarks()=0
agora::rtc::IRtcEngine::stopAudioRecording
virtual int stopAudioRecording()=0
agora::rtc::IRtcEngineEventHandler::onAudioPublishStateChanged
virtual void onAudioPublishStateChanged(const char *channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)
Definition: IAgoraRtcEngine.h:2864
agora::rtc::IRtcEngine::setHighPriorityUserList
virtual int setHighPriorityUserList(uid_t *uidList, int uidNum, STREAM_FALLBACK_OPTIONS option)=0
agora::rtc::IRtcEngine::setScreenCaptureOrientation
virtual int setScreenCaptureOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation)=0
agora::rtc::RemoteAudioStats::receivedSampleRate
int receivedSampleRate
Definition: IAgoraRtcEngine.h:396
agora::rtc::IRtcEngine::startPreview
virtual int startPreview(VIDEO_SOURCE_TYPE sourceType)=0
agora::rtc::VideoCanvas
Definition: AgoraBase.h:4684
agora::rtc::VideoCompositingLayout::Region::uid
uid_t uid
Definition: IAgoraRtcEngine.h:582
agora::rtc::IRtcEngineEventHandler::onConnectionStateChanged
virtual void onConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:2683
agora::rtc::IVideoEffectObject::getVideoEffectIntParam
virtual int getVideoEffectIntParam(const char *option, const char *key)=0
Gets an integer parameter from the video effect.
agora::rtc::SegmentationProperty
Definition: AgoraBase.h:5356
agora::rtc::VideoCompositingLayout::Region::x
double x
Definition: IAgoraRtcEngine.h:585