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 
16 namespace agora {
17 namespace rtc {
18 
19 template <typename T>
20 static void SetFrom(Optional<T>* s, const Optional<T>& o) {
21  if (o) {
22  *s = o;
23  }
24 }
25 
26 template <typename T>
27 static void ReplaceBy(Optional<T>* s, const Optional<T>& o) {
28  *s = o;
29 }
30 
31 //class IAudioDeviceManager;
32 
36 enum MEDIA_DEVICE_TYPE {
40  UNKNOWN_AUDIO_DEVICE = -1,
44  AUDIO_PLAYOUT_DEVICE = 0,
48  AUDIO_RECORDING_DEVICE = 1,
52  VIDEO_RENDER_DEVICE = 2,
56  VIDEO_CAPTURE_DEVICE = 3,
60  AUDIO_APPLICATION_PLAYOUT_DEVICE = 4,
61 };
62 
66 enum AUDIO_MIXING_STATE_TYPE {
68  AUDIO_MIXING_STATE_PLAYING = 710,
70  AUDIO_MIXING_STATE_PAUSED = 711,
72  AUDIO_MIXING_STATE_STOPPED = 713,
76  AUDIO_MIXING_STATE_FAILED = 714,
77 };
78 
82 enum AUDIO_MIXING_REASON_TYPE {
84  AUDIO_MIXING_REASON_CAN_NOT_OPEN = 701,
86  AUDIO_MIXING_REASON_TOO_FREQUENT_CALL = 702,
88  AUDIO_MIXING_REASON_INTERRUPTED_EOF = 703,
90  AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED = 721,
92  AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED = 723,
94  AUDIO_MIXING_REASON_STOPPED_BY_USER = 724,
96  AUDIO_MIXING_REASON_OK = 0,
97 };
98 
102 enum INJECT_STREAM_STATUS {
106  INJECT_STREAM_STATUS_START_SUCCESS = 0,
110  INJECT_STREAM_STATUS_START_ALREADY_EXISTS = 1,
114  INJECT_STREAM_STATUS_START_UNAUTHORIZED = 2,
118  INJECT_STREAM_STATUS_START_TIMEDOUT = 3,
122  INJECT_STREAM_STATUS_START_FAILED = 4,
126  INJECT_STREAM_STATUS_STOP_SUCCESS = 5,
130  INJECT_STREAM_STATUS_STOP_NOT_FOUND = 6,
134  INJECT_STREAM_STATUS_STOP_UNAUTHORIZED = 7,
138  INJECT_STREAM_STATUS_STOP_TIMEDOUT = 8,
142  INJECT_STREAM_STATUS_STOP_FAILED = 9,
146  INJECT_STREAM_STATUS_BROKEN = 10,
147 };
148 
152 enum AUDIO_EQUALIZATION_BAND_FREQUENCY {
156  AUDIO_EQUALIZATION_BAND_31 = 0,
160  AUDIO_EQUALIZATION_BAND_62 = 1,
164  AUDIO_EQUALIZATION_BAND_125 = 2,
168  AUDIO_EQUALIZATION_BAND_250 = 3,
172  AUDIO_EQUALIZATION_BAND_500 = 4,
176  AUDIO_EQUALIZATION_BAND_1K = 5,
180  AUDIO_EQUALIZATION_BAND_2K = 6,
184  AUDIO_EQUALIZATION_BAND_4K = 7,
188  AUDIO_EQUALIZATION_BAND_8K = 8,
192  AUDIO_EQUALIZATION_BAND_16K = 9,
193 };
194 
198 enum AUDIO_REVERB_TYPE {
202  AUDIO_REVERB_DRY_LEVEL = 0,
206  AUDIO_REVERB_WET_LEVEL = 1,
210  AUDIO_REVERB_ROOM_SIZE = 2,
214  AUDIO_REVERB_WET_DELAY = 3,
218  AUDIO_REVERB_STRENGTH = 4,
219 };
220 
221 enum STREAM_FALLBACK_OPTIONS {
225  STREAM_FALLBACK_OPTION_DISABLED = 0,
230  STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW = 1,
234  STREAM_FALLBACK_OPTION_AUDIO_ONLY = 2,
235 };
236 
237 enum PRIORITY_TYPE {
240  PRIORITY_HIGH = 50,
243  PRIORITY_NORMAL = 100,
244 };
245 
249 {
253  uid_t uid;
308  QUALITY_ADAPT_INDICATION qualityAdaptIndication;
309  int encodedBitrate;
317  VIDEO_CODEC_TYPE codecType;
321  unsigned short txPacketLossRate;
324  CAPTURE_BRIGHTNESS_LEVEL_TYPE captureBrightnessLevel;
329 };
330 
338  uid_t uid;
346  int delay __deprecated;
350  int e2eDelay;
354  int width;
358  int height;
378  VIDEO_STREAM_TYPE rxStreamType;
407 };
408 
410  struct Region {
413  uid_t uid;
416  double x; // [0,1]
419  double y; // [0,1]
423  double width; // [0,1]
425  double height; // [0,1]
429  int zOrder; // optional, [0, 100] //0 (default): bottom most, 100: top most
430 
434  double alpha;
435 
436  media::base::RENDER_MODE_TYPE
437  renderMode; // RENDER_MODE_HIDDEN: Crop, RENDER_MODE_FIT: Zoom to fit
438 
439  Region()
440  : uid(0),
441  x(0),
442  y(0),
443  width(0),
444  height(0),
445  zOrder(0),
446  alpha(1.0),
447  renderMode(media::base::RENDER_MODE_HIDDEN) {}
448  };
449 
462  const char* backgroundColor; // e.g. "#C0C0C0" in RGB
466  const Region* regions;
472  const char* appData;
476 
478  : canvasWidth(0),
479  canvasHeight(0),
480  backgroundColor(NULL),
481  regions(NULL),
482  regionCount(0),
483  appData(NULL),
484  appDataLength(0) {}
485 };
486 
493  int width;
497  int height;
501  int videoGop;
513  AUDIO_SAMPLE_RATE_TYPE audioSampleRate;
521 
522  // width / height default set to 0 means pull the stream with its original
523  // resolution
525  : width(0),
526  height(0),
527  videoGop(30),
528  videoFramerate(15),
529  videoBitrate(400),
530  audioSampleRate(AUDIO_SAMPLE_RATE_48000),
531  audioBitrate(48),
532  audioChannels(1) {}
533 };
534 
537 enum RTMP_STREAM_LIFE_CYCLE_TYPE {
540  RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL = 1,
543  RTMP_STREAM_LIFE_CYCLE_BIND2OWNER = 2,
544 };
545 
552  int width;
556  int height;
564  int bitrate;
578  bool owner;
587  const char* injectStreamUrl;
591  const char* publishUrl;
595  const char* rawStreamUrl;
598  const char* extraInfo;
599 
601  : width(640),
602  height(360),
603  framerate(15),
604  bitrate(500),
605  defaultLayout(1),
606  lifecycle(RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL),
607  owner(true),
610  injectStreamUrl(NULL),
611  publishUrl(NULL),
612  rawStreamUrl(NULL),
613  extraInfo(NULL) {}
614 };
615 
617  bool enableLocalPlayback;
618  AudioTrackConfig() : enableLocalPlayback(true) {}
619 };
620 
621 enum CAMERA_DIRECTION {
623  CAMERA_REAR = 0,
625  CAMERA_FRONT = 1,
626 };
627 
632 enum CLOUD_PROXY_TYPE {
635  NONE_PROXY = 0,
638  UDP_PROXY = 1,
640 
642  TCP_PROXY = 2,
644 };
645 
649 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
650  CAMERA_DIRECTION cameraDirection;
651 #else
652 
653  char deviceId[MAX_DEVICE_ID_LENGTH];
654 #endif
655  VideoFormat format;
656  bool followEncodeDimensionRatio;
657  CameraCapturerConfiguration() : followEncodeDimensionRatio(true) {
658 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
659  cameraDirection = CAMERA_REAR;
660 #else
661  memset(deviceId, 0, sizeof(deviceId));
662 #endif
663  }
664 };
665 
667  bool isCaptureWindow; // true - capture window, false - capture display
668  uint32_t displayId;
669  Rectangle screenRect; //Windows only
670  view_t windowId;
672  Rectangle regionRect;
673 
674  ScreenCaptureConfiguration() : isCaptureWindow(false), displayId(0), windowId(0) {}
675 };
676 
677 #if (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
678 
680 struct SIZE {
683  int width;
686  int height;
687 
688  SIZE() : width(0), height(0) {}
689  SIZE(int ww, int hh) : width(ww), height(hh) {}
690 };
691 #endif
692 
693 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
694 struct ThumbImageBuffer {
695  const char* buffer;
696  unsigned int length;
697  unsigned int width;
698  unsigned int height;
699  ThumbImageBuffer() : buffer(nullptr), length(0), width(0), height(0) {}
700 };
701 
702 enum ScreenCaptureSourceType {
703  ScreenCaptureSourceType_Unknown = -1,
704  ScreenCaptureSourceType_Window = 0,
705  ScreenCaptureSourceType_Screen = 1,
706  ScreenCaptureSourceType_Custom = 2,
707 };
708 
709 struct ScreenCaptureSourceInfo {
710  ScreenCaptureSourceType type;
712  view_t sourceId;
713  const char* sourceName;
714  ThumbImageBuffer thumbImage;
715  ThumbImageBuffer iconImage;
716 
717  const char* processPath;
718  const char* sourceTitle;
719  bool primaryMonitor;
720  bool isOccluded;
721 #if defined(_WIN32)
722 
725  bool minimizeWindow;
726  ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(nullptr), sourceName(nullptr),
727  processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false), minimizeWindow(false) {}
728 #else
729  ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(nullptr), sourceName(nullptr),
730  processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false) {}
731 #endif
732 };
733 
734 class IScreenCaptureSourceList {
735  protected:
736  virtual ~IScreenCaptureSourceList(){};
737 
738  public:
739  virtual unsigned int getCount() = 0;
740  virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index) = 0;
741  virtual void release() = 0;
742 };
743 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
744 
750 
753 };
754 
756  const char* imageUrl;
757  int fps;
758  VIDEO_MIRROR_MODE_TYPE mirrorMode;
759  ImageTrackOptions() : imageUrl(NULL), fps(1), mirrorMode(VIDEO_MIRROR_MODE_DISABLED) {}
760 };
761 
784 
785  #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
786 
791  Optional<bool> publishScreenCaptureVideo;
797  Optional<bool> publishScreenCaptureAudio;
798  #else
799 
811  #endif
812 
962 
964  ~ChannelMediaOptions() {}
965 
966  void SetAll(const ChannelMediaOptions& change) {
967 #define SET_FROM(X) SetFrom(&X, change.X)
968 
969  SET_FROM(publishCameraTrack);
970  SET_FROM(publishSecondaryCameraTrack);
971  SET_FROM(publishMicrophoneTrack);
972 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
973  SET_FROM(publishScreenCaptureVideo);
974  SET_FROM(publishScreenCaptureAudio);
975 #else
976  SET_FROM(publishScreenTrack);
977  SET_FROM(publishSecondaryScreenTrack);
978 #endif
979  SET_FROM(publishTrancodedVideoTrack);
980  SET_FROM(publishCustomAudioTrack);
982  SET_FROM(publishCustomAudioSourceId);
984  SET_FROM(publishCustomAudioTrackAec);
985  SET_FROM(publishCustomVideoTrack);
986  SET_FROM(publishEncodedVideoTrack);
989  SET_FROM(autoSubscribeAudio);
990  SET_FROM(autoSubscribeVideo);
991  SET_FROM(publishMediaPlayerId);
993  SET_FROM(clientRoleType);
994  SET_FROM(audienceLatencyLevel);
995  SET_FROM(defaultVideoStreamType);
996  SET_FROM(channelProfile);
997  SET_FROM(audioDelayMs);
998  SET_FROM(mediaPlayerAudioDelayMs);
999  SET_FROM(token);
1000  SET_FROM(enableBuiltInMediaEncryption);
1001  SET_FROM(publishRhythmPlayerTrack);
1002  SET_FROM(customVideoTrackId);
1003  SET_FROM(isAudioFilterable);
1004  SET_FROM(isInteractiveAudience);
1005 #undef SET_FROM
1006  }
1007 
1008  bool operator==(const ChannelMediaOptions& o) const {
1009 #define BEGIN_COMPARE() bool b = true
1010 #define ADD_COMPARE(X) b = (b && (X == o.X))
1011 #define END_COMPARE()
1012 
1013  BEGIN_COMPARE();
1014  ADD_COMPARE(publishCameraTrack);
1015  ADD_COMPARE(publishSecondaryCameraTrack);
1016  ADD_COMPARE(publishMicrophoneTrack);
1017 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1018  ADD_COMPARE(publishScreenCaptureVideo);
1019  ADD_COMPARE(publishScreenCaptureAudio);
1020 #else
1021  ADD_COMPARE(publishScreenTrack);
1022  ADD_COMPARE(publishSecondaryScreenTrack);
1023 #endif
1024  ADD_COMPARE(publishTrancodedVideoTrack);
1025  ADD_COMPARE(publishCustomAudioTrack);
1026  ADD_COMPARE(publishDirectCustomAudioTrack);
1027  ADD_COMPARE(publishCustomAudioSourceId);
1028  ADD_COMPARE(publishCustomAudioTrackEnableAec);
1029  ADD_COMPARE(publishCustomAudioTrackAec);
1030  ADD_COMPARE(publishCustomVideoTrack);
1031  ADD_COMPARE(publishEncodedVideoTrack);
1032  ADD_COMPARE(publishMediaPlayerAudioTrack);
1033  ADD_COMPARE(publishMediaPlayerVideoTrack);
1034  ADD_COMPARE(autoSubscribeAudio);
1035  ADD_COMPARE(autoSubscribeVideo);
1036  ADD_COMPARE(publishMediaPlayerId);
1037  ADD_COMPARE(enableAudioRecordingOrPlayout);
1038  ADD_COMPARE(clientRoleType);
1039  ADD_COMPARE(audienceLatencyLevel);
1040  ADD_COMPARE(defaultVideoStreamType);
1041  ADD_COMPARE(channelProfile);
1042  ADD_COMPARE(audioDelayMs);
1043  ADD_COMPARE(mediaPlayerAudioDelayMs);
1044  ADD_COMPARE(token);
1045  ADD_COMPARE(enableBuiltInMediaEncryption);
1046  ADD_COMPARE(publishRhythmPlayerTrack);
1047  ADD_COMPARE(customVideoTrackId);
1048  ADD_COMPARE(isAudioFilterable);
1049  ADD_COMPARE(isInteractiveAudience);
1050  END_COMPARE();
1051 
1052 #undef BEGIN_COMPARE
1053 #undef ADD_COMPARE
1054 #undef END_COMPARE
1055  return b;
1056  }
1057 
1058  ChannelMediaOptions& operator=(const ChannelMediaOptions& replace) {
1059  if (this != &replace) {
1060 #define REPLACE_BY(X) ReplaceBy(&X, replace.X)
1061 
1062  REPLACE_BY(publishCameraTrack);
1063  REPLACE_BY(publishSecondaryCameraTrack);
1064  REPLACE_BY(publishMicrophoneTrack);
1065 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1066  REPLACE_BY(publishScreenCaptureVideo);
1067  REPLACE_BY(publishScreenCaptureAudio);
1068 #else
1069  REPLACE_BY(publishScreenTrack);
1070  REPLACE_BY(publishSecondaryScreenTrack);
1071 #endif
1072  REPLACE_BY(publishTrancodedVideoTrack);
1073  REPLACE_BY(publishCustomAudioTrack);
1074  REPLACE_BY(publishDirectCustomAudioTrack);
1075  REPLACE_BY(publishCustomAudioSourceId);
1077  REPLACE_BY(publishCustomAudioTrackAec);
1078  REPLACE_BY(publishCustomVideoTrack);
1079  REPLACE_BY(publishEncodedVideoTrack);
1080  REPLACE_BY(publishMediaPlayerAudioTrack);
1081  REPLACE_BY(publishMediaPlayerVideoTrack);
1082  REPLACE_BY(autoSubscribeAudio);
1083  REPLACE_BY(autoSubscribeVideo);
1084  REPLACE_BY(publishMediaPlayerId);
1085  REPLACE_BY(enableAudioRecordingOrPlayout);
1086  REPLACE_BY(clientRoleType);
1087  REPLACE_BY(audienceLatencyLevel);
1088  REPLACE_BY(defaultVideoStreamType);
1089  REPLACE_BY(channelProfile);
1090  REPLACE_BY(audioDelayMs);
1091  REPLACE_BY(mediaPlayerAudioDelayMs);
1092  REPLACE_BY(token);
1093  REPLACE_BY(enableBuiltInMediaEncryption);
1094  REPLACE_BY(publishRhythmPlayerTrack);
1095  REPLACE_BY(customVideoTrackId);
1096  REPLACE_BY(isAudioFilterable);
1097  REPLACE_BY(isInteractiveAudience);
1098 #undef REPLACE_BY
1099  }
1100  return *this;
1101  }
1102 };
1103 
1105 enum LOCAL_PROXY_MODE {
1108  ConnectivityFirst = 0,
1111  LocalOnly = 1,
1112 };
1113 
1114 enum PROXY_TYPE {
1117  NONE_PROXY_TYPE = 0,
1120  UDP_PROXY_TYPE = 1,
1122 
1124  TCP_PROXY_TYPE = 2,
1126 
1128  LOCAL_PROXY_TYPE = 3,
1130 
1132  TCP_PROXY_AUTO_FALLBACK_TYPE = 4,
1133 };
1134 
1138  const char** ipList;
1144  const char** domainList;
1150  const char* verifyDomainName;
1153  LOCAL_PROXY_MODE mode;
1154  LocalAccessPointConfiguration() : ipList(NULL), ipListSize(0), domainList(NULL), domainListSize(0), verifyDomainName(NULL), mode(ConnectivityFirst) {}
1155 };
1156 
1179 
1181 };
1182 
1195  public:
1196  virtual ~IRtcEngineEventHandler() {}
1197 
1198  virtual const char* eventHandlerType() const { return "event_handler"; }
1199 
1209  virtual void onJoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1210  (void)channel;
1211  (void)uid;
1212  (void)elapsed;
1213  }
1214 
1227  virtual void onRejoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1228  (void)channel;
1229  (void)uid;
1230  (void)elapsed;
1231  }
1232 
1240  virtual void onProxyConnected(const char* channel, uid_t uid, PROXY_TYPE proxyType, const char* localProxyIp, int elapsed) {
1241  (void)channel;
1242  (void)uid;
1243  (void)proxyType;
1244  (void)localProxyIp;
1245  (void)elapsed;
1246  }
1247 
1253  virtual void onError(int err, const char* msg) {
1254  (void)err;
1255  (void)msg;
1256  }
1257 
1272  virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay,
1273  unsigned short lost) {
1274  (void)uid;
1275  (void)quality;
1276  (void)delay;
1277  (void)lost;
1278  }
1279 
1286  virtual void onLastmileProbeResult(const LastmileProbeResult& result) {
1287  (void)result;
1288  }
1289 
1330  virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, unsigned int speakerNumber,
1331  int totalVolume) {
1332  (void)speakers;
1333  (void)speakerNumber;
1334  (void)totalVolume;
1335  }
1336 
1348  virtual void onLeaveChannel(const RtcStats& stats) { (void)stats; }
1349 
1357  virtual void onRtcStats(const RtcStats& stats) { (void)stats; }
1358 
1368  virtual void onAudioDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1369  (void)deviceId;
1370  (void)deviceType;
1371  (void)deviceState;
1372  }
1373 
1380  virtual void onAudioMixingPositionChanged(int64_t position) {}
1381 
1389  virtual void onAudioMixingFinished() __deprecated {}
1390 
1391  virtual void onAudioEffectFinished(int soundId) {}
1392 
1402  virtual void onVideoDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1403  (void)deviceId;
1404  (void)deviceType;
1405  (void)deviceState;
1406  }
1407 
1415  virtual void onMediaDeviceChanged(int deviceType) {
1416  (void)deviceType;
1417  }
1418 
1428  virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) {
1429  (void)uid;
1430  (void)txQuality;
1431  (void)rxQuality;
1432  }
1433 
1440  virtual void onIntraRequestReceived() {}
1441 
1450  virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo& info) {
1451  (void)info;
1452  }
1453 
1462  (void)info;
1463  }
1464 
1477  virtual void onLastmileQuality(int quality) { (void)quality; }
1478 
1489  virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed) {
1490  (void)source;
1491  (void)width;
1492  (void)height;
1493  (void)elapsed;
1494  }
1495 
1501  virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed) {
1502  (void)source;
1503  (void)elapsed;
1504  }
1505 
1521  virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) __deprecated {
1522  (void)uid;
1523  (void)width;
1524  (void)height;
1525  (void)elapsed;
1526  }
1527 
1536  virtual void onVideoSizeChanged(VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation) {
1537  (void)uid;
1538  (void)width;
1539  (void)height;
1540  (void)rotation;
1541  }
1542 
1555  virtual void onLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_ERROR error) {
1556  (void)source;
1557  (void)state;
1558  (void)error;
1559  }
1560 
1572  virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) {
1573  (void)uid;
1574  (void)state;
1575  (void)reason;
1576  (void)elapsed;
1577  }
1578 
1593  virtual void onFirstRemoteVideoFrame(uid_t userId, int width, int height, int elapsed) {
1594  (void)userId;
1595  (void)width;
1596  (void)height;
1597  (void)elapsed;
1598  }
1599 
1618  virtual void onUserJoined(uid_t uid, int elapsed) {
1619  (void)uid;
1620  (void)elapsed;
1621  }
1622 
1637  virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) {
1638  (void)uid;
1639  (void)reason;
1640  }
1641 
1653  virtual void onUserMuteAudio(uid_t uid, bool muted) {
1654  (void)uid;
1655  (void)muted;
1656  }
1657 
1671  virtual void onUserMuteVideo(uid_t userId, bool muted) __deprecated {
1672  (void)userId;
1673  (void)muted;
1674  }
1675 
1692  virtual void onUserEnableVideo(uid_t uid, bool enabled) __deprecated {
1693  (void)uid;
1694  (void)enabled;
1695  }
1696 
1702  virtual void onUserStateChanged(uid_t uid, uint32_t state) {
1703  (void)uid;
1704  (void)state;
1705  }
1706 
1717  virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) __deprecated {
1718  (void)uid;
1719  (void)enabled;
1720  }
1721 
1729  virtual void onApiCallExecuted(int err, const char* api, const char* result) {
1730  (void)err;
1731  (void)api;
1732  (void)result;
1733  }
1734 
1742  virtual void onLocalAudioStats(const LocalAudioStats& stats) {
1743  (void)stats;
1744  }
1745 
1756  virtual void onRemoteAudioStats(const RemoteAudioStats& stats) {
1757  (void)stats;
1758  }
1759 
1774  virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats& stats) {
1775  (void)source;
1776  (void)stats;
1777  }
1778 
1788  virtual void onRemoteVideoStats(const RemoteVideoStats& stats) {
1789  (void)stats;
1790  }
1791 
1792  virtual void onCameraReady() {}
1793 
1794  virtual void onCameraFocusAreaChanged(int x, int y, int width, int height) {
1795  (void)x;
1796  (void)y;
1797  (void)width;
1798  (void)height;
1799  }
1800 
1801  virtual void onCameraExposureAreaChanged(int x, int y, int width, int height) {
1802  (void)x;
1803  (void)y;
1804  (void)width;
1805  (void)height;
1806  }
1807 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
1808  virtual void onFacePositionChanged(int imageWidth, int imageHeight,
1809  const Rectangle* vecRectangle, const int* vecDistance,
1810  int numFaces) {
1811  (void) imageWidth;
1812  (void) imageHeight;
1813  (void) vecRectangle;
1814  (void) vecDistance;
1815  (void) numFaces;
1816  }
1817 #endif
1818  virtual void onVideoStopped() {}
1819 
1836  virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) {
1837  (void)state;
1838  (void)reason;
1839  }
1840 
1849  virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_ERROR_TYPE errorCode) {
1850  (void)state;
1851  (void)errorCode;
1852  }
1853 
1861  virtual void onConnectionLost() {}
1862 
1874  virtual void onConnectionInterrupted() {}
1875 
1878  virtual void onConnectionBanned() {}
1879 
1893  virtual void onStreamMessage(uid_t userId, int streamId, const char* data, size_t length, uint64_t sentTs) {
1894  (void)userId;
1895  (void)streamId;
1896  (void)data;
1897  (void)length;
1898  (void)sentTs;
1899  }
1900 
1914  virtual void onStreamMessageError(uid_t userId, int streamId, int code, int missed, int cached) {
1915  (void)userId;
1916  (void)streamId;
1917  (void)code;
1918  (void)missed;
1919  (void)cached;
1920  }
1921 
1933  virtual void onRequestToken() {}
1934 
1949  virtual void onTokenPrivilegeWillExpire(const char* token) {
1950  (void)token;
1951  }
1952 
1958  virtual void onLicenseValidationFailure(LICENSE_ERROR_TYPE error) {
1959  (void)error;
1960  }
1961 
1967  virtual void onFirstLocalAudioFramePublished(int elapsed) {
1968  (void)elapsed;
1969  }
1970 
1977  virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) {
1978  (void)uid;
1979  (void)elapsed;
1980  }
1981 
1989  virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) {
1990  (void)uid;
1991  (void)elapsed;
1992  }
1993 
2008  virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error) {
2009  (void)state;
2010  (void)error;
2011  }
2012 
2025  virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) {
2026  (void)uid;
2027  (void)state;
2028  (void)reason;
2029  (void)elapsed;
2030  }
2031 
2044  virtual void onActiveSpeaker(uid_t userId) { (void)userId; }
2046  virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result) { (void)result; }
2059  virtual void onSnapshotTaken(uid_t uid, const char* filePath, int width, int height, int errCode) {
2060  (void)uid;
2061  (void)filePath;
2062  (void)width;
2063  (void)height;
2064  (void)errCode;
2065  }
2073  virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole) {
2074  (void)oldRole;
2075  (void)newRole;
2076  }
2084  virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole) {
2085  (void)reason;
2086  (void)currentRole;
2087  }
2095  virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) {
2096  (void)deviceType;
2097  (void)volume;
2098  (void)muted;
2099  }
2100 
2114  virtual void onRtmpStreamingStateChanged(const char* url, RTMP_STREAM_PUBLISH_STATE state,
2115  RTMP_STREAM_PUBLISH_ERROR_TYPE errCode) {
2116  (void)url;
2117  (void)state;
2118  (void)errCode;
2119  }
2120 
2128  virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode) {
2129  (void)url;
2130  (void)eventCode;
2131  }
2132 
2144  virtual void onTranscodingUpdated() {}
2145 
2159  virtual void onAudioRoutingChanged(int routing) { (void)routing; }
2160 
2161 
2193  virtual void onChannelMediaRelayStateChanged(int state, int code) {
2194  (void)state;
2195  (void)code;
2196  }
2197 
2221  virtual void onChannelMediaRelayEvent(int code) {
2222  (void)code;
2223  }
2224 
2225  virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) {
2226  (void)isFallbackOrRecover;
2227  }
2228 
2229  virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover) {
2230  (void)uid;
2231  (void)isFallbackOrRecover;
2232  }
2233 
2247  virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost,
2248  unsigned short rxKBitRate) {
2249  (void)uid;
2250  (void)delay;
2251  (void)lost;
2252  (void)rxKBitRate;
2253  }
2254 
2268  virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost,
2269  unsigned short rxKBitRate) {
2270  (void)uid;
2271  (void)delay;
2272  (void)lost;
2273  (void)rxKBitRate;
2274  }
2275 
2282  CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) {
2283  (void)state;
2284  (void)reason;
2285  }
2286 
2293  virtual void onWlAccMessage(WLACC_MESSAGE_REASON reason, WLACC_SUGGEST_ACTION action, const char* wlAccMsg) {
2294  (void)reason;
2295  (void)action;
2296  (void)wlAccMsg;
2297  }
2298 
2304  virtual void onWlAccStats(WlAccStats currentStats, WlAccStats averageStats) {
2305  (void)currentStats;
2306  (void)averageStats;
2307  }
2308 
2313  virtual void onNetworkTypeChanged(NETWORK_TYPE type) {
2314  (void)type;
2315  }
2316 
2321  virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) {
2322  (void)errorType;
2323  }
2324 
2329  virtual void onPermissionError(PERMISSION_TYPE permissionType) {
2330  (void)permissionType;
2331  }
2332 
2341  virtual void onLocalUserRegistered(uid_t uid, const char* userAccount) {
2342  (void)uid;
2343  (void)userAccount;
2344  }
2345 
2354  virtual void onUserInfoUpdated(uid_t uid, const UserInfo& info) {
2355  (void)uid;
2356  (void)info;
2357  }
2364  virtual void onUploadLogResult(const char* requestId, bool success, UPLOAD_ERROR_REASON reason) {
2365  (void)requestId;
2366  (void)success;
2367  (void)reason;
2368  }
2369 
2379  virtual void onAudioSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
2380  (void)channel;
2381  (void)uid;
2382  (void)oldState;
2383  (void)newState;
2384  (void)elapseSinceLastState;
2385  }
2386 
2396  virtual void onVideoSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
2397  (void)channel;
2398  (void)uid;
2399  (void)oldState;
2400  (void)newState;
2401  (void)elapseSinceLastState;
2402  }
2403 
2412  virtual void onAudioPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
2413  (void)channel;
2414  (void)oldState;
2415  (void)newState;
2416  (void)elapseSinceLastState;
2417  }
2418 
2428  virtual void onVideoPublishStateChanged(VIDEO_SOURCE_TYPE source, const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
2429  (void)source;
2430  (void)channel;
2431  (void)oldState;
2432  (void)newState;
2433  (void)elapseSinceLastState;
2434  }
2435 
2436  virtual void onExtensionEvent(const char* provider, const char* extension, const char* key, const char* value) {
2437  (void)provider;
2438  (void)extension;
2439  (void)key;
2440  (void)value;
2441  }
2442 
2443  virtual void onExtensionStarted(const char* provider, const char* extension) {
2444  (void)provider;
2445  (void)extension;
2446  }
2447 
2448  virtual void onExtensionStopped(const char* provider, const char* extension) {
2449  (void)provider;
2450  (void)extension;
2451  }
2452 
2453  virtual void onExtensionError(const char* provider, const char* extension, int error, const char* message) {
2454  (void)provider;
2455  (void)extension;
2456  (void)error;
2457  (void)message;
2458  }
2459 
2460  virtual void onUserAccountUpdated(uid_t uid, const char* userAccount){
2461  (void)uid;
2462  (void)userAccount;
2463  }
2464 
2471  virtual void onLocalVideoTranscoderError(const TranscodingVideoStream& stream, VIDEO_TRANSCODER_ERROR error){
2472  (void)stream;
2473  (void)error;
2474  }
2475 };
2476 
2481  public:
2482  virtual ~IVideoDeviceCollection() {}
2483 
2489  virtual int getCount() = 0;
2490 
2499  virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2500 
2512  virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH],
2513  char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2514 
2518  virtual void release() = 0;
2519 };
2520 
2525  public:
2526  virtual ~IVideoDeviceManager() {}
2542 
2552  virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2553 
2562  virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2563 
2564 #if defined(_WIN32) || (defined(__linux__) && !defined(__ANDROID__)) || \
2565  (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
2566 
2574  virtual int numberOfCapabilities(const char* deviceIdUTF8) = 0;
2575 
2587  virtual int getCapability(const char* deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat& capability) = 0;
2588 #endif
2589 
2602  virtual int startDeviceTest(view_t hwnd) = 0;
2603 
2610  virtual int stopDeviceTest() = 0;
2611 
2615  virtual void release() = 0;
2616 };
2617 
2622 
2628 
2633  const char* appId;
2634 
2640  void* context;
2641 
2645  CHANNEL_PROFILE_TYPE channelProfile;
2646 
2650  const char* license;
2651 
2659  AUDIO_SCENARIO_TYPE audioScenario;
2660 
2670  unsigned int areaCode;
2671 
2676 
2681 
2690 
2697 
2704 
2706  : eventHandler(NULL), appId(NULL), context(NULL),
2707  channelProfile(CHANNEL_PROFILE_LIVE_BROADCASTING),
2708  license(NULL),
2709  audioScenario(AUDIO_SCENARIO_DEFAULT),
2710  areaCode(AREA_CODE_GLOB),
2712 };
2713 
2717 public:
2723  {
2730  };
2735  {
2736  INVALID_METADATA_SIZE_IN_BYTE = -1,
2737  DEFAULT_METADATA_SIZE_IN_BYTE = 512,
2738  MAX_METADATA_SIZE_IN_BYTE = 1024
2739  };
2740 
2743  struct Metadata
2744  {
2749  unsigned int uid;
2752  unsigned int size;
2755  unsigned char *buffer;
2760  long long timeStampMs;
2761  };
2762 
2763  virtual ~IMetadataObserver() {}
2764 
2774  virtual int getMaxMetadataSize() { return DEFAULT_METADATA_SIZE_IN_BYTE; }
2775 
2785  virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type) = 0;
2786 
2794  virtual void onMetadataReceived(const Metadata &metadata) = 0;
2795 };
2796 
2797 // The error codes for media streaming
2798 // GENERATED_JAVA_ENUM_PACKAGE: io.agora.streaming
2799 enum DIRECT_CDN_STREAMING_ERROR {
2800  // No error occurs.
2801  DIRECT_CDN_STREAMING_ERROR_OK = 0,
2802  // A general error occurs (no specified reason).
2803  DIRECT_CDN_STREAMING_ERROR_FAILED = 1,
2804  // Audio publication error.
2805  DIRECT_CDN_STREAMING_ERROR_AUDIO_PUBLICATION = 2,
2806  // Video publication error.
2807  DIRECT_CDN_STREAMING_ERROR_VIDEO_PUBLICATION = 3,
2808 
2809  DIRECT_CDN_STREAMING_ERROR_NET_CONNECT = 4,
2810  // Already exist stream name.
2811  DIRECT_CDN_STREAMING_ERROR_BAD_NAME = 5,
2812 };
2813 
2814 // The connection state of media streaming
2815 // GENERATED_JAVA_ENUM_PACKAGE: io.agora.streaming
2816 enum DIRECT_CDN_STREAMING_STATE {
2817 
2818  DIRECT_CDN_STREAMING_STATE_IDLE = 0,
2819 
2820  DIRECT_CDN_STREAMING_STATE_RUNNING = 1,
2821 
2822  DIRECT_CDN_STREAMING_STATE_STOPPED = 2,
2823 
2824  DIRECT_CDN_STREAMING_STATE_FAILED = 3,
2825 
2826  DIRECT_CDN_STREAMING_STATE_RECOVERING = 4,
2827 };
2828 
2837 
2842 
2846  int fps;
2847 
2852 
2857 };
2858 
2864  public:
2865  virtual ~IDirectCdnStreamingEventHandler() {}
2866 
2873  virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_ERROR error, const char* message) {
2874  (void)state;
2875  (void)error;
2876  (void)message;
2877  };
2878 
2879  virtual void onDirectCdnStreamingStats(const DirectCdnStreamingStats& stats) {
2880  (void)stats;
2881  };
2882 };
2883 
2928 
2931 
2932  void SetAll(const DirectCdnStreamingMediaOptions& change) {
2933 #define SET_FROM(X) SetFrom(&X, change.X)
2934  SET_FROM(publishCameraTrack);
2935  SET_FROM(publishMicrophoneTrack);
2936  SET_FROM(publishCustomAudioTrack);
2937  SET_FROM(publishCustomVideoTrack);
2938  SET_FROM(publishMediaPlayerAudioTrack);
2939  SET_FROM(publishMediaPlayerId);
2940  SET_FROM(customVideoTrackId);
2941 #undef SET_FROM
2942  }
2943 
2944  bool operator==(const DirectCdnStreamingMediaOptions& o) const {
2945 #define BEGIN_COMPARE() bool b = true
2946 #define ADD_COMPARE(X) b = (b && (X == o.X))
2947 #define END_COMPARE()
2948 
2949  BEGIN_COMPARE();
2950  ADD_COMPARE(publishCameraTrack);
2951  ADD_COMPARE(publishMicrophoneTrack);
2952  ADD_COMPARE(publishCustomAudioTrack);
2953  ADD_COMPARE(publishCustomVideoTrack);
2954  ADD_COMPARE(publishMediaPlayerAudioTrack);
2955  ADD_COMPARE(customVideoTrackId);
2956  ADD_COMPARE(publishMediaPlayerId);
2957  END_COMPARE();
2958 
2959 #undef BEGIN_COMPARE
2960 #undef ADD_COMPARE
2961 #undef END_COMPARE
2962  return b;
2963  }
2964 
2965  DirectCdnStreamingMediaOptions& operator=(const DirectCdnStreamingMediaOptions& replace) {
2966  if (this != &replace) {
2967 #define REPLACE_BY(X) ReplaceBy(&X, replace.X)
2968 
2969  REPLACE_BY(publishCameraTrack);
2970  REPLACE_BY(publishMicrophoneTrack);
2971  REPLACE_BY(publishCustomAudioTrack);
2972  REPLACE_BY(publishCustomVideoTrack);
2973  REPLACE_BY(publishMediaPlayerAudioTrack);
2974  REPLACE_BY(customVideoTrackId);
2975  REPLACE_BY(publishMediaPlayerId);
2976 #undef REPLACE_BY
2977  }
2978  return *this;
2979  }
2980 };
2981 
2989  agora::media::MEDIA_SOURCE_TYPE mediaSourceType;
2990 
2996  uid_t remoteUid;
2997 
3009  const char* channelId;
3010 
3014  uid_t localUid;
3015 
3016  ExtensionInfo()
3017  : mediaSourceType(agora::media::UNKNOWN_MEDIA_SOURCE),
3018  remoteUid(0),
3019  channelId(NULL),
3020  localUid(0) {}
3021 };
3022 
3023 class IMediaPlayer;
3024 
3035  public:
3055  virtual void release(bool sync = false) = 0;
3056 
3070  virtual int initialize(const RtcEngineContext& context) = 0;
3071 
3072 
3073  virtual int queryInterface(INTERFACE_ID_TYPE iid, void** inter) = 0;
3074 
3075 
3081  virtual const char* getVersion(int* build) = 0;
3082 
3088  virtual const char* getErrorDescription(int code) = 0;
3089 
3099  virtual int queryCodecCapability(CodecCapInfo* codec_info, int& size) = 0;
3100 
3141  virtual int joinChannel(const char* token, const char* channelId, const char* info,
3142  uid_t uid) = 0;
3143 
3182  virtual int joinChannel(const char* token, const char* channelId, uid_t uid,
3183  const ChannelMediaOptions& options) = 0;
3184 
3193  virtual int updateChannelMediaOptions(const ChannelMediaOptions& options) = 0;
3194 
3212  virtual int leaveChannel() = 0;
3213 
3233  virtual int leaveChannel(const LeaveChannelOptions& options) = 0;
3234 
3251  virtual int renewToken(const char* token) = 0;
3252 
3271  virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile) = 0;
3272 
3296  virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0;
3297 
3319  virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0;
3320 
3340  virtual int startEchoTest() = 0;
3341 
3358  virtual int startEchoTest(int intervalInSeconds) = 0;
3359 
3368  virtual int startEchoTest(const EchoTestConfiguration& config) = 0;
3369 
3376  virtual int stopEchoTest() = 0;
3377 
3393  virtual int enableVideo() = 0;
3394 
3404  virtual int disableVideo() = 0;
3405 
3417  virtual int startPreview() = 0;
3418 
3426  virtual int startPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
3427 
3435  virtual int stopPreview() = 0;
3436 
3444  virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
3445 
3479  virtual int startLastmileProbeTest(const LastmileProbeConfig& config) = 0;
3480 
3482  virtual int stopLastmileProbeTest() = 0;
3483 
3501 
3511  virtual int setBeautyEffectOptions(bool enabled, const BeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
3538  virtual int setLowlightEnhanceOptions(bool enabled, const LowlightEnhanceOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
3565  virtual int setVideoDenoiserOptions(bool enabled, const VideoDenoiserOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
3592  virtual int setColorEnhanceOptions(bool enabled, const ColorEnhanceOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
3593 
3626  virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
3627 
3684  virtual int enableRemoteSuperResolution(uid_t userId, bool enable) = 0;
3685 
3708  virtual int setupRemoteVideo(const VideoCanvas& canvas) = 0;
3709 
3726  virtual int setupLocalVideo(const VideoCanvas& canvas) = 0;
3727 
3741  virtual int enableAudio() = 0;
3742 
3754  virtual int disableAudio() = 0;
3755 
3777  virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) __deprecated = 0;
3778 
3794  virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile) = 0;
3795 
3796  virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario) = 0;
3819  virtual int enableLocalAudio(bool enabled) = 0;
3820 
3846  virtual int muteLocalAudioStream(bool mute) = 0;
3847 
3890  virtual int muteAllRemoteAudioStreams(bool mute) = 0;
3891 
3913  virtual int setDefaultMuteAllRemoteAudioStreams(bool mute) __deprecated = 0;
3914 
3931  virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0;
3932 
3944  virtual int muteLocalVideoStream(bool mute) = 0;
3945 
3970  virtual int enableLocalVideo(bool enabled) = 0;
3971 
4012  virtual int muteAllRemoteVideoStreams(bool mute) = 0;
4013 
4035  virtual int setDefaultMuteAllRemoteVideoStreams(bool mute) __deprecated = 0;
4036 
4053  virtual int muteRemoteVideoStream(uid_t uid, bool mute) = 0;
4054 
4072  virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0;
4073 
4084  virtual int setRemoteVideoSubscriptionOptions(uid_t uid, const VideoSubscriptionOptions &options) = 0;
4085 
4095  virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType) = 0;
4096 
4111  virtual int setSubscribeAudioBlacklist(uid_t* uidList, int uidNumber) = 0;
4112 
4129  virtual int setSubscribeAudioWhitelist(uid_t* uidList, int uidNumber) = 0;
4130 
4145  virtual int setSubscribeVideoBlacklist(uid_t* uidList, int uidNumber) = 0;
4146 
4163  virtual int setSubscribeVideoWhitelist(uid_t* uidList, int uidNumber) = 0;
4164 
4185  virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad) = 0;
4186 
4207  virtual int startAudioRecording(const char* filePath,
4208  AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
4230  virtual int startAudioRecording(const char* filePath,
4231  int sampleRate,
4232  AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
4233 
4252  virtual int startAudioRecording(const AudioRecordingConfiguration& config) = 0;
4253 
4260 
4269  virtual int stopAudioRecording() = 0;
4271 
4281  virtual agora_refptr<IMediaPlayer> createMediaPlayer() = 0;
4282 
4294  virtual int destroyMediaPlayer(agora_refptr<IMediaPlayer> media_player) = 0;
4296 
4338  virtual int startAudioMixing(const char* filePath, bool loopback, int cycle) = 0;
4339 
4383  virtual int startAudioMixing(const char* filePath, bool loopback, int cycle, int startPos) = 0;
4384 
4393  virtual int stopAudioMixing() = 0;
4394 
4403  virtual int pauseAudioMixing() = 0;
4404 
4413  virtual int resumeAudioMixing() = 0;
4414 
4423  virtual int selectAudioTrack(int index) = 0;
4432  virtual int getAudioTrackCount() = 0;
4433 
4448  virtual int adjustAudioMixingVolume(int volume) = 0;
4449 
4457  virtual int adjustAudioMixingPublishVolume(int volume) = 0;
4458 
4466  virtual int getAudioMixingPublishVolume() = 0;
4467 
4475  virtual int adjustAudioMixingPlayoutVolume(int volume) = 0;
4476 
4484  virtual int getAudioMixingPlayoutVolume() = 0;
4485 
4494  virtual int getAudioMixingDuration() = 0;
4495 
4506 
4516  virtual int setAudioMixingPosition(int pos /*in ms*/) = 0;
4517 
4528  virtual int setAudioMixingDualMonoMode(media::AUDIO_MIXING_DUAL_MONO_MODE mode) = 0;
4529 
4546  virtual int setAudioMixingPitch(int pitch) = 0;
4554  virtual int getEffectsVolume() = 0;
4564  virtual int setEffectsVolume(int volume) = 0;
4588  virtual int preloadEffect(int soundId, const char* filePath, int startPos = 0) = 0;
4630  virtual int playEffect(int soundId, const char* filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0) = 0;
4661  virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false) = 0;
4662 
4672  virtual int getVolumeOfEffect(int soundId) = 0;
4673 
4684  virtual int setVolumeOfEffect(int soundId, int volume) = 0;
4693  virtual int pauseEffect(int soundId) = 0;
4700  virtual int pauseAllEffects() = 0;
4709  virtual int resumeEffect(int soundId) = 0;
4716  virtual int resumeAllEffects() = 0;
4725  virtual int stopEffect(int soundId) = 0;
4732  virtual int stopAllEffects() = 0;
4741  virtual int unloadEffect(int soundId) = 0;
4748  virtual int unloadAllEffects() = 0;
4767  virtual int getEffectDuration(const char* filePath) = 0;
4784  virtual int setEffectPosition(int soundId, int pos) = 0;
4799  virtual int getEffectCurrentPosition(int soundId) = 0;
4812  virtual int enableSoundPositionIndication(bool enabled) = 0;
4833  virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0;
4834 
4844  virtual int enableSpatialAudio(bool enabled) = 0;
4845 
4855  virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams& params) = 0;
4856 
4894  virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset) = 0;
4895 
4933  virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset) = 0;
4934 
4970  virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset) = 0;
4971 
5047  virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2) = 0;
5048 
5091  virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset,
5092  int param1, int param2) = 0;
5093 
5106  virtual int setVoiceConversionParameters(VOICE_CONVERSION_PRESET preset,
5107  int param1, int param2) = 0;
5108 
5119  virtual int setLocalVoicePitch(double pitch) = 0;
5120 
5132  virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency,
5133  int bandGain) = 0;
5134 
5143  virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value) = 0;
5155  virtual int setHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset) = 0;
5165  virtual int setHeadphoneEQParameters(int lowGain, int highGain) = 0;
5166 
5182  virtual int setLogFile(const char* filePath) = 0;
5183 
5206  virtual int setLogFilter(unsigned int filter) = 0;
5207 
5224  virtual int setLogLevel(commons::LOG_LEVEL level) = 0;
5225 
5240  virtual int setLogFileSize(unsigned int fileSizeInKBytes) = 0;
5241 
5250  virtual int uploadLogFile(agora::util::AString& requestId) = 0;
5251 
5270  virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
5291  virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode,
5292  VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
5293 
5294  // The following APIs are either deprecated and going to deleted.
5295 
5313  virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) = 0;
5314 
5326  virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
5327 
5342  virtual int enableDualStreamMode(bool enabled) = 0;
5343 
5360  virtual int enableDualStreamMode(bool enabled, const SimulcastStreamConfig& streamConfig) = 0;
5361 
5362 
5376  virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode) = 0;
5377 
5393  virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode,
5394  const SimulcastStreamConfig& streamConfig) = 0;
5395 
5396 
5397  virtual int enableEchoCancellationExternal(bool enabled, int audioSourceDelay) = 0;
5398 
5413  virtual int enableCustomAudioLocalPlayback(int sourceId, bool enabled) = 0;
5414 
5422  virtual int startPrimaryCustomAudioTrack(const AudioTrackConfig& config) = 0;
5423 
5431  virtual int stopPrimaryCustomAudioTrack() = 0;
5432 
5440  virtual int startSecondaryCustomAudioTrack(const AudioTrackConfig& config) = 0;
5441 
5450 
5469  virtual int setRecordingAudioFrameParameters(int sampleRate, int channel,
5470  RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
5471  int samplesPerCall) = 0;
5472 
5492  virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel,
5493  RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
5494  int samplesPerCall) = 0;
5495 
5511  virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall) = 0;
5512 
5532  virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel,
5533  RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
5534  int samplesPerCall) = 0;
5535 
5551  virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel) = 0;
5552 
5563  virtual int enableAudioSpectrumMonitor(int intervalInMS = 100) = 0;
5571  virtual int disableAudioSpectrumMonitor() = 0;
5572 
5598 
5612  virtual int adjustRecordingSignalVolume(int volume) = 0;
5613 
5625  virtual int muteRecordingSignal(bool mute) = 0;
5626 
5640  virtual int adjustPlaybackSignalVolume(int volume) = 0;
5641 
5642  /*
5643  * Adjust the playback volume of the user specified by uid.
5644  *
5645  * You can call this method to adjust the playback volume of the user specified by uid
5646  * in call. If you want to adjust playback volume of the multi user, you can call this
5647  * this method multi times.
5648  *
5649  * @note
5650  * Please call this method after join channel.
5651  * This method adjust the playback volume of specified user.
5652  *
5653  * @param uid Remote user ID.
5654  * @param volume The playback volume of the specified remote user. The value ranges between 0 and 400, including the following:
5655  * 0: Mute.
5656  * 100: (Default) Original volume.
5657  * 400: Four times the original volume with signal-clipping protection.
5658  * @return
5659  * - 0: Success.
5660  * - < 0: Failure.
5661  */
5662  virtual int adjustUserPlaybackSignalVolume(unsigned int uid, int volume) = 0;
5663 
5685  virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0;
5686 
5702  virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0;
5703 
5722  virtual int enableLoopbackRecording(bool enabled, const char* deviceName = NULL) = 0;
5723 
5724 
5737  virtual int adjustLoopbackSignalVolume(int volume) = 0;
5738 
5745  virtual int getLoopbackRecordingVolume() = 0;
5746 
5758  virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters) = 0;
5759 
5770  virtual int setInEarMonitoringVolume(int volume) = 0;
5771 
5772 #if defined (_WIN32) || defined(__linux__) || defined(__ANDROID__)
5773  virtual int loadExtensionProvider(const char* path, bool unload_after_use = false) = 0;
5774 #endif
5775 
5788  const char* provider, const char* key, const char* value) = 0;
5789 
5803  virtual int enableExtension(
5804  const char* provider, const char* extension, bool enable=true, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
5805 
5819  const char* provider, const char* extension,
5820  const char* key, const char* value, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
5821 
5836  const char* provider, const char* extension,
5837  const char* key, char* value, int buf_len, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
5838 
5853  virtual int enableExtension(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, bool enable = true) = 0;
5854 
5868  virtual int setExtensionProperty(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, const char* key, const char* value) = 0;
5869 
5884  virtual int getExtensionProperty(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, const char* key, char* value, int buf_len) = 0;
5885 
5898 
5899 
5907  virtual video_track_id_t createCustomVideoTrack() = 0;
5908 
5916  virtual video_track_id_t createCustomEncodedVideoTrack(const SenderOptions& sender_option) = 0;
5917 
5926  virtual int destroyCustomVideoTrack(video_track_id_t video_track_id) = 0;
5927 
5936  virtual int destroyCustomEncodedVideoTrack(video_track_id_t video_track_id) = 0;
5937 
5938 
5939 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
5940 
5949  virtual int switchCamera() = 0;
5950 
5958  virtual bool isCameraZoomSupported() = 0;
5959 
5967  virtual bool isCameraFaceDetectSupported() = 0;
5968 
5976  virtual bool isCameraTorchSupported() = 0;
5977 
5985  virtual bool isCameraFocusSupported() = 0;
5986 
5994  virtual bool isCameraAutoFocusFaceModeSupported() = 0;
5995 
6005  virtual int setCameraZoomFactor(float factor) = 0;
6006 
6015  virtual int enableFaceDetection(bool enabled) = 0;
6016 
6021  virtual float getCameraMaxZoomFactor() = 0;
6022 
6032  virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0;
6033 
6041  virtual int setCameraTorchOn(bool isOn) = 0;
6042 
6050  virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0;
6051 
6063  virtual bool isCameraExposurePositionSupported() = 0;
6064 
6080  virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0;
6081 
6082 #if defined(__APPLE__)
6083 
6090  virtual bool isCameraAutoExposureFaceModeSupported() = 0;
6091 
6092 
6100  virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0;
6101 #endif
6102 
6136  virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0;
6137 
6164  virtual int setEnableSpeakerphone(bool speakerOn) = 0;
6165 
6173  virtual bool isSpeakerphoneEnabled() = 0;
6174 
6175 #endif // __ANDROID__ || (__APPLE__ && TARGET_OS_IOS)
6176 
6177 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
6178 
6188  virtual IScreenCaptureSourceList* getScreenCaptureSources(const SIZE& thumbSize, const SIZE& iconSize, const bool includeScreen) = 0;
6189 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
6190 #if (defined(__APPLE__) && TARGET_OS_IOS)
6191 
6215  virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction) = 0;
6216 #endif // __APPLE__ && TARGET_OS_IOS
6217 
6218 #if defined(_WIN32) || (defined(__APPLE__) && !TARGET_OS_IPHONE && TARGET_OS_MAC)
6219 
6240  virtual int startScreenCaptureByDisplayId(uint32_t displayId, const Rectangle& regionRect,
6241  const ScreenCaptureParameters& captureParams) = 0;
6242 
6243 #endif // __APPLE__ && TARGET_OS_MAC && !TARGET_OS_IPHONE
6244 
6245 #if defined(_WIN32)
6246 
6270  virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect,
6271  const Rectangle& regionRect,
6272  const ScreenCaptureParameters& captureParams) = 0;
6273 
6274 #endif // _WIN32
6275 
6276 #if defined(__ANDROID__)
6277 
6283  virtual int getAudioDeviceInfo(DeviceInfo& deviceInfo) = 0;
6284 
6285 #endif // __ANDROID__
6286 
6287 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
6288 
6306  virtual int startScreenCaptureByWindowId(view_t windowId, const Rectangle& regionRect,
6307  const ScreenCaptureParameters& captureParams) = 0;
6308 
6324  virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint) = 0;
6325 
6342  virtual int setScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario) = 0;
6343 
6360  virtual int updateScreenCaptureRegion(const Rectangle& regionRect) = 0;
6361 
6375  virtual int updateScreenCaptureParameters(const ScreenCaptureParameters& captureParams) = 0;
6376 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
6377 
6378 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
6379 
6388  virtual int startScreenCapture(const ScreenCaptureParameters2& captureParams) = 0;
6389 
6399  virtual int updateScreenCapture(const ScreenCaptureParameters2& captureParams) = 0;
6400 #endif
6401 
6402 #if defined(_WIN32) || defined(__APPLE__) || defined(__ANDROID__)
6403 
6410  virtual int stopScreenCapture() = 0;
6411 
6412 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC) || __ANDROID__
6413 
6430  virtual int getCallId(agora::util::AString& callId) = 0;
6431 
6446  virtual int rate(const char* callId, int rating,
6447  const char* description) = 0; // 0~10
6448 
6462  virtual int complain(const char* callId, const char* description) = 0;
6463 
6484  virtual int startRtmpStreamWithoutTranscoding(const char* url) = 0;
6485 
6507  virtual int startRtmpStreamWithTranscoding(const char* url, const LiveTranscoding& transcoding) = 0;
6508 
6518  virtual int updateRtmpTranscoding(const LiveTranscoding& transcoding) = 0;
6537  virtual int stopRtmpStream(const char* url) = 0;
6538 
6539 
6540  virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration& config) = 0;
6541  virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration& config) = 0;
6542  virtual int stopLocalVideoTranscoder() = 0;
6543 
6544  virtual int startPrimaryCameraCapture(const CameraCapturerConfiguration& config) = 0;
6545  virtual int startSecondaryCameraCapture(const CameraCapturerConfiguration& config) = 0;
6546  virtual int stopPrimaryCameraCapture() = 0;
6547  virtual int stopSecondaryCameraCapture() = 0;
6548 
6549  virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
6550  virtual int setScreenCaptureOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
6551 
6552  virtual int startPrimaryScreenCapture(const ScreenCaptureConfiguration& config) = 0;
6553  virtual int startSecondaryScreenCapture(const ScreenCaptureConfiguration& config) = 0;
6554  virtual int stopPrimaryScreenCapture() = 0;
6555  virtual int stopSecondaryScreenCapture() = 0;
6556 
6561  virtual CONNECTION_STATE_TYPE getConnectionState() = 0;
6562 
6563  // The following APIs are not implemented yet.
6564  virtual bool registerEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
6565  virtual bool unregisterEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
6566  virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0;
6567 
6579  virtual int registerPacketObserver(IPacketObserver* observer) = 0;
6580 
6603  virtual int setEncryptionMode(const char* encryptionMode) __deprecated = 0;
6604 
6621  virtual int setEncryptionSecret(const char* secret) __deprecated = 0;
6622 
6644  virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0;
6645 
6677  virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0;
6678 
6688  virtual int createDataStream(int* streamId, DataStreamConfig& config) = 0;
6689 
6720  virtual int sendStreamMessage(int streamId, const char* data, size_t length) = 0;
6721 
6743  virtual int addVideoWatermark(const RtcImage& watermark) = 0;
6744 
6770  virtual int addVideoWatermark(const char* watermarkUrl, const WatermarkOptions& options) = 0;
6771 
6779  virtual int clearVideoWatermarks() = 0;
6780 
6781  // The following APIs are either deprecated and going to deleted.
6782 
6791  virtual int pauseAudio() __deprecated = 0;
6800  virtual int resumeAudio() __deprecated = 0;
6801 
6819  virtual int enableWebSdkInteroperability(bool enabled) __deprecated = 0;
6820 
6831  const char* id, const char* category, const char* event, const char* label, int value) = 0;
6832 
6854  virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0;
6855 
6864  virtual int unregisterMediaMetadataObserver(IMetadataObserver* observer, IMetadataObserver::METADATA_TYPE type) = 0;
6865 
6875  virtual int startAudioFrameDump(const char* channel_id, uid_t user_id, const char* location,
6876  const char* uuid, const char* passwd, long duration_ms, bool auto_upload) = 0;
6877 
6878  virtual int stopAudioFrameDump(const char* channel_id, uid_t user_id, const char* location) = 0;
6879 
6911  virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0;
6912 
6943  virtual int joinChannelWithUserAccount(const char* token, const char* channelId,
6944  const char* userAccount) = 0;
6945 
6977  virtual int joinChannelWithUserAccount(const char* token, const char* channelId,
6978  const char* userAccount, const ChannelMediaOptions& options) = 0;
6979 
7012  virtual int joinChannelWithUserAccountEx(const char* token, const char* channelId,
7013  const char* userAccount, const ChannelMediaOptions& options,
7014  IRtcEngineEventHandler* eventHandler) = 0;
7015 
7033  virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo) = 0;
7034 
7052  virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo) = 0;
7093  virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0;
7094 
7118  virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0;
7119 
7144  virtual int stopChannelMediaRelay() = 0;
7145 
7146 
7152  virtual int pauseAllChannelMediaRelay() = 0;
7153 
7159  virtual int resumeAllChannelMediaRelay() = 0;
7160 
7173  virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile) = 0;
7174 
7190 
7205  const char* publishUrl, const DirectCdnStreamingMediaOptions& options) = 0;
7206 
7216  virtual int stopDirectCdnStreaming() = 0;
7217 
7230 
7241  virtual int startRhythmPlayer(const char* sound1, const char* sound2, const AgoraRhythmPlayerConfig& config) = 0;
7242 
7249  virtual int stopRhythmPlayer() = 0;
7250 
7259  virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig& config) = 0;
7269  virtual int takeSnapshot(uid_t uid, const char* filePath) = 0;
7277  virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config) = 0;
7278  /*
7279  * Adjust the custom audio publish volume by source id.
7280  * @param sourceId custom audio source id.
7281  * @param volume The volume, range is [0,100]:
7282  * 0: mute, 100: The original volume
7283  * @return
7284  * - 0: Success.
7285  * - < 0: Failure.
7286  */
7287  virtual int adjustCustomAudioPublishVolume(int32_t sourceId, int volume) = 0;
7288 
7289  /*
7290  * Adjust the custom audio playout volume by source id.
7291  * @param sourceId custom audio source id.
7292  * @param volume The volume, range is [0,100]:
7293  * 0: mute, 100: The original volume
7294  * @return
7295  * - 0: Success.
7296  * - < 0: Failure.
7297  */
7298  virtual int adjustCustomAudioPlayoutVolume(int32_t sourceId, int volume) = 0;
7299 
7329  virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0;
7338  virtual int setLocalAccessPoint(const LocalAccessPointConfiguration& config) = 0;
7339 
7347  virtual int setAdvancedAudioOptions(AdvancedAudioOptions &options, int sourceType = 0) = 0;
7348 
7359  virtual int setAVSyncSource(const char* channelId, uid_t uid) = 0;
7360 
7367  virtual int enableVideoImageSource(bool enable, const ImageTrackOptions& options) = 0;
7368 
7369  /*
7370  * Get monotonic time in ms which can be used by capture time,
7371  * typical scenario is as follows:
7372  *
7373  * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
7374  * | // custom audio/video base capture time, e.g. the first audio/video capture time. |
7375  * | int64_t custom_capture_time_base; |
7376  * | |
7377  * | int64_t agora_monotonic_time = getCurrentMonotonicTimeInMs(); |
7378  * | |
7379  * | // offset is fixed once calculated in the begining. |
7380  * | const int64_t offset = agora_monotonic_time - custom_capture_time_base; |
7381  * | |
7382  * | // realtime_custom_audio/video_capture_time is the origin capture time that customer provided.|
7383  * | // actual_audio/video_capture_time is the actual capture time transfered to sdk. |
7384  * | int64_t actual_audio_capture_time = realtime_custom_audio_capture_time + offset; |
7385  * | int64_t actual_video_capture_time = realtime_custom_video_capture_time + offset; |
7386  * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
7387  *
7388  * @return
7389  * - >= 0: Success.
7390  * - < 0: Failure.
7391  */
7392  virtual int64_t getCurrentMonotonicTimeInMs() = 0;
7393 
7409  virtual int enableWirelessAccelerate(bool enabled) = 0;
7424  virtual int getNetworkType() = 0;
7425 };
7426 
7427 class AAudioDeviceManager : public agora::util::AutoPtr<IAudioDeviceManager> {
7428  public:
7429  AAudioDeviceManager(IRtcEngine* engine) {
7430  queryInterface(engine, AGORA_IID_AUDIO_DEVICE_MANAGER);
7431  }
7432 };
7433 
7434 class AVideoDeviceManager : public agora::util::AutoPtr<IVideoDeviceManager> {
7435  public:
7436  AVideoDeviceManager(IRtcEngine* engine) {
7437  queryInterface(engine, AGORA_IID_VIDEO_DEVICE_MANAGER);
7438  }
7439 };
7440 
7441 // The following types are either deprecated or not implmented yet.
7442 enum QUALITY_REPORT_FORMAT_TYPE {
7445  QUALITY_REPORT_JSON = 0,
7448  QUALITY_REPORT_HTML = 1,
7449 };
7450 
7452 enum MEDIA_DEVICE_STATE_TYPE {
7455  MEDIA_DEVICE_STATE_IDLE = 0,
7458  MEDIA_DEVICE_STATE_ACTIVE = 1,
7461  MEDIA_DEVICE_STATE_DISABLED = 2,
7464  MEDIA_DEVICE_STATE_NOT_PRESENT = 4,
7467  MEDIA_DEVICE_STATE_UNPLUGGED = 8
7468 };
7469 
7470 enum VIDEO_PROFILE_TYPE { // res fps
7472  VIDEO_PROFILE_LANDSCAPE_120P = 0, // 160x120 15
7474  VIDEO_PROFILE_LANDSCAPE_120P_3 = 2, // 120x120 15
7476  VIDEO_PROFILE_LANDSCAPE_180P = 10, // 320x180 15
7478  VIDEO_PROFILE_LANDSCAPE_180P_3 = 12, // 180x180 15
7480  VIDEO_PROFILE_LANDSCAPE_180P_4 = 13, // 240x180 15
7482  VIDEO_PROFILE_LANDSCAPE_240P = 20, // 320x240 15
7484  VIDEO_PROFILE_LANDSCAPE_240P_3 = 22, // 240x240 15
7486  VIDEO_PROFILE_LANDSCAPE_240P_4 = 23, // 424x240 15
7488  VIDEO_PROFILE_LANDSCAPE_360P = 30, // 640x360 15
7490  VIDEO_PROFILE_LANDSCAPE_360P_3 = 32, // 360x360 15
7492  VIDEO_PROFILE_LANDSCAPE_360P_4 = 33, // 640x360 30
7494  VIDEO_PROFILE_LANDSCAPE_360P_6 = 35, // 360x360 30
7496  VIDEO_PROFILE_LANDSCAPE_360P_7 = 36, // 480x360 15
7498  VIDEO_PROFILE_LANDSCAPE_360P_8 = 37, // 480x360 30
7500  VIDEO_PROFILE_LANDSCAPE_360P_9 = 38, // 640x360 15
7502  VIDEO_PROFILE_LANDSCAPE_360P_10 = 39, // 640x360 24
7504  VIDEO_PROFILE_LANDSCAPE_360P_11 = 100, // 640x360 24
7506  VIDEO_PROFILE_LANDSCAPE_480P = 40, // 640x480 15
7508  VIDEO_PROFILE_LANDSCAPE_480P_3 = 42, // 480x480 15
7510  VIDEO_PROFILE_LANDSCAPE_480P_4 = 43, // 640x480 30
7512  VIDEO_PROFILE_LANDSCAPE_480P_6 = 45, // 480x480 30
7514  VIDEO_PROFILE_LANDSCAPE_480P_8 = 47, // 848x480 15
7516  VIDEO_PROFILE_LANDSCAPE_480P_9 = 48, // 848x480 30
7518  VIDEO_PROFILE_LANDSCAPE_480P_10 = 49, // 640x480 10
7520  VIDEO_PROFILE_LANDSCAPE_720P = 50, // 1280x720 15
7522  VIDEO_PROFILE_LANDSCAPE_720P_3 = 52, // 1280x720 30
7524  VIDEO_PROFILE_LANDSCAPE_720P_5 = 54, // 960x720 15
7526  VIDEO_PROFILE_LANDSCAPE_720P_6 = 55, // 960x720 30
7528  VIDEO_PROFILE_LANDSCAPE_1080P = 60, // 1920x1080 15
7530  VIDEO_PROFILE_LANDSCAPE_1080P_3 = 62, // 1920x1080 30
7532  VIDEO_PROFILE_LANDSCAPE_1080P_5 = 64, // 1920x1080 60
7534  VIDEO_PROFILE_LANDSCAPE_1440P = 66, // 2560x1440 30
7536  VIDEO_PROFILE_LANDSCAPE_1440P_2 = 67, // 2560x1440 60
7538  VIDEO_PROFILE_LANDSCAPE_4K = 70, // 3840x2160 30
7540  VIDEO_PROFILE_LANDSCAPE_4K_3 = 72, // 3840x2160 60
7542  VIDEO_PROFILE_PORTRAIT_120P = 1000, // 120x160 15
7544  VIDEO_PROFILE_PORTRAIT_120P_3 = 1002, // 120x120 15
7546  VIDEO_PROFILE_PORTRAIT_180P = 1010, // 180x320 15
7548  VIDEO_PROFILE_PORTRAIT_180P_3 = 1012, // 180x180 15
7550  VIDEO_PROFILE_PORTRAIT_180P_4 = 1013, // 180x240 15
7552  VIDEO_PROFILE_PORTRAIT_240P = 1020, // 240x320 15
7554  VIDEO_PROFILE_PORTRAIT_240P_3 = 1022, // 240x240 15
7556  VIDEO_PROFILE_PORTRAIT_240P_4 = 1023, // 240x424 15
7558  VIDEO_PROFILE_PORTRAIT_360P = 1030, // 360x640 15
7560  VIDEO_PROFILE_PORTRAIT_360P_3 = 1032, // 360x360 15
7562  VIDEO_PROFILE_PORTRAIT_360P_4 = 1033, // 360x640 30
7564  VIDEO_PROFILE_PORTRAIT_360P_6 = 1035, // 360x360 30
7566  VIDEO_PROFILE_PORTRAIT_360P_7 = 1036, // 360x480 15
7568  VIDEO_PROFILE_PORTRAIT_360P_8 = 1037, // 360x480 30
7570  VIDEO_PROFILE_PORTRAIT_360P_9 = 1038, // 360x640 15
7572  VIDEO_PROFILE_PORTRAIT_360P_10 = 1039, // 360x640 24
7574  VIDEO_PROFILE_PORTRAIT_360P_11 = 1100, // 360x640 24
7576  VIDEO_PROFILE_PORTRAIT_480P = 1040, // 480x640 15
7578  VIDEO_PROFILE_PORTRAIT_480P_3 = 1042, // 480x480 15
7580  VIDEO_PROFILE_PORTRAIT_480P_4 = 1043, // 480x640 30
7582  VIDEO_PROFILE_PORTRAIT_480P_6 = 1045, // 480x480 30
7584  VIDEO_PROFILE_PORTRAIT_480P_8 = 1047, // 480x848 15
7586  VIDEO_PROFILE_PORTRAIT_480P_9 = 1048, // 480x848 30
7588  VIDEO_PROFILE_PORTRAIT_480P_10 = 1049, // 480x640 10
7590  VIDEO_PROFILE_PORTRAIT_720P = 1050, // 720x1280 15
7592  VIDEO_PROFILE_PORTRAIT_720P_3 = 1052, // 720x1280 30
7594  VIDEO_PROFILE_PORTRAIT_720P_5 = 1054, // 720x960 15
7596  VIDEO_PROFILE_PORTRAIT_720P_6 = 1055, // 720x960 30
7598  VIDEO_PROFILE_PORTRAIT_1080P = 1060, // 1080x1920 15
7600  VIDEO_PROFILE_PORTRAIT_1080P_3 = 1062, // 1080x1920 30
7602  VIDEO_PROFILE_PORTRAIT_1080P_5 = 1064, // 1080x1920 60
7604  VIDEO_PROFILE_PORTRAIT_1440P = 1066, // 1440x2560 30
7606  VIDEO_PROFILE_PORTRAIT_1440P_2 = 1067, // 1440x2560 60
7608  VIDEO_PROFILE_PORTRAIT_4K = 1070, // 2160x3840 30
7610  VIDEO_PROFILE_PORTRAIT_4K_3 = 1072, // 2160x3840 60
7612  VIDEO_PROFILE_DEFAULT = VIDEO_PROFILE_LANDSCAPE_360P,
7613 };
7614 
7615 } // namespace rtc
7616 } // namespace agora
7617 
7623 #define getAgoraRtcEngineVersion getAgoraSdkVersion
7624 
7626 
7629 
7636 
7638 
7639 
7646 #define getAgoraRtcEngineErrorDescription getAgoraSdkErrorDescription
7647 #define setAgoraRtcEngineExternalSymbolLoader setAgoraSdkExternalSymbolLoader
agora::rtc::IRtcEngineEventHandler::onApiCallExecuted
virtual void onApiCallExecuted(int err, const char *api, const char *result)
Definition: IAgoraRtcEngine.h:1729
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::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:858
agora::rtc::PublisherConfiguration::extraInfo
const char * extraInfo
Definition: IAgoraRtcEngine.h:598
agora::rtc::IRtcEngine::setAVSyncSource
virtual int setAVSyncSource(const char *channelId, uid_t uid)=0
agora::rtc::RtcEngineContext::appId
const char * appId
Definition: IAgoraRtcEngine.h:2633
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:2128
agora::rtc::LocalVideoStats::regulatedCaptureFrameHeight
int regulatedCaptureFrameHeight
Definition: IAgoraRtcEngine.h:282
agora::rtc::IRtcEngine::setEffectPosition
virtual int setEffectPosition(int soundId, int pos)=0
agora::rtc::UserInfo
Definition: AgoraBase.h:5243
agora::rtc::RemoteVideoStats::publishDuration
int publishDuration
Definition: IAgoraRtcEngine.h:402
agora::rtc::IRtcEngine::stopDirectCdnStreaming
virtual int stopDirectCdnStreaming()=0
agora::rtc::LastmileProbeResult
Definition: AgoraBase.h:3679
agora::rtc::IRtcEngine::setEncryptionSecret
virtual int setEncryptionSecret(const char *secret) __deprecated=0
agora::rtc::AudioEncodedFrameObserverConfig
Definition: AgoraBase.h:4690
agora::rtc::ScreenCaptureParameters
Definition: AgoraBase.h:4492
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:2919
agora::rtc::RemoteVideoStats::e2eDelay
int e2eDelay
Definition: IAgoraRtcEngine.h:350
agora::rtc::InjectStreamConfig::audioChannels
int audioChannels
Definition: IAgoraRtcEngine.h:520
agora::rtc::LocalVideoStats::regulatedCaptureFrameWidth
int regulatedCaptureFrameWidth
Definition: IAgoraRtcEngine.h:278
agora::rtc::IRtcEngine::pauseEffect
virtual int pauseEffect(int soundId)=0
agora::rtc::BeautyOptions
Definition: AgoraBase.h:3971
agora::rtc::ChannelMediaOptions::publishSecondaryCameraTrack
Optional< bool > publishSecondaryCameraTrack
Definition: IAgoraRtcEngine.h:777
agora::rtc::SenderOptions
Definition: AgoraBase.h:1175
agora::rtc::IRtcEngine::muteLocalVideoStream
virtual int muteLocalVideoStream(bool mute)=0
agora::rtc::RtcEngineContext::eventHandler
IRtcEngineEventHandler * eventHandler
Definition: IAgoraRtcEngine.h:2627
agora::rtc::IRtcEngine::stopPreview
virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType)=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:1440
agora::rtc::VideoCompositingLayout
Definition: IAgoraRtcEngine.h:409
agora::rtc::VideoCompositingLayout::canvasHeight
int canvasHeight
Definition: IAgoraRtcEngine.h:459
agora::rtc::IRtcEngine::setVoiceConversionPreset
virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset)=0
agora::rtc::DirectCdnStreamingStats::videoHeight
int videoHeight
Definition: IAgoraRtcEngine.h:2841
agora::rtc::LastmileProbeConfig
Definition: AgoraBase.h:3605
agora::rtc::IRtcEngine::enableLocalVideo
virtual int enableLocalVideo(bool enabled)=0
agora::rtc::IRtcEngineEventHandler::onLeaveChannel
virtual void onLeaveChannel(const RtcStats &stats)
Definition: IAgoraRtcEngine.h:1348
agora::rtc::IRtcEngine::joinChannel
virtual int joinChannel(const char *token, const char *channelId, uid_t uid, const ChannelMediaOptions &options)=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:1521
agora::rtc::IRtcEngine::createDataStream
virtual int createDataStream(int *streamId, DataStreamConfig &config)=0
agora::rtc::LocalVideoStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:253
agora::rtc::IRtcEngine::stopChannelMediaRelay
virtual int stopChannelMediaRelay()=0
agora::rtc::RtcEngineContext::threadPriority
Optional< THREAD_PRIORITY_TYPE > threadPriority
Definition: IAgoraRtcEngine.h:2680
agora::rtc::IRtcEngine::registerAudioEncodedFrameObserver
virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig &config, IAudioEncodedFrameObserver *observer)=0
agora::rtc::ChannelMediaOptions::enableBuiltInMediaEncryption
Optional< bool > enableBuiltInMediaEncryption
Definition: IAgoraRtcEngine.h:936
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:493
agora::rtc::IRtcEngine::pauseAudioMixing
virtual int pauseAudioMixing()=0
agora::rtc::IRtcEngine::setPlaybackAudioFrameBeforeMixingParameters
virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel)=0
agora::agora_refptr
Definition: AgoraRefPtr.h:44
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:1166
agora::rtc::IRtcEngine::getVersion
virtual const char * getVersion(int *build)=0
agora::rtc::RemoteVideoStats::totalActiveTime
int totalActiveTime
Definition: IAgoraRtcEngine.h:398
agora::rtc::IRtcEngine::setAudioMixingPitch
virtual int setAudioMixingPitch(int pitch)=0
agora::rtc::ChannelMediaOptions::publishRhythmPlayerTrack
Optional< bool > publishRhythmPlayerTrack
Definition: IAgoraRtcEngine.h:942
agora::rtc::ChannelMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition: IAgoraRtcEngine.h:846
agora::media::IAudioSpectrumObserver
Definition: AgoraMediaBase.h:1074
agora::rtc::DirectCdnStreamingStats::videoWidth
int videoWidth
Definition: IAgoraRtcEngine.h:2836
agora::rtc::IRtcEngineEventHandler::onRemoteAudioTransportStats
virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate)
Definition: IAgoraRtcEngine.h:2247
agora::rtc::IMetadataObserver::Metadata::buffer
unsigned char * buffer
Definition: IAgoraRtcEngine.h:2755
agora::rtc::PublisherConfiguration::publishUrl
const char * publishUrl
Definition: IAgoraRtcEngine.h:591
agora::rtc::ExtensionInfo
Definition: IAgoraRtcEngine.h:2985
agora::rtc::ChannelMediaOptions::publishCustomAudioSourceId
Optional< int > publishCustomAudioSourceId
Definition: IAgoraRtcEngine.h:822
agora::rtc::ExtensionInfo::remoteUid
uid_t remoteUid
Definition: IAgoraRtcEngine.h:2996
agora::rtc::PublisherConfiguration::lifecycle
int lifecycle
Definition: IAgoraRtcEngine.h:573
agora::rtc::IRtcEngine::startPreview
virtual int startPreview()=0
agora::rtc::LocalAccessPointConfiguration::mode
LOCAL_PROXY_MODE mode
Definition: IAgoraRtcEngine.h:1153
agora::rtc::IMetadataObserver::Metadata::timeStampMs
long long timeStampMs
Definition: IAgoraRtcEngine.h:2760
agora::rtc::IRtcEngineEventHandler::onLocalAudioStats
virtual void onLocalAudioStats(const LocalAudioStats &stats)
Definition: IAgoraRtcEngine.h:1742
agora::rtc::ChannelMediaOptions::autoSubscribeAudio
Optional< bool > autoSubscribeAudio
Definition: IAgoraRtcEngine.h:877
agora::rtc::LocalAccessPointConfiguration
Definition: IAgoraRtcEngine.h:1135
agora::rtc::IRtcEngineEventHandler::onClientRoleChangeFailed
virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole)
Definition: IAgoraRtcEngine.h:2084
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:2851
agora::rtc::IRtcEngineEventHandler::onLastmileQuality
virtual void onLastmileQuality(int quality)
Definition: IAgoraRtcEngine.h:1477
agora::rtc::CameraCapturerConfiguration::deviceId
char deviceId[MAX_DEVICE_ID_LENGTH]
Definition: IAgoraRtcEngine.h:653
agora::rtc::IRtcEngineEventHandler::onUserEnableVideo
virtual void onUserEnableVideo(uid_t uid, bool enabled) __deprecated
Definition: IAgoraRtcEngine.h:1692
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:961
agora::rtc::LiveTranscoding
Definition: AgoraBase.h:3352
agora::rtc::ChannelMediaOptions::audienceLatencyLevel
Optional< AUDIENCE_LATENCY_LEVEL_TYPE > audienceLatencyLevel
Definition: IAgoraRtcEngine.h:905
agora::rtc::LocalVideoStats::sentFrameRate
int sentFrameRate
Definition: IAgoraRtcEngine.h:261
agora::rtc::Rectangle
Definition: AgoraBase.h:1855
agora::rtc::LocalAccessPointConfiguration::ipList
const char ** ipList
Definition: IAgoraRtcEngine.h:1138
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:2354
agora::rtc::IRtcEngineEventHandler::onNetworkTypeChanged
virtual void onNetworkTypeChanged(NETWORK_TYPE type)
Definition: IAgoraRtcEngine.h:2313
agora::rtc::InjectStreamConfig::videoFramerate
int videoFramerate
Definition: IAgoraRtcEngine.h:505
agora::rtc::IRtcEngine::setDualStreamMode
virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode, const SimulcastStreamConfig &streamConfig)=0
agora::rtc::ChannelMediaOptions::publishCustomAudioTrackEnableAec
Optional< bool > publishCustomAudioTrackEnableAec
Definition: IAgoraRtcEngine.h:828
agora::rtc::IRtcEngine::enableAudioVolumeIndication
virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad)=0
agora::rtc::ChannelMediaOptions::mediaPlayerAudioDelayMs
Optional< int > mediaPlayerAudioDelayMs
Definition: IAgoraRtcEngine.h:925
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::IRtcEngine::unregisterMediaMetadataObserver
virtual int unregisterMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type)=0
agora::rtc::IRtcEngine::enableDualStreamMode
virtual int enableDualStreamMode(bool enabled, const SimulcastStreamConfig &streamConfig)=0
agora::rtc::IRtcEngineEventHandler::onLocalVideoTranscoderError
virtual void onLocalVideoTranscoderError(const TranscodingVideoStream &stream, VIDEO_TRANSCODER_ERROR error)
Definition: IAgoraRtcEngine.h:2471
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:1967
agora::util::AutoPtr
Definition: AgoraBase.h:97
agora::rtc::LocalVideoStats::sentBitrate
int sentBitrate
Definition: IAgoraRtcEngine.h:257
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:1227
agora::rtc::RemoteVideoStats::totalFrozenTime
int totalFrozenTime
Definition: IAgoraRtcEngine.h:384
agora::rtc::IRtcEngine::stopPrimaryCustomAudioTrack
virtual int stopPrimaryCustomAudioTrack()=0
agora::rtc::IRtcEngine::setSubscribeVideoWhitelist
virtual int setSubscribeVideoWhitelist(uid_t *uidList, int uidNumber)=0
agora::rtc::IMetadataObserver::METADATA_TYPE
METADATA_TYPE
Definition: IAgoraRtcEngine.h:2723
agora::rtc::IRtcEngine::setCloudProxy
virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType)=0
agora::rtc::VideoEncoderConfiguration
Definition: AgoraBase.h:1650
agora::rtc::IRtcEngineEventHandler
Definition: IAgoraRtcEngine.h:1194
agora::rtc::VideoCompositingLayout::Region::height
double height
Definition: IAgoraRtcEngine.h:425
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:1653
agora::rtc::VideoSubscriptionOptions
Definition: AgoraBase.h:1489
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:1450
agora::rtc::DirectCdnStreamingMediaOptions::publishMicrophoneTrack
Optional< bool > publishMicrophoneTrack
Definition: IAgoraRtcEngine.h:2899
agora::rtc::EchoTestConfiguration
Definition: AgoraBase.h:5226
agora::rtc::RtcImage
Definition: AgoraBase.h:3201
agora::rtc::VideoCompositingLayout::backgroundColor
const char * backgroundColor
Definition: IAgoraRtcEngine.h:462
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::IRtcEngine::startEchoTest
virtual int startEchoTest(int intervalInSeconds)=0
agora::rtc::LocalVideoStats::qualityAdaptIndication
QUALITY_ADAPT_INDICATION qualityAdaptIndication
Definition: IAgoraRtcEngine.h:308
agora::rtc::ChannelMediaOptions::customVideoTrackId
Optional< video_track_id_t > customVideoTrackId
Definition: IAgoraRtcEngine.h:955
agora::rtc::SimulcastStreamConfig
Definition: AgoraBase.h:1833
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:2774
agora::rtc::ChannelMediaOptions::publishDirectCustomAudioTrack
Optional< bool > publishDirectCustomAudioTrack
Definition: IAgoraRtcEngine.h:834
agora::rtc::IRtcEngine::getConnectionState
virtual CONNECTION_STATE_TYPE getConnectionState()=0
agora::rtc::ExtensionInfo::channelId
const char * channelId
Definition: IAgoraRtcEngine.h:3009
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::ChannelMediaOptions::publishTrancodedVideoTrack
Optional< bool > publishTrancodedVideoTrack
Definition: IAgoraRtcEngine.h:870
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStateChanged
virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed)
Definition: IAgoraRtcEngine.h:2025
agora::rtc::IRtcEngine::enableCustomAudioLocalPlayback
virtual int enableCustomAudioLocalPlayback(int sourceId, bool enabled)=0
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:2893
agora::rtc::IVideoDeviceCollection::getCount
virtual int getCount()=0
agora::rtc::IRtcEngine::getAudioMixingDuration
virtual int getAudioMixingDuration()=0
agora::rtc::IRtcEngineEventHandler::onUserMuteVideo
virtual void onUserMuteVideo(uid_t userId, bool muted) __deprecated
Definition: IAgoraRtcEngine.h:1671
agora::rtc::IRtcEngineEventHandler::onVideoDeviceStateChanged
virtual void onVideoDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition: IAgoraRtcEngine.h:1402
agora::rtc::IMetadataObserver
Definition: IAgoraRtcEngine.h:2716
agora::rtc::VideoCompositingLayout::appData
const char * appData
Definition: IAgoraRtcEngine.h:472
agora::rtc::IRtcEngineEventHandler::onAudioMixingPositionChanged
virtual void onAudioMixingPositionChanged(int64_t position)
Reports current AudioMixing progress.
Definition: IAgoraRtcEngine.h:1380
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:1849
agora::rtc::IRtcEngine::startChannelMediaRelay
virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration)=0
agora::rtc::ColorEnhanceOptions
Definition: AgoraBase.h:4095
agora::rtc::PublisherConfiguration::defaultLayout
int defaultLayout
Definition: IAgoraRtcEngine.h:570
agora::rtc::IRtcEngineEventHandler::onTranscodingUpdated
virtual void onTranscodingUpdated()
Definition: IAgoraRtcEngine.h:2144
agora::rtc::IRtcEngine::updateRtmpTranscoding
virtual int updateRtmpTranscoding(const LiveTranscoding &transcoding)=0
agora::rtc::IRtcEngineEventHandler::onWlAccMessage
virtual void onWlAccMessage(WLACC_MESSAGE_REASON reason, WLACC_SUGGEST_ACTION action, const char *wlAccMsg)
Definition: IAgoraRtcEngine.h:2293
agora::rtc::IRtcEngineEventHandler::onRequestToken
virtual void onRequestToken()
Definition: IAgoraRtcEngine.h:1933
agora::rtc::IRtcEngineEventHandler::onError
virtual void onError(int err, const char *msg)
Definition: IAgoraRtcEngine.h:1253
agora::rtc::ChannelMediaOptions::publishCustomAudioTrackAec
Optional< bool > publishCustomAudioTrackAec
Definition: IAgoraRtcEngine.h:840
agora::rtc::IRtcEngine::startRtmpStreamWithoutTranscoding
virtual int startRtmpStreamWithoutTranscoding(const char *url)=0
agora::rtc::VideoCompositingLayout::regionCount
int regionCount
Definition: IAgoraRtcEngine.h:469
agora::rtc::ExtensionInfo::mediaSourceType
agora::media::MEDIA_SOURCE_TYPE mediaSourceType
Definition: IAgoraRtcEngine.h:2989
agora::rtc::IRtcEngineEventHandler::onProxyConnected
virtual void onProxyConnected(const char *channel, uid_t uid, PROXY_TYPE proxyType, const char *localProxyIp, int elapsed)
Definition: IAgoraRtcEngine.h:1240
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:556
agora::rtc::IRtcEngineEventHandler::onAudioMixingFinished
virtual void onAudioMixingFinished() __deprecated
Definition: IAgoraRtcEngine.h:1389
agora::rtc::LocalAccessPointConfiguration::verifyDomainName
const char * verifyDomainName
Definition: IAgoraRtcEngine.h:1150
agora::rtc::AVideoDeviceManager
Definition: IAgoraRtcEngine.h:7434
agora::rtc::LocalVideoStats::codecType
VIDEO_CODEC_TYPE codecType
Definition: IAgoraRtcEngine.h:317
agora::rtc::ExtensionInfo::localUid
uid_t localUid
Definition: IAgoraRtcEngine.h:3014
agora::rtc::LocalTranscoderConfiguration
Definition: AgoraBase.h:3546
agora::rtc::IRtcEngine::adjustAudioMixingPlayoutVolume
virtual int adjustAudioMixingPlayoutVolume(int volume)=0
agora::rtc::InjectStreamConfig::audioBitrate
int audioBitrate
Definition: IAgoraRtcEngine.h:517
agora::rtc::IDirectCdnStreamingEventHandler::onDirectCdnStreamingStateChanged
virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_ERROR error, const char *message)
Definition: IAgoraRtcEngine.h:2873
agora::rtc::IRtcEngineEventHandler::onAudioVolumeIndication
virtual void onAudioVolumeIndication(const AudioVolumeInfo *speakers, unsigned int speakerNumber, int totalVolume)
Definition: IAgoraRtcEngine.h:1330
agora::rtc::IRtcEngineEventHandler::onConnectionBanned
virtual void onConnectionBanned()
Definition: IAgoraRtcEngine.h:1878
agora::rtc::IPacketObserver
Definition: AgoraBase.h:2958
agora::rtc::IRtcEngine::setLocalPublishFallbackOption
virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option)=0
agora::rtc::LocalVideoStats::dualStreamEnabled
bool dualStreamEnabled
Definition: IAgoraRtcEngine.h:328
agora::rtc::ChannelMediaOptions::publishEncodedVideoTrack
Optional< bool > publishEncodedVideoTrack
Definition: IAgoraRtcEngine.h:852
agora::rtc::IRtcEngine::setDualStreamMode
virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode)=0
agora::rtc::DirectCdnStreamingStats
Definition: IAgoraRtcEngine.h:2832
agora::rtc::VideoFormat
Definition: AgoraBase.h:2415
agora::rtc::RemoteVideoStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:338
agora::rtc::IRtcEngineEventHandler::onUserOffline
virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:1637
agora::rtc::IRtcEngine::setSubscribeAudioBlacklist
virtual int setSubscribeAudioBlacklist(uid_t *uidList, int uidNumber)=0
agora::rtc::IRtcEngine::stopRtmpStream
virtual int stopRtmpStream(const char *url)=0
agora::rtc::DataStreamConfig
Definition: AgoraBase.h:1803
agora::rtc::VideoCompositingLayout::Region::y
double y
Definition: IAgoraRtcEngine.h:419
agora::rtc::IRtcEngine::stopAudioMixing
virtual int stopAudioMixing()=0
agora::rtc::IRtcEngine::queryCodecCapability
virtual int queryCodecCapability(CodecCapInfo *codec_info, int &size)=0
agora::rtc::PublisherConfiguration
Definition: IAgoraRtcEngine.h:548
agora::rtc::IRtcEngine::setLogLevel
virtual int setLogLevel(commons::LOG_LEVEL level)=0
agora::rtc::RtcEngineContext::logConfig
commons::LogConfig logConfig
Definition: IAgoraRtcEngine.h:2675
agora::rtc::IRtcEngineEventHandler::onChannelMediaRelayEvent
virtual void onChannelMediaRelayEvent(int code)
Definition: IAgoraRtcEngine.h:2221
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::InjectStreamConfig::height
int height
Definition: IAgoraRtcEngine.h:497
agora::rtc::IRtcEngine::startRtmpStreamWithTranscoding
virtual int startRtmpStreamWithTranscoding(const char *url, const LiveTranscoding &transcoding)=0
agora::rtc::DirectCdnStreamingMediaOptions
Definition: IAgoraRtcEngine.h:2887
agora::rtc::IRtcEngineEventHandler::onStreamMessageError
virtual void onStreamMessageError(uid_t userId, int streamId, int code, int missed, int cached)
Definition: IAgoraRtcEngine.h:1914
agora::rtc::IRtcEngine::setVideoEncoderConfiguration
virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration &config)=0
agora::rtc::AdvancedAudioOptions
Definition: IAgoraRtcEngine.h:745
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:270
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
save current time video frame to jpeg and write as a jpeg
agora::rtc::RtcEngineContext::license
const char * license
Definition: IAgoraRtcEngine.h:2650
agora::rtc::VideoCompositingLayout::canvasWidth
int canvasWidth
Definition: IAgoraRtcEngine.h:454
agora::rtc::LeaveChannelOptions::stopMicrophoneRecording
bool stopMicrophoneRecording
Definition: IAgoraRtcEngine.h:1178
agora::rtc::PublisherConfiguration::rawStreamUrl
const char * rawStreamUrl
Definition: IAgoraRtcEngine.h:595
agora::rtc::IRtcEngineEventHandler::onRemoteVideoStats
virtual void onRemoteVideoStats(const RemoteVideoStats &stats)
Definition: IAgoraRtcEngine.h:1788
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:1949
agora::rtc::LocalVideoStats::targetFrameRate
int targetFrameRate
Definition: IAgoraRtcEngine.h:301
agora::rtc::DirectCdnStreamingStats::audioBitrate
int audioBitrate
Definition: IAgoraRtcEngine.h:2856
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:2645
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:2046
agora::rtc::IRtcEngineEventHandler::onAudioDeviceStateChanged
virtual void onAudioDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition: IAgoraRtcEngine.h:1368
agora::rtc::IAudioEncodedFrameObserver
Definition: AgoraBase.h:4706
agora::rtc::ChannelMediaOptions::token
Optional< const char * > token
Definition: IAgoraRtcEngine.h:929
agora::rtc::IRtcEngineEventHandler::onAudioQuality
virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay, unsigned short lost)
Definition: IAgoraRtcEngine.h:1272
agora::rtc::LeaveChannelOptions
Definition: IAgoraRtcEngine.h:1160
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStats
virtual void onRemoteAudioStats(const RemoteAudioStats &stats)
Definition: IAgoraRtcEngine.h:1756
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:2846
agora::rtc::IRtcEngine::stopLastmileProbeTest
virtual int stopLastmileProbeTest()=0
agora::rtc::ChannelMediaRelayConfiguration
Definition: AgoraBase.h:4934
agora::rtc::IRtcEngine::setAdvancedAudioOptions
virtual int setAdvancedAudioOptions(AdvancedAudioOptions &options, int sourceType=0)=0
agora::rtc::IVideoDeviceCollection
Definition: IAgoraRtcEngine.h:2480
agora::rtc::IRtcEngineEventHandler::onRtmpStreamingStateChanged
virtual void onRtmpStreamingStateChanged(const char *url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_ERROR_TYPE errCode)
Definition: IAgoraRtcEngine.h:2114
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:321
agora::rtc::IRtcEngineEventHandler::onLocalVideoStats
virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats &stats)
Definition: IAgoraRtcEngine.h:1774
agora::rtc::ChannelMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition: IAgoraRtcEngine.h:818
agora::rtc::RemoteVideoStats::avSyncTimeMs
int avSyncTimeMs
Definition: IAgoraRtcEngine.h:393
agora::rtc::RtcEngineContext::domainLimit
bool domainLimit
Definition: IAgoraRtcEngine.h:2696
agora::rtc::VideoDenoiserOptions
Definition: AgoraBase.h:4048
agora::rtc::IRtcEngineEventHandler::onStreamMessage
virtual void onStreamMessage(uid_t userId, int streamId, const char *data, size_t length, uint64_t sentTs)
Definition: IAgoraRtcEngine.h:1893
agora::rtc::RemoteVideoStats::decoderOutputFrameRate
int decoderOutputFrameRate
Definition: IAgoraRtcEngine.h:365
agora::rtc::RtcEngineContext::context
void * context
Definition: IAgoraRtcEngine.h:2640
agora::rtc::ChannelMediaOptions::publishCameraTrack
Optional< bool > publishCameraTrack
Definition: IAgoraRtcEngine.h:771
agora::rtc::IRtcEngineEventHandler::onFirstLocalVideoFrame
virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed)
Definition: IAgoraRtcEngine.h:1489
agora::rtc::ChannelMediaOptions::clientRoleType
Optional< CLIENT_ROLE_TYPE > clientRoleType
Definition: IAgoraRtcEngine.h:900
agora::rtc::IRtcEngineEventHandler::onJoinChannelSuccess
virtual void onJoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1209
agora::rtc::DirectCdnStreamingMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition: IAgoraRtcEngine.h:2922
agora::rtc::ChannelMediaOptions::channelProfile
Optional< CHANNEL_PROFILE_TYPE > channelProfile
Definition: IAgoraRtcEngine.h:915
agora::rtc::IRtcEngine::setEncryptionMode
virtual int setEncryptionMode(const char *encryptionMode) __deprecated=0
agora::rtc::VideoCompositingLayout::Region::zOrder
int zOrder
Definition: IAgoraRtcEngine.h:429
agora::rtc::LocalVideoStats::captureFrameRate
int captureFrameRate
Definition: IAgoraRtcEngine.h:264
agora::rtc::IRtcEngine::startPrimaryCustomAudioTrack
virtual int startPrimaryCustomAudioTrack(const AudioTrackConfig &config)=0
agora::rtc::VirtualBackgroundSource
Definition: AgoraBase.h:4112
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:2524
agora::rtc::RemoteVideoStats::frozenRate
int frozenRate
Definition: IAgoraRtcEngine.h:388
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:475
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:434
agora::rtc::IRtcEngine::release
virtual void release(bool sync=false)=0
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition: IAgoraRtcEngine.h:2911
agora::rtc::LocalVideoStats::encodedFrameHeight
int encodedFrameHeight
Definition: IAgoraRtcEngine.h:291
agora::rtc::AdvancedAudioOptions::audioProcessingChannels
Optional< int > audioProcessingChannels
Definition: IAgoraRtcEngine.h:749
agora::rtc::IRtcEngineEventHandler::onLocalAudioStateChanged
virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error)
Definition: IAgoraRtcEngine.h:2008
agora::rtc::RemoteVideoStats::superResolutionType
int superResolutionType
Definition: IAgoraRtcEngine.h:406
agora::rtc::IRtcEngine::getUserInfoByUserAccount
virtual int getUserInfoByUserAccount(const char *userAccount, rtc::UserInfo *userInfo)=0
agora::rtc::WlAccStats
Definition: AgoraBase.h:3860
agora::rtc::IRtcEngine::setDefaultMuteAllRemoteAudioStreams
virtual int setDefaultMuteAllRemoteAudioStreams(bool mute) __deprecated=0
agora::rtc::IRtcEngine::updateChannelMediaRelay
virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration)=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:346
agora::rtc::PublisherConfiguration::width
int width
Definition: IAgoraRtcEngine.h:552
agora::rtc::VideoCompositingLayout::Region::width
double width
Definition: IAgoraRtcEngine.h:423
agora::rtc::IRtcEngine::startEchoTest
virtual int startEchoTest(const EchoTestConfiguration &config)=0
agora::rtc::IRtcEngine::getEffectsVolume
virtual int getEffectsVolume()=0
agora::rtc::IRtcEngineEventHandler::onEncryptionError
virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType)
Definition: IAgoraRtcEngine.h:2321
agora::rtc::IRtcEngine::getEffectDuration
virtual int getEffectDuration(const char *filePath)=0
agora::rtc::CodecCapInfo
Definition: AgoraBase.h:1640
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:1555
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:1172
agora::rtc::ChannelMediaOptions::defaultVideoStreamType
Optional< VIDEO_STREAM_TYPE > defaultVideoStreamType
Definition: IAgoraRtcEngine.h:910
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:2703
agora::rtc::LocalVideoStats
Definition: IAgoraRtcEngine.h:249
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:1702
agora::rtc::ChannelMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition: IAgoraRtcEngine.h:895
agora::rtc::IDirectCdnStreamingEventHandler
Definition: IAgoraRtcEngine.h:2863
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:2379
agora::rtc::IRtcEngine::startSecondaryCustomAudioTrack
virtual int startSecondaryCustomAudioTrack(const AudioTrackConfig &config)=0
agora::rtc::EncryptionConfig
Definition: AgoraBase.h:5124
agora::rtc::IRtcEngineEventHandler::onWlAccStats
virtual void onWlAccStats(WlAccStats currentStats, WlAccStats averageStats)
Definition: IAgoraRtcEngine.h:2304
agora::rtc::IRtcEngineEventHandler::onClientRoleChanged
virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole)
Definition: IAgoraRtcEngine.h:2073
agora::rtc::IRtcEngine::setAudioMixingPosition
virtual int setAudioMixingPosition(int pos)=0
agora::rtc::ChannelMediaOptions::enableAudioRecordingOrPlayout
Optional< bool > enableAudioRecordingOrPlayout
Definition: IAgoraRtcEngine.h:890
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:2428
agora::rtc::RemoteVideoStats::receivedBitrate
int receivedBitrate
Definition: IAgoraRtcEngine.h:362
agora::rtc::RemoteAudioStats
Definition: AgoraBase.h:2239
agora::rtc::TranscodingVideoStream
Definition: AgoraBase.h:3480
agora::rtc::IMetadataObserver::MAX_METADATA_SIZE_TYPE
MAX_METADATA_SIZE_TYPE
Definition: IAgoraRtcEngine.h:2735
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:1593
agora::rtc::LocalVideoStats::encoderOutputFrameRate
int encoderOutputFrameRate
Definition: IAgoraRtcEngine.h:285
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:1286
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:1861
agora::rtc::PublisherConfiguration::owner
bool owner
Definition: IAgoraRtcEngine.h:578
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:466
agora::rtc::ChannelMediaOptions::publishMediaPlayerVideoTrack
Optional< bool > publishMediaPlayerVideoTrack
Definition: IAgoraRtcEngine.h:864
agora::rtc::IRtcEngine::stopPreview
virtual int stopPreview()=0
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:2927
agora::rtc::IRtcEngineEventHandler::onVideoSizeChanged
virtual void onVideoSizeChanged(VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation)
Definition: IAgoraRtcEngine.h:1536
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:2341
agora::rtc::LocalVideoStats::encodedFrameWidth
int encodedFrameWidth
Definition: IAgoraRtcEngine.h:288
agora::rtc::RtcStats
Definition: AgoraBase.h:1932
agora::rtc::LowlightEnhanceOptions
Definition: AgoraBase.h:4007
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)
snapshot taken callback
Definition: IAgoraRtcEngine.h:2059
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:1897
agora::rtc::LocalAudioStats
Definition: AgoraBase.h:3080
agora::rtc::IRtcEngineEventHandler::onAudioDeviceVolumeChanged
virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted)
Definition: IAgoraRtcEngine.h:2095
agora::rtc::IRtcEngine::leaveChannel
virtual int leaveChannel()=0
agora::rtc::IRtcEngine::setClientRole
virtual int setClientRole(CLIENT_ROLE_TYPE role)=0
agora::rtc::RemoteVideoStats::width
int width
Definition: IAgoraRtcEngine.h:354
agora::rtc::IRtcEngineEventHandler::onMediaDeviceChanged
virtual void onMediaDeviceChanged(int deviceType)
Definition: IAgoraRtcEngine.h:1415
agora::rtc::RtcEngineContext::audioScenario
AUDIO_SCENARIO_TYPE audioScenario
Definition: IAgoraRtcEngine.h:2659
agora::rtc::RemoteVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition: IAgoraRtcEngine.h:368
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:298
agora::rtc::ChannelMediaOptions::publishSecondaryScreenTrack
Optional< bool > publishSecondaryScreenTrack
Definition: IAgoraRtcEngine.h:810
agora::rtc::IRtcEngine::getCallId
virtual int getCallId(agora::util::AString &callId)=0
agora::rtc::InjectStreamConfig
Definition: IAgoraRtcEngine.h:489
agora::rtc::IRtcEngine::uploadLogFile
virtual int uploadLogFile(agora::util::AString &requestId)=0
agora::rtc::LocalVideoStats::encodedFrameCount
int encodedFrameCount
Definition: IAgoraRtcEngine.h:312
agora::rtc::PublisherConfiguration::bitrate
int bitrate
Definition: IAgoraRtcEngine.h:564
agora::rtc::LocalVideoStats::regulatedCaptureFrameRate
int regulatedCaptureFrameRate
Definition: IAgoraRtcEngine.h:274
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:2623
agora::rtc::IRtcEngine::unloadAllEffects
virtual int unloadAllEffects()=0
agora::rtc::ChannelMediaOptions
Definition: IAgoraRtcEngine.h:765
agora::rtc::IRtcEngine
Definition: IAgoraRtcEngine.h:3034
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:2044
agora::rtc::ScreenCaptureConfiguration
Definition: IAgoraRtcEngine.h:666
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:884
agora::rtc::AudioRecordingConfiguration
Definition: AgoraBase.h:4620
agora::rtc::IRtcEngine::getEffectCurrentPosition
virtual int getEffectCurrentPosition(int soundId)=0
agora::rtc::ChannelMediaOptions::publishMicrophoneTrack
Optional< bool > publishMicrophoneTrack
Definition: IAgoraRtcEngine.h:783
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:371
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:358
agora::rtc::LocalVideoStats::captureFrameWidth
int captureFrameWidth
Definition: IAgoraRtcEngine.h:267
agora::rtc::IRtcEngine::setAudioEffectPreset
virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset)=0
agora::rtc::IRtcEngine::setSubscribeVideoBlacklist
virtual int setSubscribeVideoBlacklist(uid_t *uidList, int uidNumber)=0
agora::rtc::RtcEngineContext::useExternalEglContext
bool useExternalEglContext
Definition: IAgoraRtcEngine.h:2689
agora::rtc::IRtcEngine::preloadEffect
virtual int preloadEffect(int soundId, const char *filePath, int startPos=0)=0
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::enableRemoteSuperResolution
virtual int enableRemoteSuperResolution(uid_t userId, bool enable)=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:2917
agora::util::CopyableAutoPtr
Definition: AgoraBase.h:153
agora::rtc::AudioTrackConfig
Definition: IAgoraRtcEngine.h:616
agora::rtc::IRtcEngine::getNetworkType
virtual int getNetworkType()=0
agora::rtc::LocalAccessPointConfiguration::ipListSize
int ipListSize
Definition: IAgoraRtcEngine.h:1141
agora::rtc::InjectStreamConfig::audioSampleRate
AUDIO_SAMPLE_RATE_TYPE audioSampleRate
Definition: IAgoraRtcEngine.h:513
agora::rtc::IRtcEngine::enableExtension
virtual int enableExtension(const char *provider, const char *extension, const ExtensionInfo &extensionInfo, bool enable=true)=0
agora::rtc::IRtcEngineEventHandler::onConnectionInterrupted
virtual void onConnectionInterrupted()
Definition: IAgoraRtcEngine.h:1874
agora::rtc::PublisherConfiguration::framerate
int framerate
Definition: IAgoraRtcEngine.h:560
agora::rtc::IRtcEngine::resumeEffect
virtual int resumeEffect(int soundId)=0
agora::rtc::PublisherConfiguration::injectStreamUrl
const char * injectStreamUrl
Definition: IAgoraRtcEngine.h:587
agora::rtc::ChannelMediaOptions::publishScreenTrack
Optional< bool > publishScreenTrack
Definition: IAgoraRtcEngine.h:804
agora::rtc::IRtcEngineEventHandler::onAudioRoutingChanged
virtual void onAudioRoutingChanged(int routing)
Definition: IAgoraRtcEngine.h:2159
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:509
agora::rtc::LocalVideoStats::captureBrightnessLevel
CAPTURE_BRIGHTNESS_LEVEL_TYPE captureBrightnessLevel
Definition: IAgoraRtcEngine.h:324
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::enableDualStreamMode
virtual int enableDualStreamMode(bool enabled)=0
agora::rtc::IRtcEngine::setHeadphoneEQParameters
virtual int setHeadphoneEQParameters(int lowGain, int highGain)=0
agora::rtc::LocalAccessPointConfiguration::domainList
const char ** domainList
Definition: IAgoraRtcEngine.h:1144
agora::rtc::IMetadataObserver::UNKNOWN_METADATA
@ UNKNOWN_METADATA
Definition: IAgoraRtcEngine.h:2726
agora::rtc::IRtcEngineEventHandler::onFirstLocalVideoFramePublished
virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed)
Definition: IAgoraRtcEngine.h:1501
agora::rtc::IRtcEngine::startEchoTest
virtual int startEchoTest()=0
agora::rtc::IRtcEngine::updateChannelMediaOptions
virtual int updateChannelMediaOptions(const ChannelMediaOptions &options)=0
agora::rtc::ChannelMediaOptions::audioDelayMs
Optional< int > audioDelayMs
Definition: IAgoraRtcEngine.h:920
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:1428
agora::rtc::IRtcEngine::resumeAudioMixing
virtual int resumeAudioMixing()=0
agora::rtc::ImageTrackOptions
Definition: IAgoraRtcEngine.h:755
agora::rtc::IRtcEngine::unloadEffect
virtual int unloadEffect(int soundId)=0
agora::rtc::VideoCompositingLayout::Region
Definition: IAgoraRtcEngine.h:410
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:2396
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::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:1572
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:581
agora::rtc::RemoteVideoStats::rxStreamType
VIDEO_STREAM_TYPE rxStreamType
Definition: IAgoraRtcEngine.h:378
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:2749
agora::rtc::IRtcEngine::disableVideo
virtual int disableVideo()=0
agora::rtc::IRtcEngine::setSubscribeAudioWhitelist
virtual int setSubscribeAudioWhitelist(uid_t *uidList, int uidNumber)=0
agora::rtc::InjectStreamConfig::videoGop
int videoGop
Definition: IAgoraRtcEngine.h:501
agora::rtc::ChannelMediaOptions::isInteractiveAudience
Optional< bool > isInteractiveAudience
Definition: IAgoraRtcEngine.h:950
agora::SpatialAudioParams
Definition: AgoraBase.h:5450
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:2329
agora::rtc::IRtcEngineEventHandler::onUploadLogResult
virtual void onUploadLogResult(const char *requestId, bool success, UPLOAD_ERROR_REASON reason)
Definition: IAgoraRtcEngine.h:2364
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::setLocalAccessPoint
virtual int setLocalAccessPoint(const LocalAccessPointConfiguration &config)=0
agora::rtc::IRtcEngineEventHandler::onRemoteVideoTransportStats
virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate)
Definition: IAgoraRtcEngine.h:2268
agora::rtc::IRtcEngine::stopSecondaryCustomAudioTrack
virtual int stopSecondaryCustomAudioTrack()=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:1357
agora::rtc::IRtcEngineEventHandler::onUserJoined
virtual void onUserJoined(uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1618
agora::rtc::AAudioDeviceManager
Definition: IAgoraRtcEngine.h:7427
agora::rtc::IMetadataObserver::Metadata
Definition: IAgoraRtcEngine.h:2744
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:374
agora::rtc::DeviceInfo
Definition: AgoraBase.h:2946
agora::base::IEngineBase
Definition: AgoraBase.h:5416
agora::rtc::LocalVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition: IAgoraRtcEngine.h:294
agora::rtc::IRtcEngineEventHandler::onDownlinkNetworkInfoUpdated
virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo &info)
Definition: IAgoraRtcEngine.h:1461
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition: IAgoraRtcEngine.h:2905
agora::rtc::IRtcEngineEventHandler::onAudioMixingStateChanged
virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:1836
agora::rtc::IRtcEngineEventHandler::onFirstRemoteAudioFrame
virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1977
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:2670
agora::rtc::IRtcEngineEventHandler::onLicenseValidationFailure
virtual void onLicenseValidationFailure(LICENSE_ERROR_TYPE error)
Definition: IAgoraRtcEngine.h:1958
agora::rtc::CameraCapturerConfiguration
Definition: IAgoraRtcEngine.h:647
agora::rtc::IMetadataObserver::VIDEO_METADATA
@ VIDEO_METADATA
Definition: IAgoraRtcEngine.h:2729
agora::rtc::IRtcEngine::selectAudioTrack
virtual int selectAudioTrack(int index)=0
agora::rtc::RemoteVideoStats
Definition: IAgoraRtcEngine.h:334
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:584
agora::Optional< int >
agora::rtc::LocalAccessPointConfiguration::domainListSize
int domainListSize
Definition: IAgoraRtcEngine.h:1147
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:2752
agora::rtc::ClientRoleOptions
Definition: AgoraBase.h:2191
agora::rtc::IRtcEngine::setRecordingAudioFrameParameters
virtual int setRecordingAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
agora::rtc::IRtcEngineEventHandler::onUserEnableLocalVideo
virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) __deprecated
Definition: IAgoraRtcEngine.h:1717
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:2193
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:2412
agora::rtc::IRtcEngineEventHandler::onFirstRemoteAudioDecoded
virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1989
agora::rtc::IRtcEngine::startPreview
virtual int startPreview(VIDEO_SOURCE_TYPE sourceType)=0
agora::rtc::VideoCanvas
Definition: AgoraBase.h:3930
agora::rtc::VideoCompositingLayout::Region::uid
uid_t uid
Definition: IAgoraRtcEngine.h:413
agora::rtc::IRtcEngineEventHandler::onConnectionStateChanged
virtual void onConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:2281
agora::rtc::SegmentationProperty
Definition: AgoraBase.h:4167
agora::rtc::VideoCompositingLayout::Region::x
double x
Definition: IAgoraRtcEngine.h:416