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 rtc {
19 
20 template <typename T>
21 static void SetFrom(Optional<T>* s, const Optional<T>& o) {
22  if (o) {
23  *s = o;
24  }
25 }
26 
27 template <typename T>
28 static void ReplaceBy(Optional<T>* s, const Optional<T>& o) {
29  *s = o;
30 }
31 
32 //class IAudioDeviceManager;
33 
37 enum MEDIA_DEVICE_TYPE {
41  UNKNOWN_AUDIO_DEVICE = -1,
45  AUDIO_PLAYOUT_DEVICE = 0,
49  AUDIO_RECORDING_DEVICE = 1,
53  VIDEO_RENDER_DEVICE = 2,
57  VIDEO_CAPTURE_DEVICE = 3,
61  AUDIO_APPLICATION_PLAYOUT_DEVICE = 4,
65  AUDIO_VIRTUAL_PLAYOUT_DEVICE = 5,
69  AUDIO_VIRTUAL_RECORDING_DEVICE = 6,
70 };
71 
75 enum AUDIO_MIXING_STATE_TYPE {
77  AUDIO_MIXING_STATE_PLAYING = 710,
79  AUDIO_MIXING_STATE_PAUSED = 711,
81  AUDIO_MIXING_STATE_STOPPED = 713,
84  AUDIO_MIXING_STATE_FAILED = 714,
85 };
86 
90 enum AUDIO_MIXING_REASON_TYPE {
92  AUDIO_MIXING_REASON_CAN_NOT_OPEN = 701,
94  AUDIO_MIXING_REASON_TOO_FREQUENT_CALL = 702,
96  AUDIO_MIXING_REASON_INTERRUPTED_EOF = 703,
98  AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED = 721,
100  AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED = 723,
102  AUDIO_MIXING_REASON_STOPPED_BY_USER = 724,
104  AUDIO_MIXING_REASON_OK = 0,
105 };
106 
110 enum INJECT_STREAM_STATUS {
114  INJECT_STREAM_STATUS_START_SUCCESS = 0,
118  INJECT_STREAM_STATUS_START_ALREADY_EXISTS = 1,
122  INJECT_STREAM_STATUS_START_UNAUTHORIZED = 2,
126  INJECT_STREAM_STATUS_START_TIMEDOUT = 3,
130  INJECT_STREAM_STATUS_START_FAILED = 4,
134  INJECT_STREAM_STATUS_STOP_SUCCESS = 5,
138  INJECT_STREAM_STATUS_STOP_NOT_FOUND = 6,
142  INJECT_STREAM_STATUS_STOP_UNAUTHORIZED = 7,
146  INJECT_STREAM_STATUS_STOP_TIMEDOUT = 8,
150  INJECT_STREAM_STATUS_STOP_FAILED = 9,
154  INJECT_STREAM_STATUS_BROKEN = 10,
155 };
156 
160 enum AUDIO_EQUALIZATION_BAND_FREQUENCY {
164  AUDIO_EQUALIZATION_BAND_31 = 0,
168  AUDIO_EQUALIZATION_BAND_62 = 1,
172  AUDIO_EQUALIZATION_BAND_125 = 2,
176  AUDIO_EQUALIZATION_BAND_250 = 3,
180  AUDIO_EQUALIZATION_BAND_500 = 4,
184  AUDIO_EQUALIZATION_BAND_1K = 5,
188  AUDIO_EQUALIZATION_BAND_2K = 6,
192  AUDIO_EQUALIZATION_BAND_4K = 7,
196  AUDIO_EQUALIZATION_BAND_8K = 8,
200  AUDIO_EQUALIZATION_BAND_16K = 9,
201 };
202 
206 enum AUDIO_REVERB_TYPE {
210  AUDIO_REVERB_DRY_LEVEL = 0,
214  AUDIO_REVERB_WET_LEVEL = 1,
218  AUDIO_REVERB_ROOM_SIZE = 2,
222  AUDIO_REVERB_WET_DELAY = 3,
226  AUDIO_REVERB_STRENGTH = 4,
227 };
228 
229 enum STREAM_FALLBACK_OPTIONS {
233  STREAM_FALLBACK_OPTION_DISABLED = 0,
238  STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW = 1,
242  STREAM_FALLBACK_OPTION_AUDIO_ONLY = 2,
243 };
244 
245 enum PRIORITY_TYPE {
248  PRIORITY_HIGH = 50,
251  PRIORITY_NORMAL = 100,
252 };
253 
254 struct RtcConnection;
255 
259 {
263  uid_t uid;
314  QUALITY_ADAPT_INDICATION qualityAdaptIndication;
324  VIDEO_CODEC_TYPE codecType;
328  unsigned short txPacketLossRate;
331  CAPTURE_BRIGHTNESS_LEVEL_TYPE captureBrightnessLevel;
341 };
342 
347 {
351  uid_t uid;
355  int quality;
411  int mosValue;
420  uint32_t plcCount;
421 
442  unsigned int rxAudioBytes;
443 
444  RemoteAudioStats() :
445  uid(0),
446  quality(0),
449  audioLossRate(0),
450  numChannels(0),
452  receivedBitrate(0),
453  totalFrozenTime(0),
454  frozenRate(0),
455  mosValue(0),
457  plcCount(0),
458  totalActiveTime(0),
459  publishDuration(0),
460  qoeQuality(0),
462  rxAudioBytes(0) {}
463 };
464 
472  uid_t uid;
480  int delay __deprecated;
484  int e2eDelay;
488  int width;
492  int height;
512  VIDEO_STREAM_TYPE rxStreamType;
544  int mosValue;
548  unsigned int rxVideoBytes;
549 };
550 
552  struct Region {
555  uid_t uid;
558  double x; // [0,1]
561  double y; // [0,1]
565  double width; // [0,1]
567  double height; // [0,1]
571  int zOrder; // optional, [0, 100] //0 (default): bottom most, 100: top most
572 
576  double alpha;
577 
578  media::base::RENDER_MODE_TYPE
579  renderMode; // RENDER_MODE_HIDDEN: Crop, RENDER_MODE_FIT: Zoom to fit
580 
581  Region()
582  : uid(0),
583  x(0),
584  y(0),
585  width(0),
586  height(0),
587  zOrder(0),
588  alpha(1.0),
589  renderMode(media::base::RENDER_MODE_HIDDEN) {}
590  };
591 
604  const char* backgroundColor; // e.g. "#C0C0C0" in RGB
608  const Region* regions;
614  const char* appData;
618 
620  : canvasWidth(0),
621  canvasHeight(0),
622  backgroundColor(NULL),
623  regions(NULL),
624  regionCount(0),
625  appData(NULL),
626  appDataLength(0) {}
627 };
628 
635  int width;
639  int height;
643  int videoGop;
655  AUDIO_SAMPLE_RATE_TYPE audioSampleRate;
663 
664  // width / height default set to 0 means pull the stream with its original
665  // resolution
667  : width(0),
668  height(0),
669  videoGop(30),
670  videoFramerate(15),
671  videoBitrate(400),
672  audioSampleRate(AUDIO_SAMPLE_RATE_48000),
673  audioBitrate(48),
674  audioChannels(1) {}
675 };
676 
679 enum RTMP_STREAM_LIFE_CYCLE_TYPE {
682  RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL = 1,
685  RTMP_STREAM_LIFE_CYCLE_BIND2OWNER = 2,
686 };
687 
694  int width;
698  int height;
706  int bitrate;
720  bool owner;
729  const char* injectStreamUrl;
733  const char* publishUrl;
737  const char* rawStreamUrl;
740  const char* extraInfo;
741 
743  : width(640),
744  height(360),
745  framerate(15),
746  bitrate(500),
747  defaultLayout(1),
748  lifecycle(RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL),
749  owner(true),
752  injectStreamUrl(NULL),
753  publishUrl(NULL),
754  rawStreamUrl(NULL),
755  extraInfo(NULL) {}
756 };
757 
761 enum CAMERA_DIRECTION {
763  CAMERA_REAR = 0,
765  CAMERA_FRONT = 1,
766 };
767 
772 enum CLOUD_PROXY_TYPE {
775  NONE_PROXY = 0,
778  UDP_PROXY = 1,
780 
782  TCP_PROXY = 2,
784 };
785 
789 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
790 
793  CAMERA_DIRECTION cameraDirection;
794 #else
795 
796  char deviceId[MAX_DEVICE_ID_LENGTH];
797 #endif
798 
800  bool followEncodeDimensionRatio;
801  CameraCapturerConfiguration() : followEncodeDimensionRatio(true) {
802 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
803  cameraDirection = CAMERA_REAR;
804 #else
805  memset(deviceId, 0, sizeof(deviceId));
806 #endif
807  }
808 };
818  bool isCaptureWindow; // true - capture window, false - capture display
822  uint32_t displayId;
827  Rectangle screenRect; //Windows only
832  view_t windowId;
845 
847 };
848 
849 #if (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
850 
852 struct SIZE {
855  int width;
858  int height;
859 
860  SIZE() : width(0), height(0) {}
861  SIZE(int ww, int hh) : width(ww), height(hh) {}
862 };
863 #endif
864 
865 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
866 
871 struct ThumbImageBuffer {
875  const char* buffer;
879  unsigned int length;
883  unsigned int width;
887  unsigned int height;
888  ThumbImageBuffer() : buffer(nullptr), length(0), width(0), height(0) {}
889 };
893 enum ScreenCaptureSourceType {
895  ScreenCaptureSourceType_Unknown = -1,
897  ScreenCaptureSourceType_Window = 0,
899  ScreenCaptureSourceType_Screen = 1,
901  ScreenCaptureSourceType_Custom = 2,
902 };
904 struct ScreenCaptureSourceInfo {
908  ScreenCaptureSourceType type;
912  view_t sourceId;
916  const char* sourceName;
920  ThumbImageBuffer thumbImage;
924  ThumbImageBuffer iconImage;
928  const char* processPath;
932  const char* sourceTitle;
938  bool primaryMonitor;
939  bool isOccluded;
943  Rectangle position;
944 #if defined(_WIN32)
945 
948  bool minimizeWindow;
955  view_t sourceDisplayId;
956  ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(nullptr), sourceName(nullptr),
957  processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false), minimizeWindow(false), sourceDisplayId((view_t)-2) {}
958 #else
959  ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(nullptr), sourceName(nullptr), processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false) {}
960 #endif
961 };
965 class IScreenCaptureSourceList {
966  protected:
967  virtual ~IScreenCaptureSourceList(){};
968 
969  public:
975  virtual unsigned int getCount() = 0;
985  virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index) = 0;
992  virtual void release() = 0;
993 };
994 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
995 
1003 
1005  ~AdvancedAudioOptions() {}
1006 };
1007 
1009  const char* imageUrl;
1010  int fps;
1011  VIDEO_MIRROR_MODE_TYPE mirrorMode;
1012  ImageTrackOptions() : imageUrl(NULL), fps(1), mirrorMode(VIDEO_MIRROR_MODE_DISABLED) {}
1013 };
1014 
1054 
1055  #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1056 
1061  Optional<bool> publishScreenCaptureVideo;
1067  Optional<bool> publishScreenCaptureAudio;
1068  #else
1069 
1093  #endif
1094 
1228 
1229  ChannelMediaOptions() {}
1230  ~ChannelMediaOptions() {}
1231 
1232  void SetAll(const ChannelMediaOptions& change) {
1233 #define SET_FROM(X) SetFrom(&X, change.X)
1234 
1235  SET_FROM(publishCameraTrack);
1236  SET_FROM(publishSecondaryCameraTrack);
1237  SET_FROM(publishThirdCameraTrack);
1238  SET_FROM(publishFourthCameraTrack);
1239  SET_FROM(publishMicrophoneTrack);
1240 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1241  SET_FROM(publishScreenCaptureVideo);
1242  SET_FROM(publishScreenCaptureAudio);
1243 #else
1244  SET_FROM(publishScreenTrack);
1245  SET_FROM(publishSecondaryScreenTrack);
1246  SET_FROM(publishThirdScreenTrack);
1247  SET_FROM(publishFourthScreenTrack);
1248 #endif
1249  SET_FROM(publishTranscodedVideoTrack);
1250  SET_FROM(publishCustomAudioTrack);
1251  SET_FROM(publishCustomAudioTrackId);
1252  SET_FROM(publishCustomVideoTrack);
1253  SET_FROM(publishEncodedVideoTrack);
1254  SET_FROM(publishMediaPlayerAudioTrack);
1255  SET_FROM(publishMediaPlayerVideoTrack);
1256  SET_FROM(autoSubscribeAudio);
1257  SET_FROM(autoSubscribeVideo);
1258  SET_FROM(publishMediaPlayerId);
1260  SET_FROM(clientRoleType);
1261  SET_FROM(audienceLatencyLevel);
1262  SET_FROM(defaultVideoStreamType);
1263  SET_FROM(channelProfile);
1264  SET_FROM(audioDelayMs);
1265  SET_FROM(mediaPlayerAudioDelayMs);
1266  SET_FROM(token);
1267  SET_FROM(enableBuiltInMediaEncryption);
1268  SET_FROM(publishRhythmPlayerTrack);
1269  SET_FROM(customVideoTrackId);
1270  SET_FROM(isAudioFilterable);
1271  SET_FROM(isInteractiveAudience);
1272 #undef SET_FROM
1273  }
1274 
1275  bool operator==(const ChannelMediaOptions& o) const {
1276 #define BEGIN_COMPARE() bool b = true
1277 #define ADD_COMPARE(X) b = (b && (X == o.X))
1278 #define END_COMPARE()
1279 
1280  BEGIN_COMPARE();
1281  ADD_COMPARE(publishCameraTrack);
1282  ADD_COMPARE(publishSecondaryCameraTrack);
1283  ADD_COMPARE(publishThirdCameraTrack);
1284  ADD_COMPARE(publishFourthCameraTrack);
1285  ADD_COMPARE(publishMicrophoneTrack);
1286 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1287  ADD_COMPARE(publishScreenCaptureVideo);
1288  ADD_COMPARE(publishScreenCaptureAudio);
1289 #else
1290  ADD_COMPARE(publishScreenTrack);
1291  ADD_COMPARE(publishSecondaryScreenTrack);
1292  ADD_COMPARE(publishThirdScreenTrack);
1293  ADD_COMPARE(publishFourthScreenTrack);
1294 #endif
1295  ADD_COMPARE(publishTranscodedVideoTrack);
1296  ADD_COMPARE(publishCustomAudioTrack);
1297  ADD_COMPARE(publishCustomAudioTrackId);
1298  ADD_COMPARE(publishCustomVideoTrack);
1299  ADD_COMPARE(publishEncodedVideoTrack);
1300  ADD_COMPARE(publishMediaPlayerAudioTrack);
1301  ADD_COMPARE(publishMediaPlayerVideoTrack);
1302  ADD_COMPARE(autoSubscribeAudio);
1303  ADD_COMPARE(autoSubscribeVideo);
1304  ADD_COMPARE(publishMediaPlayerId);
1305  ADD_COMPARE(enableAudioRecordingOrPlayout);
1306  ADD_COMPARE(clientRoleType);
1307  ADD_COMPARE(audienceLatencyLevel);
1308  ADD_COMPARE(defaultVideoStreamType);
1309  ADD_COMPARE(channelProfile);
1310  ADD_COMPARE(audioDelayMs);
1311  ADD_COMPARE(mediaPlayerAudioDelayMs);
1312  ADD_COMPARE(token);
1313  ADD_COMPARE(enableBuiltInMediaEncryption);
1314  ADD_COMPARE(publishRhythmPlayerTrack);
1315  ADD_COMPARE(customVideoTrackId);
1316  ADD_COMPARE(isAudioFilterable);
1317  ADD_COMPARE(isInteractiveAudience);
1318  END_COMPARE();
1319 
1320 #undef BEGIN_COMPARE
1321 #undef ADD_COMPARE
1322 #undef END_COMPARE
1323  return b;
1324  }
1325 
1326  ChannelMediaOptions& operator=(const ChannelMediaOptions& replace) {
1327  if (this != &replace) {
1328 #define REPLACE_BY(X) ReplaceBy(&X, replace.X)
1329 
1330  REPLACE_BY(publishCameraTrack);
1331  REPLACE_BY(publishSecondaryCameraTrack);
1332  REPLACE_BY(publishThirdCameraTrack);
1333  REPLACE_BY(publishFourthCameraTrack);
1334  REPLACE_BY(publishMicrophoneTrack);
1335 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1336  REPLACE_BY(publishScreenCaptureVideo);
1337  REPLACE_BY(publishScreenCaptureAudio);
1338 #else
1339  REPLACE_BY(publishScreenTrack);
1340  REPLACE_BY(publishSecondaryScreenTrack);
1341  REPLACE_BY(publishThirdScreenTrack);
1342  REPLACE_BY(publishFourthScreenTrack);
1343 #endif
1344  REPLACE_BY(publishTranscodedVideoTrack);
1345  REPLACE_BY(publishCustomAudioTrack);
1346  REPLACE_BY(publishCustomAudioTrackId);
1347  REPLACE_BY(publishCustomVideoTrack);
1348  REPLACE_BY(publishEncodedVideoTrack);
1349  REPLACE_BY(publishMediaPlayerAudioTrack);
1350  REPLACE_BY(publishMediaPlayerVideoTrack);
1351  REPLACE_BY(autoSubscribeAudio);
1352  REPLACE_BY(autoSubscribeVideo);
1353  REPLACE_BY(publishMediaPlayerId);
1354  REPLACE_BY(enableAudioRecordingOrPlayout);
1355  REPLACE_BY(clientRoleType);
1356  REPLACE_BY(audienceLatencyLevel);
1357  REPLACE_BY(defaultVideoStreamType);
1358  REPLACE_BY(channelProfile);
1359  REPLACE_BY(audioDelayMs);
1360  REPLACE_BY(mediaPlayerAudioDelayMs);
1361  REPLACE_BY(token);
1362  REPLACE_BY(enableBuiltInMediaEncryption);
1363  REPLACE_BY(publishRhythmPlayerTrack);
1364  REPLACE_BY(customVideoTrackId);
1365  REPLACE_BY(isAudioFilterable);
1366  REPLACE_BY(isInteractiveAudience);
1367 #undef REPLACE_BY
1368  }
1369  return *this;
1370  }
1371 };
1372 
1373 enum PROXY_TYPE {
1376  NONE_PROXY_TYPE = 0,
1379  UDP_PROXY_TYPE = 1,
1382  TCP_PROXY_TYPE = 2,
1385  LOCAL_PROXY_TYPE = 3,
1388  TCP_PROXY_AUTO_FALLBACK_TYPE = 4,
1391  HTTP_PROXY_TYPE = 5,
1394  HTTPS_PROXY_TYPE = 6,
1395 };
1396 
1419 
1421 };
1422 
1434  public:
1435  virtual ~IRtcEngineEventHandler() {}
1436 
1437  virtual const char* eventHandlerType() const { return "event_handler"; }
1438 
1448  virtual void onJoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1449  (void)channel;
1450  (void)uid;
1451  (void)elapsed;
1452  }
1453 
1464  virtual void onRejoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1465  (void)channel;
1466  (void)uid;
1467  (void)elapsed;
1468  }
1469 
1477  virtual void onProxyConnected(const char* channel, uid_t uid, PROXY_TYPE proxyType, const char* localProxyIp, int elapsed) {
1478  (void)channel;
1479  (void)uid;
1480  (void)proxyType;
1481  (void)localProxyIp;
1482  (void)elapsed;
1483  }
1484 
1490  virtual void onError(int err, const char* msg) {
1491  (void)err;
1492  (void)msg;
1493  }
1494 
1510  virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay,
1511  unsigned short lost) __deprecated {
1512  (void)uid;
1513  (void)quality;
1514  (void)delay;
1515  (void)lost;
1516  }
1517 
1523  virtual void onLastmileProbeResult(const LastmileProbeResult& result) {
1524  (void)result;
1525  }
1526 
1553  virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, unsigned int speakerNumber,
1554  int totalVolume) {
1555  (void)speakers;
1556  (void)speakerNumber;
1557  (void)totalVolume;
1558  }
1559 
1568  virtual void onLeaveChannel(const RtcStats& stats) { (void)stats; }
1569 
1577  virtual void onRtcStats(const RtcStats& stats) { (void)stats; }
1578 
1592  virtual void onAudioDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1593  (void)deviceId;
1594  (void)deviceType;
1595  (void)deviceState;
1596  }
1597 
1604  virtual void onAudioMixingPositionChanged(int64_t position) {}
1605 
1612  virtual void onAudioMixingFinished() __deprecated {}
1620  virtual void onAudioEffectFinished(int soundId) {}
1621 
1631  virtual void onVideoDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1632  (void)deviceId;
1633  (void)deviceType;
1634  (void)deviceState;
1635  }
1636 
1659  virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) {
1660  (void)uid;
1661  (void)txQuality;
1662  (void)rxQuality;
1663  }
1664 
1671  virtual void onIntraRequestReceived() {}
1672 
1683  virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo& info) {
1684  (void)info;
1685  }
1686 
1695  (void)info;
1696  }
1697 
1710  virtual void onLastmileQuality(int quality) { (void)quality; }
1711 
1722  virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed) {
1723  (void)source;
1724  (void)width;
1725  (void)height;
1726  (void)elapsed;
1727  }
1728 
1739  virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed) {
1740  (void)source;
1741  (void)elapsed;
1742  }
1743 
1760  virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) __deprecated {
1761  (void)uid;
1762  (void)width;
1763  (void)height;
1764  (void)elapsed;
1765  }
1766 
1775  virtual void onVideoSizeChanged(VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation) {
1776  (void)uid;
1777  (void)width;
1778  (void)height;
1779  (void)rotation;
1780  }
1781 
1808  virtual void onLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_ERROR error) {
1809  (void)source;
1810  (void)state;
1811  (void)error;
1812  }
1813 
1825  virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) {
1826  (void)uid;
1827  (void)state;
1828  (void)reason;
1829  (void)elapsed;
1830  }
1831 
1839  virtual void onFirstRemoteVideoFrame(uid_t userId, int width, int height, int elapsed) {
1840  (void)userId;
1841  (void)width;
1842  (void)height;
1843  (void)elapsed;
1844  }
1845 
1865  virtual void onUserJoined(uid_t uid, int elapsed) {
1866  (void)uid;
1867  (void)elapsed;
1868  }
1869 
1884  virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) {
1885  (void)uid;
1886  (void)reason;
1887  }
1888 
1901  virtual void onUserMuteAudio(uid_t uid, bool muted) {
1902  (void)uid;
1903  (void)muted;
1904  }
1905 
1920  virtual void onUserMuteVideo(uid_t userId, bool muted) {
1921  (void)userId;
1922  (void)muted;
1923  }
1924 
1937  virtual void onUserEnableVideo(uid_t uid, bool enabled) {
1938  (void)uid;
1939  (void)enabled;
1940  }
1941 
1947  virtual void onUserStateChanged(uid_t uid, uint32_t state) {
1948  (void)uid;
1949  (void)state;
1950  }
1951 
1962  virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) __deprecated {
1963  (void)uid;
1964  (void)enabled;
1965  }
1966 
1974  virtual void onLocalAudioStats(const LocalAudioStats& stats) {
1975  (void)stats;
1976  }
1977 
1985  virtual void onRemoteAudioStats(const RemoteAudioStats& stats) {
1986  (void)stats;
1987  }
1988 
2002  virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats& stats) {
2003  (void)source;
2004  (void)stats;
2005  }
2006 
2015  virtual void onRemoteVideoStats(const RemoteVideoStats& stats) {
2016  (void)stats;
2017  }
2023  virtual void onCameraReady() __deprecated {}
2034  virtual void onCameraFocusAreaChanged(int x, int y, int width, int height) {
2035  (void)x;
2036  (void)y;
2037  (void)width;
2038  (void)height;
2039  }
2048  virtual void onCameraExposureAreaChanged(int x, int y, int width, int height) {
2049  (void)x;
2050  (void)y;
2051  (void)width;
2052  (void)height;
2053  }
2054 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
2055 
2085  virtual void onFacePositionChanged(int imageWidth, int imageHeight,
2086  const Rectangle* vecRectangle, const int* vecDistance,
2087  int numFaces) {
2088  (void) imageWidth;
2089  (void) imageHeight;
2090  (void) vecRectangle;
2091  (void) vecDistance;
2092  (void) numFaces;
2093  }
2094 #endif
2095 
2102  virtual void onVideoStopped() __deprecated {}
2103 
2111  virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) {
2112  (void)state;
2113  (void)reason;
2114  }
2115 
2124  virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_ERROR_TYPE errorCode) {
2125  (void)state;
2126  (void)errorCode;
2127  }
2128 
2137  virtual void onConnectionLost() {}
2138 
2150  virtual void onConnectionInterrupted() __deprecated {}
2151 
2155  virtual void onConnectionBanned() __deprecated {}
2156 
2168  virtual void onStreamMessage(uid_t userId, int streamId, const char* data, size_t length, uint64_t sentTs) {
2169  (void)userId;
2170  (void)streamId;
2171  (void)data;
2172  (void)length;
2173  (void)sentTs;
2174  }
2175 
2188  virtual void onStreamMessageError(uid_t userId, int streamId, int code, int missed, int cached) {
2189  (void)userId;
2190  (void)streamId;
2191  (void)code;
2192  (void)missed;
2193  (void)cached;
2194  }
2195 
2205  virtual void onRequestToken() {}
2206 
2218  virtual void onTokenPrivilegeWillExpire(const char* token) {
2219  (void)token;
2220  }
2221 
2227  virtual void onLicenseValidationFailure(LICENSE_ERROR_TYPE error) {
2228  (void)error;
2229  }
2230 
2241  virtual void onFirstLocalAudioFramePublished(int elapsed) {
2242  (void)elapsed;
2243  }
2244 
2252  virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) __deprecated {
2253  (void)uid;
2254  (void)elapsed;
2255  }
2256 
2273  virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) __deprecated {
2274  (void)uid;
2275  (void)elapsed;
2276  }
2277 
2292  virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error) {
2293  (void)state;
2294  (void)error;
2295  }
2296 
2313  virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) {
2314  (void)uid;
2315  (void)state;
2316  (void)reason;
2317  (void)elapsed;
2318  }
2319 
2333  virtual void onActiveSpeaker(uid_t userId) { (void)userId; }
2338  virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result) { (void)result; }
2356  virtual void onSnapshotTaken(uid_t uid, const char* filePath, int width, int height, int errCode) {
2357  (void)uid;
2358  (void)filePath;
2359  (void)width;
2360  (void)height;
2361  (void)errCode;
2362  }
2370  virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions& newRoleOptions) {
2371  (void)oldRole;
2372  (void)newRole;
2373  (void)newRoleOptions;
2374  }
2382  virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole) {
2383  (void)reason;
2384  (void)currentRole;
2385  }
2393  virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) {
2394  (void)deviceType;
2395  (void)volume;
2396  (void)muted;
2397  }
2398 
2410  virtual void onRtmpStreamingStateChanged(const char* url, RTMP_STREAM_PUBLISH_STATE state,
2411  RTMP_STREAM_PUBLISH_ERROR_TYPE errCode) {
2412  (void)url;
2413  (void)state;
2414  (void)errCode;
2415  }
2416 
2422  virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode) {
2423  (void)url;
2424  (void)eventCode;
2425  }
2426 
2437  virtual void onTranscodingUpdated() {}
2438 
2452  virtual void onAudioRoutingChanged(int routing) { (void)routing; }
2453 
2454 
2486  virtual void onChannelMediaRelayStateChanged(int state, int code) {
2487  (void)state;
2488  (void)code;
2489  }
2490 
2514  virtual void onChannelMediaRelayEvent(int code) __deprecated {
2515  (void)code;
2516  }
2530  virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) {
2531  (void)isFallbackOrRecover;
2532  }
2550  virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover) {
2551  (void)uid;
2552  (void)isFallbackOrRecover;
2553  }
2554 
2569  virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost,
2570  unsigned short rxKBitRate) __deprecated {
2571  (void)uid;
2572  (void)delay;
2573  (void)lost;
2574  (void)rxKBitRate;
2575  }
2576 
2594  virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost,
2595  unsigned short rxKBitRate) __deprecated {
2596  (void)uid;
2597  (void)delay;
2598  (void)lost;
2599  (void)rxKBitRate;
2600  }
2601 
2611  CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) {
2612  (void)state;
2613  (void)reason;
2614  }
2615 
2622  virtual void onWlAccMessage(WLACC_MESSAGE_REASON reason, WLACC_SUGGEST_ACTION action, const char* wlAccMsg) {
2623  (void)reason;
2624  (void)action;
2625  (void)wlAccMsg;
2626  }
2627 
2633  virtual void onWlAccStats(WlAccStats currentStats, WlAccStats averageStats) {
2634  (void)currentStats;
2635  (void)averageStats;
2636  }
2637 
2647  virtual void onNetworkTypeChanged(NETWORK_TYPE type) {
2648  (void)type;
2649  }
2650 
2658  virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) {
2659  (void)errorType;
2660  }
2661 
2671  virtual void onPermissionError(PERMISSION_TYPE permissionType) {
2672  (void)permissionType;
2673  }
2674 
2684  virtual void onLocalUserRegistered(uid_t uid, const char* userAccount) {
2685  (void)uid;
2686  (void)userAccount;
2687  }
2688 
2697  virtual void onUserInfoUpdated(uid_t uid, const UserInfo& info) {
2698  (void)uid;
2699  (void)info;
2700  }
2707  virtual void onUploadLogResult(const char* requestId, bool success, UPLOAD_ERROR_REASON reason) {
2708  (void)requestId;
2709  (void)success;
2710  (void)reason;
2711  }
2712 
2722  virtual void onAudioSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
2723  (void)channel;
2724  (void)uid;
2725  (void)oldState;
2726  (void)newState;
2727  (void)elapseSinceLastState;
2728  }
2729 
2739  virtual void onVideoSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
2740  (void)channel;
2741  (void)uid;
2742  (void)oldState;
2743  (void)newState;
2744  (void)elapseSinceLastState;
2745  }
2746 
2755  virtual void onAudioPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
2756  (void)channel;
2757  (void)oldState;
2758  (void)newState;
2759  (void)elapseSinceLastState;
2760  }
2761 
2771  virtual void onVideoPublishStateChanged(VIDEO_SOURCE_TYPE source, const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
2772  (void)source;
2773  (void)channel;
2774  (void)oldState;
2775  (void)newState;
2776  (void)elapseSinceLastState;
2777  }
2788  virtual void onExtensionEvent(const char* provider, const char* extension, const char* key, const char* value) {
2789  (void)provider;
2790  (void)extension;
2791  (void)key;
2792  (void)value;
2793  }
2802  virtual void onExtensionStarted(const char* provider, const char* extension) {
2803  (void)provider;
2804  (void)extension;
2805  }
2814  virtual void onExtensionStopped(const char* provider, const char* extension) {
2815  (void)provider;
2816  (void)extension;
2817  }
2829  virtual void onExtensionError(const char* provider, const char* extension, int error, const char* message) {
2830  (void)provider;
2831  (void)extension;
2832  (void)error;
2833  (void)message;
2834  }
2841  virtual void onUserAccountUpdated(uid_t uid, const char* userAccount){
2842  (void)uid;
2843  (void)userAccount;
2844  }
2845 
2852  virtual void onLocalVideoTranscoderError(const TranscodingVideoStream& stream, VIDEO_TRANSCODER_ERROR error){
2853  (void)stream;
2854  (void)error;
2855  }
2856 
2864  virtual void onVideoRenderingTracingResult(uid_t uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo) {
2865  (void)uid;
2866  (void)currentEvent;
2867  (void)tracingInfo;
2868  }
2869 };
2870 
2875  public:
2876  virtual ~IVideoDeviceCollection() {}
2877 
2883  virtual int getCount() = 0;
2884 
2894  virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2895 
2906  virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH],
2907  char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2908 
2912  virtual void release() = 0;
2913 };
2914 
2919  public:
2920  virtual ~IVideoDeviceManager() {}
2933 
2944  virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2945 
2954  virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2955 
2956 #if defined(_WIN32) || (defined(__linux__) && !defined(__ANDROID__)) || \
2957  (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
2958 
2975  virtual int numberOfCapabilities(const char* deviceIdUTF8) = 0;
2976 
2994  virtual int getCapability(const char* deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat& capability) = 0;
2995 #endif
2996 
3009  virtual int startDeviceTest(view_t hwnd) = 0;
3010 
3017  virtual int stopDeviceTest() = 0;
3018 
3022  virtual void release() = 0;
3023 };
3024 
3025 
3041  const char* appId;
3047  void* context;
3051  CHANNEL_PROFILE_TYPE channelProfile;
3052 
3056  const char* license;
3057 
3065  AUDIO_SCENARIO_TYPE audioScenario;
3074  unsigned int areaCode;
3075 
3092 
3097 
3106 
3113 
3120 
3122  : eventHandler(NULL), appId(NULL), context(NULL),
3123  channelProfile(CHANNEL_PROFILE_LIVE_BROADCASTING),
3124  license(NULL),
3125  audioScenario(AUDIO_SCENARIO_DEFAULT),
3126  areaCode(AREA_CODE_GLOB),
3128 };
3129 
3133 public:
3139  {
3146  };
3151  {
3152  INVALID_METADATA_SIZE_IN_BYTE = -1,
3153  DEFAULT_METADATA_SIZE_IN_BYTE = 512,
3154  MAX_METADATA_SIZE_IN_BYTE = 1024
3155  };
3156 
3159  struct Metadata
3160  {
3165  unsigned int uid;
3168  unsigned int size;
3171  unsigned char *buffer;
3175  long long timeStampMs;
3176  };
3177 
3178  virtual ~IMetadataObserver() {}
3179 
3190  virtual int getMaxMetadataSize() { return DEFAULT_METADATA_SIZE_IN_BYTE; }
3191 
3202  virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type) = 0;
3203 
3211  virtual void onMetadataReceived(const Metadata &metadata) = 0;
3212 };
3213 
3214 // The error codes for media streaming
3215 // GENERATED_JAVA_ENUM_PACKAGE: io.agora.streaming
3216 enum DIRECT_CDN_STREAMING_ERROR {
3217  // No error occurs.
3218  DIRECT_CDN_STREAMING_ERROR_OK = 0,
3219  // A general error occurs (no specified reason).
3220  DIRECT_CDN_STREAMING_ERROR_FAILED = 1,
3221  // Audio publication error.
3222  DIRECT_CDN_STREAMING_ERROR_AUDIO_PUBLICATION = 2,
3223  // Video publication error.
3224  DIRECT_CDN_STREAMING_ERROR_VIDEO_PUBLICATION = 3,
3225 
3226  DIRECT_CDN_STREAMING_ERROR_NET_CONNECT = 4,
3227  // Already exist stream name.
3228  DIRECT_CDN_STREAMING_ERROR_BAD_NAME = 5,
3229 };
3230 
3231 // The connection state of media streaming
3232 // GENERATED_JAVA_ENUM_PACKAGE: io.agora.streaming
3233 enum DIRECT_CDN_STREAMING_STATE {
3234 
3235  DIRECT_CDN_STREAMING_STATE_IDLE = 0,
3236 
3237  DIRECT_CDN_STREAMING_STATE_RUNNING = 1,
3238 
3239  DIRECT_CDN_STREAMING_STATE_STOPPED = 2,
3240 
3241  DIRECT_CDN_STREAMING_STATE_FAILED = 3,
3242 
3243  DIRECT_CDN_STREAMING_STATE_RECOVERING = 4,
3244 };
3245 
3254 
3259 
3263  int fps;
3264 
3269 
3274 };
3275 
3281  public:
3282  virtual ~IDirectCdnStreamingEventHandler() {}
3283 
3290  virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_ERROR error, const char* message) {
3291  (void)state;
3292  (void)error;
3293  (void)message;
3294  };
3295 
3296  virtual void onDirectCdnStreamingStats(const DirectCdnStreamingStats& stats) {
3297  (void)stats;
3298  };
3299 };
3300 
3345 
3348 
3349  void SetAll(const DirectCdnStreamingMediaOptions& change) {
3350 #define SET_FROM(X) SetFrom(&X, change.X)
3351  SET_FROM(publishCameraTrack);
3352  SET_FROM(publishMicrophoneTrack);
3353  SET_FROM(publishCustomAudioTrack);
3354  SET_FROM(publishCustomVideoTrack);
3355  SET_FROM(publishMediaPlayerAudioTrack);
3356  SET_FROM(publishMediaPlayerId);
3357  SET_FROM(customVideoTrackId);
3358 #undef SET_FROM
3359  }
3360 
3361  bool operator==(const DirectCdnStreamingMediaOptions& o) const {
3362 #define BEGIN_COMPARE() bool b = true
3363 #define ADD_COMPARE(X) b = (b && (X == o.X))
3364 #define END_COMPARE()
3365 
3366  BEGIN_COMPARE();
3367  ADD_COMPARE(publishCameraTrack);
3368  ADD_COMPARE(publishMicrophoneTrack);
3369  ADD_COMPARE(publishCustomAudioTrack);
3370  ADD_COMPARE(publishCustomVideoTrack);
3371  ADD_COMPARE(publishMediaPlayerAudioTrack);
3372  ADD_COMPARE(customVideoTrackId);
3373  ADD_COMPARE(publishMediaPlayerId);
3374  END_COMPARE();
3375 
3376 #undef BEGIN_COMPARE
3377 #undef ADD_COMPARE
3378 #undef END_COMPARE
3379  return b;
3380  }
3381 
3382  DirectCdnStreamingMediaOptions& operator=(const DirectCdnStreamingMediaOptions& replace) {
3383  if (this != &replace) {
3384 #define REPLACE_BY(X) ReplaceBy(&X, replace.X)
3385 
3386  REPLACE_BY(publishCameraTrack);
3387  REPLACE_BY(publishMicrophoneTrack);
3388  REPLACE_BY(publishCustomAudioTrack);
3389  REPLACE_BY(publishCustomVideoTrack);
3390  REPLACE_BY(publishMediaPlayerAudioTrack);
3391  REPLACE_BY(customVideoTrackId);
3392  REPLACE_BY(publishMediaPlayerId);
3393 #undef REPLACE_BY
3394  }
3395  return *this;
3396  }
3397 };
3398 
3406  agora::media::MEDIA_SOURCE_TYPE mediaSourceType;
3407 
3413  uid_t remoteUid;
3414 
3426  const char* channelId;
3427 
3431  uid_t localUid;
3432 
3433  ExtensionInfo()
3434  : mediaSourceType(agora::media::UNKNOWN_MEDIA_SOURCE),
3435  remoteUid(0),
3436  channelId(NULL),
3437  localUid(0) {}
3438 };
3439 
3440 class IMediaPlayer;
3441 class IMediaRecorder;
3442 
3451  public:
3476  virtual void release(bool sync = false) = 0;
3477 
3494  virtual int initialize(const RtcEngineContext& context) = 0;
3495 
3505  virtual int queryInterface(INTERFACE_ID_TYPE iid, void** inter) = 0;
3506 
3507 
3513  virtual const char* getVersion(int* build) = 0;
3514 
3520  virtual const char* getErrorDescription(int code) = 0;
3521 
3531  virtual int queryCodecCapability(CodecCapInfo* codecInfo, int& size) = 0;
3532 
3571  virtual int preloadChannel(const char* token, const char* channelId, uid_t uid) = 0;
3572 
3613  virtual int preloadChannel(const char* token, const char* channelId, const char* userAccount) = 0;
3614 
3634  virtual int updatePreloadChannelToken(const char* token) = 0;
3635 
3695  virtual int joinChannel(const char* token, const char* channelId, const char* info,
3696  uid_t uid) = 0;
3697 
3765  virtual int joinChannel(const char* token, const char* channelId, uid_t uid,
3766  const ChannelMediaOptions& options) = 0;
3767 
3776  virtual int updateChannelMediaOptions(const ChannelMediaOptions& options) = 0;
3777 
3795  virtual int leaveChannel() = 0;
3796 
3816  virtual int leaveChannel(const LeaveChannelOptions& options) = 0;
3817 
3834  virtual int renewToken(const char* token) = 0;
3835 
3854  virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile) = 0;
3855 
3879  virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0;
3880 
3902  virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0;
3903 
3923  virtual int startEchoTest() = 0;
3924 
3941  virtual int startEchoTest(int intervalInSeconds) = 0;
3942 
3951  virtual int startEchoTest(const EchoTestConfiguration& config) = 0;
3952 
3959  virtual int stopEchoTest() = 0;
3960 
3961 #if defined(__APPLE__) && TARGET_OS_IOS
3962 
3971  virtual int enableMultiCamera(bool enabled, const CameraCapturerConfiguration& config) = 0;
3972 #endif
3973 
3988  virtual int enableVideo() = 0;
3989 
3999  virtual int disableVideo() = 0;
4000 
4012  virtual int startPreview() = 0;
4013 
4021  virtual int startPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
4022 
4030  virtual int stopPreview() = 0;
4031 
4039  virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
4040 
4074  virtual int startLastmileProbeTest(const LastmileProbeConfig& config) = 0;
4075 
4077  virtual int stopLastmileProbeTest() = 0;
4078 
4096 
4106  virtual int setBeautyEffectOptions(bool enabled, const BeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4133  virtual int setLowlightEnhanceOptions(bool enabled, const LowlightEnhanceOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4160  virtual int setVideoDenoiserOptions(bool enabled, const VideoDenoiserOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4187  virtual int setColorEnhanceOptions(bool enabled, const ColorEnhanceOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4188 
4221  virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4222 
4245  virtual int setupRemoteVideo(const VideoCanvas& canvas) = 0;
4246 
4263  virtual int setupLocalVideo(const VideoCanvas& canvas) = 0;
4264 
4283  virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType) = 0;
4284 
4298  virtual int enableAudio() = 0;
4299 
4311  virtual int disableAudio() = 0;
4312 
4334  virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) __deprecated = 0;
4335 
4351  virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile) = 0;
4360  virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario) = 0;
4383  virtual int enableLocalAudio(bool enabled) = 0;
4384 
4410  virtual int muteLocalAudioStream(bool mute) = 0;
4411 
4453  virtual int muteAllRemoteAudioStreams(bool mute) = 0;
4454 
4476  virtual int setDefaultMuteAllRemoteAudioStreams(bool mute) __deprecated = 0;
4477 
4494  virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0;
4495 
4507  virtual int muteLocalVideoStream(bool mute) = 0;
4508 
4533  virtual int enableLocalVideo(bool enabled) = 0;
4534 
4574  virtual int muteAllRemoteVideoStreams(bool mute) = 0;
4575 
4597  virtual int setDefaultMuteAllRemoteVideoStreams(bool mute) __deprecated = 0;
4598 
4615  virtual int muteRemoteVideoStream(uid_t uid, bool mute) = 0;
4616 
4634  virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0;
4635 
4646  virtual int setRemoteVideoSubscriptionOptions(uid_t uid, const VideoSubscriptionOptions &options) = 0;
4647 
4657  virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType) = 0;
4658 
4673  virtual int setSubscribeAudioBlocklist(uid_t* uidList, int uidNumber) = 0;
4674 
4691  virtual int setSubscribeAudioAllowlist(uid_t* uidList, int uidNumber) = 0;
4692 
4707  virtual int setSubscribeVideoBlocklist(uid_t* uidList, int uidNumber) = 0;
4708 
4725  virtual int setSubscribeVideoAllowlist(uid_t* uidList, int uidNumber) = 0;
4726 
4753  virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad) = 0;
4754 
4775  virtual int startAudioRecording(const char* filePath,
4776  AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
4798  virtual int startAudioRecording(const char* filePath,
4799  int sampleRate,
4800  AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
4801 
4820  virtual int startAudioRecording(const AudioRecordingConfiguration& config) = 0;
4821 
4828 
4837  virtual int stopAudioRecording() = 0;
4838 
4850 
4862  virtual int destroyMediaPlayer(agora_refptr<IMediaPlayer> media_player) = 0;
4863 
4875 
4885  virtual int destroyMediaRecorder(agora_refptr<IMediaRecorder> mediaRecorder) = 0;
4886 
4928  virtual int startAudioMixing(const char* filePath, bool loopback, int cycle) = 0;
4929 
4973  virtual int startAudioMixing(const char* filePath, bool loopback, int cycle, int startPos) = 0;
4974 
4983  virtual int stopAudioMixing() = 0;
4984 
4993  virtual int pauseAudioMixing() = 0;
4994 
5003  virtual int resumeAudioMixing() = 0;
5004 
5013  virtual int selectAudioTrack(int index) = 0;
5022  virtual int getAudioTrackCount() = 0;
5023 
5038  virtual int adjustAudioMixingVolume(int volume) = 0;
5039 
5047  virtual int adjustAudioMixingPublishVolume(int volume) = 0;
5048 
5056  virtual int getAudioMixingPublishVolume() = 0;
5057 
5065  virtual int adjustAudioMixingPlayoutVolume(int volume) = 0;
5066 
5074  virtual int getAudioMixingPlayoutVolume() = 0;
5075 
5084  virtual int getAudioMixingDuration() = 0;
5085 
5096 
5106  virtual int setAudioMixingPosition(int pos /*in ms*/) = 0;
5107 
5118  virtual int setAudioMixingDualMonoMode(media::AUDIO_MIXING_DUAL_MONO_MODE mode) = 0;
5119 
5136  virtual int setAudioMixingPitch(int pitch) = 0;
5144  virtual int getEffectsVolume() = 0;
5154  virtual int setEffectsVolume(int volume) = 0;
5178  virtual int preloadEffect(int soundId, const char* filePath, int startPos = 0) = 0;
5220  virtual int playEffect(int soundId, const char* filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0) = 0;
5251  virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false) = 0;
5252 
5262  virtual int getVolumeOfEffect(int soundId) = 0;
5263 
5274  virtual int setVolumeOfEffect(int soundId, int volume) = 0;
5283  virtual int pauseEffect(int soundId) = 0;
5290  virtual int pauseAllEffects() = 0;
5299  virtual int resumeEffect(int soundId) = 0;
5306  virtual int resumeAllEffects() = 0;
5315  virtual int stopEffect(int soundId) = 0;
5322  virtual int stopAllEffects() = 0;
5331  virtual int unloadEffect(int soundId) = 0;
5338  virtual int unloadAllEffects() = 0;
5357  virtual int getEffectDuration(const char* filePath) = 0;
5374  virtual int setEffectPosition(int soundId, int pos) = 0;
5389  virtual int getEffectCurrentPosition(int soundId) = 0;
5402  virtual int enableSoundPositionIndication(bool enabled) = 0;
5423  virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0;
5424 
5434  virtual int enableSpatialAudio(bool enabled) = 0;
5435 
5445  virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams& params) = 0;
5446 
5484  virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset) = 0;
5485 
5523  virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset) = 0;
5524 
5561  virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset) = 0;
5562 
5638  virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2) = 0;
5639 
5682  virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset,
5683  int param1, int param2) = 0;
5684 
5697  virtual int setVoiceConversionParameters(VOICE_CONVERSION_PRESET preset,
5698  int param1, int param2) = 0;
5699 
5710  virtual int setLocalVoicePitch(double pitch) = 0;
5711 
5722  virtual int setLocalVoiceFormant(double formantRatio) = 0;
5723 
5735  virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency,
5736  int bandGain) = 0;
5737 
5746  virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value) = 0;
5758  virtual int setHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset) = 0;
5768  virtual int setHeadphoneEQParameters(int lowGain, int highGain) = 0;
5769 
5785  virtual int setLogFile(const char* filePath) = 0;
5786 
5809  virtual int setLogFilter(unsigned int filter) = 0;
5810 
5827  virtual int setLogLevel(commons::LOG_LEVEL level) = 0;
5828 
5843  virtual int setLogFileSize(unsigned int fileSizeInKBytes) = 0;
5844 
5853  virtual int uploadLogFile(agora::util::AString& requestId) = 0;
5854 
5873  virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
5894  virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode,
5895  VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
5896 
5897  // The following APIs are either deprecated and going to deleted.
5898 
5916  virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) = 0;
5917 
5929  virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
5930 
5947  virtual int enableDualStreamMode(bool enabled) __deprecated = 0;
5948 
5967  virtual int enableDualStreamMode(bool enabled, const SimulcastStreamConfig& streamConfig) __deprecated = 0;
5968 
5969 
5983  virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode) = 0;
5984 
5998  virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode,
5999  const SimulcastStreamConfig& streamConfig) = 0;
6000 
6015  virtual int enableCustomAudioLocalPlayback(track_id_t trackId, bool enabled) = 0;
6016 
6035  virtual int setRecordingAudioFrameParameters(int sampleRate, int channel,
6036  RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
6037  int samplesPerCall) = 0;
6038 
6058  virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel,
6059  RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
6060  int samplesPerCall) = 0;
6061 
6077  virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall) = 0;
6078 
6098  virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel,
6099  RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
6100  int samplesPerCall) = 0;
6101 
6117  virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel) = 0;
6118 
6129  virtual int enableAudioSpectrumMonitor(int intervalInMS = 100) = 0;
6137  virtual int disableAudioSpectrumMonitor() = 0;
6138 
6164 
6178  virtual int adjustRecordingSignalVolume(int volume) = 0;
6179 
6191  virtual int muteRecordingSignal(bool mute) = 0;
6192 
6206  virtual int adjustPlaybackSignalVolume(int volume) = 0;
6207 
6208  /*
6209  * Adjust the playback volume of the user specified by uid.
6210  *
6211  * You can call this method to adjust the playback volume of the user specified by uid
6212  * in call. If you want to adjust playback volume of the multi user, you can call this
6213  * this method multi times.
6214  *
6215  * @note
6216  * Please call this method after join channel.
6217  * This method adjust the playback volume of specified user.
6218  *
6219  * @param uid Remote user ID.
6220  * @param volume The playback volume of the specified remote user. The value ranges between 0 and 400, including the following:
6221  * 0: Mute.
6222  * 100: (Default) Original volume.
6223  * 400: Four times the original volume with signal-clipping protection.
6224  * @return
6225  * - 0: Success.
6226  * - < 0: Failure.
6227  */
6228  virtual int adjustUserPlaybackSignalVolume(unsigned int uid, int volume) = 0;
6229 
6251  virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0;
6252 
6268  virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0;
6269 
6283  virtual int setHighPriorityUserList(uid_t* uidList, int uidNum, STREAM_FALLBACK_OPTIONS option) = 0;
6284 
6303  virtual int enableLoopbackRecording(bool enabled, const char* deviceName = NULL) = 0;
6304 
6305 
6318  virtual int adjustLoopbackSignalVolume(int volume) = 0;
6319 
6326  virtual int getLoopbackRecordingVolume() = 0;
6327 
6339  virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters) = 0;
6340 
6351  virtual int setInEarMonitoringVolume(int volume) = 0;
6352 
6353 #if defined (_WIN32) || defined(__linux__) || defined(__ANDROID__)
6354  virtual int loadExtensionProvider(const char* path, bool unload_after_use = false) = 0;
6355 #endif
6356 
6369  const char* provider, const char* key, const char* value) = 0;
6370 
6383  virtual int registerExtension(const char* provider, const char* extension,
6384  agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6385 
6406  virtual int enableExtension(
6407  const char* provider, const char* extension, bool enable=true, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6408 
6429  virtual int enableExtension(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, bool enable = true) = 0;
6430 
6444  const char* provider, const char* extension,
6445  const char* key, const char* value, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6446 
6461  const char* provider, const char* extension,
6462  const char* key, char* value, int buf_len, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6463 
6477  virtual int setExtensionProperty(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, const char* key, const char* value) = 0;
6478 
6493  virtual int getExtensionProperty(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, const char* key, char* value, int buf_len) = 0;
6494 
6507 
6508 
6516  virtual video_track_id_t createCustomVideoTrack() = 0;
6517 
6525  virtual video_track_id_t createCustomEncodedVideoTrack(const SenderOptions& sender_option) = 0;
6526 
6535  virtual int destroyCustomVideoTrack(video_track_id_t video_track_id) = 0;
6536 
6545  virtual int destroyCustomEncodedVideoTrack(video_track_id_t video_track_id) = 0;
6546 
6547 
6548 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
6549 
6558  virtual int switchCamera() = 0;
6559 
6567  virtual bool isCameraZoomSupported() = 0;
6568 
6576  virtual bool isCameraFaceDetectSupported() = 0;
6577 
6585  virtual bool isCameraTorchSupported() = 0;
6586 
6594  virtual bool isCameraFocusSupported() = 0;
6595 
6603  virtual bool isCameraAutoFocusFaceModeSupported() = 0;
6604 
6614  virtual int setCameraZoomFactor(float factor) = 0;
6615 
6624  virtual int enableFaceDetection(bool enabled) = 0;
6625 
6630  virtual float getCameraMaxZoomFactor() = 0;
6631 
6641  virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0;
6642 
6650  virtual int setCameraTorchOn(bool isOn) = 0;
6651 
6659  virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0;
6660 
6672  virtual bool isCameraExposurePositionSupported() = 0;
6673 
6689  virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0;
6690 
6703  virtual bool isCameraExposureSupported() = 0;
6704 
6715  virtual int setCameraExposureFactor(float factor) = 0;
6716 
6717 #if defined(__APPLE__)
6718 
6725  virtual bool isCameraAutoExposureFaceModeSupported() = 0;
6726 
6727 
6735  virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0;
6736 #endif
6737 
6771  virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0;
6772 
6799  virtual int setEnableSpeakerphone(bool speakerOn) = 0;
6800 
6808  virtual bool isSpeakerphoneEnabled() = 0;
6809 
6817  virtual int setRouteInCommunicationMode(int route) = 0;
6818 
6819 #endif // __ANDROID__ || (__APPLE__ && TARGET_OS_IOS)
6820 
6821 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
6822 
6832  virtual IScreenCaptureSourceList* getScreenCaptureSources(const SIZE& thumbSize, const SIZE& iconSize, const bool includeScreen) = 0;
6833 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
6834 #if (defined(__APPLE__) && TARGET_OS_IOS)
6835 
6859  virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction) = 0;
6860 #endif // __APPLE__ && TARGET_OS_IOS
6861 
6862 #if defined(_WIN32) || (defined(__APPLE__) && !TARGET_OS_IPHONE && TARGET_OS_MAC)
6863 
6884  virtual int startScreenCaptureByDisplayId(uint32_t displayId, const Rectangle& regionRect,
6885  const ScreenCaptureParameters& captureParams) = 0;
6886 
6887 #endif // __APPLE__ && TARGET_OS_MAC && !TARGET_OS_IPHONE
6888 
6889 #if defined(_WIN32)
6890 
6914  virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect,
6915  const Rectangle& regionRect,
6916  const ScreenCaptureParameters& captureParams) __deprecated = 0;
6917 
6918 #endif // _WIN32
6919 
6920 #if defined(__ANDROID__)
6921 
6927  virtual int getAudioDeviceInfo(DeviceInfo& deviceInfo) = 0;
6928 
6929 #endif // __ANDROID__
6930 
6931 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
6932 
6950  virtual int startScreenCaptureByWindowId(view_t windowId, const Rectangle& regionRect,
6951  const ScreenCaptureParameters& captureParams) = 0;
6952 
6968  virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint) = 0;
6969 
6986  virtual int updateScreenCaptureRegion(const Rectangle& regionRect) = 0;
6987 
7001  virtual int updateScreenCaptureParameters(const ScreenCaptureParameters& captureParams) = 0;
7002 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
7003 
7004 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
7005 
7014  virtual int startScreenCapture(const ScreenCaptureParameters2& captureParams) = 0;
7015 
7025  virtual int updateScreenCapture(const ScreenCaptureParameters2& captureParams) = 0;
7026 
7038  virtual int queryScreenCaptureCapability() = 0;
7039 #endif
7040 
7041 #if defined(_WIN32) || defined(__APPLE__) || defined(__ANDROID__)
7042 
7058  virtual int setScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario) = 0;
7059 
7067  virtual int stopScreenCapture() = 0;
7068 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC) || __ANDROID__
7069 
7086  virtual int getCallId(agora::util::AString& callId) = 0;
7087 
7102  virtual int rate(const char* callId, int rating,
7103  const char* description) = 0; // 0~10
7104 
7118  virtual int complain(const char* callId, const char* description) = 0;
7119 
7140  virtual int startRtmpStreamWithoutTranscoding(const char* url) = 0;
7141 
7163  virtual int startRtmpStreamWithTranscoding(const char* url, const LiveTranscoding& transcoding) = 0;
7164 
7174  virtual int updateRtmpTranscoding(const LiveTranscoding& transcoding) = 0;
7193  virtual int stopRtmpStream(const char* url) = 0;
7194 
7195 
7196  virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration& config) = 0;
7197  virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration& config) = 0;
7198  virtual int stopLocalVideoTranscoder() = 0;
7208  virtual int startCameraCapture(VIDEO_SOURCE_TYPE sourceType, const CameraCapturerConfiguration& config) = 0;
7209 
7220  virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType) = 0;
7232  virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
7244  virtual int setScreenCaptureOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
7245 
7255  virtual int startScreenCapture(VIDEO_SOURCE_TYPE sourceType, const ScreenCaptureConfiguration& config) = 0;
7256 
7267  virtual int stopScreenCapture(VIDEO_SOURCE_TYPE sourceType) = 0;
7268 
7273  virtual CONNECTION_STATE_TYPE getConnectionState() = 0;
7274 
7275  // The following APIs are not implemented yet.
7276  virtual bool registerEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
7277  virtual bool unregisterEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
7278  virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0;
7279 
7291  virtual int registerPacketObserver(IPacketObserver* observer) = 0;
7292 
7315  virtual int setEncryptionMode(const char* encryptionMode) __deprecated = 0;
7316 
7333  virtual int setEncryptionSecret(const char* secret) __deprecated = 0;
7334 
7356  virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0;
7357 
7389  virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0;
7390 
7400  virtual int createDataStream(int* streamId, DataStreamConfig& config) = 0;
7401 
7432  virtual int sendStreamMessage(int streamId, const char* data, size_t length) = 0;
7433 
7455  virtual int addVideoWatermark(const RtcImage& watermark) = 0;
7456 
7482  virtual int addVideoWatermark(const char* watermarkUrl, const WatermarkOptions& options) = 0;
7483 
7491  virtual int clearVideoWatermarks() = 0;
7492 
7493  // The following APIs are either deprecated and going to deleted.
7494 
7503  virtual int pauseAudio() __deprecated = 0;
7512  virtual int resumeAudio() __deprecated = 0;
7513 
7531  virtual int enableWebSdkInteroperability(bool enabled) __deprecated = 0;
7532 
7543  const char* id, const char* category, const char* event, const char* label, int value) = 0;
7544 
7566  virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0;
7567 
7576  virtual int unregisterMediaMetadataObserver(IMetadataObserver* observer, IMetadataObserver::METADATA_TYPE type) = 0;
7577 
7587  virtual int startAudioFrameDump(const char* channel_id, uid_t user_id, const char* location,
7588  const char* uuid, const char* passwd, long duration_ms, bool auto_upload) = 0;
7592  virtual int stopAudioFrameDump(const char* channel_id, uid_t user_id, const char* location) = 0;
7593 
7609  virtual int setAINSMode(bool enabled, AUDIO_AINS_MODE mode) = 0;
7610 
7642  virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0;
7643 
7674  virtual int joinChannelWithUserAccount(const char* token, const char* channelId,
7675  const char* userAccount) = 0;
7676 
7708  virtual int joinChannelWithUserAccount(const char* token, const char* channelId,
7709  const char* userAccount, const ChannelMediaOptions& options) = 0;
7710 
7743  virtual int joinChannelWithUserAccountEx(const char* token, const char* channelId,
7744  const char* userAccount, const ChannelMediaOptions& options,
7745  IRtcEngineEventHandler* eventHandler) = 0;
7746 
7764  virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo) = 0;
7765 
7783  virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo) = 0;
7826 
7872  virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) __deprecated = 0;
7873 
7902  virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) __deprecated = 0;
7903 
7932  virtual int stopChannelMediaRelay() = 0;
7933 
7934 
7944  virtual int pauseAllChannelMediaRelay() = 0;
7945 
7955  virtual int resumeAllChannelMediaRelay() = 0;
7956 
7969  virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile) = 0;
7970 
7986 
8001  const char* publishUrl, const DirectCdnStreamingMediaOptions& options) = 0;
8002 
8012  virtual int stopDirectCdnStreaming() = 0;
8013 
8026 
8037  virtual int startRhythmPlayer(const char* sound1, const char* sound2, const AgoraRhythmPlayerConfig& config) = 0;
8038 
8045  virtual int stopRhythmPlayer() = 0;
8046 
8055  virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig& config) = 0;
8085  virtual int takeSnapshot(uid_t uid, const char* filePath) = 0;
8095  virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config) = 0;
8096  /*
8097  * Adjust the custom audio publish volume by track id.
8098  * @param trackId custom audio track id.
8099  * @param volume The volume, range is [0,100]:
8100  * 0: mute, 100: The original volume
8101  * @return
8102  * - 0: Success.
8103  * - < 0: Failure.
8104  */
8105  virtual int adjustCustomAudioPublishVolume(track_id_t trackId, int volume) = 0;
8106 
8107  /*
8108  * Adjust the custom audio playout volume by track id.
8109  * @param trackId custom audio track id.
8110  * @param volume The volume, range is [0,100]:
8111  * 0: mute, 100: The original volume
8112  * @return
8113  * - 0: Success.
8114  * - < 0: Failure.
8115  */
8116  virtual int adjustCustomAudioPlayoutVolume(track_id_t trackId, int volume) = 0;
8117 
8147  virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0;
8156  virtual int setLocalAccessPoint(const LocalAccessPointConfiguration& config) = 0;
8157 
8165  virtual int setAdvancedAudioOptions(AdvancedAudioOptions &options, int sourceType = 0) = 0;
8166 
8177  virtual int setAVSyncSource(const char* channelId, uid_t uid) = 0;
8178 
8185  virtual int enableVideoImageSource(bool enable, const ImageTrackOptions& options) = 0;
8186 
8187  /*
8188  * Get monotonic time in ms which can be used by capture time,
8189  * typical scenario is as follows:
8190  *
8191  * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8192  * | // custom audio/video base capture time, e.g. the first audio/video capture time. |
8193  * | int64_t custom_capture_time_base; |
8194  * | |
8195  * | int64_t agora_monotonic_time = getCurrentMonotonicTimeInMs(); |
8196  * | |
8197  * | // offset is fixed once calculated in the begining. |
8198  * | const int64_t offset = agora_monotonic_time - custom_capture_time_base; |
8199  * | |
8200  * | // realtime_custom_audio/video_capture_time is the origin capture time that customer provided.|
8201  * | // actual_audio/video_capture_time is the actual capture time transfered to sdk. |
8202  * | int64_t actual_audio_capture_time = realtime_custom_audio_capture_time + offset; |
8203  * | int64_t actual_video_capture_time = realtime_custom_video_capture_time + offset; |
8204  * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8205  *
8206  * @return
8207  * - >= 0: Success.
8208  * - < 0: Failure.
8209  */
8210  virtual int64_t getCurrentMonotonicTimeInMs() = 0;
8211 
8227  virtual int enableWirelessAccelerate(bool enabled) = 0;
8228 
8243  virtual int getNetworkType() = 0;
8244 
8253  virtual int setParameters(const char* parameters) = 0;
8254 
8269  virtual int startMediaRenderingTracing() = 0;
8270 
8284  virtual int enableInstantMediaRendering() = 0;
8285 
8289  virtual uint64_t getNtpWallTimeInMs() = 0;
8290 
8291 };
8292 
8293 class AAudioDeviceManager : public agora::util::AutoPtr<IAudioDeviceManager> {
8294  public:
8295  AAudioDeviceManager(IRtcEngine* engine) {
8296  queryInterface(engine, AGORA_IID_AUDIO_DEVICE_MANAGER);
8297  }
8298 };
8299 
8300 class AVideoDeviceManager : public agora::util::AutoPtr<IVideoDeviceManager> {
8301  public:
8302  AVideoDeviceManager(IRtcEngine* engine) {
8303  queryInterface(engine, AGORA_IID_VIDEO_DEVICE_MANAGER);
8304  }
8305 };
8306 
8307 // The following types are either deprecated or not implmented yet.
8308 enum QUALITY_REPORT_FORMAT_TYPE {
8311  QUALITY_REPORT_JSON = 0,
8314  QUALITY_REPORT_HTML = 1,
8315 };
8316 
8318 enum MEDIA_DEVICE_STATE_TYPE {
8321  MEDIA_DEVICE_STATE_IDLE = 0,
8324  MEDIA_DEVICE_STATE_ACTIVE = 1,
8327  MEDIA_DEVICE_STATE_DISABLED = 2,
8330  MEDIA_DEVICE_STATE_NOT_PRESENT = 4,
8333  MEDIA_DEVICE_STATE_UNPLUGGED = 8
8334 };
8335 
8336 enum VIDEO_PROFILE_TYPE { // res fps
8338  VIDEO_PROFILE_LANDSCAPE_120P = 0, // 160x120 15
8340  VIDEO_PROFILE_LANDSCAPE_120P_3 = 2, // 120x120 15
8342  VIDEO_PROFILE_LANDSCAPE_180P = 10, // 320x180 15
8344  VIDEO_PROFILE_LANDSCAPE_180P_3 = 12, // 180x180 15
8346  VIDEO_PROFILE_LANDSCAPE_180P_4 = 13, // 240x180 15
8348  VIDEO_PROFILE_LANDSCAPE_240P = 20, // 320x240 15
8350  VIDEO_PROFILE_LANDSCAPE_240P_3 = 22, // 240x240 15
8352  VIDEO_PROFILE_LANDSCAPE_240P_4 = 23, // 424x240 15
8354  VIDEO_PROFILE_LANDSCAPE_360P = 30, // 640x360 15
8356  VIDEO_PROFILE_LANDSCAPE_360P_3 = 32, // 360x360 15
8358  VIDEO_PROFILE_LANDSCAPE_360P_4 = 33, // 640x360 30
8360  VIDEO_PROFILE_LANDSCAPE_360P_6 = 35, // 360x360 30
8362  VIDEO_PROFILE_LANDSCAPE_360P_7 = 36, // 480x360 15
8364  VIDEO_PROFILE_LANDSCAPE_360P_8 = 37, // 480x360 30
8366  VIDEO_PROFILE_LANDSCAPE_360P_9 = 38, // 640x360 15
8368  VIDEO_PROFILE_LANDSCAPE_360P_10 = 39, // 640x360 24
8370  VIDEO_PROFILE_LANDSCAPE_360P_11 = 100, // 640x360 24
8372  VIDEO_PROFILE_LANDSCAPE_480P = 40, // 640x480 15
8374  VIDEO_PROFILE_LANDSCAPE_480P_3 = 42, // 480x480 15
8376  VIDEO_PROFILE_LANDSCAPE_480P_4 = 43, // 640x480 30
8378  VIDEO_PROFILE_LANDSCAPE_480P_6 = 45, // 480x480 30
8380  VIDEO_PROFILE_LANDSCAPE_480P_8 = 47, // 848x480 15
8382  VIDEO_PROFILE_LANDSCAPE_480P_9 = 48, // 848x480 30
8384  VIDEO_PROFILE_LANDSCAPE_480P_10 = 49, // 640x480 10
8386  VIDEO_PROFILE_LANDSCAPE_720P = 50, // 1280x720 15
8388  VIDEO_PROFILE_LANDSCAPE_720P_3 = 52, // 1280x720 30
8390  VIDEO_PROFILE_LANDSCAPE_720P_5 = 54, // 960x720 15
8392  VIDEO_PROFILE_LANDSCAPE_720P_6 = 55, // 960x720 30
8394  VIDEO_PROFILE_LANDSCAPE_1080P = 60, // 1920x1080 15
8396  VIDEO_PROFILE_LANDSCAPE_1080P_3 = 62, // 1920x1080 30
8398  VIDEO_PROFILE_LANDSCAPE_1080P_5 = 64, // 1920x1080 60
8400  VIDEO_PROFILE_LANDSCAPE_1440P = 66, // 2560x1440 30
8402  VIDEO_PROFILE_LANDSCAPE_1440P_2 = 67, // 2560x1440 60
8404  VIDEO_PROFILE_LANDSCAPE_4K = 70, // 3840x2160 30
8406  VIDEO_PROFILE_LANDSCAPE_4K_3 = 72, // 3840x2160 60
8408  VIDEO_PROFILE_PORTRAIT_120P = 1000, // 120x160 15
8410  VIDEO_PROFILE_PORTRAIT_120P_3 = 1002, // 120x120 15
8412  VIDEO_PROFILE_PORTRAIT_180P = 1010, // 180x320 15
8414  VIDEO_PROFILE_PORTRAIT_180P_3 = 1012, // 180x180 15
8416  VIDEO_PROFILE_PORTRAIT_180P_4 = 1013, // 180x240 15
8418  VIDEO_PROFILE_PORTRAIT_240P = 1020, // 240x320 15
8420  VIDEO_PROFILE_PORTRAIT_240P_3 = 1022, // 240x240 15
8422  VIDEO_PROFILE_PORTRAIT_240P_4 = 1023, // 240x424 15
8424  VIDEO_PROFILE_PORTRAIT_360P = 1030, // 360x640 15
8426  VIDEO_PROFILE_PORTRAIT_360P_3 = 1032, // 360x360 15
8428  VIDEO_PROFILE_PORTRAIT_360P_4 = 1033, // 360x640 30
8430  VIDEO_PROFILE_PORTRAIT_360P_6 = 1035, // 360x360 30
8432  VIDEO_PROFILE_PORTRAIT_360P_7 = 1036, // 360x480 15
8434  VIDEO_PROFILE_PORTRAIT_360P_8 = 1037, // 360x480 30
8436  VIDEO_PROFILE_PORTRAIT_360P_9 = 1038, // 360x640 15
8438  VIDEO_PROFILE_PORTRAIT_360P_10 = 1039, // 360x640 24
8440  VIDEO_PROFILE_PORTRAIT_360P_11 = 1100, // 360x640 24
8442  VIDEO_PROFILE_PORTRAIT_480P = 1040, // 480x640 15
8444  VIDEO_PROFILE_PORTRAIT_480P_3 = 1042, // 480x480 15
8446  VIDEO_PROFILE_PORTRAIT_480P_4 = 1043, // 480x640 30
8448  VIDEO_PROFILE_PORTRAIT_480P_6 = 1045, // 480x480 30
8450  VIDEO_PROFILE_PORTRAIT_480P_8 = 1047, // 480x848 15
8452  VIDEO_PROFILE_PORTRAIT_480P_9 = 1048, // 480x848 30
8454  VIDEO_PROFILE_PORTRAIT_480P_10 = 1049, // 480x640 10
8456  VIDEO_PROFILE_PORTRAIT_720P = 1050, // 720x1280 15
8458  VIDEO_PROFILE_PORTRAIT_720P_3 = 1052, // 720x1280 30
8460  VIDEO_PROFILE_PORTRAIT_720P_5 = 1054, // 720x960 15
8462  VIDEO_PROFILE_PORTRAIT_720P_6 = 1055, // 720x960 30
8464  VIDEO_PROFILE_PORTRAIT_1080P = 1060, // 1080x1920 15
8466  VIDEO_PROFILE_PORTRAIT_1080P_3 = 1062, // 1080x1920 30
8468  VIDEO_PROFILE_PORTRAIT_1080P_5 = 1064, // 1080x1920 60
8470  VIDEO_PROFILE_PORTRAIT_1440P = 1066, // 1440x2560 30
8472  VIDEO_PROFILE_PORTRAIT_1440P_2 = 1067, // 1440x2560 60
8474  VIDEO_PROFILE_PORTRAIT_4K = 1070, // 2160x3840 30
8476  VIDEO_PROFILE_PORTRAIT_4K_3 = 1072, // 2160x3840 60
8478  VIDEO_PROFILE_DEFAULT = VIDEO_PROFILE_LANDSCAPE_360P,
8479 };
8480 
8481 } // namespace rtc
8482 } // namespace agora
8483 
8489 #define getAgoraRtcEngineVersion getAgoraSdkVersion
8490 
8492 
8495 
8502 
8504 
8505 
8512 #define getAgoraRtcEngineErrorDescription getAgoraSdkErrorDescription
8513 #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::ScreenCaptureConfiguration::windowId
view_t windowId
Definition: IAgoraRtcEngine.h:832
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:1122
agora::rtc::PublisherConfiguration::extraInfo
const char * extraInfo
Definition: IAgoraRtcEngine.h:740
agora::rtc::IRtcEngine::setAVSyncSource
virtual int setAVSyncSource(const char *channelId, uid_t uid)=0
agora::rtc::RtcEngineContext::appId
const char * appId
Definition: IAgoraRtcEngine.h:3041
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:2841
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:2422
agora::rtc::LocalVideoStats::regulatedCaptureFrameHeight
int regulatedCaptureFrameHeight
Definition: IAgoraRtcEngine.h:292
agora::rtc::IRtcEngine::setEffectPosition
virtual int setEffectPosition(int soundId, int pos)=0
agora::rtc::UserInfo
Definition: AgoraBase.h:5624
agora::rtc::RemoteVideoStats::publishDuration
int publishDuration
Definition: IAgoraRtcEngine.h:536
agora::rtc::IRtcEngine::stopDirectCdnStreaming
virtual int stopDirectCdnStreaming()=0
agora::rtc::LastmileProbeResult
Definition: AgoraBase.h:3880
agora::rtc::IRtcEngine::setEncryptionSecret
virtual int setEncryptionSecret(const char *secret) __deprecated=0
agora::rtc::AudioEncodedFrameObserverConfig
Definition: AgoraBase.h:4982
agora::rtc::ScreenCaptureParameters
Definition: AgoraBase.h:4765
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:3059
agora::rtc::RemoteVideoStats::e2eDelay
int e2eDelay
Definition: IAgoraRtcEngine.h:484
agora::rtc::InjectStreamConfig::audioChannels
int audioChannels
Definition: IAgoraRtcEngine.h:662
agora::rtc::LocalVideoStats::regulatedCaptureFrameWidth
int regulatedCaptureFrameWidth
Definition: IAgoraRtcEngine.h:288
agora::rtc::IRtcEngine::pauseEffect
virtual int pauseEffect(int soundId)=0
agora::rtc::BeautyOptions
Definition: AgoraBase.h:4210
agora::rtc::ChannelMediaOptions::publishSecondaryCameraTrack
Optional< bool > publishSecondaryCameraTrack
Definition: IAgoraRtcEngine.h:1035
agora::rtc::SenderOptions
Definition: AgoraBase.h:1196
agora::rtc::IRtcEngine::muteLocalVideoStream
virtual int muteLocalVideoStream(bool mute)=0
agora::rtc::RtcEngineContext::eventHandler
IRtcEngineEventHandler * eventHandler
Definition: IAgoraRtcEngine.h:3034
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::IRtcEngine::setLocalRenderMode
virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode)=0
agora::rtc::IRtcEngineEventHandler::onIntraRequestReceived
virtual void onIntraRequestReceived()
Definition: IAgoraRtcEngine.h:1671
agora::rtc::VideoCompositingLayout
Definition: IAgoraRtcEngine.h:551
agora::rtc::VideoCompositingLayout::canvasHeight
int canvasHeight
Definition: IAgoraRtcEngine.h:601
agora::rtc::IRtcEngine::setVoiceConversionPreset
virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset)=0
agora::rtc::DirectCdnStreamingStats::videoHeight
int videoHeight
Definition: IAgoraRtcEngine.h:3258
agora::rtc::LastmileProbeConfig
Definition: AgoraBase.h:3812
agora::rtc::IRtcEngine::enableLocalVideo
virtual int enableLocalVideo(bool enabled)=0
agora::rtc::IRtcEngineEventHandler::onLeaveChannel
virtual void onLeaveChannel(const RtcStats &stats)
Definition: IAgoraRtcEngine.h:1568
agora::rtc::IRtcEngine::joinChannel
virtual int joinChannel(const char *token, const char *channelId, uid_t uid, const ChannelMediaOptions &options)=0
agora::rtc::IRtcEngine::stopAudioFrameDump
virtual int stopAudioFrameDump(const char *channel_id, uid_t user_id, const char *location)=0
agora::rtc::IRtcEngine::getAudioTrackCount
virtual int getAudioTrackCount()=0
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoDecoded
virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) __deprecated
Definition: IAgoraRtcEngine.h:1760
agora::rtc::IRtcEngine::createDataStream
virtual int createDataStream(int *streamId, DataStreamConfig &config)=0
agora::rtc::LocalVideoStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:263
agora::rtc::IRtcEngine::stopChannelMediaRelay
virtual int stopChannelMediaRelay()=0
agora::rtc::IRtcEngineEventHandler::onAudioEffectFinished
virtual void onAudioEffectFinished(int soundId)
Definition: IAgoraRtcEngine.h:1620
agora::rtc::RtcEngineContext::threadPriority
Optional< THREAD_PRIORITY_TYPE > threadPriority
Definition: IAgoraRtcEngine.h:3096
agora::rtc::IRtcEngine::registerAudioEncodedFrameObserver
virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig &config, IAudioEncodedFrameObserver *observer)=0
agora::rtc::ChannelMediaOptions::enableBuiltInMediaEncryption
Optional< bool > enableBuiltInMediaEncryption
Definition: IAgoraRtcEngine.h:1202
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:635
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:2569
agora::rtc::RemoteAudioStats::totalActiveTime
int totalActiveTime
Definition: IAgoraRtcEngine.h:426
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::IRtcEngineEventHandler::onFirstRemoteAudioFrame
virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) __deprecated
Definition: IAgoraRtcEngine.h:2252
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:1406
agora::rtc::IRtcEngine::getVersion
virtual const char * getVersion(int *build)=0
agora::rtc::RemoteVideoStats::totalActiveTime
int totalActiveTime
Definition: IAgoraRtcEngine.h:532
agora::rtc::IRtcEngine::setAudioMixingPitch
virtual int setAudioMixingPitch(int pitch)=0
agora::rtc::ChannelMediaOptions::publishRhythmPlayerTrack
Optional< bool > publishRhythmPlayerTrack
Definition: IAgoraRtcEngine.h:1208
agora::rtc::ChannelMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition: IAgoraRtcEngine.h:1110
agora::media::IAudioSpectrumObserver
Definition: AgoraMediaBase.h:1161
agora::rtc::DirectCdnStreamingStats::videoWidth
int videoWidth
Definition: IAgoraRtcEngine.h:3253
agora::rtc::IMetadataObserver::Metadata::buffer
unsigned char * buffer
Definition: IAgoraRtcEngine.h:3171
agora::rtc::PublisherConfiguration::publishUrl
const char * publishUrl
Definition: IAgoraRtcEngine.h:733
agora::rtc::ExtensionInfo
Definition: IAgoraRtcEngine.h:3402
agora::rtc::IRtcEngineEventHandler::onVideoRenderingTracingResult
virtual void onVideoRenderingTracingResult(uid_t uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo)
Definition: IAgoraRtcEngine.h:2864
agora::rtc::ExtensionInfo::remoteUid
uid_t remoteUid
Definition: IAgoraRtcEngine.h:3413
agora::rtc::PublisherConfiguration::lifecycle
int lifecycle
Definition: IAgoraRtcEngine.h:715
agora::rtc::IRtcEngine::startPreview
virtual int startPreview()=0
agora::rtc::IMetadataObserver::Metadata::timeStampMs
long long timeStampMs
Definition: IAgoraRtcEngine.h:3175
agora::rtc::IRtcEngineEventHandler::onLocalAudioStats
virtual void onLocalAudioStats(const LocalAudioStats &stats)
Definition: IAgoraRtcEngine.h:1974
agora::rtc::IRtcEngine::setAINSMode
virtual int setAINSMode(bool enabled, AUDIO_AINS_MODE mode)=0
agora::rtc::ChannelMediaOptions::autoSubscribeAudio
Optional< bool > autoSubscribeAudio
Definition: IAgoraRtcEngine.h:1140
agora::rtc::IRtcEngineEventHandler::onCameraExposureAreaChanged
virtual void onCameraExposureAreaChanged(int x, int y, int width, int height)
Definition: IAgoraRtcEngine.h:2048
agora::rtc::LocalAccessPointConfiguration
Definition: AgoraBase.h:5928
agora::rtc::IRtcEngineEventHandler::onClientRoleChangeFailed
virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole)
Definition: IAgoraRtcEngine.h:2382
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:3268
agora::rtc::IRtcEngineEventHandler::onLastmileQuality
virtual void onLastmileQuality(int quality)
Definition: IAgoraRtcEngine.h:1710
agora::rtc::IRtcEngine::enableInstantMediaRendering
virtual int enableInstantMediaRendering()=0
Enable instant media rendering.
agora::rtc::CameraCapturerConfiguration::deviceId
char deviceId[MAX_DEVICE_ID_LENGTH]
Definition: IAgoraRtcEngine.h:796
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:1227
agora::rtc::LiveTranscoding
Definition: AgoraBase.h:3570
agora::rtc::ChannelMediaOptions::audienceLatencyLevel
Optional< AUDIENCE_LATENCY_LEVEL_TYPE > audienceLatencyLevel
Definition: IAgoraRtcEngine.h:1165
agora::rtc::IRtcEngineEventHandler::onRemoteVideoTransportStats
virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated
Definition: IAgoraRtcEngine.h:2594
agora::rtc::LocalVideoStats::sentFrameRate
int sentFrameRate
Definition: IAgoraRtcEngine.h:271
agora::rtc::Rectangle
Definition: AgoraBase.h:1987
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:2697
agora::rtc::IRtcEngineEventHandler::onNetworkTypeChanged
virtual void onNetworkTypeChanged(NETWORK_TYPE type)
Definition: IAgoraRtcEngine.h:2647
agora::rtc::IRtcEngineEventHandler::onFirstRemoteAudioDecoded
virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) __deprecated
Definition: IAgoraRtcEngine.h:2273
agora::rtc::InjectStreamConfig::videoFramerate
int videoFramerate
Definition: IAgoraRtcEngine.h:647
agora::rtc::IRtcEngine::setDualStreamMode
virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode, const SimulcastStreamConfig &streamConfig)=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:1185
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:359
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:2852
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::IRtcEngineEventHandlerEx
Definition: IAgoraRtcEngineEx.h:42
agora::rtc::IRtcEngineEventHandler::onFirstLocalAudioFramePublished
virtual void onFirstLocalAudioFramePublished(int elapsed)
Definition: IAgoraRtcEngine.h:2241
agora::util::AutoPtr
Definition: AgoraBase.h:89
agora::rtc::LocalVideoStats::sentBitrate
int sentBitrate
Definition: IAgoraRtcEngine.h:267
agora::rtc::IRtcEngineEventHandler::onExtensionStopped
virtual void onExtensionStopped(const char *provider, const char *extension)
Definition: IAgoraRtcEngine.h:2814
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:1464
agora::rtc::RemoteVideoStats::totalFrozenTime
int totalFrozenTime
Definition: IAgoraRtcEngine.h:518
agora::rtc::IMetadataObserver::METADATA_TYPE
METADATA_TYPE
Definition: IAgoraRtcEngine.h:3139
agora::rtc::IRtcEngine::setCloudProxy
virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType)=0
agora::rtc::RemoteAudioStats::receivedBitrate
int receivedBitrate
Definition: IAgoraRtcEngine.h:382
agora::rtc::VideoEncoderConfiguration
Definition: AgoraBase.h:1754
agora::rtc::IRtcEngineEventHandler
Definition: IAgoraRtcEngine.h:1433
agora::rtc::VideoCompositingLayout::Region::height
double height
Definition: IAgoraRtcEngine.h:567
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:1901
agora::rtc::ChannelMediaOptions::publishCustomAudioTrackId
Optional< int > publishCustomAudioTrackId
Definition: IAgoraRtcEngine.h:1104
agora::rtc::VideoSubscriptionOptions
Definition: AgoraBase.h:1523
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:1683
agora::rtc::DirectCdnStreamingMediaOptions::publishMicrophoneTrack
Optional< bool > publishMicrophoneTrack
Definition: IAgoraRtcEngine.h:3316
agora::rtc::EchoTestConfiguration
Definition: AgoraBase.h:5606
agora::rtc::RtcImage
Definition: AgoraBase.h:3392
agora::rtc::VideoCompositingLayout::backgroundColor
const char * backgroundColor
Definition: IAgoraRtcEngine.h:604
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:318
agora::rtc::IRtcEngine::startEchoTest
virtual int startEchoTest(int intervalInSeconds)=0
agora::rtc::LocalVideoStats::qualityAdaptIndication
QUALITY_ADAPT_INDICATION qualityAdaptIndication
Definition: IAgoraRtcEngine.h:314
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:1221
agora::rtc::SimulcastStreamConfig
Definition: AgoraBase.h:1964
agora::rtc::IRtcEngineEventHandler::onConnectionInterrupted
virtual void onConnectionInterrupted() __deprecated
Definition: IAgoraRtcEngine.h:2150
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:3190
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:3426
agora::rtc::IRtcEngineEventHandler::onChannelMediaRelayEvent
virtual void onChannelMediaRelayEvent(int code) __deprecated
Definition: IAgoraRtcEngine.h:2514
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::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:2313
agora::rtc::IRtcEngine::startRhythmPlayer
virtual int startRhythmPlayer(const char *sound1, const char *sound2, const AgoraRhythmPlayerConfig &config)=0
agora::rtc::IRtcEngine::configRhythmPlayer
virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig &config)=0
agora::rtc::IRtcEngine::adjustAudioMixingPublishVolume
virtual int adjustAudioMixingPublishVolume(int volume)=0
agora::rtc::DirectCdnStreamingMediaOptions::publishCameraTrack
Optional< bool > publishCameraTrack
Definition: IAgoraRtcEngine.h:3310
agora::rtc::IVideoDeviceCollection::getCount
virtual int getCount()=0
agora::rtc::IRtcEngineEventHandler::onUserMuteVideo
virtual void onUserMuteVideo(uid_t userId, bool muted)
Definition: IAgoraRtcEngine.h:1920
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:416
agora::rtc::ScreenCaptureConfiguration::params
ScreenCaptureParameters params
Definition: IAgoraRtcEngine.h:836
agora::rtc::IRtcEngineEventHandler::onVideoDeviceStateChanged
virtual void onVideoDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition: IAgoraRtcEngine.h:1631
agora::rtc::IMetadataObserver
Definition: IAgoraRtcEngine.h:3132
agora::rtc::VideoCompositingLayout::appData
const char * appData
Definition: IAgoraRtcEngine.h:614
agora::rtc::RemoteAudioStats::totalFrozenTime
int totalFrozenTime
Definition: IAgoraRtcEngine.h:389
agora::rtc::IRtcEngineEventHandler::onAudioMixingPositionChanged
virtual void onAudioMixingPositionChanged(int64_t position)
Reports current AudioMixing progress.
Definition: IAgoraRtcEngine.h:1604
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::IRtcEngineEventHandler::onRhythmPlayerStateChanged
virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_ERROR_TYPE errorCode)
Definition: IAgoraRtcEngine.h:2124
agora::rtc::ColorEnhanceOptions
Definition: AgoraBase.h:4334
agora::rtc::PublisherConfiguration::defaultLayout
int defaultLayout
Definition: IAgoraRtcEngine.h:712
agora::rtc::IRtcEngineEventHandler::onTranscodingUpdated
virtual void onTranscodingUpdated()
Definition: IAgoraRtcEngine.h:2437
agora::rtc::IRtcEngine::updateRtmpTranscoding
virtual int updateRtmpTranscoding(const LiveTranscoding &transcoding)=0
agora::rtc::RemoteAudioStats::publishDuration
int publishDuration
Definition: IAgoraRtcEngine.h:430
agora::rtc::IRtcEngineEventHandler::onWlAccMessage
virtual void onWlAccMessage(WLACC_MESSAGE_REASON reason, WLACC_SUGGEST_ACTION action, const char *wlAccMsg)
Definition: IAgoraRtcEngine.h:2622
agora::rtc::IRtcEngineEventHandler::onRequestToken
virtual void onRequestToken()
Definition: IAgoraRtcEngine.h:2205
agora::rtc::IRtcEngineEventHandler::onError
virtual void onError(int err, const char *msg)
Definition: IAgoraRtcEngine.h:1490
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:611
agora::rtc::ExtensionInfo::mediaSourceType
agora::media::MEDIA_SOURCE_TYPE mediaSourceType
Definition: IAgoraRtcEngine.h:3406
agora::rtc::IRtcEngineEventHandler::onProxyConnected
virtual void onProxyConnected(const char *channel, uid_t uid, PROXY_TYPE proxyType, const char *localProxyIp, int elapsed)
Definition: IAgoraRtcEngine.h:1477
agora::rtc::IRtcEngineEventHandler::onLocalPublishFallbackToAudioOnly
virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover)
Definition: IAgoraRtcEngine.h:2530
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::PublisherConfiguration::height
int height
Definition: IAgoraRtcEngine.h:698
agora::rtc::IRtcEngineEventHandler::onAudioMixingFinished
virtual void onAudioMixingFinished() __deprecated
Definition: IAgoraRtcEngine.h:1612
agora::rtc::AVideoDeviceManager
Definition: IAgoraRtcEngine.h:8300
agora::rtc::IRtcEngine::preloadChannel
virtual int preloadChannel(const char *token, const char *channelId, const char *userAccount)=0
agora::rtc::LocalVideoStats::codecType
VIDEO_CODEC_TYPE codecType
Definition: IAgoraRtcEngine.h:324
agora::rtc::ExtensionInfo::localUid
uid_t localUid
Definition: IAgoraRtcEngine.h:3431
agora::rtc::IRtcEngine::setSubscribeVideoBlocklist
virtual int setSubscribeVideoBlocklist(uid_t *uidList, int uidNumber)=0
agora::rtc::LocalTranscoderConfiguration
Definition: AgoraBase.h:3751
agora::rtc::IRtcEngine::adjustAudioMixingPlayoutVolume
virtual int adjustAudioMixingPlayoutVolume(int volume)=0
agora::rtc::InjectStreamConfig::audioBitrate
int audioBitrate
Definition: IAgoraRtcEngine.h:659
agora::rtc::IDirectCdnStreamingEventHandler::onDirectCdnStreamingStateChanged
virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_ERROR error, const char *message)
Definition: IAgoraRtcEngine.h:3290
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:1553
agora::rtc::IPacketObserver
Definition: AgoraBase.h:3110
agora::rtc::IRtcEngine::setLocalPublishFallbackOption
virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option)=0
agora::rtc::LocalVideoStats::dualStreamEnabled
bool dualStreamEnabled
Definition: IAgoraRtcEngine.h:335
agora::rtc::RemoteAudioStats::rxAudioBytes
unsigned int rxAudioBytes
Definition: IAgoraRtcEngine.h:442
agora::rtc::ChannelMediaOptions::publishEncodedVideoTrack
Optional< bool > publishEncodedVideoTrack
Definition: IAgoraRtcEngine.h:1116
agora::rtc::IRtcEngine::setDualStreamMode
virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode)=0
agora::rtc::DirectCdnStreamingStats
Definition: IAgoraRtcEngine.h:3249
agora::rtc::VideoFormat
Definition: AgoraBase.h:2475
agora::rtc::RemoteVideoStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:472
agora::rtc::IRtcEngineEventHandler::onUserOffline
virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:1884
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:1920
agora::rtc::IRtcEngineEventHandler::onCameraFocusAreaChanged
virtual void onCameraFocusAreaChanged(int x, int y, int width, int height)
Definition: IAgoraRtcEngine.h:2034
agora::rtc::VideoCompositingLayout::Region::y
double y
Definition: IAgoraRtcEngine.h:561
agora::rtc::IRtcEngine::stopAudioMixing
virtual int stopAudioMixing()=0
agora::rtc::PublisherConfiguration
Definition: IAgoraRtcEngine.h:690
agora::rtc::IRtcEngine::setLogLevel
virtual int setLogLevel(commons::LOG_LEVEL level)=0
agora::rtc::RtcEngineContext::logConfig
commons::LogConfig logConfig
Definition: IAgoraRtcEngine.h:3091
agora::rtc::IRtcEngine::setRemoteDefaultVideoStreamType
virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType)=0
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:1937
agora::rtc::InjectStreamConfig::height
int height
Definition: IAgoraRtcEngine.h:639
agora::rtc::ChannelMediaOptions::publishFourthCameraTrack
Optional< bool > publishFourthCameraTrack
Definition: IAgoraRtcEngine.h:1047
agora::rtc::IRtcEngine::startRtmpStreamWithTranscoding
virtual int startRtmpStreamWithTranscoding(const char *url, const LiveTranscoding &transcoding)=0
agora::rtc::DirectCdnStreamingMediaOptions
Definition: IAgoraRtcEngine.h:3304
agora::rtc::IRtcEngineEventHandler::onStreamMessageError
virtual void onStreamMessageError(uid_t userId, int streamId, int code, int missed, int cached)
Definition: IAgoraRtcEngine.h:2188
agora::rtc::IRtcEngine::setVideoEncoderConfiguration
virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration &config)=0
agora::rtc::AdvancedAudioOptions
Definition: IAgoraRtcEngine.h:998
agora::rtc::IRtcEngine::queryCodecCapability
virtual int queryCodecCapability(CodecCapInfo *codecInfo, int &size)=0
agora::rtc::IRtcEngine::stopAllEffects
virtual int stopAllEffects()=0
agora::rtc::IRtcEngine::pauseAllChannelMediaRelay
virtual int pauseAllChannelMediaRelay()=0
agora::rtc::LocalVideoStats::captureFrameHeight
int captureFrameHeight
Definition: IAgoraRtcEngine.h:280
agora::rtc::IRtcEngineEventHandler::onAudioQuality
virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay, unsigned short lost) __deprecated
Definition: IAgoraRtcEngine.h:1510
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:3056
agora::rtc::ScreenCaptureConfiguration::regionRect
Rectangle regionRect
Definition: IAgoraRtcEngine.h:844
agora::rtc::VideoCompositingLayout::canvasWidth
int canvasWidth
Definition: IAgoraRtcEngine.h:596
agora::rtc::LeaveChannelOptions::stopMicrophoneRecording
bool stopMicrophoneRecording
Definition: IAgoraRtcEngine.h:1418
agora::rtc::PublisherConfiguration::rawStreamUrl
const char * rawStreamUrl
Definition: IAgoraRtcEngine.h:737
agora::rtc::RemoteAudioStats::mosValue
int mosValue
Definition: IAgoraRtcEngine.h:411
agora::rtc::IRtcEngineEventHandler::onRemoteVideoStats
virtual void onRemoteVideoStats(const RemoteVideoStats &stats)
Definition: IAgoraRtcEngine.h:2015
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:2218
agora::rtc::LocalVideoStats::targetFrameRate
int targetFrameRate
Definition: IAgoraRtcEngine.h:310
agora::rtc::DirectCdnStreamingStats::audioBitrate
int audioBitrate
Definition: IAgoraRtcEngine.h:3273
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:3051
agora::rtc::IRtcEngineEventHandler::onRemoteSubscribeFallbackToAudioOnly
virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover)
Definition: IAgoraRtcEngine.h:2550
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:2338
agora::rtc::IRtcEngineEventHandler::onAudioDeviceStateChanged
virtual void onAudioDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition: IAgoraRtcEngine.h:1592
agora::rtc::IAudioEncodedFrameObserver
Definition: AgoraBase.h:5000
agora::rtc::ChannelMediaOptions::token
Optional< const char * > token
Definition: IAgoraRtcEngine.h:1194
agora::rtc::LeaveChannelOptions
Definition: IAgoraRtcEngine.h:1400
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStats
virtual void onRemoteAudioStats(const RemoteAudioStats &stats)
Definition: IAgoraRtcEngine.h:1985
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:3263
agora::rtc::IRtcEngine::stopLastmileProbeTest
virtual int stopLastmileProbeTest()=0
agora::rtc::ChannelMediaRelayConfiguration
Definition: AgoraBase.h:5241
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:2874
agora::rtc::IRtcEngineEventHandler::onRtmpStreamingStateChanged
virtual void onRtmpStreamingStateChanged(const char *url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_ERROR_TYPE errCode)
Definition: IAgoraRtcEngine.h:2410
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:328
agora::rtc::IRtcEngineEventHandler::onLocalVideoStats
virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats &stats)
Definition: IAgoraRtcEngine.h:2002
agora::rtc::ChannelMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition: IAgoraRtcEngine.h:1100
agora::rtc::RemoteVideoStats::avSyncTimeMs
int avSyncTimeMs
Definition: IAgoraRtcEngine.h:527
agora::rtc::RtcEngineContext::domainLimit
bool domainLimit
Definition: IAgoraRtcEngine.h:3112
agora::rtc::VideoDenoiserOptions
Definition: AgoraBase.h:4287
agora::rtc::IRtcEngineEventHandler::onStreamMessage
virtual void onStreamMessage(uid_t userId, int streamId, const char *data, size_t length, uint64_t sentTs)
Definition: IAgoraRtcEngine.h:2168
agora::rtc::RemoteVideoStats::decoderOutputFrameRate
int decoderOutputFrameRate
Definition: IAgoraRtcEngine.h:499
agora::rtc::RtcEngineContext::context
void * context
Definition: IAgoraRtcEngine.h:3047
agora::rtc::ChannelMediaOptions::publishCameraTrack
Optional< bool > publishCameraTrack
Definition: IAgoraRtcEngine.h:1029
agora::rtc::IRtcEngineEventHandler::onFirstLocalVideoFrame
virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed)
Definition: IAgoraRtcEngine.h:1722
agora::rtc::ChannelMediaOptions::clientRoleType
Optional< CLIENT_ROLE_TYPE > clientRoleType
Definition: IAgoraRtcEngine.h:1161
agora::rtc::ChannelMediaOptions::publishThirdCameraTrack
Optional< bool > publishThirdCameraTrack
Definition: IAgoraRtcEngine.h:1041
agora::rtc::IRtcEngineEventHandler::onJoinChannelSuccess
virtual void onJoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1448
agora::rtc::DirectCdnStreamingMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition: IAgoraRtcEngine.h:3339
agora::rtc::ChannelMediaOptions::channelProfile
Optional< CHANNEL_PROFILE_TYPE > channelProfile
Definition: IAgoraRtcEngine.h:1175
agora::rtc::RemoteAudioStats::audioLossRate
int audioLossRate
Definition: IAgoraRtcEngine.h:369
agora::rtc::IRtcEngine::setEncryptionMode
virtual int setEncryptionMode(const char *encryptionMode) __deprecated=0
agora::rtc::VideoCompositingLayout::Region::zOrder
int zOrder
Definition: IAgoraRtcEngine.h:571
agora::rtc::LocalVideoStats::captureFrameRate
int captureFrameRate
Definition: IAgoraRtcEngine.h:274
agora::rtc::VirtualBackgroundSource
Definition: AgoraBase.h:4353
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:2918
agora::rtc::RemoteVideoStats::frozenRate
int frozenRate
Definition: IAgoraRtcEngine.h:522
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:617
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:576
agora::rtc::IRtcEngine::release
virtual void release(bool sync=false)=0
agora::rtc::IRtcEngine::enableCustomAudioLocalPlayback
virtual int enableCustomAudioLocalPlayback(track_id_t trackId, bool enabled)=0
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition: IAgoraRtcEngine.h:3328
agora::rtc::ScreenCaptureConfiguration::isCaptureWindow
bool isCaptureWindow
Definition: IAgoraRtcEngine.h:818
agora::rtc::LocalVideoStats::encodedFrameHeight
int encodedFrameHeight
Definition: IAgoraRtcEngine.h:301
agora::rtc::IRtcEngine::setLocalVoiceFormant
virtual int setLocalVoiceFormant(double formantRatio)=0
agora::rtc::AdvancedAudioOptions::audioProcessingChannels
Optional< int > audioProcessingChannels
Definition: IAgoraRtcEngine.h:1002
agora::rtc::IRtcEngineEventHandler::onLocalAudioStateChanged
virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error)
Definition: IAgoraRtcEngine.h:2292
agora::rtc::IRtcEngine::getUserInfoByUserAccount
virtual int getUserInfoByUserAccount(const char *userAccount, rtc::UserInfo *userInfo)=0
agora::rtc::WlAccStats
Definition: AgoraBase.h:4064
agora::rtc::IRtcEngine::setDefaultMuteAllRemoteAudioStreams
virtual int setDefaultMuteAllRemoteAudioStreams(bool mute) __deprecated=0
agora::rtc::IRtcEngine::updateChannelMediaRelay
virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) __deprecated=0
agora::rtc::IRtcEngine::setLogFile
virtual int setLogFile(const char *filePath)=0
agora::rtc::IRtcEngine::enableVirtualBackground
virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IVideoDeviceCollection::setDevice
virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngine::setCameraCapturerConfiguration
virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration &config)=0
agora::rtc::RemoteVideoStats::__deprecated
int delay __deprecated
Definition: IAgoraRtcEngine.h:480
agora::rtc::RemoteAudioStats::quality
int quality
Definition: IAgoraRtcEngine.h:355
agora::rtc::PublisherConfiguration::width
int width
Definition: IAgoraRtcEngine.h:694
agora::rtc::VideoCompositingLayout::Region::width
double width
Definition: IAgoraRtcEngine.h:565
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:2155
agora::rtc::IRtcEngine::getEffectsVolume
virtual int getEffectsVolume()=0
agora::rtc::IRtcEngineEventHandler::onEncryptionError
virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType)
Definition: IAgoraRtcEngine.h:2658
agora::rtc::IRtcEngineEventHandler::onCameraReady
virtual void onCameraReady() __deprecated
Definition: IAgoraRtcEngine.h:2023
agora::rtc::IRtcEngine::getEffectDuration
virtual int getEffectDuration(const char *filePath)=0
agora::rtc::CodecCapInfo
Definition: AgoraBase.h:1742
agora::commons::LogConfig
Definition: IAgoraLog.h:82
agora::rtc::IRtcEngineEventHandler::onLocalVideoStateChanged
virtual void onLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_ERROR error)
Definition: IAgoraRtcEngine.h:1808
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:1412
agora::rtc::ChannelMediaOptions::defaultVideoStreamType
Optional< VIDEO_STREAM_TYPE > defaultVideoStreamType
Definition: IAgoraRtcEngine.h:1170
agora::rtc::RemoteVideoStats::rxVideoBytes
unsigned int rxVideoBytes
Definition: IAgoraRtcEngine.h:548
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:3119
agora::rtc::LocalVideoStats
Definition: IAgoraRtcEngine.h:259
agora::rtc::IMetadataObserver::onMetadataReceived
virtual void onMetadataReceived(const Metadata &metadata)=0
agora::rtc::IRtcEngine::startAudioFrameDump
virtual int startAudioFrameDump(const char *channel_id, uid_t user_id, const char *location, const char *uuid, const char *passwd, long duration_ms, bool auto_upload)=0
agora::rtc::IRtcEngine::resumeAllChannelMediaRelay
virtual int resumeAllChannelMediaRelay()=0
agora::rtc::IRtcEngine::setExtensionProperty
virtual int setExtensionProperty(const char *provider, const char *extension, const ExtensionInfo &extensionInfo, const char *key, const char *value)=0
agora::rtc::IRtcEngineEventHandler::onUserStateChanged
virtual void onUserStateChanged(uid_t uid, uint32_t state)
Definition: IAgoraRtcEngine.h:1947
agora::rtc::ChannelMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition: IAgoraRtcEngine.h:1156
agora::rtc::IDirectCdnStreamingEventHandler
Definition: IAgoraRtcEngine.h:3280
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:2722
agora::rtc::IRtcEngineEventHandler::onVideoStopped
virtual void onVideoStopped() __deprecated
Definition: IAgoraRtcEngine.h:2102
agora::rtc::EncryptionConfig
Definition: AgoraBase.h:5444
agora::rtc::IRtcEngineEventHandler::onWlAccStats
virtual void onWlAccStats(WlAccStats currentStats, WlAccStats averageStats)
Definition: IAgoraRtcEngine.h:2633
agora::rtc::IRtcEngine::destroyMediaPlayer
virtual int destroyMediaPlayer(agora_refptr< IMediaPlayer > media_player)=0
agora::rtc::IRtcEngine::setAudioMixingPosition
virtual int setAudioMixingPosition(int pos)=0
agora::rtc::ChannelMediaOptions::publishTranscodedVideoTrack
Optional< bool > publishTranscodedVideoTrack
Definition: IAgoraRtcEngine.h:1134
agora::rtc::ScreenCaptureConfiguration::displayId
uint32_t displayId
Definition: IAgoraRtcEngine.h:822
agora::rtc::ChannelMediaOptions::enableAudioRecordingOrPlayout
Optional< bool > enableAudioRecordingOrPlayout
Definition: IAgoraRtcEngine.h:1152
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:2771
agora::rtc::RemoteVideoStats::receivedBitrate
int receivedBitrate
Definition: IAgoraRtcEngine.h:496
agora::rtc::RemoteAudioStats
Definition: IAgoraRtcEngine.h:347
agora::rtc::TranscodingVideoStream
Definition: AgoraBase.h:3681
agora::rtc::IMetadataObserver::MAX_METADATA_SIZE_TYPE
MAX_METADATA_SIZE_TYPE
Definition: IAgoraRtcEngine.h:3151
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::IRtcEngineEventHandler::onFirstRemoteVideoFrame
virtual void onFirstRemoteVideoFrame(uid_t userId, int width, int height, int elapsed)
Definition: IAgoraRtcEngine.h:1839
agora::rtc::LocalVideoStats::encoderOutputFrameRate
int encoderOutputFrameRate
Definition: IAgoraRtcEngine.h:295
agora::rtc::IRtcEngine::unregisterAudioSpectrumObserver
virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
agora::rtc::IRtcEngine::setupRemoteVideo
virtual int setupRemoteVideo(const VideoCanvas &canvas)=0
agora::rtc::IRtcEngineEventHandler::onLastmileProbeResult
virtual void onLastmileProbeResult(const LastmileProbeResult &result)
Definition: IAgoraRtcEngine.h:1523
agora::rtc::IVideoDeviceManager::startDeviceTest
virtual int startDeviceTest(view_t hwnd)=0
agora::rtc::IRtcEngine::setLocalVideoMirrorMode
virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
agora::rtc::IRtcEngineEventHandler::onConnectionLost
virtual void onConnectionLost()
Definition: IAgoraRtcEngine.h:2137
agora::rtc::PublisherConfiguration::owner
bool owner
Definition: IAgoraRtcEngine.h:720
agora::rtc::IRtcEngine::setInEarMonitoringVolume
virtual int setInEarMonitoringVolume(int volume)=0
agora::rtc::IRtcEngine::setDefaultMuteAllRemoteVideoStreams
virtual int setDefaultMuteAllRemoteVideoStreams(bool mute) __deprecated=0
agora::rtc::IRtcEngine::enableSoundPositionIndication
virtual int enableSoundPositionIndication(bool enabled)=0
agora::rtc::VideoCompositingLayout::regions
const Region * regions
Definition: IAgoraRtcEngine.h:608
agora::rtc::IRtcEngine::stopCameraCapture
virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType)=0
agora::rtc::ChannelMediaOptions::publishMediaPlayerVideoTrack
Optional< bool > publishMediaPlayerVideoTrack
Definition: IAgoraRtcEngine.h:1128
agora::rtc::IRtcEngine::stopPreview
virtual int stopPreview()=0
agora::rtc::RemoteVideoStats::mosValue
int mosValue
Definition: IAgoraRtcEngine.h:544
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:3344
agora::rtc::IRtcEngineEventHandler::onVideoSizeChanged
virtual void onVideoSizeChanged(VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation)
Definition: IAgoraRtcEngine.h:1775
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:2684
agora::rtc::LocalVideoStats::encodedFrameWidth
int encodedFrameWidth
Definition: IAgoraRtcEngine.h:298
agora::rtc::RtcStats
Definition: AgoraBase.h:2081
agora::rtc::LowlightEnhanceOptions
Definition: AgoraBase.h:4246
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:2356
agora::rtc::IRtcEngine::startChannelMediaRelay
virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) __deprecated=0
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::IRtcEngine::adjustAudioMixingVolume
virtual int adjustAudioMixingVolume(int volume)=0
agora::rtc::WatermarkOptions
Definition: AgoraBase.h:2044
agora::rtc::LocalAudioStats
Definition: AgoraBase.h:3236
agora::rtc::RecorderStreamInfo
Definition: AgoraBase.h:5878
agora::rtc::ChannelMediaOptions::publishThirdScreenTrack
Optional< bool > publishThirdScreenTrack
Definition: IAgoraRtcEngine.h:1086
agora::rtc::IRtcEngineEventHandler::onAudioDeviceVolumeChanged
virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted)
Definition: IAgoraRtcEngine.h:2393
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:2370
agora::rtc::IRtcEngineEventHandler::onExtensionError
virtual void onExtensionError(const char *provider, const char *extension, int error, const char *message)
Definition: IAgoraRtcEngine.h:2829
agora::rtc::RemoteVideoStats::width
int width
Definition: IAgoraRtcEngine.h:488
agora::rtc::RtcEngineContext::audioScenario
AUDIO_SCENARIO_TYPE audioScenario
Definition: IAgoraRtcEngine.h:3065
agora::rtc::RemoteVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition: IAgoraRtcEngine.h:502
agora::rtc::IRtcEngine::setVoiceBeautifierPreset
virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset)=0
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:307
agora::rtc::ChannelMediaOptions::publishSecondaryScreenTrack
Optional< bool > publishSecondaryScreenTrack
Definition: IAgoraRtcEngine.h:1080
agora::rtc::RemoteAudioStats::qualityChangedReason
int qualityChangedReason
Definition: IAgoraRtcEngine.h:438
agora::rtc::IRtcEngine::getCallId
virtual int getCallId(agora::util::AString &callId)=0
agora::rtc::InjectStreamConfig
Definition: IAgoraRtcEngine.h:631
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:799
agora::rtc::LocalVideoStats::encodedFrameCount
int encodedFrameCount
Definition: IAgoraRtcEngine.h:321
agora::rtc::PublisherConfiguration::bitrate
int bitrate
Definition: IAgoraRtcEngine.h:706
agora::rtc::LocalVideoStats::regulatedCaptureFrameRate
int regulatedCaptureFrameRate
Definition: IAgoraRtcEngine.h:284
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:3030
agora::rtc::IRtcEngine::unloadAllEffects
virtual int unloadAllEffects()=0
agora::rtc::ChannelMediaOptions
Definition: IAgoraRtcEngine.h:1023
agora::rtc::IRtcEngine
Definition: IAgoraRtcEngine.h:3450
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::IRtcEngineEventHandler::onActiveSpeaker
virtual void onActiveSpeaker(uid_t userId)
Definition: IAgoraRtcEngine.h:2333
agora::rtc::IRtcEngine::createMediaRecorder
virtual agora_refptr< IMediaRecorder > createMediaRecorder(const RecorderStreamInfo &info)=0
agora::rtc::ScreenCaptureConfiguration
Definition: IAgoraRtcEngine.h:812
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:1146
agora::rtc::AudioRecordingConfiguration
Definition: AgoraBase.h:4907
agora::rtc::IRtcEngine::getEffectCurrentPosition
virtual int getEffectCurrentPosition(int soundId)=0
agora::rtc::ChannelMediaOptions::publishMicrophoneTrack
Optional< bool > publishMicrophoneTrack
Definition: IAgoraRtcEngine.h:1053
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:505
agora::rtc::IRtcEngine::updateDirectCdnStreamingMediaOptions
virtual int updateDirectCdnStreamingMediaOptions(const DirectCdnStreamingMediaOptions &options)=0
agora::rtc::IRtcEngine::setLocalVoicePitch
virtual int setLocalVoicePitch(double pitch)=0
agora::rtc::RemoteVideoStats::height
int height
Definition: IAgoraRtcEngine.h:492
agora::rtc::LocalVideoStats::captureFrameWidth
int captureFrameWidth
Definition: IAgoraRtcEngine.h:277
agora::rtc::IRtcEngine::setAudioEffectPreset
virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset)=0
agora::rtc::IRtcEngineEventHandler::onExtensionEvent
virtual void onExtensionEvent(const char *provider, const char *extension, const char *key, const char *value)
Definition: IAgoraRtcEngine.h:2788
agora::rtc::RtcEngineContext::useExternalEglContext
bool useExternalEglContext
Definition: IAgoraRtcEngine.h:3105
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:394
agora::rtc::IRtcEngine::setVideoScenario
virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType)=0
agora::rtc::RemoteAudioStats::plcCount
uint32_t plcCount
Definition: IAgoraRtcEngine.h:420
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:3334
agora::util::CopyableAutoPtr
Definition: AgoraBase.h:145
agora::rtc::IRtcEngine::getNetworkType
virtual int getNetworkType()=0
agora::rtc::InjectStreamConfig::audioSampleRate
AUDIO_SAMPLE_RATE_TYPE audioSampleRate
Definition: IAgoraRtcEngine.h:655
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:702
agora::rtc::IRtcEngine::resumeEffect
virtual int resumeEffect(int soundId)=0
agora::rtc::PublisherConfiguration::injectStreamUrl
const char * injectStreamUrl
Definition: IAgoraRtcEngine.h:729
agora::rtc::ChannelMediaOptions::publishScreenTrack
Optional< bool > publishScreenTrack
Definition: IAgoraRtcEngine.h:1074
agora::rtc::IRtcEngineEventHandler::onAudioRoutingChanged
virtual void onAudioRoutingChanged(int routing)
Definition: IAgoraRtcEngine.h:2452
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:651
agora::rtc::LocalVideoStats::captureBrightnessLevel
CAPTURE_BRIGHTNESS_LEVEL_TYPE captureBrightnessLevel
Definition: IAgoraRtcEngine.h:331
agora::rtc::IRtcEngine::enableVideo
virtual int enableVideo()=0
agora::rtc::IRtcEngine::setRemoteUserSpatialAudioParams
virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams &params)=0
agora::rtc::IRtcEngine::setHeadphoneEQParameters
virtual int setHeadphoneEQParameters(int lowGain, int highGain)=0
agora::rtc::IMetadataObserver::UNKNOWN_METADATA
@ UNKNOWN_METADATA
Definition: IAgoraRtcEngine.h:3142
agora::rtc::IRtcEngineEventHandler::onFirstLocalVideoFramePublished
virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed)
Definition: IAgoraRtcEngine.h:1739
agora::rtc::IRtcEngine::startEchoTest
virtual int startEchoTest()=0
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:373
agora::rtc::ChannelMediaOptions::audioDelayMs
Optional< int > audioDelayMs
Definition: IAgoraRtcEngine.h:1180
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:1659
agora::rtc::IRtcEngine::resumeAudioMixing
virtual int resumeAudioMixing()=0
agora::rtc::ImageTrackOptions
Definition: IAgoraRtcEngine.h:1008
agora::rtc::IRtcEngine::unloadEffect
virtual int unloadEffect(int soundId)=0
agora::rtc::VideoCompositingLayout::Region
Definition: IAgoraRtcEngine.h:552
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:2739
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:1092
agora::rtc::RemoteAudioStats::jitterBufferDelay
int jitterBufferDelay
Definition: IAgoraRtcEngine.h:365
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:1825
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:723
agora::rtc::RemoteVideoStats::rxStreamType
VIDEO_STREAM_TYPE rxStreamType
Definition: IAgoraRtcEngine.h:512
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:3165
agora::rtc::RemoteAudioStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:351
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:643
agora::rtc::ChannelMediaOptions::isInteractiveAudience
Optional< bool > isInteractiveAudience
Definition: IAgoraRtcEngine.h:1216
agora::SpatialAudioParams
Definition: AgoraBase.h:5993
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:2671
agora::rtc::IRtcEngineEventHandler::onUploadLogResult
virtual void onUploadLogResult(const char *requestId, bool success, UPLOAD_ERROR_REASON reason)
Definition: IAgoraRtcEngine.h:2707
agora::rtc::RemoteAudioStats::qoeQuality
int qoeQuality
Definition: IAgoraRtcEngine.h:434
agora::rtc::IRtcEngine::addVideoWatermark
virtual int addVideoWatermark(const RtcImage &watermark)=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:1577
agora::rtc::IRtcEngineEventHandler::onUserJoined
virtual void onUserJoined(uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1865
agora::rtc::AAudioDeviceManager
Definition: IAgoraRtcEngine.h:8293
agora::rtc::IMetadataObserver::Metadata
Definition: IAgoraRtcEngine.h:3160
agora::rtc::IRtcEngine::sendCustomReportMessage
virtual int sendCustomReportMessage(const char *id, const char *category, const char *event, const char *label, int value)=0
agora::rtc::RemoteVideoStats::packetLossRate
int packetLossRate
Definition: IAgoraRtcEngine.h:508
agora::rtc::LocalVideoStats::hwEncoderAccelerating
int hwEncoderAccelerating
Definition: IAgoraRtcEngine.h:340
agora::rtc::DeviceInfo
Definition: AgoraBase.h:3096
agora::base::IEngineBase
Definition: AgoraBase.h:5959
agora::rtc::LocalVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition: IAgoraRtcEngine.h:304
agora::rtc::IRtcEngineEventHandler::onDownlinkNetworkInfoUpdated
virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo &info)
Definition: IAgoraRtcEngine.h:1694
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition: IAgoraRtcEngine.h:3322
agora::rtc::VideoRenderingTracingInfo
Definition: AgoraBase.h:5811
agora::rtc::IRtcEngineEventHandler::onAudioMixingStateChanged
virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:2111
agora::rtc::IRtcEngine::setLocalRenderMode
virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode)=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:3074
agora::rtc::IRtcEngineEventHandler::onLicenseValidationFailure
virtual void onLicenseValidationFailure(LICENSE_ERROR_TYPE error)
Definition: IAgoraRtcEngine.h:2227
agora::rtc::CameraCapturerConfiguration
Definition: IAgoraRtcEngine.h:787
agora::rtc::IMetadataObserver::VIDEO_METADATA
@ VIDEO_METADATA
Definition: IAgoraRtcEngine.h:3145
agora::rtc::IRtcEngine::selectAudioTrack
virtual int selectAudioTrack(int index)=0
agora::rtc::RemoteVideoStats
Definition: IAgoraRtcEngine.h:468
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:726
agora::Optional< int >
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:3168
agora::rtc::ClientRoleOptions
Definition: AgoraBase.h:2326
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:827
agora::rtc::IRtcEngineEventHandler::onUserEnableLocalVideo
virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) __deprecated
Definition: IAgoraRtcEngine.h:1962
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:2486
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:2755
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:377
agora::rtc::IRtcEngine::startPreview
virtual int startPreview(VIDEO_SOURCE_TYPE sourceType)=0
agora::rtc::VideoCanvas
Definition: AgoraBase.h:4134
agora::rtc::VideoCompositingLayout::Region::uid
uid_t uid
Definition: IAgoraRtcEngine.h:555
agora::rtc::IRtcEngineEventHandler::onConnectionStateChanged
virtual void onConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:2610
agora::rtc::SegmentationProperty
Definition: AgoraBase.h:4420
agora::rtc::VideoCompositingLayout::Region::x
double x
Definition: IAgoraRtcEngine.h:558
agora::rtc::IRtcEngineEventHandler::onExtensionStarted
virtual void onExtensionStarted(const char *provider, const char *extension)
Definition: IAgoraRtcEngine.h:2802