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 
15 namespace agora {
16 namespace rtc {
17 
18 //class IAudioDeviceManager;
19 
23 enum MEDIA_DEVICE_TYPE {
27  UNKNOWN_AUDIO_DEVICE = -1,
31  AUDIO_PLAYOUT_DEVICE = 0,
35  AUDIO_RECORDING_DEVICE = 1,
39  VIDEO_RENDER_DEVICE = 2,
43  VIDEO_CAPTURE_DEVICE = 3,
47  AUDIO_APPLICATION_PLAYOUT_DEVICE = 4,
48 };
49 
53 enum AUDIO_MIXING_STATE_TYPE {
55  AUDIO_MIXING_STATE_PLAYING = 710,
57  AUDIO_MIXING_STATE_PAUSED = 711,
59  AUDIO_MIXING_STATE_STOPPED = 713,
63  AUDIO_MIXING_STATE_FAILED = 714,
65  AUDIO_MIXING_STATE_COMPLETED = 715,
67  AUDIO_MIXING_STATE_ALL_LOOPS_COMPLETED = 716,
68 };
69 
73 enum AUDIO_MIXING_ERROR_TYPE {
75  AUDIO_MIXING_ERROR_CAN_NOT_OPEN = 701,
77  AUDIO_MIXING_ERROR_TOO_FREQUENT_CALL = 702,
79  AUDIO_MIXING_ERROR_INTERRUPTED_EOF = 703,
81  AUDIO_MIXING_ERROR_OK = 0,
82 };
83 
87 enum INJECT_STREAM_STATUS {
91  INJECT_STREAM_STATUS_START_SUCCESS = 0,
95  INJECT_STREAM_STATUS_START_ALREADY_EXISTS = 1,
99  INJECT_STREAM_STATUS_START_UNAUTHORIZED = 2,
103  INJECT_STREAM_STATUS_START_TIMEDOUT = 3,
107  INJECT_STREAM_STATUS_START_FAILED = 4,
111  INJECT_STREAM_STATUS_STOP_SUCCESS = 5,
115  INJECT_STREAM_STATUS_STOP_NOT_FOUND = 6,
119  INJECT_STREAM_STATUS_STOP_UNAUTHORIZED = 7,
123  INJECT_STREAM_STATUS_STOP_TIMEDOUT = 8,
127  INJECT_STREAM_STATUS_STOP_FAILED = 9,
131  INJECT_STREAM_STATUS_BROKEN = 10,
132 };
133 
137 enum AUDIO_EQUALIZATION_BAND_FREQUENCY {
141  AUDIO_EQUALIZATION_BAND_31 = 0,
145  AUDIO_EQUALIZATION_BAND_62 = 1,
149  AUDIO_EQUALIZATION_BAND_125 = 2,
153  AUDIO_EQUALIZATION_BAND_250 = 3,
157  AUDIO_EQUALIZATION_BAND_500 = 4,
161  AUDIO_EQUALIZATION_BAND_1K = 5,
165  AUDIO_EQUALIZATION_BAND_2K = 6,
169  AUDIO_EQUALIZATION_BAND_4K = 7,
173  AUDIO_EQUALIZATION_BAND_8K = 8,
177  AUDIO_EQUALIZATION_BAND_16K = 9,
178 };
179 
183 enum AUDIO_REVERB_TYPE {
187  AUDIO_REVERB_DRY_LEVEL = 0,
191  AUDIO_REVERB_WET_LEVEL = 1,
195  AUDIO_REVERB_ROOM_SIZE = 2,
199  AUDIO_REVERB_WET_DELAY = 3,
203  AUDIO_REVERB_STRENGTH = 4,
204 };
205 
206 enum STREAM_FALLBACK_OPTIONS {
210  STREAM_FALLBACK_OPTION_DISABLED = 0,
215  STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW = 1,
219  STREAM_FALLBACK_OPTION_AUDIO_ONLY = 2,
220 };
221 
222 enum PRIORITY_TYPE {
225  PRIORITY_HIGH = 50,
228  PRIORITY_NORMAL = 100,
229 };
230 
234 {
238  uid_t uid;
293  QUALITY_ADAPT_INDICATION qualityAdaptIndication;
294  int encodedBitrate;
302  VIDEO_CODEC_TYPE codecType;
306  unsigned short txPacketLossRate;
307 };
308 
316  uid_t uid;
324  int delay __deprecated;
328  int width;
332  int height;
352  VIDEO_STREAM_TYPE rxStreamType;
381 };
382 
384  struct Region {
387  uid_t uid;
390  double x; // [0,1]
393  double y; // [0,1]
397  double width; // [0,1]
399  double height; // [0,1]
403  int zOrder; // optional, [0, 100] //0 (default): bottom most, 100: top most
404 
408  double alpha;
409 
410  media::base::RENDER_MODE_TYPE
411  renderMode; // RENDER_MODE_HIDDEN: Crop, RENDER_MODE_FIT: Zoom to fit
412 
413  Region()
414  : uid(0),
415  x(0),
416  y(0),
417  width(0),
418  height(0),
419  zOrder(0),
420  alpha(1.0),
421  renderMode(media::base::RENDER_MODE_HIDDEN) {}
422  };
423 
436  const char* backgroundColor; // e.g. "#C0C0C0" in RGB
440  const Region* regions;
446  const char* appData;
450 
452  : canvasWidth(0),
453  canvasHeight(0),
454  backgroundColor(NULL),
455  regions(NULL),
456  regionCount(0),
457  appData(NULL),
458  appDataLength(0) {}
459 };
460 
467  int width;
471  int height;
475  int videoGop;
487  AUDIO_SAMPLE_RATE_TYPE audioSampleRate;
495 
496  // width / height default set to 0 means pull the stream with its original
497  // resolution
499  : width(0),
500  height(0),
501  videoGop(30),
502  videoFramerate(15),
503  videoBitrate(400),
504  audioSampleRate(AUDIO_SAMPLE_RATE_48000),
505  audioBitrate(48),
506  audioChannels(1) {}
507 };
508 
511 enum RTMP_STREAM_LIFE_CYCLE_TYPE {
514  RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL = 1,
517  RTMP_STREAM_LIFE_CYCLE_BIND2OWNER = 2,
518 };
519 
526  int width;
530  int height;
538  int bitrate;
552  bool owner;
561  const char* injectStreamUrl;
565  const char* publishUrl;
569  const char* rawStreamUrl;
572  const char* extraInfo;
573 
575  : width(640),
576  height(360),
577  framerate(15),
578  bitrate(500),
579  defaultLayout(1),
580  lifecycle(RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL),
581  owner(true),
584  injectStreamUrl(NULL),
585  publishUrl(NULL),
586  rawStreamUrl(NULL),
587  extraInfo(NULL) {}
588 };
589 
591  bool enableLocalPlayback;
592  AudioTrackConfig() : enableLocalPlayback(true) {}
593 };
594 
595 enum CAMERA_DIRECTION {
597  CAMERA_REAR = 0,
599  CAMERA_FRONT = 1,
600 };
601 
606 enum CLOUD_PROXY_TYPE {
609  NONE_PROXY = 0,
612  UDP_PROXY = 1,
614 
616  TCP_PROXY = 2,
618 };
619 
623 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
624  CAMERA_DIRECTION cameraDirection;
625 #else
626 
627  char deviceId[MAX_DEVICE_ID_LENGTH];
628 #endif
629  VideoFormat format;
630 };
631 
633  bool isCaptureWindow; // true - capture window, false - capture display
634  uint32_t displayId; // MacOS only
635  Rectangle screenRect; //Windows only
636  view_t windowId;
638  Rectangle regionRect;
639 
640  ScreenCaptureConfiguration() : isCaptureWindow(false), displayId(0) {}
641 };
642 
644  Optional<bool> enable_aec_external_custom_;
645  Optional<bool> enable_agc_external_custom_;
646  Optional<bool> enable_ans_external_custom_;
647  Optional<NLP_AGGRESSIVENESS> aec_aggressiveness_external_custom_;
648 
649  Optional<bool> enable_aec_external_loopback_;
650 
652 
653  bool operator==(const AudioOptionsExternal& o) {
654 #define BEGIN_COMPARE() bool b = true
655 #define ADD_COMPARE(X) b = (b && (X == o.X))
656 #define END_COMPARE()
657 
658  BEGIN_COMPARE();
659  ADD_COMPARE(enable_aec_external_custom_);
660  ADD_COMPARE(enable_aec_external_loopback_);
661  ADD_COMPARE(enable_agc_external_custom_);
662  ADD_COMPARE(enable_ans_external_custom_);
663  ADD_COMPARE(aec_aggressiveness_external_custom_);
664  END_COMPARE();
665 
666 #undef BEGIN_COMPARE
667 #undef ADD_COMPARE
668 #undef END_COMPARE
669  return b;
670  }
671 };
672 
673 #if (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
674 
676 struct SIZE {
679  int width;
682  int height;
683 
684  SIZE() : width(0), height(0) {}
685  SIZE(int ww, int hh) : width(ww), height(hh) {}
686 };
687 #endif
688 
689 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
690 struct ThumbImageBuffer {
691  const char* buffer;
692  unsigned int length;
693  unsigned int width;
694  unsigned int height;
695  ThumbImageBuffer() : buffer(nullptr), length(0), width(0), height(0) {}
696 };
697 
698 enum ScreenCaptureSourceType {
699  ScreenCaptureSourceType_Unknown = -1,
700  ScreenCaptureSourceType_Window = 0,
701  ScreenCaptureSourceType_Screen = 1,
702  ScreenCaptureSourceType_Custom = 2,
703 };
704 
705 struct ScreenCaptureSourceInfo {
706  ScreenCaptureSourceType type;
708  view_t sourceId;
709  const char* sourceName;
710  ThumbImageBuffer thumbImage;
711  ThumbImageBuffer iconImage;
712 
713  const char* processPath;
714  const char* sourceTitle;
715  bool primaryMonitor;
716  bool isOccluded;
717  ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(nullptr), sourceName(nullptr),
718  processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false) {}
719 };
720 
721 class IScreenCaptureSourceList {
722  protected:
723  virtual ~IScreenCaptureSourceList(){};
724 
725  public:
726  virtual unsigned int getCount() = 0;
727  virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index) = 0;
728  virtual void release() = 0;
729 };
730 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
731 
897 
898 
899  AudioOptionsExternal audioOptionsExternal;
900 
902  ~ChannelMediaOptions() {}
903 
904  void SetAll(const ChannelMediaOptions& change) {
905 #define SET_FROM(X) SetFrom(&X, change.X)
906 
907  SET_FROM(publishCameraTrack);
908  SET_FROM(publishSecondaryCameraTrack);
909  SET_FROM(publishAudioTrack);
910  SET_FROM(publishScreenTrack);
911  SET_FROM(publishSecondaryScreenTrack);
912  SET_FROM(publishTrancodedVideoTrack);
913  SET_FROM(publishCustomAudioTrack);
915  SET_FROM(publishCustomAudioSourceId);
917  SET_FROM(publishCustomAudioTrackAec);
918  SET_FROM(publishCustomVideoTrack);
919  SET_FROM(publishEncodedVideoTrack);
922  SET_FROM(autoSubscribeAudio);
923  SET_FROM(autoSubscribeVideo);
924  SET_FROM(startPreview);
925  SET_FROM(publishMediaPlayerId);
927  SET_FROM(clientRoleType);
928  SET_FROM(audienceLatencyLevel);
929  SET_FROM(defaultVideoStreamType);
930  SET_FROM(channelProfile);
931  SET_FROM(audioDelayMs);
932  SET_FROM(mediaPlayerAudioDelayMs);
933  SET_FROM(token);
935  SET_FROM(publishRhythmPlayerTrack);
936 #undef SET_FROM
937  }
938 
939  bool operator==(const ChannelMediaOptions& o) const {
940 #define BEGIN_COMPARE() bool b = true
941 #define ADD_COMPARE(X) b = (b && (X == o.X))
942 #define END_COMPARE()
943 
944  BEGIN_COMPARE();
945  ADD_COMPARE(publishCameraTrack);
946  ADD_COMPARE(publishSecondaryCameraTrack);
947  ADD_COMPARE(publishAudioTrack);
948  ADD_COMPARE(publishScreenTrack);
949  ADD_COMPARE(publishSecondaryScreenTrack);
950  ADD_COMPARE(publishTrancodedVideoTrack);
951  ADD_COMPARE(publishCustomAudioTrack);
952  ADD_COMPARE(publishDirectCustomAudioTrack);
953  ADD_COMPARE(publishCustomAudioSourceId);
955  ADD_COMPARE(publishCustomAudioTrackAec);
956  ADD_COMPARE(publishCustomVideoTrack);
957  ADD_COMPARE(publishEncodedVideoTrack);
958  ADD_COMPARE(publishMediaPlayerAudioTrack);
959  ADD_COMPARE(publishMediaPlayerVideoTrack);
960  ADD_COMPARE(autoSubscribeAudio);
961  ADD_COMPARE(autoSubscribeVideo);
962  ADD_COMPARE(startPreview);
963  ADD_COMPARE(publishMediaPlayerId);
964  ADD_COMPARE(enableAudioRecordingOrPlayout);
965  ADD_COMPARE(clientRoleType);
966  ADD_COMPARE(audienceLatencyLevel);
967  ADD_COMPARE(defaultVideoStreamType);
968  ADD_COMPARE(channelProfile);
969  ADD_COMPARE(audioDelayMs);
970  ADD_COMPARE(mediaPlayerAudioDelayMs);
971  ADD_COMPARE(token);
972  ADD_COMPARE(enableBuiltInMediaEncryption);
973  ADD_COMPARE(publishRhythmPlayerTrack);
974  END_COMPARE();
975 
976 #undef BEGIN_COMPARE
977 #undef ADD_COMPARE
978 #undef END_COMPARE
979  return b;
980  }
981 
982  ChannelMediaOptions& operator=(const ChannelMediaOptions& replace) {
983  if (this != &replace) {
984 #define REPLACE_BY(X) ReplaceBy(&X, replace.X)
985 
986  REPLACE_BY(publishCameraTrack);
987  REPLACE_BY(publishSecondaryCameraTrack);
988  REPLACE_BY(publishAudioTrack);
989  REPLACE_BY(publishScreenTrack);
990  REPLACE_BY(publishSecondaryScreenTrack);
991  REPLACE_BY(publishTrancodedVideoTrack);
992  REPLACE_BY(publishCustomAudioTrack);
993  REPLACE_BY(publishDirectCustomAudioTrack);
994  REPLACE_BY(publishCustomAudioSourceId);
996  REPLACE_BY(publishCustomAudioTrackAec);
997  REPLACE_BY(publishCustomVideoTrack);
998  REPLACE_BY(publishEncodedVideoTrack);
999  REPLACE_BY(publishMediaPlayerAudioTrack);
1000  REPLACE_BY(publishMediaPlayerVideoTrack);
1001  REPLACE_BY(autoSubscribeAudio);
1002  REPLACE_BY(autoSubscribeVideo);
1003  REPLACE_BY(startPreview);
1004  REPLACE_BY(publishMediaPlayerId);
1005  REPLACE_BY(enableAudioRecordingOrPlayout);
1006  REPLACE_BY(clientRoleType);
1007  REPLACE_BY(audienceLatencyLevel);
1008  REPLACE_BY(defaultVideoStreamType);
1009  REPLACE_BY(channelProfile);
1010  REPLACE_BY(audioDelayMs);
1011  REPLACE_BY(mediaPlayerAudioDelayMs);
1012  REPLACE_BY(token);
1013  REPLACE_BY(enableBuiltInMediaEncryption);
1014  REPLACE_BY(publishRhythmPlayerTrack);
1015 #undef REPLACE_BY
1016  }
1017  return *this;
1018  }
1019 
1020  template <typename T>
1021  static void SetFrom(Optional<T>* s, const Optional<T>& o) {
1022  if (o) {
1023  *s = o;
1024  }
1025  }
1026 
1027  template <typename T>
1028  static void ReplaceBy(Optional<T>* s, const Optional<T>& o) {
1029  *s = o;
1030  }
1031 };
1032 
1034 enum LOCAL_PROXY_MODE {
1037  kConnectivityFirst = 0,
1040  kLocalOnly = 1,
1041 };
1042 
1046  const char** ipList;
1052  const char** domainList;
1058  const char* verifyDomainName;
1061  LOCAL_PROXY_MODE mode;
1062  LocalAccessPointConfiguration() : ipList(NULL), ipListSize(0), domainList(NULL), domainListSize(0), verifyDomainName(NULL), mode(kConnectivityFirst) {}
1063 };
1064 
1087 
1089 };
1090 
1103  public:
1104  virtual ~IRtcEngineEventHandler() {}
1105 
1106  virtual const char* eventHandlerType() const { return "event_handler"; }
1107 
1117  virtual void onJoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1118  (void)channel;
1119  (void)uid;
1120  (void)elapsed;
1121  }
1122 
1135  virtual void onRejoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1136  (void)channel;
1137  (void)uid;
1138  (void)elapsed;
1139  }
1140 
1149  virtual void onWarning(int warn, const char* msg) {
1150  (void)warn;
1151  (void)msg;
1152  }
1153 
1159  virtual void onError(int err, const char* msg) {
1160  (void)err;
1161  (void)msg;
1162  }
1163 
1178  virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay,
1179  unsigned short lost) {
1180  (void)uid;
1181  (void)quality;
1182  (void)delay;
1183  (void)lost;
1184  }
1185 
1192  virtual void onLastmileProbeResult(const LastmileProbeResult& result) {
1193  (void)result;
1194  }
1195 
1236  virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, unsigned int speakerNumber,
1237  int totalVolume) {
1238  (void)speakers;
1239  (void)speakerNumber;
1240  (void)totalVolume;
1241  }
1242 
1254  virtual void onLeaveChannel(const RtcStats& stats) { (void)stats; }
1255 
1263  virtual void onRtcStats(const RtcStats& stats) { (void)stats; }
1264 
1274  virtual void onAudioDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1275  (void)deviceId;
1276  (void)deviceType;
1277  (void)deviceState;
1278  }
1279 
1287  virtual void onAudioMixingFinished() __deprecated {}
1288 
1289  virtual void onAudioEffectFinished(int soundId) {}
1290 
1300  virtual void onVideoDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1301  (void)deviceId;
1302  (void)deviceType;
1303  (void)deviceState;
1304  }
1305 
1313  virtual void onMediaDeviceChanged(int deviceType) {
1314  (void)deviceType;
1315  }
1316 
1326  virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) {
1327  (void)uid;
1328  (void)txQuality;
1329  (void)rxQuality;
1330  }
1331 
1338  virtual void onIntraRequestReceived() {}
1339 
1348  virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo& info) {
1349  (void)info;
1350  }
1351 
1360  (void)info;
1361  }
1362 
1375  virtual void onLastmileQuality(int quality) { (void)quality; }
1376 
1387  virtual void onFirstLocalVideoFrame(int width, int height, int elapsed) {
1388  (void)width;
1389  (void)height;
1390  (void)elapsed;
1391  }
1392 
1398  virtual void onFirstLocalVideoFramePublished(int elapsed) {
1399  (void)elapsed;
1400  }
1401 
1402  virtual void onVideoSourceFrameSizeChanged(VIDEO_SOURCE_TYPE sourceType, int width, int height) {
1403  (void)sourceType;
1404  (void)width;
1405  (void)height;
1406  }
1407 
1423  virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) __deprecated {
1424  (void)uid;
1425  (void)width;
1426  (void)height;
1427  (void)elapsed;
1428  }
1429 
1430  virtual void onVideoSizeChanged(uid_t uid, int width, int height, int rotation) {
1431  (void)uid;
1432  (void)width;
1433  (void)height;
1434  (void)rotation;
1435  }
1436 
1448  virtual void onLocalVideoStateChanged(LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_ERROR error) {
1449  (void)state;
1450  (void)error;
1451  }
1452 
1464  virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) {
1465  (void)uid;
1466  (void)state;
1467  (void)reason;
1468  (void)elapsed;
1469  }
1470 
1485  virtual void onFirstRemoteVideoFrame(uid_t userId, int width, int height, int elapsed) {
1486  (void)userId;
1487  (void)width;
1488  (void)height;
1489  (void)elapsed;
1490  }
1491 
1510  virtual void onUserJoined(uid_t uid, int elapsed) {
1511  (void)uid;
1512  (void)elapsed;
1513  }
1514 
1529  virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) {
1530  (void)uid;
1531  (void)reason;
1532  }
1533 
1545  virtual void onUserMuteAudio(uid_t uid, bool muted) {
1546  (void)uid;
1547  (void)muted;
1548  }
1549 
1563  virtual void onUserMuteVideo(uid_t userId, bool muted) __deprecated {
1564  (void)userId;
1565  (void)muted;
1566  }
1567 
1584  virtual void onUserEnableVideo(uid_t uid, bool enabled) __deprecated {
1585  (void)uid;
1586  (void)enabled;
1587  }
1588 
1594  virtual void onUserStateChanged(uid_t uid, uint32_t state) {
1595  (void)uid;
1596  (void)state;
1597  }
1598 
1609  virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) __deprecated {
1610  (void)uid;
1611  (void)enabled;
1612  }
1613 
1621  virtual void onApiCallExecuted(int err, const char* api, const char* result) {
1622  (void)err;
1623  (void)api;
1624  (void)result;
1625  }
1626 
1634  virtual void onLocalAudioStats(const LocalAudioStats& stats) {
1635  (void)stats;
1636  }
1637 
1648  virtual void onRemoteAudioStats(const RemoteAudioStats& stats) {
1649  (void)stats;
1650  }
1651 
1665  virtual void onLocalVideoStats(const LocalVideoStats& stats) {
1666  (void)stats;
1667  }
1668 
1678  virtual void onRemoteVideoStats(const RemoteVideoStats& stats) {
1679  (void)stats;
1680  }
1681 
1682  virtual void onCameraReady() {}
1683 
1684  virtual void onCameraFocusAreaChanged(int x, int y, int width, int height) {
1685  (void)x;
1686  (void)y;
1687  (void)width;
1688  (void)height;
1689  }
1690 
1691  virtual void onCameraExposureAreaChanged(int x, int y, int width, int height) {
1692  (void)x;
1693  (void)y;
1694  (void)width;
1695  (void)height;
1696  }
1697 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
1698  virtual void onFacePositionChanged(int imageWidth, int imageHeight,
1699  const Rectangle* vecRectangle, const int* vecDistance,
1700  int numFaces) {
1701  (void) imageWidth;
1702  (void) imageHeight;
1703  (void) vecRectangle;
1704  (void) vecDistance;
1705  (void) numFaces;
1706  }
1707 #endif
1708  virtual void onVideoStopped() {}
1709 
1726  virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_ERROR_TYPE errorCode) {
1727  (void)state;
1728  (void)errorCode;
1729  }
1730 
1739  virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_ERROR_TYPE errorCode) {
1740  (void)state;
1741  (void)errorCode;
1742  }
1743 
1751  virtual void onConnectionLost() {}
1752 
1764  virtual void onConnectionInterrupted() {}
1765 
1768  virtual void onConnectionBanned() {}
1769 
1783  virtual void onStreamMessage(uid_t userId, int streamId, const char* data, size_t length, uint64_t sentTs) {
1784  (void)userId;
1785  (void)streamId;
1786  (void)data;
1787  (void)length;
1788  (void)sentTs;
1789  }
1790 
1804  virtual void onStreamMessageError(uid_t userId, int streamId, int code, int missed, int cached) {
1805  (void)userId;
1806  (void)streamId;
1807  (void)code;
1808  (void)missed;
1809  (void)cached;
1810  }
1811 
1823  virtual void onRequestToken() {}
1824 
1839  virtual void onTokenPrivilegeWillExpire(const char* token) {
1840  (void)token;
1841  }
1842 
1848  virtual void onFirstLocalAudioFramePublished(int elapsed) {
1849  (void)elapsed;
1850  }
1851 
1858  virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) {
1859  (void)uid;
1860  (void)elapsed;
1861  }
1862 
1870  virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) {
1871  (void)uid;
1872  (void)elapsed;
1873  }
1874 
1889  virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error) {
1890  (void)state;
1891  (void)error;
1892  }
1893 
1906  virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) {
1907  (void)uid;
1908  (void)state;
1909  (void)reason;
1910  (void)elapsed;
1911  }
1912 
1925  virtual void onActiveSpeaker(uid_t userId) { (void)userId; }
1926 
1928  virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result) { (void)result; }
1941  virtual void onSnapshotTaken(const char* channel, uid_t uid, const char* filePath, int width, int height, int errCode) {
1942  (void)channel;
1943  (void)uid;
1944  (void)filePath;
1945  (void)width;
1946  (void)height;
1947  (void)errCode;
1948  }
1956  virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole) {
1957  (void)oldRole;
1958  (void)newRole;
1959  }
1967  virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole) {
1968  (void)reason;
1969  (void)currentRole;
1970  }
1978  virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) {
1979  (void)deviceType;
1980  (void)volume;
1981  (void)muted;
1982  }
1983 
1997  virtual void onRtmpStreamingStateChanged(const char* url, RTMP_STREAM_PUBLISH_STATE state,
1998  RTMP_STREAM_PUBLISH_ERROR_TYPE errCode) {
1999  (void)url;
2000  (void)state;
2001  (void)errCode;
2002  }
2003 
2011  virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode) {
2012  (void)url;
2013  (void)eventCode;
2014  }
2015 
2051  virtual void onStreamPublished(const char* url, int error) __deprecated {
2052  (void)url;
2053  (void)error;
2054  }
2055 
2066  virtual void onStreamUnpublished(const char* url) __deprecated {
2067  (void)url;
2068  }
2069 
2081  virtual void onTranscodingUpdated() {}
2082 
2096  virtual void onAudioRoutingChanged(int routing) { (void)routing; }
2097 
2098 
2130  virtual void onChannelMediaRelayStateChanged(int state, int code) {
2131  (void)state;
2132  (void)code;
2133  }
2134 
2158  virtual void onChannelMediaRelayEvent(int code) {
2159  (void)code;
2160  }
2161 
2162  virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) {
2163  (void)isFallbackOrRecover;
2164  }
2165 
2166  virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover) {
2167  (void)uid;
2168  (void)isFallbackOrRecover;
2169  }
2170 
2184  virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost,
2185  unsigned short rxKBitRate) {
2186  (void)uid;
2187  (void)delay;
2188  (void)lost;
2189  (void)rxKBitRate;
2190  }
2191 
2205  virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost,
2206  unsigned short rxKBitRate) {
2207  (void)uid;
2208  (void)delay;
2209  (void)lost;
2210  (void)rxKBitRate;
2211  }
2212 
2219  CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) {
2220  (void)state;
2221  (void)reason;
2222  }
2223 
2228  virtual void onNetworkTypeChanged(NETWORK_TYPE type) {
2229  (void)type;
2230  }
2231 
2236  virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) {
2237  (void)errorType;
2238  }
2239 
2244  virtual void onPermissionError(PERMISSION_TYPE permissionType) {
2245  (void)permissionType;
2246  }
2247 
2256  virtual void onLocalUserRegistered(uid_t uid, const char* userAccount) {
2257  (void)uid;
2258  (void)userAccount;
2259  }
2260 
2269  virtual void onUserInfoUpdated(uid_t uid, const UserInfo& info) {
2270  (void)uid;
2271  (void)info;
2272  }
2279  virtual void onUploadLogResult(const char* requestId, bool success, UPLOAD_ERROR_REASON reason) {
2280  (void)requestId;
2281  (void)success;
2282  (void)reason;
2283  }
2284 
2294  virtual void onAudioSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
2295  (void)channel;
2296  (void)uid;
2297  (void)oldState;
2298  (void)newState;
2299  (void)elapseSinceLastState;
2300  }
2301 
2311  virtual void onVideoSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
2312  (void)channel;
2313  (void)uid;
2314  (void)oldState;
2315  (void)newState;
2316  (void)elapseSinceLastState;
2317  }
2318 
2327  virtual void onAudioPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
2328  (void)channel;
2329  (void)oldState;
2330  (void)newState;
2331  (void)elapseSinceLastState;
2332  }
2333 
2342  virtual void onVideoPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
2343  (void)channel;
2344  (void)oldState;
2345  (void)newState;
2346  (void)elapseSinceLastState;
2347  }
2348 
2349  virtual void onExtensionEvent(const char* provider, const char* ext_name, const char* key, const char* value) {
2350  (void)provider;
2351  (void)ext_name;
2352  (void)key;
2353  (void)value;
2354  }
2355 
2356  virtual void onExtensionStarted(const char* provider, const char* ext_name) {
2357  (void)provider;
2358  (void)ext_name;
2359  }
2360 
2361  virtual void onExtensionStopped(const char* provider, const char* ext_name) {
2362  (void)provider;
2363  (void)ext_name;
2364  }
2365 
2366  virtual void onExtensionErrored(const char* provider, const char* ext_name, int error, const char* msg) {
2367  (void)provider;
2368  (void)ext_name;
2369  (void)error;
2370  (void)msg;
2371  }
2372 
2373  virtual void onUserAccountUpdated(uid_t uid, const char* userAccount){
2374  (void)uid;
2375  (void)userAccount;
2376  }
2377 };
2378 
2383  public:
2384  virtual ~IVideoDeviceCollection() {}
2385 
2391  virtual int getCount() = 0;
2392 
2401  virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2402 
2414  virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH],
2415  char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2416 
2420  virtual void release() = 0;
2421 };
2422 
2427  public:
2428  virtual ~IVideoDeviceManager() {}
2444 
2454  virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2455 
2464  virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2465 
2479  virtual int startDeviceTest(view_t hwnd) = 0;
2480 
2487  virtual int stopDeviceTest() = 0;
2488 
2492  virtual void release() = 0;
2493 };
2494 
2499 
2505 
2510  const char* appId;
2511 
2517  void* context;
2518 
2526 
2530  CHANNEL_PROFILE_TYPE channelProfile;
2531 
2540  AUDIO_SCENARIO_TYPE audioScenario;
2541 
2551  unsigned int areaCode;
2552 
2557 
2562 
2571 
2573  : eventHandler(NULL), appId(NULL), context(NULL),
2574  enableAudioDevice(true), channelProfile(CHANNEL_PROFILE_LIVE_BROADCASTING),
2575  audioScenario(AUDIO_SCENARIO_DEFAULT),
2576  areaCode(AREA_CODE_GLOB),
2577  logConfig(), useExternalEglContext(false) {}
2578 };
2579 
2583 public:
2589  {
2596  };
2601  {
2602  INVALID_METADATA_SIZE_IN_BYTE = -1,
2603  DEFAULT_METADATA_SIZE_IN_BYTE = 512,
2604  MAX_METADATA_SIZE_IN_BYTE = 1024
2605  };
2606 
2609  struct Metadata
2610  {
2615  unsigned int uid;
2618  unsigned int size;
2621  unsigned char *buffer;
2626  long long timeStampMs;
2627  };
2628 
2629  virtual ~IMetadataObserver() {}
2630 
2640  virtual int getMaxMetadataSize() { return DEFAULT_METADATA_SIZE_IN_BYTE; }
2641 
2651  virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type) = 0;
2652 
2660  virtual void onMetadataReceived(const Metadata &metadata) = 0;
2661 };
2662 
2663 // The error codes for media streaming
2664 // GENERATED_JAVA_ENUM_PACKAGE: io.agora.streaming
2665 enum DIRECT_CDN_STREAMING_ERROR {
2666  // No error occurs.
2667  DIRECT_CDN_STREAMING_ERROR_OK = 0,
2668  // A general error occurs (no specified reason).
2669  DIRECT_CDN_STREAMING_ERROR_FAILED = 1,
2670  // Audio publication error.
2671  DIRECT_CDN_STREAMING_ERROR_AUDIO_PUBLICATION = 2,
2672  // Video publication error.
2673  DIRECT_CDN_STREAMING_ERROR_VIDEO_PUBLICATION = 3,
2674 
2675  DIRECT_CDN_STREAMING_ERROR_NET_CONNECT = 4,
2676  // Already exist stream name.
2677  DIRECT_CDN_STREAMING_ERROR_BAD_NAME = 5,
2678 };
2679 
2680 // The connection state of media streaming
2681 // GENERATED_JAVA_ENUM_PACKAGE: io.agora.streaming
2682 enum DIRECT_CDN_STREAMING_STATE {
2683 
2684  DIRECT_CDN_STREAMING_STATE_IDLE = 0,
2685 
2686  DIRECT_CDN_STREAMING_STATE_RUNNING = 1,
2687 
2688  DIRECT_CDN_STREAMING_STATE_STOPPED = 2,
2689 
2690  DIRECT_CDN_STREAMING_STATE_FAILED = 3,
2691 
2692  DIRECT_CDN_STREAMING_STATE_RECOVERING = 4,
2693 };
2694 
2703 
2708 
2712  int fps;
2713 
2718 
2723 };
2724 
2730  public:
2731  virtual ~IDirectCdnStreamingEventHandler() {}
2732 
2739  virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_ERROR error, const char* message) {
2740  (void)state;
2741  (void)error;
2742  (void)message;
2743  };
2744 
2745  virtual void onDirectCdnStreamingStats(const DirectCdnStreamingStats& stats) {
2746  (void)stats;
2747  };
2748 };
2749 
2789 
2792 
2793  void SetAll(const DirectCdnStreamingMediaOptions& change) {
2794 #define SET_FROM(X) SetFrom(&X, change.X)
2795  SET_FROM(publishCameraTrack);
2796  SET_FROM(publishMicrophoneTrack);
2797  SET_FROM(publishCustomAudioTrack);
2798  SET_FROM(publishCustomVideoTrack);
2799  SET_FROM(publishMediaPlayerAudioTrack);
2800  SET_FROM(publishMediaPlayerId);
2801 #undef SET_FROM
2802  }
2803 
2804  bool operator==(const DirectCdnStreamingMediaOptions& o) const {
2805 #define BEGIN_COMPARE() bool b = true
2806 #define ADD_COMPARE(X) b = (b && (X == o.X))
2807 #define END_COMPARE()
2808 
2809  BEGIN_COMPARE();
2810  ADD_COMPARE(publishCameraTrack);
2811  ADD_COMPARE(publishMicrophoneTrack);
2812  ADD_COMPARE(publishCustomAudioTrack);
2813  ADD_COMPARE(publishCustomVideoTrack);
2814  ADD_COMPARE(publishMediaPlayerAudioTrack);
2815  ADD_COMPARE(publishMediaPlayerId);
2816  END_COMPARE();
2817 
2818 #undef BEGIN_COMPARE
2819 #undef ADD_COMPARE
2820 #undef END_COMPARE
2821  return b;
2822  }
2823 
2824  DirectCdnStreamingMediaOptions& operator=(const DirectCdnStreamingMediaOptions& replace) {
2825  if (this != &replace) {
2826 #define REPLACE_BY(X) ReplaceBy(&X, replace.X)
2827 
2828  REPLACE_BY(publishCameraTrack);
2829  REPLACE_BY(publishMicrophoneTrack);
2830  REPLACE_BY(publishCustomAudioTrack);
2831  REPLACE_BY(publishCustomVideoTrack);
2832  REPLACE_BY(publishMediaPlayerAudioTrack);
2833  REPLACE_BY(publishMediaPlayerId);
2834 #undef REPLACE_BY
2835  }
2836  return *this;
2837  }
2838 
2839  template <typename T>
2840  static void SetFrom(Optional<T>* s, const Optional<T>& o) {
2841  if (o) {
2842  *s = o;
2843  }
2844  }
2845 
2846  template <typename T>
2847  static void ReplaceBy(Optional<T>* s, const Optional<T>& o) {
2848  *s = o;
2849  }
2850 };
2851 
2852 class IMediaPlayer;
2853 
2864  public:
2884  virtual void release(bool sync = false) = 0;
2885 
2899  virtual int initialize(const RtcEngineContext& context) = 0;
2900 
2901 
2902  virtual int queryInterface(INTERFACE_ID_TYPE iid, void** inter) = 0;
2903 
2904 
2910  virtual const char* getVersion(int* build) = 0;
2911 
2917  virtual const char* getErrorDescription(int code) = 0;
2918 
2959  virtual int joinChannel(const char* token, const char* channelId, const char* info,
2960  uid_t uid) = 0;
2961 
3000  virtual int joinChannel(const char* token, const char* channelId, uid_t uid,
3001  const ChannelMediaOptions& options) = 0;
3002 
3011  virtual int updateChannelMediaOptions(const ChannelMediaOptions& options) = 0;
3012 
3030  virtual int leaveChannel() = 0;
3031 
3051  virtual int leaveChannel(const LeaveChannelOptions& options) = 0;
3052 
3069  virtual int renewToken(const char* token) = 0;
3070 
3089  virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile) = 0;
3090 
3114  virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0;
3115 
3137  virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0;
3138 
3158  virtual int startEchoTest() = 0;
3159 
3176  virtual int startEchoTest(int intervalInSeconds) = 0;
3177 
3184  virtual int stopEchoTest() = 0;
3185 
3201  virtual int enableVideo() = 0;
3202 
3212  virtual int disableVideo() = 0;
3213 
3225  virtual int startPreview() = 0;
3226 
3234  virtual int startPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
3235 
3243  virtual int stopPreview() = 0;
3244 
3252  virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
3253 
3287  virtual int startLastmileProbeTest(const LastmileProbeConfig& config) = 0;
3288 
3290  virtual int stopLastmileProbeTest() = 0;
3291 
3309 
3319  virtual int setBeautyEffectOptions(bool enabled, const BeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
3320 
3353  virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource) = 0;
3354 
3411  virtual int enableRemoteSuperResolution(uid_t userId, bool enable) = 0;
3412 
3435  virtual int setupRemoteVideo(const VideoCanvas& canvas) = 0;
3436 
3453  virtual int setupLocalVideo(const VideoCanvas& canvas) = 0;
3454 
3468  virtual int enableAudio() = 0;
3469 
3481  virtual int disableAudio() = 0;
3482 
3504  virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) __deprecated = 0;
3505 
3521  virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile) = 0;
3544  virtual int enableLocalAudio(bool enabled) = 0;
3545 
3571  virtual int muteLocalAudioStream(bool mute) = 0;
3572 
3615  virtual int muteAllRemoteAudioStreams(bool mute) = 0;
3616 
3638  virtual int setDefaultMuteAllRemoteAudioStreams(bool mute) __deprecated = 0;
3639 
3656  virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0;
3657 
3669  virtual int muteLocalVideoStream(bool mute) = 0;
3670 
3695  virtual int enableLocalVideo(bool enabled) = 0;
3696 
3737  virtual int muteAllRemoteVideoStreams(bool mute) = 0;
3738 
3760  virtual int setDefaultMuteAllRemoteVideoStreams(bool mute) __deprecated = 0;
3761 
3778  virtual int muteRemoteVideoStream(uid_t uid, bool mute) = 0;
3779 
3797  virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0;
3798 
3808  virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType) = 0;
3809 
3830  virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad) = 0;
3831 
3852  virtual int startAudioRecording(const char* filePath,
3853  AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
3875  virtual int startAudioRecording(const char* filePath,
3876  int sampleRate,
3877  AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
3878 
3897  virtual int startAudioRecording(const AudioRecordingConfiguration& config) = 0;
3898 
3905 
3914  virtual int stopAudioRecording() = 0;
3916 
3926  virtual agora_refptr<IMediaPlayer> createMediaPlayer() = 0;
3927 
3939  virtual int destroyMediaPlayer(agora_refptr<IMediaPlayer> media_player) = 0;
3941 
3990  virtual int startAudioMixing(const char* filePath, bool loopback, bool replace, int cycle) = 0;
3991 
4042  virtual int startAudioMixing(const char* filePath, bool loopback, bool replace, int cycle, int startPos) = 0;
4043 
4052  virtual int stopAudioMixing() = 0;
4053 
4062  virtual int pauseAudioMixing() = 0;
4063 
4072  virtual int resumeAudioMixing() = 0;
4073 
4088  virtual int adjustAudioMixingVolume(int volume) = 0;
4089 
4097  virtual int adjustAudioMixingPublishVolume(int volume) = 0;
4098 
4106  virtual int getAudioMixingPublishVolume() = 0;
4107 
4115  virtual int adjustAudioMixingPlayoutVolume(int volume) = 0;
4116 
4124  virtual int getAudioMixingPlayoutVolume() = 0;
4125 
4134  virtual int getAudioMixingDuration() = 0;
4135 
4155  virtual int setAudioMixingPosition(int pos /*in ms*/) = 0;
4172  virtual int setAudioMixingPitch(int pitch) = 0;
4180  virtual int getEffectsVolume() = 0;
4190  virtual int setEffectsVolume(int volume) = 0;
4214  virtual int preloadEffect(int soundId, const char* filePath, int startPos = 0) = 0;
4256  virtual int playEffect(int soundId, const char* filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0) = 0;
4287  virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false) = 0;
4288 
4298  virtual int getVolumeOfEffect(int soundId) = 0;
4299 
4310  virtual int setVolumeOfEffect(int soundId, int volume) = 0;
4319  virtual int pauseEffect(int soundId) = 0;
4326  virtual int pauseAllEffects() = 0;
4335  virtual int resumeEffect(int soundId) = 0;
4342  virtual int resumeAllEffects() = 0;
4351  virtual int stopEffect(int soundId) = 0;
4358  virtual int stopAllEffects() = 0;
4367  virtual int unloadEffect(int soundId) = 0;
4374  virtual int unloadAllEffects() = 0;
4375 
4388  virtual int enableSoundPositionIndication(bool enabled) = 0;
4409  virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0;
4410 
4420  virtual int enableSpatialAudio(bool enabled) = 0;
4421 
4431  virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams& params) = 0;
4432 
4470  virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset) = 0;
4471 
4509  virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset) = 0;
4510 
4546  virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset) = 0;
4547 
4623  virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2) = 0;
4624 
4667  virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset,
4668  int param1, int param2) = 0;
4669 
4682  virtual int setVoiceConversionParameters(VOICE_CONVERSION_PRESET preset,
4683  int param1, int param2) = 0;
4684 
4695  virtual int setLocalVoicePitch(double pitch) = 0;
4696 
4708  virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency,
4709  int bandGain) = 0;
4710 
4719  virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value) = 0;
4720 
4736  virtual int setLogFile(const char* filePath) = 0;
4737 
4760  virtual int setLogFilter(unsigned int filter) = 0;
4761 
4778  virtual int setLogLevel(commons::LOG_LEVEL level) = 0;
4779 
4794  virtual int setLogFileSize(unsigned int fileSizeInKBytes) = 0;
4795 
4804  virtual int uploadLogFile(agora::util::AString& requestId) = 0;
4805 
4824  virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
4845  virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode,
4846  VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
4847 
4848  // The following APIs are either deprecated and going to deleted.
4849 
4867  virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) = 0;
4868 
4880  virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
4881 
4896  virtual int enableDualStreamMode(bool enabled) = 0;
4897 
4914  virtual int enableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled) = 0;
4915 
4934  virtual int enableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled, const SimulcastStreamConfig& streamConfig) = 0;
4935 
4936 
4937  virtual int enableEchoCancellationExternal(bool enabled, int audioSourceDelay) = 0;
4938 
4953  virtual int enableCustomAudioLocalPlayback(int sourceId, bool enabled) = 0;
4954 
4962  virtual int startPrimaryCustomAudioTrack(const AudioTrackConfig& config) = 0;
4963 
4971  virtual int stopPrimaryCustomAudioTrack() = 0;
4972 
4980  virtual int startSecondaryCustomAudioTrack(const AudioTrackConfig& config) = 0;
4981 
4990 
5009  virtual int setRecordingAudioFrameParameters(int sampleRate, int channel,
5010  RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
5011  int samplesPerCall) = 0;
5012 
5032  virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel,
5033  RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
5034  int samplesPerCall) = 0;
5035 
5051  virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall) = 0;
5052 
5068  virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel) = 0;
5069 
5080  virtual int enableAudioSpectrumMonitor(int intervalInMS = 100) = 0;
5088  virtual int disableAudioSpectrumMonitor() = 0;
5089 
5115 
5129  virtual int adjustRecordingSignalVolume(int volume) = 0;
5130 
5142  virtual int muteRecordingSignal(bool mute) = 0;
5143 
5157  virtual int adjustPlaybackSignalVolume(int volume) = 0;
5158 
5159  /*
5160  * Adjust the playback volume of the user specified by uid.
5161  *
5162  * You can call this method to adjust the playback volume of the user specified by uid
5163  * in call. If you want to adjust playback volume of the multi user, you can call this
5164  * this method multi times.
5165  *
5166  * @note
5167  * Please call this method after join channel.
5168  * This method adjust the playback volume of specified user.
5169  *
5170  * @param uid Remote user ID。
5171  * @param volume The playback volume of the specified remote user. The value ranges between 0 and 400, including the following:
5172  * 0: Mute.
5173  * 100: (Default) Original volume.
5174  * 400: Four times the original volume with signal-clipping protection.
5175  * @return
5176  * - 0: Success.
5177  * - < 0: Failure.
5178  */
5179  virtual int adjustUserPlaybackSignalVolume(unsigned int uid, int volume) = 0;
5180 
5202  virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0;
5203 
5219  virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0;
5220 
5239  virtual int enableLoopbackRecording(bool enabled, const char* deviceName = NULL) = 0;
5240 
5241 
5254  virtual int adjustLoopbackRecordingVolume(int volume) = 0;
5255 
5262  virtual int getLoopbackRecordingVolume() = 0;
5263 
5275  virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters) = 0;
5276 
5287  virtual int setInEarMonitoringVolume(int volume) = 0;
5288 
5289 #if defined (_WIN32) || (defined(__linux__) && !defined(__ANDROID__))
5290  virtual int loadExtensionProvider(const char* extension_lib_path) = 0;
5291 #endif
5292 
5305  const char* provider, const char* key, const char* value) = 0;
5306 
5320  virtual int enableExtension(
5321  const char* provider, const char* extension, bool enable=true, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
5322 
5336  const char* provider, const char* extension,
5337  const char* key, const char* value, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
5338 
5353  const char* provider, const char* extension,
5354  const char* key, char* value, int buf_len, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
5355 
5368 
5369 
5370 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
5371 
5380  virtual int switchCamera() = 0;
5381 
5389  virtual bool isCameraZoomSupported() = 0;
5390 
5398  virtual bool isCameraFaceDetectSupported() = 0;
5399 
5407  virtual bool isCameraTorchSupported() = 0;
5408 
5416  virtual bool isCameraFocusSupported() = 0;
5417 
5425  virtual bool isCameraAutoFocusFaceModeSupported() = 0;
5426 
5436  virtual int setCameraZoomFactor(float factor) = 0;
5437 
5446  virtual int enableFaceDetection(bool enabled) = 0;
5447 
5452  virtual float getCameraMaxZoomFactor() = 0;
5453 
5463  virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0;
5464 
5472  virtual int setCameraTorchOn(bool isOn) = 0;
5473 
5481  virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0;
5482 
5494  virtual bool isCameraExposurePositionSupported() = 0;
5495 
5511  virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0;
5512 
5513 #if defined(__APPLE__)
5514 
5521  virtual bool isCameraAutoExposureFaceModeSupported() = 0;
5522 
5523 
5531  virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0;
5532 #endif
5533 
5567  virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0;
5568 
5595  virtual int setEnableSpeakerphone(bool speakerOn) = 0;
5596 
5604  virtual bool isSpeakerphoneEnabled() = 0;
5605 
5606 #endif // __ANDROID__ || (__APPLE__ && TARGET_OS_IOS)
5607 
5608 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
5609 
5619  virtual IScreenCaptureSourceList* getScreenCaptureSources(const SIZE& thumbSize, const SIZE& iconSize, const bool includeScreen) = 0;
5620 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
5621 #if (defined(__APPLE__) && TARGET_OS_IOS)
5622 
5646  virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction) = 0;
5647 #endif // __APPLE__ && TARGET_OS_IOS
5648 
5649 #if (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
5650 
5673  virtual int startScreenCaptureByDisplayId(uint32_t displayId, const Rectangle& regionRect,
5674  const ScreenCaptureParameters& captureParams) = 0;
5675 
5676 #endif // __APPLE__ && TARGET_OS_MAC && !TARGET_OS_IPHONE
5677 
5678 #if defined(_WIN32)
5679 
5699  virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect,
5700  const Rectangle& regionRect,
5701  const ScreenCaptureParameters& captureParams) = 0;
5702 
5703 #endif // _WIN32
5704 
5705 #if defined(__ANDROID__)
5706 
5725  virtual int startScreenCapture(void* mediaProjectionPermissionResultData,
5726  const ScreenCaptureParameters& captureParams) = 0;
5727 
5734  virtual int getAudioDeviceInfo(DeviceInfo& deviceInfo) = 0;
5735 
5736 #endif // __ANDROID__
5737 
5738 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
5739 
5755  virtual int startScreenCaptureByWindowId(view_t windowId, const Rectangle& regionRect,
5756  const ScreenCaptureParameters& captureParams) = 0;
5757 
5770  virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint) = 0;
5771 
5785  virtual int updateScreenCaptureRegion(const Rectangle& regionRect) = 0;
5786 
5787 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
5788 
5789 #if defined(_WIN32) || defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
5790 
5800  virtual int updateScreenCaptureParameters(const ScreenCaptureParameters& captureParams) = 0;
5801 
5809  virtual int stopScreenCapture() = 0;
5810 
5811 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC) || __ANDROID__
5812 
5829  virtual int getCallId(agora::util::AString& callId) = 0;
5830 
5845  virtual int rate(const char* callId, int rating,
5846  const char* description) = 0; // 0~10
5847 
5861  virtual int complain(const char* callId, const char* description) = 0;
5862 
5893  virtual int addPublishStreamUrl(const char* url, bool transcodingEnabled) = 0;
5894 
5915  virtual int removePublishStreamUrl(const char* url) = 0;
5916 
5936  virtual int setLiveTranscoding(const LiveTranscoding& transcoding) = 0;
5937 
5957  virtual int startRtmpStreamWithoutTranscoding(const char* url) = 0;
5958 
5979  virtual int startRtmpStreamWithTranscoding(const char* url, const LiveTranscoding& transcoding) = 0;
5980 
5990  virtual int updateRtmpTranscoding(const LiveTranscoding& transcoding) = 0;
6009  virtual int stopRtmpStream(const char* url) = 0;
6010 
6011 
6012  virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration& config) = 0;
6013  virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration& config) = 0;
6014  virtual int stopLocalVideoTranscoder() = 0;
6015 
6016  virtual int startPrimaryCameraCapture(const CameraCapturerConfiguration& config) = 0;
6017  virtual int startSecondaryCameraCapture(const CameraCapturerConfiguration& config) = 0;
6018  virtual int stopPrimaryCameraCapture() = 0;
6019  virtual int stopSecondaryCameraCapture() = 0;
6020 
6021  virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
6022  virtual int setScreenCaptureOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
6023 
6024  virtual int startPrimaryScreenCapture(const ScreenCaptureConfiguration& config) = 0;
6025  virtual int startSecondaryScreenCapture(const ScreenCaptureConfiguration& config) = 0;
6026  virtual int stopPrimaryScreenCapture() = 0;
6027  virtual int stopSecondaryScreenCapture() = 0;
6028 
6033  virtual CONNECTION_STATE_TYPE getConnectionState() = 0;
6034 
6035  // The following APIs are not implemented yet.
6036  virtual bool registerEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
6037  virtual bool unregisterEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
6038  virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0;
6039 
6051  virtual int registerPacketObserver(IPacketObserver* observer) = 0;
6052 
6075  virtual int setEncryptionMode(const char* encryptionMode) __deprecated = 0;
6076 
6093  virtual int setEncryptionSecret(const char* secret) __deprecated = 0;
6094 
6116  virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0;
6117 
6149  virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0;
6150 
6160  virtual int createDataStream(int* streamId, DataStreamConfig& config) = 0;
6161 
6192  virtual int sendStreamMessage(int streamId, const char* data, size_t length) = 0;
6193 
6215  virtual int addVideoWatermark(const RtcImage& watermark) = 0;
6216 
6242  virtual int addVideoWatermark(const char* watermarkUrl, const WatermarkOptions& options) = 0;
6243 
6251  virtual int clearVideoWatermark() = 0;
6252 
6260  virtual int clearVideoWatermarks() = 0;
6261 
6288  virtual int addInjectStreamUrl(const char* url, const InjectStreamConfig& config) = 0;
6289 
6301  virtual int removeInjectStreamUrl(const char* url) = 0;
6302 
6303  // The following APIs are either deprecated and going to deleted.
6304 
6313  virtual int pauseAudio() __deprecated = 0;
6322  virtual int resumeAudio() __deprecated = 0;
6323 
6341  virtual int enableWebSdkInteroperability(bool enabled) __deprecated = 0;
6342 
6353  const char* id, const char* category, const char* event, const char* label, int value) = 0;
6354 
6376  virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0;
6377 
6386  virtual int unregisterMediaMetadataObserver(IMetadataObserver* observer, IMetadataObserver::METADATA_TYPE type) = 0;
6387 
6397  virtual int startAudioFrameDump(const char* channel_id, uid_t user_id, const char* location,
6398  const char* uuid, const char* passwd, long duration_ms, bool auto_upload) = 0;
6399 
6400  virtual int stopAudioFrameDump(const char* channel_id, uid_t user_id, const char* location) = 0;
6401 
6433  virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0;
6434 
6465  virtual int joinChannelWithUserAccount(const char* token, const char* channelId,
6466  const char* userAccount) = 0;
6467 
6499  virtual int joinChannelWithUserAccount(const char* token, const char* channelId,
6500  const char* userAccount, const ChannelMediaOptions& options) = 0;
6501 
6534  virtual int joinChannelWithUserAccountEx(const char* token, const char* channelId,
6535  const char* userAccount, const ChannelMediaOptions& options,
6536  IRtcEngineEventHandler* eventHandler) = 0;
6537 
6555  virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo) = 0;
6556 
6574  virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo) = 0;
6615  virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0;
6616 
6640  virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0;
6641 
6666  virtual int stopChannelMediaRelay() = 0;
6667 
6668 
6674  virtual int pauseAllChannelMediaRelay() = 0;
6675 
6681  virtual int resumeAllChannelMediaRelay() = 0;
6682 
6695  virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile) = 0;
6696 
6712 
6725  const char* publishUrl, const DirectCdnStreamingMediaOptions& options) = 0;
6726 
6736  virtual int stopDirectCdnStreaming() = 0;
6737 
6750 
6759  virtual int pushDirectCdnStreamingCustomVideoFrame(media::base::ExternalVideoFrame* frame) = 0;
6760 
6770  virtual int takeSnapshot(media::SnapShotConfig &config, media::ISnapshotCallback* callback) = 0;
6778  virtual int SetContentInspect(media::ContentInspectConfig &config) = 0;
6779 
6785  virtual int switchChannel(const char* token, const char* channel) = 0;
6786 
6797  virtual int startRhythmPlayer(const char* sound1, const char* sound2, const AgoraRhythmPlayerConfig& config) = 0;
6798 
6805  virtual int stopRhythmPlayer() = 0;
6806 
6815  virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig& config) = 0;
6816  /*
6817  * Adjust the custom audio publish volume by source id.
6818  * @param sourceId custom audio source id.
6819  * @param volume The volume, range is [0,100]:
6820  * 0: mute, 100: The original volume
6821  * @return
6822  * - 0: Success.
6823  * - < 0: Failure.
6824  */
6825  virtual int adjustCustomAudioPublishVolume(int32_t sourceId, int volume) = 0;
6826 
6827  /*
6828  * Adjust the custom audio playout volume by source id.
6829  * @param sourceId custom audio source id.
6830  * @param volume The volume, range is [0,100]:
6831  * 0: mute, 100: The original volume
6832  * @return
6833  * - 0: Success.
6834  * - < 0: Failure.
6835  */
6836  virtual int adjustCustomAudioPlayoutVolume(int32_t sourceId, int volume) = 0;
6837 
6867  virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0;
6876  virtual int setLocalAccessPoint(const LocalAccessPointConfiguration& config) = 0;
6877 
6887  virtual int enableFishCorrection(bool enabled, const FishCorrectionParams& params) = 0;
6895  virtual int setAdvancedAudioOptions(media::base::AdvancedAudioOptions &options) = 0;
6896 
6907  virtual int setAVSyncSource(const char* channelId, uid_t uid) = 0;
6908 };
6909 
6911  public:
6912  virtual ~IRtcEngineParameter() {}
6913 
6917  virtual void release() = 0;
6918 
6927  virtual int setBool(const char* key, bool value) = 0;
6928 
6937  virtual int setInt(const char* key, int value) = 0;
6938 
6947  virtual int setUInt(const char* key, unsigned int value) = 0;
6948 
6957  virtual int setNumber(const char* key, double value) = 0;
6958 
6967  virtual int setString(const char* key, const char* value) = 0;
6968 
6977  virtual int setObject(const char* key, const char* value) = 0;
6978 
6987  virtual int getBool(const char* key, bool& value) = 0;
6988 
6997  virtual int getInt(const char* key, int& value) = 0;
6998 
7007  virtual int getUInt(const char* key, unsigned int& value) = 0;
7008 
7017  virtual int getNumber(const char* key, double& value) = 0;
7018 
7027  virtual int getString(const char* key, agora::util::AString& value) = 0;
7028 
7037  virtual int getObject(const char* key, agora::util::AString& value) = 0;
7038 
7047  virtual int getArray(const char* key, agora::util::AString& value) = 0;
7048 
7056  virtual int setParameters(const char* parameters) = 0;
7057 
7068  virtual int setProfile(const char* profile, bool merge) = 0;
7069 
7070  virtual int convertPath(const char* filePath, agora::util::AString& value) = 0;
7071 };
7072 
7073 class AAudioDeviceManager : public agora::util::AutoPtr<IAudioDeviceManager> {
7074  public:
7075  AAudioDeviceManager(IRtcEngine* engine) {
7076  queryInterface(engine, AGORA_IID_AUDIO_DEVICE_MANAGER);
7077  }
7078 };
7079 
7080 class AVideoDeviceManager : public agora::util::AutoPtr<IVideoDeviceManager> {
7081  public:
7082  AVideoDeviceManager(IRtcEngine* engine) {
7083  queryInterface(engine, AGORA_IID_VIDEO_DEVICE_MANAGER);
7084  }
7085 };
7086 
7087 // The following types are either deprecated or not implmented yet.
7088 enum QUALITY_REPORT_FORMAT_TYPE {
7091  QUALITY_REPORT_JSON = 0,
7094  QUALITY_REPORT_HTML = 1,
7095 };
7096 
7098 enum MEDIA_DEVICE_STATE_TYPE {
7101  MEDIA_DEVICE_STATE_IDLE = 0,
7104  MEDIA_DEVICE_STATE_ACTIVE = 1,
7107  MEDIA_DEVICE_STATE_DISABLED = 2,
7110  MEDIA_DEVICE_STATE_NOT_PRESENT = 4,
7113  MEDIA_DEVICE_STATE_UNPLUGGED = 8
7114 };
7115 
7116 enum VIDEO_PROFILE_TYPE { // res fps
7118  VIDEO_PROFILE_LANDSCAPE_120P = 0, // 160x120 15
7120  VIDEO_PROFILE_LANDSCAPE_120P_3 = 2, // 120x120 15
7122  VIDEO_PROFILE_LANDSCAPE_180P = 10, // 320x180 15
7124  VIDEO_PROFILE_LANDSCAPE_180P_3 = 12, // 180x180 15
7126  VIDEO_PROFILE_LANDSCAPE_180P_4 = 13, // 240x180 15
7128  VIDEO_PROFILE_LANDSCAPE_240P = 20, // 320x240 15
7130  VIDEO_PROFILE_LANDSCAPE_240P_3 = 22, // 240x240 15
7132  VIDEO_PROFILE_LANDSCAPE_240P_4 = 23, // 424x240 15
7134  VIDEO_PROFILE_LANDSCAPE_360P = 30, // 640x360 15
7136  VIDEO_PROFILE_LANDSCAPE_360P_3 = 32, // 360x360 15
7138  VIDEO_PROFILE_LANDSCAPE_360P_4 = 33, // 640x360 30
7140  VIDEO_PROFILE_LANDSCAPE_360P_6 = 35, // 360x360 30
7142  VIDEO_PROFILE_LANDSCAPE_360P_7 = 36, // 480x360 15
7144  VIDEO_PROFILE_LANDSCAPE_360P_8 = 37, // 480x360 30
7146  VIDEO_PROFILE_LANDSCAPE_360P_9 = 38, // 640x360 15
7148  VIDEO_PROFILE_LANDSCAPE_360P_10 = 39, // 640x360 24
7150  VIDEO_PROFILE_LANDSCAPE_360P_11 = 100, // 640x360 24
7152  VIDEO_PROFILE_LANDSCAPE_480P = 40, // 640x480 15
7154  VIDEO_PROFILE_LANDSCAPE_480P_3 = 42, // 480x480 15
7156  VIDEO_PROFILE_LANDSCAPE_480P_4 = 43, // 640x480 30
7158  VIDEO_PROFILE_LANDSCAPE_480P_6 = 45, // 480x480 30
7160  VIDEO_PROFILE_LANDSCAPE_480P_8 = 47, // 848x480 15
7162  VIDEO_PROFILE_LANDSCAPE_480P_9 = 48, // 848x480 30
7164  VIDEO_PROFILE_LANDSCAPE_480P_10 = 49, // 640x480 10
7166  VIDEO_PROFILE_LANDSCAPE_720P = 50, // 1280x720 15
7168  VIDEO_PROFILE_LANDSCAPE_720P_3 = 52, // 1280x720 30
7170  VIDEO_PROFILE_LANDSCAPE_720P_5 = 54, // 960x720 15
7172  VIDEO_PROFILE_LANDSCAPE_720P_6 = 55, // 960x720 30
7174  VIDEO_PROFILE_LANDSCAPE_1080P = 60, // 1920x1080 15
7176  VIDEO_PROFILE_LANDSCAPE_1080P_3 = 62, // 1920x1080 30
7178  VIDEO_PROFILE_LANDSCAPE_1080P_5 = 64, // 1920x1080 60
7180  VIDEO_PROFILE_LANDSCAPE_1440P = 66, // 2560x1440 30
7182  VIDEO_PROFILE_LANDSCAPE_1440P_2 = 67, // 2560x1440 60
7184  VIDEO_PROFILE_LANDSCAPE_4K = 70, // 3840x2160 30
7186  VIDEO_PROFILE_LANDSCAPE_4K_3 = 72, // 3840x2160 60
7188  VIDEO_PROFILE_PORTRAIT_120P = 1000, // 120x160 15
7190  VIDEO_PROFILE_PORTRAIT_120P_3 = 1002, // 120x120 15
7192  VIDEO_PROFILE_PORTRAIT_180P = 1010, // 180x320 15
7194  VIDEO_PROFILE_PORTRAIT_180P_3 = 1012, // 180x180 15
7196  VIDEO_PROFILE_PORTRAIT_180P_4 = 1013, // 180x240 15
7198  VIDEO_PROFILE_PORTRAIT_240P = 1020, // 240x320 15
7200  VIDEO_PROFILE_PORTRAIT_240P_3 = 1022, // 240x240 15
7202  VIDEO_PROFILE_PORTRAIT_240P_4 = 1023, // 240x424 15
7204  VIDEO_PROFILE_PORTRAIT_360P = 1030, // 360x640 15
7206  VIDEO_PROFILE_PORTRAIT_360P_3 = 1032, // 360x360 15
7208  VIDEO_PROFILE_PORTRAIT_360P_4 = 1033, // 360x640 30
7210  VIDEO_PROFILE_PORTRAIT_360P_6 = 1035, // 360x360 30
7212  VIDEO_PROFILE_PORTRAIT_360P_7 = 1036, // 360x480 15
7214  VIDEO_PROFILE_PORTRAIT_360P_8 = 1037, // 360x480 30
7216  VIDEO_PROFILE_PORTRAIT_360P_9 = 1038, // 360x640 15
7218  VIDEO_PROFILE_PORTRAIT_360P_10 = 1039, // 360x640 24
7220  VIDEO_PROFILE_PORTRAIT_360P_11 = 1100, // 360x640 24
7222  VIDEO_PROFILE_PORTRAIT_480P = 1040, // 480x640 15
7224  VIDEO_PROFILE_PORTRAIT_480P_3 = 1042, // 480x480 15
7226  VIDEO_PROFILE_PORTRAIT_480P_4 = 1043, // 480x640 30
7228  VIDEO_PROFILE_PORTRAIT_480P_6 = 1045, // 480x480 30
7230  VIDEO_PROFILE_PORTRAIT_480P_8 = 1047, // 480x848 15
7232  VIDEO_PROFILE_PORTRAIT_480P_9 = 1048, // 480x848 30
7234  VIDEO_PROFILE_PORTRAIT_480P_10 = 1049, // 480x640 10
7236  VIDEO_PROFILE_PORTRAIT_720P = 1050, // 720x1280 15
7238  VIDEO_PROFILE_PORTRAIT_720P_3 = 1052, // 720x1280 30
7240  VIDEO_PROFILE_PORTRAIT_720P_5 = 1054, // 720x960 15
7242  VIDEO_PROFILE_PORTRAIT_720P_6 = 1055, // 720x960 30
7244  VIDEO_PROFILE_PORTRAIT_1080P = 1060, // 1080x1920 15
7246  VIDEO_PROFILE_PORTRAIT_1080P_3 = 1062, // 1080x1920 30
7248  VIDEO_PROFILE_PORTRAIT_1080P_5 = 1064, // 1080x1920 60
7250  VIDEO_PROFILE_PORTRAIT_1440P = 1066, // 1440x2560 30
7252  VIDEO_PROFILE_PORTRAIT_1440P_2 = 1067, // 1440x2560 60
7254  VIDEO_PROFILE_PORTRAIT_4K = 1070, // 2160x3840 30
7256  VIDEO_PROFILE_PORTRAIT_4K_3 = 1072, // 2160x3840 60
7258  VIDEO_PROFILE_DEFAULT = VIDEO_PROFILE_LANDSCAPE_360P,
7259 };
7260 
7261 } // namespace rtc
7262 } // namespace agora
7263 
7269 #define getAgoraRtcEngineVersion getAgoraSdkVersion
7270 
7272 
7275 
7282 
7284 
7285 
7292 #define getAgoraRtcEngineErrorDescription getAgoraSdkErrorDescription
7293 #define setAgoraRtcEngineExternalSymbolLoader setAgoraSdkExternalSymbolLoader
agora::rtc::IRtcEngineEventHandler::onApiCallExecuted
virtual void onApiCallExecuted(int err, const char *api, const char *result)
Definition: IAgoraRtcEngine.h:1621
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:811
agora::rtc::PublisherConfiguration::extraInfo
const char * extraInfo
Definition: IAgoraRtcEngine.h:572
agora::rtc::IRtcEngine::setAVSyncSource
virtual int setAVSyncSource(const char *channelId, uid_t uid)=0
agora::rtc::RtcEngineContext::appId
const char * appId
Definition: IAgoraRtcEngine.h:2510
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:2011
agora::rtc::IRtcEngineParameter::setBool
virtual int setBool(const char *key, bool value)=0
agora::rtc::LocalVideoStats::regulatedCaptureFrameHeight
int regulatedCaptureFrameHeight
Definition: IAgoraRtcEngine.h:267
agora::rtc::UserInfo
Definition: AgoraBase.h:5093
agora::rtc::RemoteVideoStats::publishDuration
int publishDuration
Definition: IAgoraRtcEngine.h:376
agora::rtc::IRtcEngine::stopDirectCdnStreaming
virtual int stopDirectCdnStreaming()=0
agora::rtc::LastmileProbeResult
Definition: AgoraBase.h:3756
agora::rtc::IRtcEngine::setEncryptionSecret
virtual int setEncryptionSecret(const char *secret) __deprecated=0
agora::rtc::AudioEncodedFrameObserverConfig
Definition: AgoraBase.h:4566
agora::rtc::ScreenCaptureParameters
Definition: AgoraBase.h:4400
agora::rtc::IRtcEngine::muteAllRemoteVideoStreams
virtual int muteAllRemoteVideoStreams(bool mute)=0
agora::rtc::AudioVolumeInfo
Definition: AgoraBase.h:3024
agora::rtc::InjectStreamConfig::audioChannels
int audioChannels
Definition: IAgoraRtcEngine.h:494
agora::rtc::LocalVideoStats::regulatedCaptureFrameWidth
int regulatedCaptureFrameWidth
Definition: IAgoraRtcEngine.h:263
agora::rtc::IRtcEngine::pauseEffect
virtual int pauseEffect(int soundId)=0
agora::rtc::BeautyOptions
Definition: AgoraBase.h:3989
agora::rtc::ChannelMediaOptions::publishSecondaryCameraTrack
Optional< bool > publishSecondaryCameraTrack
Definition: IAgoraRtcEngine.h:747
agora::rtc::IRtcEngineParameter::getString
virtual int getString(const char *key, agora::util::AString &value)=0
agora::rtc::IRtcEngine::muteLocalVideoStream
virtual int muteLocalVideoStream(bool mute)=0
agora::rtc::RtcEngineContext::eventHandler
IRtcEngineEventHandler * eventHandler
Definition: IAgoraRtcEngine.h:2504
agora::rtc::IRtcEngine::stopPreview
virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType)=0
agora::rtc::IRtcEngineParameter::setInt
virtual int setInt(const char *key, int value)=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:1338
agora::rtc::VideoCompositingLayout
Definition: IAgoraRtcEngine.h:383
agora::rtc::VideoCompositingLayout::canvasHeight
int canvasHeight
Definition: IAgoraRtcEngine.h:433
agora::rtc::IRtcEngine::setVoiceConversionPreset
virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset)=0
agora::rtc::DirectCdnStreamingStats::videoHeight
int videoHeight
Definition: IAgoraRtcEngine.h:2707
agora::rtc::LastmileProbeConfig
Definition: AgoraBase.h:3682
agora::rtc::IRtcEngine::enableLocalVideo
virtual int enableLocalVideo(bool enabled)=0
agora::rtc::IRtcEngineEventHandler::onLeaveChannel
virtual void onLeaveChannel(const RtcStats &stats)
Definition: IAgoraRtcEngine.h:1254
agora::rtc::IRtcEngineParameter::getInt
virtual int getInt(const char *key, int &value)=0
agora::rtc::IRtcEngine::joinChannel
virtual int joinChannel(const char *token, const char *channelId, uid_t uid, const ChannelMediaOptions &options)=0
agora::rtc::IRtcEngineEventHandler::onFirstLocalVideoFrame
virtual void onFirstLocalVideoFrame(int width, int height, int elapsed)
Definition: IAgoraRtcEngine.h:1387
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoDecoded
virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) __deprecated
Definition: IAgoraRtcEngine.h:1423
agora::rtc::IRtcEngine::createDataStream
virtual int createDataStream(int *streamId, DataStreamConfig &config)=0
agora::rtc::LocalVideoStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:238
agora::rtc::IRtcEngine::stopChannelMediaRelay
virtual int stopChannelMediaRelay()=0
agora::rtc::IRtcEngine::switchChannel
virtual int switchChannel(const char *token, const char *channel)=0
agora::rtc::IRtcEngineEventHandler::onStreamPublished
virtual void onStreamPublished(const char *url, int error) __deprecated
Definition: IAgoraRtcEngine.h:2051
agora::rtc::RtcEngineContext::threadPriority
Optional< THREAD_PRIORITY_TYPE > threadPriority
Definition: IAgoraRtcEngine.h:2561
agora::rtc::IRtcEngine::registerAudioEncodedFrameObserver
virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig &config, IAudioEncodedFrameObserver *observer)=0
agora::rtc::ChannelMediaOptions::enableBuiltInMediaEncryption
Optional< bool > enableBuiltInMediaEncryption
Definition: IAgoraRtcEngine.h:890
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:467
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::IRtcEngine::clearVideoWatermark
virtual int clearVideoWatermark()=0
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:1074
agora::rtc::IRtcEngine::getVersion
virtual const char * getVersion(int *build)=0
agora::rtc::RemoteVideoStats::totalActiveTime
int totalActiveTime
Definition: IAgoraRtcEngine.h:372
agora::rtc::IRtcEngine::setAudioMixingPitch
virtual int setAudioMixingPitch(int pitch)=0
agora::rtc::ChannelMediaOptions::publishRhythmPlayerTrack
Optional< bool > publishRhythmPlayerTrack
Definition: IAgoraRtcEngine.h:896
agora::rtc::ChannelMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition: IAgoraRtcEngine.h:799
agora::media::IAudioSpectrumObserver
Definition: AgoraMediaBase.h:857
agora::rtc::DirectCdnStreamingStats::videoWidth
int videoWidth
Definition: IAgoraRtcEngine.h:2702
agora::rtc::IRtcEngineEventHandler::onRemoteAudioTransportStats
virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate)
Definition: IAgoraRtcEngine.h:2184
agora::rtc::IMetadataObserver::Metadata::buffer
unsigned char * buffer
Definition: IAgoraRtcEngine.h:2621
agora::rtc::PublisherConfiguration::publishUrl
const char * publishUrl
Definition: IAgoraRtcEngine.h:565
agora::rtc::ChannelMediaOptions::publishCustomAudioSourceId
Optional< int > publishCustomAudioSourceId
Definition: IAgoraRtcEngine.h:775
agora::rtc::PublisherConfiguration::lifecycle
int lifecycle
Definition: IAgoraRtcEngine.h:547
agora::rtc::IRtcEngine::startPreview
virtual int startPreview()=0
agora::rtc::LocalAccessPointConfiguration::mode
LOCAL_PROXY_MODE mode
Definition: IAgoraRtcEngine.h:1061
agora::rtc::IMetadataObserver::Metadata::timeStampMs
long long timeStampMs
Definition: IAgoraRtcEngine.h:2626
agora::rtc::IRtcEngineEventHandler::onLocalAudioStats
virtual void onLocalAudioStats(const LocalAudioStats &stats)
Definition: IAgoraRtcEngine.h:1634
agora::rtc::ChannelMediaOptions::autoSubscribeAudio
Optional< bool > autoSubscribeAudio
Definition: IAgoraRtcEngine.h:830
agora::rtc::LocalAccessPointConfiguration
Definition: IAgoraRtcEngine.h:1043
agora::rtc::IRtcEngineEventHandler::onClientRoleChangeFailed
virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole)
Definition: IAgoraRtcEngine.h:1967
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:2717
agora::rtc::IRtcEngineEventHandler::onLastmileQuality
virtual void onLastmileQuality(int quality)
Definition: IAgoraRtcEngine.h:1375
agora::rtc::CameraCapturerConfiguration::deviceId
char deviceId[MAX_DEVICE_ID_LENGTH]
Definition: IAgoraRtcEngine.h:627
agora::rtc::IRtcEngineEventHandler::onUserEnableVideo
virtual void onUserEnableVideo(uid_t uid, bool enabled) __deprecated
Definition: IAgoraRtcEngine.h:1584
agora::rtc::IRtcEngine::setRemoteRenderMode
virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
agora::rtc::LiveTranscoding
Definition: AgoraBase.h:3470
agora::rtc::ChannelMediaOptions::audienceLatencyLevel
Optional< AUDIENCE_LATENCY_LEVEL_TYPE > audienceLatencyLevel
Definition: IAgoraRtcEngine.h:862
agora::rtc::LocalVideoStats::sentFrameRate
int sentFrameRate
Definition: IAgoraRtcEngine.h:246
agora::rtc::Rectangle
Definition: AgoraBase.h:2054
agora::rtc::LocalAccessPointConfiguration::ipList
const char ** ipList
Definition: IAgoraRtcEngine.h:1046
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:2269
agora::rtc::IRtcEngineEventHandler::onNetworkTypeChanged
virtual void onNetworkTypeChanged(NETWORK_TYPE type)
Definition: IAgoraRtcEngine.h:2228
agora::rtc::InjectStreamConfig::videoFramerate
int videoFramerate
Definition: IAgoraRtcEngine.h:479
agora::rtc::ChannelMediaOptions::publishCustomAudioTrackEnableAec
Optional< bool > publishCustomAudioTrackEnableAec
Definition: IAgoraRtcEngine.h:781
agora::rtc::IRtcEngine::enableAudioVolumeIndication
virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad)=0
agora::rtc::ChannelMediaOptions::mediaPlayerAudioDelayMs
Optional< int > mediaPlayerAudioDelayMs
Definition: IAgoraRtcEngine.h:880
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::startAudioMixing
virtual int startAudioMixing(const char *filePath, bool loopback, bool replace, int cycle)=0
agora::rtc::IRtcEngine::unregisterMediaMetadataObserver
virtual int unregisterMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type)=0
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:58
agora::rtc::IRtcEngineEventHandler::onFirstLocalAudioFramePublished
virtual void onFirstLocalAudioFramePublished(int elapsed)
Definition: IAgoraRtcEngine.h:1848
agora::util::AutoPtr
Definition: AgoraBase.h:106
agora::rtc::IRtcEngineParameter::getBool
virtual int getBool(const char *key, bool &value)=0
agora::rtc::LocalVideoStats::sentBitrate
int sentBitrate
Definition: IAgoraRtcEngine.h:242
agora::rtc::IRtcEngine::getAudioMixingPublishVolume
virtual int getAudioMixingPublishVolume()=0
agora::rtc::IRtcEngine::startAudioMixing
virtual int startAudioMixing(const char *filePath, bool loopback, bool replace, int cycle, int startPos)=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:1135
agora::rtc::IRtcEngine::pushDirectCdnStreamingCustomVideoFrame
virtual int pushDirectCdnStreamingCustomVideoFrame(media::base::ExternalVideoFrame *frame)=0
agora::rtc::RemoteVideoStats::totalFrozenTime
int totalFrozenTime
Definition: IAgoraRtcEngine.h:358
agora::rtc::IRtcEngine::stopPrimaryCustomAudioTrack
virtual int stopPrimaryCustomAudioTrack()=0
agora::rtc::IMetadataObserver::METADATA_TYPE
METADATA_TYPE
Definition: IAgoraRtcEngine.h:2589
agora::rtc::IRtcEngine::setCloudProxy
virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType)=0
agora::rtc::VideoEncoderConfiguration
Definition: AgoraBase.h:1867
agora::rtc::IRtcEngineEventHandler
Definition: IAgoraRtcEngine.h:1102
agora::rtc::VideoCompositingLayout::Region::height
double height
Definition: IAgoraRtcEngine.h:399
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::IRtcEngineEventHandler::onStreamUnpublished
virtual void onStreamUnpublished(const char *url) __deprecated
Definition: IAgoraRtcEngine.h:2066
agora::rtc::IRtcEngineEventHandler::onUserMuteAudio
virtual void onUserMuteAudio(uid_t uid, bool muted)
Definition: IAgoraRtcEngine.h:1545
agora::rtc::IRtcEngine::SetContentInspect
virtual int SetContentInspect(media::ContentInspectConfig &config)=0
agora::rtc::RtcEngineContext::enableAudioDevice
bool enableAudioDevice
Definition: IAgoraRtcEngine.h:2525
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:1348
agora::rtc::DirectCdnStreamingMediaOptions::publishMicrophoneTrack
Optional< bool > publishMicrophoneTrack
Definition: IAgoraRtcEngine.h:2765
agora::rtc::RtcImage
Definition: AgoraBase.h:3319
agora::rtc::VideoCompositingLayout::backgroundColor
const char * backgroundColor
Definition: IAgoraRtcEngine.h:436
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::setAdvancedAudioOptions
virtual int setAdvancedAudioOptions(media::base::AdvancedAudioOptions &options)=0
agora::rtc::IRtcEngine::registerAudioSpectrumObserver
virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
agora::rtc::IRtcEngine::addInjectStreamUrl
virtual int addInjectStreamUrl(const char *url, const InjectStreamConfig &config)=0
agora::rtc::IRtcEngine::startEchoTest
virtual int startEchoTest(int intervalInSeconds)=0
agora::rtc::LocalVideoStats::qualityAdaptIndication
QUALITY_ADAPT_INDICATION qualityAdaptIndication
Definition: IAgoraRtcEngine.h:293
agora::rtc::SimulcastStreamConfig
Definition: AgoraBase.h:2032
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:2640
agora::rtc::ChannelMediaOptions::publishDirectCustomAudioTrack
Optional< bool > publishDirectCustomAudioTrack
Definition: IAgoraRtcEngine.h:787
agora::rtc::IRtcEngine::getConnectionState
virtual CONNECTION_STATE_TYPE getConnectionState()=0
agora::rtc::FishCorrectionParams
Definition: AgoraBase.h:4081
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::ChannelMediaOptions::publishTrancodedVideoTrack
Optional< bool > publishTrancodedVideoTrack
Definition: IAgoraRtcEngine.h:823
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStateChanged
virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed)
Definition: IAgoraRtcEngine.h:1906
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:2759
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:1563
agora::rtc::IRtcEngineEventHandler::onVideoDeviceStateChanged
virtual void onVideoDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition: IAgoraRtcEngine.h:1300
agora::rtc::IMetadataObserver
Definition: IAgoraRtcEngine.h:2582
agora::rtc::VideoCompositingLayout::appData
const char * appData
Definition: IAgoraRtcEngine.h:446
agora::rtc::IRtcEngineEventHandler::onVideoPublishStateChanged
virtual void onVideoPublishStateChanged(const char *channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)
Definition: IAgoraRtcEngine.h:2342
agora::rtc::IRtcEngine::setRemoteVoicePosition
virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain)=0
agora::rtc::IRtcEngineEventHandler::onLocalVideoStateChanged
virtual void onLocalVideoStateChanged(LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_ERROR error)
Definition: IAgoraRtcEngine.h:1448
agora::rtc::IRtcEngineParameter::setParameters
virtual int setParameters(const char *parameters)=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:1739
agora::rtc::IRtcEngine::startChannelMediaRelay
virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration)=0
agora::rtc::IRtcEngineParameter::setObject
virtual int setObject(const char *key, const char *value)=0
agora::rtc::PublisherConfiguration::defaultLayout
int defaultLayout
Definition: IAgoraRtcEngine.h:544
agora::rtc::IRtcEngineEventHandler::onTranscodingUpdated
virtual void onTranscodingUpdated()
Definition: IAgoraRtcEngine.h:2081
agora::rtc::IRtcEngineEventHandler::onAudioMixingStateChanged
virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_ERROR_TYPE errorCode)
Definition: IAgoraRtcEngine.h:1726
agora::rtc::IRtcEngine::updateRtmpTranscoding
virtual int updateRtmpTranscoding(const LiveTranscoding &transcoding)=0
agora::rtc::IRtcEngineEventHandler::onRequestToken
virtual void onRequestToken()
Definition: IAgoraRtcEngine.h:1823
agora::rtc::IRtcEngineEventHandler::onError
virtual void onError(int err, const char *msg)
Definition: IAgoraRtcEngine.h:1159
agora::rtc::ChannelMediaOptions::publishCustomAudioTrackAec
Optional< bool > publishCustomAudioTrackAec
Definition: IAgoraRtcEngine.h:793
agora::rtc::IRtcEngine::startRtmpStreamWithoutTranscoding
virtual int startRtmpStreamWithoutTranscoding(const char *url)=0
agora::rtc::VideoCompositingLayout::regionCount
int regionCount
Definition: IAgoraRtcEngine.h:443
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:530
agora::rtc::IRtcEngineEventHandler::onAudioMixingFinished
virtual void onAudioMixingFinished() __deprecated
Definition: IAgoraRtcEngine.h:1287
agora::rtc::LocalAccessPointConfiguration::verifyDomainName
const char * verifyDomainName
Definition: IAgoraRtcEngine.h:1058
agora::rtc::AVideoDeviceManager
Definition: IAgoraRtcEngine.h:7080
agora::rtc::LocalVideoStats::codecType
VIDEO_CODEC_TYPE codecType
Definition: IAgoraRtcEngine.h:302
agora::rtc::LocalTranscoderConfiguration
Definition: AgoraBase.h:3659
agora::rtc::IRtcEngine::adjustAudioMixingPlayoutVolume
virtual int adjustAudioMixingPlayoutVolume(int volume)=0
agora::rtc::IRtcEngineParameter::setProfile
virtual int setProfile(const char *profile, bool merge)=0
agora::rtc::InjectStreamConfig::audioBitrate
int audioBitrate
Definition: IAgoraRtcEngine.h:491
agora::rtc::IDirectCdnStreamingEventHandler::onDirectCdnStreamingStateChanged
virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_ERROR error, const char *message)
Definition: IAgoraRtcEngine.h:2739
agora::rtc::IRtcEngineEventHandler::onAudioVolumeIndication
virtual void onAudioVolumeIndication(const AudioVolumeInfo *speakers, unsigned int speakerNumber, int totalVolume)
Definition: IAgoraRtcEngine.h:1236
agora::rtc::IRtcEngineEventHandler::onConnectionBanned
virtual void onConnectionBanned()
Definition: IAgoraRtcEngine.h:1768
agora::rtc::IPacketObserver
Definition: AgoraBase.h:3063
agora::rtc::IRtcEngine::setLocalPublishFallbackOption
virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option)=0
agora::rtc::IRtcEngine::enableDualStreamMode
virtual int enableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled, const SimulcastStreamConfig &streamConfig)=0
agora::rtc::ChannelMediaOptions::publishEncodedVideoTrack
Optional< bool > publishEncodedVideoTrack
Definition: IAgoraRtcEngine.h:805
agora::rtc::DirectCdnStreamingStats
Definition: IAgoraRtcEngine.h:2698
agora::rtc::VideoFormat
Definition: AgoraBase.h:2589
agora::rtc::RemoteVideoStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:316
agora::rtc::IRtcEngineEventHandler::onUserOffline
virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:1529
agora::rtc::IRtcEngine::stopRtmpStream
virtual int stopRtmpStream(const char *url)=0
agora::rtc::DataStreamConfig
Definition: AgoraBase.h:2020
agora::rtc::VideoCompositingLayout::Region::y
double y
Definition: IAgoraRtcEngine.h:393
agora::rtc::IRtcEngine::stopAudioMixing
virtual int stopAudioMixing()=0
agora::rtc::PublisherConfiguration
Definition: IAgoraRtcEngine.h:522
agora::rtc::IRtcEngine::setLogLevel
virtual int setLogLevel(commons::LOG_LEVEL level)=0
agora::rtc::RtcEngineContext::logConfig
commons::LogConfig logConfig
Definition: IAgoraRtcEngine.h:2556
agora::rtc::IRtcEngineEventHandler::onChannelMediaRelayEvent
virtual void onChannelMediaRelayEvent(int code)
Definition: IAgoraRtcEngine.h:2158
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:471
agora::rtc::IRtcEngine::startRtmpStreamWithTranscoding
virtual int startRtmpStreamWithTranscoding(const char *url, const LiveTranscoding &transcoding)=0
agora::rtc::DirectCdnStreamingMediaOptions
Definition: IAgoraRtcEngine.h:2753
agora::rtc::IRtcEngineEventHandler::onStreamMessageError
virtual void onStreamMessageError(uid_t userId, int streamId, int code, int missed, int cached)
Definition: IAgoraRtcEngine.h:1804
agora::rtc::IRtcEngine::setVideoEncoderConfiguration
virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration &config)=0
agora::rtc::IRtcEngine::stopAllEffects
virtual int stopAllEffects()=0
agora::rtc::IRtcEngine::pauseAllChannelMediaRelay
virtual int pauseAllChannelMediaRelay()=0
agora::rtc::LocalVideoStats::captureFrameHeight
int captureFrameHeight
Definition: IAgoraRtcEngine.h:255
agora::rtc::VideoCompositingLayout::canvasWidth
int canvasWidth
Definition: IAgoraRtcEngine.h:428
agora::rtc::LeaveChannelOptions::stopMicrophoneRecording
bool stopMicrophoneRecording
Definition: IAgoraRtcEngine.h:1086
agora::rtc::PublisherConfiguration::rawStreamUrl
const char * rawStreamUrl
Definition: IAgoraRtcEngine.h:569
agora::rtc::IRtcEngineParameter::setString
virtual int setString(const char *key, const char *value)=0
agora::rtc::IRtcEngineEventHandler::onRemoteVideoStats
virtual void onRemoteVideoStats(const RemoteVideoStats &stats)
Definition: IAgoraRtcEngine.h:1678
agora::rtc::IRtcEngine::setAudioEffectParameters
virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2)=0
agora::rtc::IRtcEngineEventHandler::onTokenPrivilegeWillExpire
virtual void onTokenPrivilegeWillExpire(const char *token)
Definition: IAgoraRtcEngine.h:1839
agora::rtc::LocalVideoStats::targetFrameRate
int targetFrameRate
Definition: IAgoraRtcEngine.h:286
agora::rtc::DirectCdnStreamingStats::audioBitrate
int audioBitrate
Definition: IAgoraRtcEngine.h:2722
agora::rtc::IRtcEngineEventHandler::onSnapshotTaken
virtual void onSnapshotTaken(const char *channel, uid_t uid, const char *filePath, int width, int height, int errCode)
snapshot taken callback
Definition: IAgoraRtcEngine.h:1941
agora::rtc::IRtcEngine::setRemoteSubscribeFallbackOption
virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option)=0
agora::rtc::IRtcEngineParameter::setUInt
virtual int setUInt(const char *key, unsigned int value)=0
agora::rtc::RtcEngineContext::channelProfile
CHANNEL_PROFILE_TYPE channelProfile
Definition: IAgoraRtcEngine.h:2530
agora::rtc::IRtcEngine::setLiveTranscoding
virtual int setLiveTranscoding(const LiveTranscoding &transcoding)=0
agora::rtc::IRtcEngineEventHandler::onContentInspectResult
virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result)
Definition: IAgoraRtcEngine.h:1928
agora::rtc::IRtcEngineEventHandler::onAudioDeviceStateChanged
virtual void onAudioDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition: IAgoraRtcEngine.h:1274
agora::rtc::IAudioEncodedFrameObserver
Definition: AgoraBase.h:4582
agora::rtc::IRtcEngine::removePublishStreamUrl
virtual int removePublishStreamUrl(const char *url)=0
agora::rtc::ChannelMediaOptions::token
Optional< const char * > token
Definition: IAgoraRtcEngine.h:884
agora::rtc::IRtcEngineEventHandler::onAudioQuality
virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay, unsigned short lost)
Definition: IAgoraRtcEngine.h:1178
agora::rtc::LeaveChannelOptions
Definition: IAgoraRtcEngine.h:1068
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStats
virtual void onRemoteAudioStats(const RemoteAudioStats &stats)
Definition: IAgoraRtcEngine.h:1648
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:2712
agora::rtc::IRtcEngine::stopLastmileProbeTest
virtual int stopLastmileProbeTest()=0
agora::rtc::ChannelMediaRelayConfiguration
Definition: AgoraBase.h:4802
agora::rtc::IVideoDeviceCollection
Definition: IAgoraRtcEngine.h:2382
agora::rtc::IRtcEngineEventHandler::onRtmpStreamingStateChanged
virtual void onRtmpStreamingStateChanged(const char *url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_ERROR_TYPE errCode)
Definition: IAgoraRtcEngine.h:1997
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:306
agora::rtc::ChannelMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition: IAgoraRtcEngine.h:771
agora::rtc::RemoteVideoStats::avSyncTimeMs
int avSyncTimeMs
Definition: IAgoraRtcEngine.h:367
agora::rtc::IRtcEngine::removeInjectStreamUrl
virtual int removeInjectStreamUrl(const char *url)=0
agora::rtc::IRtcEngineEventHandler::onStreamMessage
virtual void onStreamMessage(uid_t userId, int streamId, const char *data, size_t length, uint64_t sentTs)
Definition: IAgoraRtcEngine.h:1783
agora::rtc::RemoteVideoStats::decoderOutputFrameRate
int decoderOutputFrameRate
Definition: IAgoraRtcEngine.h:339
agora::rtc::RtcEngineContext::context
void * context
Definition: IAgoraRtcEngine.h:2517
agora::rtc::IRtcEngine::enableVirtualBackground
virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource)=0
agora::rtc::ChannelMediaOptions::publishCameraTrack
Optional< bool > publishCameraTrack
Definition: IAgoraRtcEngine.h:741
agora::rtc::ChannelMediaOptions::publishAudioTrack
Optional< bool > publishAudioTrack
Definition: IAgoraRtcEngine.h:753
agora::rtc::ChannelMediaOptions::clientRoleType
Optional< CLIENT_ROLE_TYPE > clientRoleType
Definition: IAgoraRtcEngine.h:858
agora::rtc::IRtcEngineEventHandler::onJoinChannelSuccess
virtual void onJoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1117
agora::rtc::DirectCdnStreamingMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition: IAgoraRtcEngine.h:2788
agora::rtc::ChannelMediaOptions::channelProfile
Optional< CHANNEL_PROFILE_TYPE > channelProfile
Definition: IAgoraRtcEngine.h:870
agora::rtc::IRtcEngine::setEncryptionMode
virtual int setEncryptionMode(const char *encryptionMode) __deprecated=0
agora::rtc::VideoCompositingLayout::Region::zOrder
int zOrder
Definition: IAgoraRtcEngine.h:403
agora::rtc::LocalVideoStats::captureFrameRate
int captureFrameRate
Definition: IAgoraRtcEngine.h:249
agora::rtc::IRtcEngine::startPrimaryCustomAudioTrack
virtual int startPrimaryCustomAudioTrack(const AudioTrackConfig &config)=0
agora::rtc::VirtualBackgroundSource
Definition: AgoraBase.h:4026
agora::rtc::IRtcEngine::muteRemoteVideoStream
virtual int muteRemoteVideoStream(uid_t uid, bool mute)=0
agora::rtc::IRtcEngineParameter::getArray
virtual int getArray(const char *key, agora::util::AString &value)=0
agora::rtc::IVideoDeviceManager
Definition: IAgoraRtcEngine.h:2426
agora::rtc::RemoteVideoStats::frozenRate
int frozenRate
Definition: IAgoraRtcEngine.h:362
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:449
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:408
agora::rtc::IRtcEngine::release
virtual void release(bool sync=false)=0
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition: IAgoraRtcEngine.h:2777
agora::rtc::LocalVideoStats::encodedFrameHeight
int encodedFrameHeight
Definition: IAgoraRtcEngine.h:276
agora::rtc::IRtcEngineEventHandler::onLocalAudioStateChanged
virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error)
Definition: IAgoraRtcEngine.h:1889
agora::rtc::RemoteVideoStats::superResolutionType
int superResolutionType
Definition: IAgoraRtcEngine.h:380
agora::rtc::IRtcEngine::getUserInfoByUserAccount
virtual int getUserInfoByUserAccount(const char *userAccount, rtc::UserInfo *userInfo)=0
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::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:324
agora::rtc::PublisherConfiguration::width
int width
Definition: IAgoraRtcEngine.h:526
agora::rtc::VideoCompositingLayout::Region::width
double width
Definition: IAgoraRtcEngine.h:397
agora::rtc::ChannelMediaOptions::startPreview
Optional< bool > startPreview
Definition: IAgoraRtcEngine.h:843
agora::rtc::IRtcEngine::getEffectsVolume
virtual int getEffectsVolume()=0
agora::rtc::IRtcEngineEventHandler::onEncryptionError
virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType)
Definition: IAgoraRtcEngine.h:2236
agora::commons::LogConfig
Definition: IAgoraLog.h:84
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:1080
agora::rtc::ChannelMediaOptions::defaultVideoStreamType
Optional< VIDEO_STREAM_TYPE > defaultVideoStreamType
Definition: IAgoraRtcEngine.h:866
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::LocalVideoStats
Definition: IAgoraRtcEngine.h:234
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::IRtcEngineEventHandler::onUserStateChanged
virtual void onUserStateChanged(uid_t uid, uint32_t state)
Definition: IAgoraRtcEngine.h:1594
agora::rtc::ChannelMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition: IAgoraRtcEngine.h:854
agora::rtc::IDirectCdnStreamingEventHandler
Definition: IAgoraRtcEngine.h:2729
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:2294
agora::rtc::IRtcEngine::startSecondaryCustomAudioTrack
virtual int startSecondaryCustomAudioTrack(const AudioTrackConfig &config)=0
agora::rtc::EncryptionConfig
Definition: AgoraBase.h:4992
agora::rtc::IRtcEngineParameter
Definition: IAgoraRtcEngine.h:6910
agora::rtc::IRtcEngineEventHandler::onClientRoleChanged
virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole)
Definition: IAgoraRtcEngine.h:1956
agora::rtc::IRtcEngine::setAudioMixingPosition
virtual int setAudioMixingPosition(int pos)=0
agora::rtc::IRtcEngineParameter::setNumber
virtual int setNumber(const char *key, double value)=0
agora::rtc::ChannelMediaOptions::enableAudioRecordingOrPlayout
Optional< bool > enableAudioRecordingOrPlayout
Definition: IAgoraRtcEngine.h:849
agora::rtc::RemoteVideoStats::receivedBitrate
int receivedBitrate
Definition: IAgoraRtcEngine.h:336
agora::rtc::RemoteAudioStats
Definition: AgoraBase.h:2418
agora::rtc::IMetadataObserver::MAX_METADATA_SIZE_TYPE
MAX_METADATA_SIZE_TYPE
Definition: IAgoraRtcEngine.h:2601
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoFrame
virtual void onFirstRemoteVideoFrame(uid_t userId, int width, int height, int elapsed)
Definition: IAgoraRtcEngine.h:1485
agora::rtc::LocalVideoStats::encoderOutputFrameRate
int encoderOutputFrameRate
Definition: IAgoraRtcEngine.h:270
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:1192
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:1751
agora::rtc::PublisherConfiguration::owner
bool owner
Definition: IAgoraRtcEngine.h:552
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:440
agora::rtc::ChannelMediaOptions::publishMediaPlayerVideoTrack
Optional< bool > publishMediaPlayerVideoTrack
Definition: IAgoraRtcEngine.h:817
agora::rtc::IRtcEngine::stopPreview
virtual int stopPreview()=0
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:2256
agora::rtc::LocalVideoStats::encodedFrameWidth
int encodedFrameWidth
Definition: IAgoraRtcEngine.h:273
agora::rtc::RtcStats
Definition: AgoraBase.h:2131
agora::rtc::IRtcEngine::enableFishCorrection
virtual int enableFishCorrection(bool enabled, const FishCorrectionParams &params)=0
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::IRtcEngineEventHandler::onWarning
virtual void onWarning(int warn, const char *msg)
Definition: IAgoraRtcEngine.h:1149
agora::rtc::IRtcEngine::enableDualStreamMode
virtual int enableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled)=0
agora::rtc::IRtcEngineEventHandler::onLocalVideoStats
virtual void onLocalVideoStats(const LocalVideoStats &stats)
Definition: IAgoraRtcEngine.h:1665
agora::rtc::IRtcEngine::takeSnapshot
virtual int takeSnapshot(media::SnapShotConfig &config, media::ISnapshotCallback *callback)=0
save current time video frame to jpeg and write as a jpeg
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:2096
agora::rtc::LocalAudioStats
Definition: AgoraBase.h:3204
agora::rtc::IRtcEngineEventHandler::onAudioDeviceVolumeChanged
virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted)
Definition: IAgoraRtcEngine.h:1978
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:328
agora::rtc::IRtcEngineEventHandler::onMediaDeviceChanged
virtual void onMediaDeviceChanged(int deviceType)
Definition: IAgoraRtcEngine.h:1313
agora::rtc::RtcEngineContext::audioScenario
AUDIO_SCENARIO_TYPE audioScenario
Definition: IAgoraRtcEngine.h:2540
agora::rtc::RemoteVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition: IAgoraRtcEngine.h:342
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:283
agora::rtc::ChannelMediaOptions::publishSecondaryScreenTrack
Optional< bool > publishSecondaryScreenTrack
Definition: IAgoraRtcEngine.h:765
agora::rtc::IRtcEngine::getCallId
virtual int getCallId(agora::util::AString &callId)=0
agora::rtc::InjectStreamConfig
Definition: IAgoraRtcEngine.h:463
agora::rtc::IRtcEngine::uploadLogFile
virtual int uploadLogFile(agora::util::AString &requestId)=0
agora::rtc::LocalVideoStats::encodedFrameCount
int encodedFrameCount
Definition: IAgoraRtcEngine.h:297
agora::rtc::PublisherConfiguration::bitrate
int bitrate
Definition: IAgoraRtcEngine.h:538
agora::rtc::LocalVideoStats::regulatedCaptureFrameRate
int regulatedCaptureFrameRate
Definition: IAgoraRtcEngine.h:259
agora::rtc::RtcEngineContext
Definition: IAgoraRtcEngine.h:2500
agora::rtc::IRtcEngineEventHandler::onFirstLocalVideoFramePublished
virtual void onFirstLocalVideoFramePublished(int elapsed)
Definition: IAgoraRtcEngine.h:1398
agora::rtc::IRtcEngine::unloadAllEffects
virtual int unloadAllEffects()=0
agora::rtc::ChannelMediaOptions
Definition: IAgoraRtcEngine.h:735
agora::rtc::IRtcEngine
Definition: IAgoraRtcEngine.h:2863
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:1925
agora::rtc::ScreenCaptureConfiguration
Definition: IAgoraRtcEngine.h:632
agora::rtc::ChannelMediaOptions::autoSubscribeVideo
Optional< bool > autoSubscribeVideo
Definition: IAgoraRtcEngine.h:837
agora::rtc::IRtcEngineParameter::getUInt
virtual int getUInt(const char *key, unsigned int &value)=0
agora::rtc::AudioRecordingConfiguration
Definition: AgoraBase.h:4507
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:345
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:332
agora::rtc::LocalVideoStats::captureFrameWidth
int captureFrameWidth
Definition: IAgoraRtcEngine.h:252
agora::rtc::IRtcEngine::setAudioEffectPreset
virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset)=0
agora::rtc::RtcEngineContext::useExternalEglContext
bool useExternalEglContext
Definition: IAgoraRtcEngine.h:2570
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:2783
agora::util::CopyableAutoPtr
Definition: AgoraBase.h:162
agora::rtc::AudioTrackConfig
Definition: IAgoraRtcEngine.h:590
agora::rtc::LocalAccessPointConfiguration::ipListSize
int ipListSize
Definition: IAgoraRtcEngine.h:1049
agora::rtc::InjectStreamConfig::audioSampleRate
AUDIO_SAMPLE_RATE_TYPE audioSampleRate
Definition: IAgoraRtcEngine.h:487
agora::rtc::IRtcEngineEventHandler::onConnectionInterrupted
virtual void onConnectionInterrupted()
Definition: IAgoraRtcEngine.h:1764
agora::rtc::PublisherConfiguration::framerate
int framerate
Definition: IAgoraRtcEngine.h:534
agora::rtc::IRtcEngine::resumeEffect
virtual int resumeEffect(int soundId)=0
agora::rtc::PublisherConfiguration::injectStreamUrl
const char * injectStreamUrl
Definition: IAgoraRtcEngine.h:561
agora::rtc::ChannelMediaOptions::publishScreenTrack
Optional< bool > publishScreenTrack
Definition: IAgoraRtcEngine.h:759
agora::rtc::IRtcEngineEventHandler::onAudioRoutingChanged
virtual void onAudioRoutingChanged(int routing)
Definition: IAgoraRtcEngine.h:2096
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:483
agora::rtc::IRtcEngineParameter::getObject
virtual int getObject(const char *key, agora::util::AString &value)=0
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::LocalAccessPointConfiguration::domainList
const char ** domainList
Definition: IAgoraRtcEngine.h:1052
agora::rtc::IMetadataObserver::UNKNOWN_METADATA
@ UNKNOWN_METADATA
Definition: IAgoraRtcEngine.h:2592
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:875
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:1326
agora::rtc::IRtcEngine::resumeAudioMixing
virtual int resumeAudioMixing()=0
agora::rtc::IRtcEngine::unloadEffect
virtual int unloadEffect(int soundId)=0
agora::rtc::VideoCompositingLayout::Region
Definition: IAgoraRtcEngine.h:384
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:2311
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::IRtcEngine::addPublishStreamUrl
virtual int addPublishStreamUrl(const char *url, bool transcodingEnabled)=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:1464
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:555
agora::rtc::RemoteVideoStats::rxStreamType
VIDEO_STREAM_TYPE rxStreamType
Definition: IAgoraRtcEngine.h:352
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:2615
agora::rtc::IRtcEngine::disableVideo
virtual int disableVideo()=0
agora::rtc::InjectStreamConfig::videoGop
int videoGop
Definition: IAgoraRtcEngine.h:475
agora::rtc::AudioOptionsExternal
Definition: IAgoraRtcEngine.h:643
agora::SpatialAudioParams
Definition: AgoraBase.h:5194
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:2244
agora::rtc::IRtcEngineEventHandler::onUploadLogResult
virtual void onUploadLogResult(const char *requestId, bool success, UPLOAD_ERROR_REASON reason)
Definition: IAgoraRtcEngine.h:2279
agora::rtc::IRtcEngine::addVideoWatermark
virtual int addVideoWatermark(const RtcImage &watermark)=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:2205
agora::rtc::IRtcEngine::stopSecondaryCustomAudioTrack
virtual int stopSecondaryCustomAudioTrack()=0
agora::rtc::IRtcEngine::disableAudio
virtual int disableAudio()=0
agora::rtc::IRtcEngineParameter::release
virtual void release()=0
agora::rtc::IRtcEngine::muteAllRemoteAudioStreams
virtual int muteAllRemoteAudioStreams(bool mute)=0
agora::rtc::IRtcEngineEventHandler::onRtcStats
virtual void onRtcStats(const RtcStats &stats)
Definition: IAgoraRtcEngine.h:1263
agora::rtc::IRtcEngineEventHandler::onUserJoined
virtual void onUserJoined(uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1510
agora::rtc::AAudioDeviceManager
Definition: IAgoraRtcEngine.h:7073
agora::rtc::IMetadataObserver::Metadata
Definition: IAgoraRtcEngine.h:2610
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:348
agora::rtc::DeviceInfo
Definition: AgoraBase.h:3051
agora::base::IEngineBase
Definition: AgoraBase.h:5160
agora::rtc::LocalVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition: IAgoraRtcEngine.h:279
agora::rtc::IRtcEngineEventHandler::onDownlinkNetworkInfoUpdated
virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo &info)
Definition: IAgoraRtcEngine.h:1359
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition: IAgoraRtcEngine.h:2771
agora::rtc::IRtcEngineEventHandler::onFirstRemoteAudioFrame
virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1858
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:2551
agora::rtc::CameraCapturerConfiguration
Definition: IAgoraRtcEngine.h:621
agora::rtc::IMetadataObserver::VIDEO_METADATA
@ VIDEO_METADATA
Definition: IAgoraRtcEngine.h:2595
agora::rtc::RemoteVideoStats
Definition: IAgoraRtcEngine.h:312
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:558
agora::Optional< bool >
agora::rtc::LocalAccessPointConfiguration::domainListSize
int domainListSize
Definition: IAgoraRtcEngine.h:1055
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:2618
agora::rtc::IRtcEngineParameter::getNumber
virtual int getNumber(const char *key, double &value)=0
agora::rtc::ClientRoleOptions
Definition: AgoraBase.h:2394
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:1609
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:2130
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:2327
agora::rtc::IRtcEngineEventHandler::onFirstRemoteAudioDecoded
virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1870
agora::rtc::IRtcEngine::startPreview
virtual int startPreview(VIDEO_SOURCE_TYPE sourceType)=0
agora::rtc::VideoCanvas
Definition: AgoraBase.h:3948
agora::rtc::VideoCompositingLayout::Region::uid
uid_t uid
Definition: IAgoraRtcEngine.h:387
agora::rtc::IRtcEngineEventHandler::onConnectionStateChanged
virtual void onConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:2218
agora::rtc::IRtcEngine::adjustLoopbackRecordingVolume
virtual int adjustLoopbackRecordingVolume(int volume)=0
agora::rtc::VideoCompositingLayout::Region::x
double x
Definition: IAgoraRtcEngine.h:390