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  bool followEncodeDimensionRatio;
631  CameraCapturerConfiguration() : followEncodeDimensionRatio(true) {
632 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
633  cameraDirection = CAMERA_REAR;
634 #else
635  memset(deviceId, 0, sizeof(deviceId));
636 #endif
637  }
638 };
639 
641  bool isCaptureWindow; // true - capture window, false - capture display
642  uint32_t displayId; // MacOS only
643  Rectangle screenRect; //Windows only
644  view_t windowId;
646  Rectangle regionRect;
647 
648  ScreenCaptureConfiguration() : isCaptureWindow(false), displayId(0), windowId(0) {}
649 };
650 
651 #if (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
652 
654 struct SIZE {
657  int width;
660  int height;
661 
662  SIZE() : width(0), height(0) {}
663  SIZE(int ww, int hh) : width(ww), height(hh) {}
664 };
665 #endif
666 
667 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
668 struct ThumbImageBuffer {
669  const char* buffer;
670  unsigned int length;
671  unsigned int width;
672  unsigned int height;
673  ThumbImageBuffer() : buffer(nullptr), length(0), width(0), height(0) {}
674 };
675 
676 enum ScreenCaptureSourceType {
677  ScreenCaptureSourceType_Unknown = -1,
678  ScreenCaptureSourceType_Window = 0,
679  ScreenCaptureSourceType_Screen = 1,
680  ScreenCaptureSourceType_Custom = 2,
681 };
682 
683 struct ScreenCaptureSourceInfo {
684  ScreenCaptureSourceType type;
686  view_t sourceId;
687  const char* sourceName;
688  ThumbImageBuffer thumbImage;
689  ThumbImageBuffer iconImage;
690 
691  const char* processPath;
692  const char* sourceTitle;
693  bool primaryMonitor;
694  bool isOccluded;
695  ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(nullptr), sourceName(nullptr),
696  processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false) {}
697 };
698 
699 class IScreenCaptureSourceList {
700  protected:
701  virtual ~IScreenCaptureSourceList(){};
702 
703  public:
704  virtual unsigned int getCount() = 0;
705  virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index) = 0;
706  virtual void release() = 0;
707 };
708 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
709 
711  const char* imageUrl;
712  int fps;
713  ImageTrackOptions() : imageUrl(NULL), fps(1) {}
714 };
715 
889 
891  ~ChannelMediaOptions() {}
892 
893  void SetAll(const ChannelMediaOptions& change) {
894 #define SET_FROM(X) SetFrom(&X, change.X)
895 
896  SET_FROM(publishCameraTrack);
897  SET_FROM(publishSecondaryCameraTrack);
898  SET_FROM(publishAudioTrack);
899  SET_FROM(publishScreenTrack);
900  SET_FROM(publishSecondaryScreenTrack);
901  SET_FROM(publishTrancodedVideoTrack);
902  SET_FROM(publishCustomAudioTrack);
904  SET_FROM(publishCustomAudioSourceId);
906  SET_FROM(publishCustomAudioTrackAec);
907  SET_FROM(publishCustomVideoTrack);
908  SET_FROM(publishEncodedVideoTrack);
911  SET_FROM(autoSubscribeAudio);
912  SET_FROM(autoSubscribeVideo);
913  SET_FROM(startPreview);
914  SET_FROM(publishMediaPlayerId);
916  SET_FROM(clientRoleType);
917  SET_FROM(audienceLatencyLevel);
918  SET_FROM(defaultVideoStreamType);
919  SET_FROM(channelProfile);
920  SET_FROM(audioDelayMs);
921  SET_FROM(mediaPlayerAudioDelayMs);
922  SET_FROM(token);
924  SET_FROM(publishRhythmPlayerTrack);
925  SET_FROM(isInteractiveAudience);
926 #undef SET_FROM
927  }
928 
929  bool operator==(const ChannelMediaOptions& o) const {
930 #define BEGIN_COMPARE() bool b = true
931 #define ADD_COMPARE(X) b = (b && (X == o.X))
932 #define END_COMPARE()
933 
934  BEGIN_COMPARE();
935  ADD_COMPARE(publishCameraTrack);
936  ADD_COMPARE(publishSecondaryCameraTrack);
937  ADD_COMPARE(publishAudioTrack);
938  ADD_COMPARE(publishScreenTrack);
939  ADD_COMPARE(publishSecondaryScreenTrack);
940  ADD_COMPARE(publishTrancodedVideoTrack);
941  ADD_COMPARE(publishCustomAudioTrack);
942  ADD_COMPARE(publishDirectCustomAudioTrack);
943  ADD_COMPARE(publishCustomAudioSourceId);
945  ADD_COMPARE(publishCustomAudioTrackAec);
946  ADD_COMPARE(publishCustomVideoTrack);
947  ADD_COMPARE(publishEncodedVideoTrack);
948  ADD_COMPARE(publishMediaPlayerAudioTrack);
949  ADD_COMPARE(publishMediaPlayerVideoTrack);
950  ADD_COMPARE(autoSubscribeAudio);
951  ADD_COMPARE(autoSubscribeVideo);
952  ADD_COMPARE(startPreview);
953  ADD_COMPARE(publishMediaPlayerId);
954  ADD_COMPARE(enableAudioRecordingOrPlayout);
955  ADD_COMPARE(clientRoleType);
956  ADD_COMPARE(audienceLatencyLevel);
957  ADD_COMPARE(defaultVideoStreamType);
958  ADD_COMPARE(channelProfile);
959  ADD_COMPARE(audioDelayMs);
960  ADD_COMPARE(mediaPlayerAudioDelayMs);
961  ADD_COMPARE(token);
962  ADD_COMPARE(enableBuiltInMediaEncryption);
963  ADD_COMPARE(publishRhythmPlayerTrack);
964  ADD_COMPARE(isInteractiveAudience);
965  END_COMPARE();
966 
967 #undef BEGIN_COMPARE
968 #undef ADD_COMPARE
969 #undef END_COMPARE
970  return b;
971  }
972 
973  ChannelMediaOptions& operator=(const ChannelMediaOptions& replace) {
974  if (this != &replace) {
975 #define REPLACE_BY(X) ReplaceBy(&X, replace.X)
976 
977  REPLACE_BY(publishCameraTrack);
978  REPLACE_BY(publishSecondaryCameraTrack);
979  REPLACE_BY(publishAudioTrack);
980  REPLACE_BY(publishScreenTrack);
981  REPLACE_BY(publishSecondaryScreenTrack);
982  REPLACE_BY(publishTrancodedVideoTrack);
983  REPLACE_BY(publishCustomAudioTrack);
984  REPLACE_BY(publishDirectCustomAudioTrack);
985  REPLACE_BY(publishCustomAudioSourceId);
987  REPLACE_BY(publishCustomAudioTrackAec);
988  REPLACE_BY(publishCustomVideoTrack);
989  REPLACE_BY(publishEncodedVideoTrack);
990  REPLACE_BY(publishMediaPlayerAudioTrack);
991  REPLACE_BY(publishMediaPlayerVideoTrack);
992  REPLACE_BY(autoSubscribeAudio);
993  REPLACE_BY(autoSubscribeVideo);
994  REPLACE_BY(startPreview);
995  REPLACE_BY(publishMediaPlayerId);
996  REPLACE_BY(enableAudioRecordingOrPlayout);
997  REPLACE_BY(clientRoleType);
998  REPLACE_BY(audienceLatencyLevel);
999  REPLACE_BY(defaultVideoStreamType);
1000  REPLACE_BY(channelProfile);
1001  REPLACE_BY(audioDelayMs);
1002  REPLACE_BY(mediaPlayerAudioDelayMs);
1003  REPLACE_BY(token);
1004  REPLACE_BY(enableBuiltInMediaEncryption);
1005  REPLACE_BY(publishRhythmPlayerTrack);
1006  REPLACE_BY(isInteractiveAudience);
1007 #undef REPLACE_BY
1008  }
1009  return *this;
1010  }
1011 
1012  template <typename T>
1013  static void SetFrom(Optional<T>* s, const Optional<T>& o) {
1014  if (o) {
1015  *s = o;
1016  }
1017  }
1018 
1019  template <typename T>
1020  static void ReplaceBy(Optional<T>* s, const Optional<T>& o) {
1021  *s = o;
1022  }
1023 };
1024 
1026 enum LOCAL_PROXY_MODE {
1029  kConnectivityFirst = 0,
1032  kLocalOnly = 1,
1033 };
1034 
1038  const char** ipList;
1044  const char** domainList;
1050  const char* verifyDomainName;
1053  LOCAL_PROXY_MODE mode;
1054  LocalAccessPointConfiguration() : ipList(NULL), ipListSize(0), domainList(NULL), domainListSize(0), verifyDomainName(NULL), mode(kConnectivityFirst) {}
1055 };
1056 
1079 
1081 };
1082 
1095  public:
1096  virtual ~IRtcEngineEventHandler() {}
1097 
1098  virtual const char* eventHandlerType() const { return "event_handler"; }
1099 
1109  virtual void onJoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1110  (void)channel;
1111  (void)uid;
1112  (void)elapsed;
1113  }
1114 
1127  virtual void onRejoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1128  (void)channel;
1129  (void)uid;
1130  (void)elapsed;
1131  }
1132 
1141  virtual void onWarning(int warn, const char* msg) {
1142  (void)warn;
1143  (void)msg;
1144  }
1145 
1151  virtual void onError(int err, const char* msg) {
1152  (void)err;
1153  (void)msg;
1154  }
1155 
1170  virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay,
1171  unsigned short lost) {
1172  (void)uid;
1173  (void)quality;
1174  (void)delay;
1175  (void)lost;
1176  }
1177 
1184  virtual void onLastmileProbeResult(const LastmileProbeResult& result) {
1185  (void)result;
1186  }
1187 
1228  virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, unsigned int speakerNumber,
1229  int totalVolume) {
1230  (void)speakers;
1231  (void)speakerNumber;
1232  (void)totalVolume;
1233  }
1234 
1246  virtual void onLeaveChannel(const RtcStats& stats) { (void)stats; }
1247 
1255  virtual void onRtcStats(const RtcStats& stats) { (void)stats; }
1256 
1266  virtual void onAudioDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1267  (void)deviceId;
1268  (void)deviceType;
1269  (void)deviceState;
1270  }
1271 
1279  virtual void onAudioMixingFinished() __deprecated {}
1280 
1281  virtual void onAudioEffectFinished(int soundId) {}
1282 
1292  virtual void onVideoDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1293  (void)deviceId;
1294  (void)deviceType;
1295  (void)deviceState;
1296  }
1297 
1305  virtual void onMediaDeviceChanged(int deviceType) {
1306  (void)deviceType;
1307  }
1308 
1318  virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) {
1319  (void)uid;
1320  (void)txQuality;
1321  (void)rxQuality;
1322  }
1323 
1330  virtual void onIntraRequestReceived() {}
1331 
1340  virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo& info) {
1341  (void)info;
1342  }
1343 
1352  (void)info;
1353  }
1354 
1367  virtual void onLastmileQuality(int quality) { (void)quality; }
1368 
1379  virtual void onFirstLocalVideoFrame(int width, int height, int elapsed) {
1380  (void)width;
1381  (void)height;
1382  (void)elapsed;
1383  }
1384 
1390  virtual void onFirstLocalVideoFramePublished(int elapsed) {
1391  (void)elapsed;
1392  }
1393 
1394  virtual void onVideoSourceFrameSizeChanged(VIDEO_SOURCE_TYPE sourceType, int width, int height) {
1395  (void)sourceType;
1396  (void)width;
1397  (void)height;
1398  }
1399 
1415  virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) __deprecated {
1416  (void)uid;
1417  (void)width;
1418  (void)height;
1419  (void)elapsed;
1420  }
1421 
1422  virtual void onVideoSizeChanged(uid_t uid, int width, int height, int rotation) {
1423  (void)uid;
1424  (void)width;
1425  (void)height;
1426  (void)rotation;
1427  }
1428 
1440  virtual void onLocalVideoStateChanged(LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_ERROR error) {
1441  (void)state;
1442  (void)error;
1443  }
1444 
1456  virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) {
1457  (void)uid;
1458  (void)state;
1459  (void)reason;
1460  (void)elapsed;
1461  }
1462 
1477  virtual void onFirstRemoteVideoFrame(uid_t userId, int width, int height, int elapsed) {
1478  (void)userId;
1479  (void)width;
1480  (void)height;
1481  (void)elapsed;
1482  }
1483 
1502  virtual void onUserJoined(uid_t uid, int elapsed) {
1503  (void)uid;
1504  (void)elapsed;
1505  }
1506 
1521  virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) {
1522  (void)uid;
1523  (void)reason;
1524  }
1525 
1537  virtual void onUserMuteAudio(uid_t uid, bool muted) {
1538  (void)uid;
1539  (void)muted;
1540  }
1541 
1555  virtual void onUserMuteVideo(uid_t userId, bool muted) __deprecated {
1556  (void)userId;
1557  (void)muted;
1558  }
1559 
1576  virtual void onUserEnableVideo(uid_t uid, bool enabled) __deprecated {
1577  (void)uid;
1578  (void)enabled;
1579  }
1580 
1586  virtual void onUserStateChanged(uid_t uid, uint32_t state) {
1587  (void)uid;
1588  (void)state;
1589  }
1590 
1601  virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) __deprecated {
1602  (void)uid;
1603  (void)enabled;
1604  }
1605 
1613  virtual void onApiCallExecuted(int err, const char* api, const char* result) {
1614  (void)err;
1615  (void)api;
1616  (void)result;
1617  }
1618 
1626  virtual void onLocalAudioStats(const LocalAudioStats& stats) {
1627  (void)stats;
1628  }
1629 
1640  virtual void onRemoteAudioStats(const RemoteAudioStats& stats) {
1641  (void)stats;
1642  }
1643 
1657  virtual void onLocalVideoStats(const LocalVideoStats& stats) {
1658  (void)stats;
1659  }
1660 
1670  virtual void onRemoteVideoStats(const RemoteVideoStats& stats) {
1671  (void)stats;
1672  }
1673 
1674  virtual void onCameraReady() {}
1675 
1676  virtual void onCameraFocusAreaChanged(int x, int y, int width, int height) {
1677  (void)x;
1678  (void)y;
1679  (void)width;
1680  (void)height;
1681  }
1682 
1683  virtual void onCameraExposureAreaChanged(int x, int y, int width, int height) {
1684  (void)x;
1685  (void)y;
1686  (void)width;
1687  (void)height;
1688  }
1689 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
1690  virtual void onFacePositionChanged(int imageWidth, int imageHeight,
1691  const Rectangle* vecRectangle, const int* vecDistance,
1692  int numFaces) {
1693  (void) imageWidth;
1694  (void) imageHeight;
1695  (void) vecRectangle;
1696  (void) vecDistance;
1697  (void) numFaces;
1698  }
1699 #endif
1700  virtual void onVideoStopped() {}
1701 
1718  virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_ERROR_TYPE errorCode) {
1719  (void)state;
1720  (void)errorCode;
1721  }
1722 
1731  virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_ERROR_TYPE errorCode) {
1732  (void)state;
1733  (void)errorCode;
1734  }
1735 
1743  virtual void onConnectionLost() {}
1744 
1756  virtual void onConnectionInterrupted() {}
1757 
1760  virtual void onConnectionBanned() {}
1761 
1775  virtual void onStreamMessage(uid_t userId, int streamId, const char* data, size_t length, uint64_t sentTs) {
1776  (void)userId;
1777  (void)streamId;
1778  (void)data;
1779  (void)length;
1780  (void)sentTs;
1781  }
1782 
1796  virtual void onStreamMessageError(uid_t userId, int streamId, int code, int missed, int cached) {
1797  (void)userId;
1798  (void)streamId;
1799  (void)code;
1800  (void)missed;
1801  (void)cached;
1802  }
1803 
1815  virtual void onRequestToken() {}
1816 
1831  virtual void onTokenPrivilegeWillExpire(const char* token) {
1832  (void)token;
1833  }
1834 
1840  virtual void onFirstLocalAudioFramePublished(int elapsed) {
1841  (void)elapsed;
1842  }
1843 
1850  virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) {
1851  (void)uid;
1852  (void)elapsed;
1853  }
1854 
1862  virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) {
1863  (void)uid;
1864  (void)elapsed;
1865  }
1866 
1881  virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error) {
1882  (void)state;
1883  (void)error;
1884  }
1885 
1898  virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) {
1899  (void)uid;
1900  (void)state;
1901  (void)reason;
1902  (void)elapsed;
1903  }
1904 
1917  virtual void onActiveSpeaker(uid_t userId) { (void)userId; }
1919  virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result) { (void)result; }
1932  virtual void onSnapshotTaken(uid_t uid, const char* filePath, int width, int height, int errCode) {
1933  (void)uid;
1934  (void)filePath;
1935  (void)width;
1936  (void)height;
1937  (void)errCode;
1938  }
1946  virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole) {
1947  (void)oldRole;
1948  (void)newRole;
1949  }
1957  virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole) {
1958  (void)reason;
1959  (void)currentRole;
1960  }
1968  virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) {
1969  (void)deviceType;
1970  (void)volume;
1971  (void)muted;
1972  }
1973 
1987  virtual void onRtmpStreamingStateChanged(const char* url, RTMP_STREAM_PUBLISH_STATE state,
1988  RTMP_STREAM_PUBLISH_ERROR_TYPE errCode) {
1989  (void)url;
1990  (void)state;
1991  (void)errCode;
1992  }
1993 
2001  virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode) {
2002  (void)url;
2003  (void)eventCode;
2004  }
2005 
2041  virtual void onStreamPublished(const char* url, int error) __deprecated {
2042  (void)url;
2043  (void)error;
2044  }
2045 
2056  virtual void onStreamUnpublished(const char* url) __deprecated {
2057  (void)url;
2058  }
2059 
2071  virtual void onTranscodingUpdated() {}
2072 
2086  virtual void onAudioRoutingChanged(int routing) { (void)routing; }
2087 
2088 
2120  virtual void onChannelMediaRelayStateChanged(int state, int code) {
2121  (void)state;
2122  (void)code;
2123  }
2124 
2148  virtual void onChannelMediaRelayEvent(int code) {
2149  (void)code;
2150  }
2151 
2152  virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) {
2153  (void)isFallbackOrRecover;
2154  }
2155 
2156  virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover) {
2157  (void)uid;
2158  (void)isFallbackOrRecover;
2159  }
2160 
2174  virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost,
2175  unsigned short rxKBitRate) {
2176  (void)uid;
2177  (void)delay;
2178  (void)lost;
2179  (void)rxKBitRate;
2180  }
2181 
2195  virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost,
2196  unsigned short rxKBitRate) {
2197  (void)uid;
2198  (void)delay;
2199  (void)lost;
2200  (void)rxKBitRate;
2201  }
2202 
2209  CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) {
2210  (void)state;
2211  (void)reason;
2212  }
2213 
2218  virtual void onNetworkTypeChanged(NETWORK_TYPE type) {
2219  (void)type;
2220  }
2221 
2226  virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) {
2227  (void)errorType;
2228  }
2229 
2234  virtual void onPermissionError(PERMISSION_TYPE permissionType) {
2235  (void)permissionType;
2236  }
2237 
2246  virtual void onLocalUserRegistered(uid_t uid, const char* userAccount) {
2247  (void)uid;
2248  (void)userAccount;
2249  }
2250 
2259  virtual void onUserInfoUpdated(uid_t uid, const UserInfo& info) {
2260  (void)uid;
2261  (void)info;
2262  }
2269  virtual void onUploadLogResult(const char* requestId, bool success, UPLOAD_ERROR_REASON reason) {
2270  (void)requestId;
2271  (void)success;
2272  (void)reason;
2273  }
2274 
2284  virtual void onAudioSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
2285  (void)channel;
2286  (void)uid;
2287  (void)oldState;
2288  (void)newState;
2289  (void)elapseSinceLastState;
2290  }
2291 
2301  virtual void onVideoSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
2302  (void)channel;
2303  (void)uid;
2304  (void)oldState;
2305  (void)newState;
2306  (void)elapseSinceLastState;
2307  }
2308 
2317  virtual void onAudioPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
2318  (void)channel;
2319  (void)oldState;
2320  (void)newState;
2321  (void)elapseSinceLastState;
2322  }
2323 
2332  virtual void onVideoPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
2333  (void)channel;
2334  (void)oldState;
2335  (void)newState;
2336  (void)elapseSinceLastState;
2337  }
2338 
2339  virtual void onExtensionEvent(const char* provider, const char* ext_name, const char* key, const char* value) {
2340  (void)provider;
2341  (void)ext_name;
2342  (void)key;
2343  (void)value;
2344  }
2345 
2346  virtual void onExtensionStarted(const char* provider, const char* ext_name) {
2347  (void)provider;
2348  (void)ext_name;
2349  }
2350 
2351  virtual void onExtensionStopped(const char* provider, const char* ext_name) {
2352  (void)provider;
2353  (void)ext_name;
2354  }
2355 
2356  virtual void onExtensionErrored(const char* provider, const char* ext_name, int error, const char* msg) {
2357  (void)provider;
2358  (void)ext_name;
2359  (void)error;
2360  (void)msg;
2361  }
2362 
2363  virtual void onUserAccountUpdated(uid_t uid, const char* userAccount){
2364  (void)uid;
2365  (void)userAccount;
2366  }
2367 };
2368 
2373  public:
2374  virtual ~IVideoDeviceCollection() {}
2375 
2381  virtual int getCount() = 0;
2382 
2391  virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2392 
2404  virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH],
2405  char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2406 
2410  virtual void release() = 0;
2411 };
2412 
2417  public:
2418  virtual ~IVideoDeviceManager() {}
2434 
2444  virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2445 
2454  virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2455 
2456 #if defined(_WIN32) || (defined(__linux__) && !defined(__ANDROID__)) || \
2457  (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
2458 
2466  virtual int numberOfCapabilities(const char* deviceIdUTF8) = 0;
2467 
2479  virtual int getCapability(const char* deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat& capability) = 0;
2480 #endif
2481 
2494  virtual int startDeviceTest(view_t hwnd) = 0;
2495 
2502  virtual int stopDeviceTest() = 0;
2503 
2507  virtual void release() = 0;
2508 };
2509 
2514 
2520 
2525  const char* appId;
2526 
2532  void* context;
2533 
2541 
2545  CHANNEL_PROFILE_TYPE channelProfile;
2546 
2555  AUDIO_SCENARIO_TYPE audioScenario;
2556 
2566  unsigned int areaCode;
2567 
2572 
2577 
2586 
2588  : eventHandler(NULL), appId(NULL), context(NULL),
2589  enableAudioDevice(true), channelProfile(CHANNEL_PROFILE_LIVE_BROADCASTING),
2590  audioScenario(AUDIO_SCENARIO_DEFAULT),
2591  areaCode(AREA_CODE_GLOB),
2592  logConfig(), useExternalEglContext(false) {}
2593 };
2594 
2598 public:
2604  {
2611  };
2616  {
2617  INVALID_METADATA_SIZE_IN_BYTE = -1,
2618  DEFAULT_METADATA_SIZE_IN_BYTE = 512,
2619  MAX_METADATA_SIZE_IN_BYTE = 1024
2620  };
2621 
2624  struct Metadata
2625  {
2630  unsigned int uid;
2633  unsigned int size;
2636  unsigned char *buffer;
2641  long long timeStampMs;
2642  };
2643 
2644  virtual ~IMetadataObserver() {}
2645 
2655  virtual int getMaxMetadataSize() { return DEFAULT_METADATA_SIZE_IN_BYTE; }
2656 
2666  virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type) = 0;
2667 
2675  virtual void onMetadataReceived(const Metadata &metadata) = 0;
2676 };
2677 
2678 // The error codes for media streaming
2679 // GENERATED_JAVA_ENUM_PACKAGE: io.agora.streaming
2680 enum DIRECT_CDN_STREAMING_ERROR {
2681  // No error occurs.
2682  DIRECT_CDN_STREAMING_ERROR_OK = 0,
2683  // A general error occurs (no specified reason).
2684  DIRECT_CDN_STREAMING_ERROR_FAILED = 1,
2685  // Audio publication error.
2686  DIRECT_CDN_STREAMING_ERROR_AUDIO_PUBLICATION = 2,
2687  // Video publication error.
2688  DIRECT_CDN_STREAMING_ERROR_VIDEO_PUBLICATION = 3,
2689 
2690  DIRECT_CDN_STREAMING_ERROR_NET_CONNECT = 4,
2691  // Already exist stream name.
2692  DIRECT_CDN_STREAMING_ERROR_BAD_NAME = 5,
2693 };
2694 
2695 // The connection state of media streaming
2696 // GENERATED_JAVA_ENUM_PACKAGE: io.agora.streaming
2697 enum DIRECT_CDN_STREAMING_STATE {
2698 
2699  DIRECT_CDN_STREAMING_STATE_IDLE = 0,
2700 
2701  DIRECT_CDN_STREAMING_STATE_RUNNING = 1,
2702 
2703  DIRECT_CDN_STREAMING_STATE_STOPPED = 2,
2704 
2705  DIRECT_CDN_STREAMING_STATE_FAILED = 3,
2706 
2707  DIRECT_CDN_STREAMING_STATE_RECOVERING = 4,
2708 };
2709 
2718 
2723 
2727  int fps;
2728 
2733 
2738 };
2739 
2745  public:
2746  virtual ~IDirectCdnStreamingEventHandler() {}
2747 
2754  virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_ERROR error, const char* message) {
2755  (void)state;
2756  (void)error;
2757  (void)message;
2758  };
2759 
2760  virtual void onDirectCdnStreamingStats(const DirectCdnStreamingStats& stats) {
2761  (void)stats;
2762  };
2763 };
2764 
2804 
2807 
2808  void SetAll(const DirectCdnStreamingMediaOptions& change) {
2809 #define SET_FROM(X) SetFrom(&X, change.X)
2810  SET_FROM(publishCameraTrack);
2811  SET_FROM(publishMicrophoneTrack);
2812  SET_FROM(publishCustomAudioTrack);
2813  SET_FROM(publishCustomVideoTrack);
2814  SET_FROM(publishMediaPlayerAudioTrack);
2815  SET_FROM(publishMediaPlayerId);
2816 #undef SET_FROM
2817  }
2818 
2819  bool operator==(const DirectCdnStreamingMediaOptions& o) const {
2820 #define BEGIN_COMPARE() bool b = true
2821 #define ADD_COMPARE(X) b = (b && (X == o.X))
2822 #define END_COMPARE()
2823 
2824  BEGIN_COMPARE();
2825  ADD_COMPARE(publishCameraTrack);
2826  ADD_COMPARE(publishMicrophoneTrack);
2827  ADD_COMPARE(publishCustomAudioTrack);
2828  ADD_COMPARE(publishCustomVideoTrack);
2829  ADD_COMPARE(publishMediaPlayerAudioTrack);
2830  ADD_COMPARE(publishMediaPlayerId);
2831  END_COMPARE();
2832 
2833 #undef BEGIN_COMPARE
2834 #undef ADD_COMPARE
2835 #undef END_COMPARE
2836  return b;
2837  }
2838 
2839  DirectCdnStreamingMediaOptions& operator=(const DirectCdnStreamingMediaOptions& replace) {
2840  if (this != &replace) {
2841 #define REPLACE_BY(X) ReplaceBy(&X, replace.X)
2842 
2843  REPLACE_BY(publishCameraTrack);
2844  REPLACE_BY(publishMicrophoneTrack);
2845  REPLACE_BY(publishCustomAudioTrack);
2846  REPLACE_BY(publishCustomVideoTrack);
2847  REPLACE_BY(publishMediaPlayerAudioTrack);
2848  REPLACE_BY(publishMediaPlayerId);
2849 #undef REPLACE_BY
2850  }
2851  return *this;
2852  }
2853 
2854  template <typename T>
2855  static void SetFrom(Optional<T>* s, const Optional<T>& o) {
2856  if (o) {
2857  *s = o;
2858  }
2859  }
2860 
2861  template <typename T>
2862  static void ReplaceBy(Optional<T>* s, const Optional<T>& o) {
2863  *s = o;
2864  }
2865 };
2866 
2867 class IMediaPlayer;
2868 
2879  public:
2899  virtual void release(bool sync = false) = 0;
2900 
2914  virtual int initialize(const RtcEngineContext& context) = 0;
2915 
2916 
2917  virtual int queryInterface(INTERFACE_ID_TYPE iid, void** inter) = 0;
2918 
2919 
2925  virtual const char* getVersion(int* build) = 0;
2926 
2932  virtual const char* getErrorDescription(int code) = 0;
2933 
2974  virtual int joinChannel(const char* token, const char* channelId, const char* info,
2975  uid_t uid) = 0;
2976 
3015  virtual int joinChannel(const char* token, const char* channelId, uid_t uid,
3016  const ChannelMediaOptions& options) = 0;
3017 
3026  virtual int updateChannelMediaOptions(const ChannelMediaOptions& options) = 0;
3027 
3045  virtual int leaveChannel() = 0;
3046 
3066  virtual int leaveChannel(const LeaveChannelOptions& options) = 0;
3067 
3084  virtual int renewToken(const char* token) = 0;
3085 
3104  virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile) = 0;
3105 
3129  virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0;
3130 
3152  virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0;
3153 
3173  virtual int startEchoTest() = 0;
3174 
3191  virtual int startEchoTest(int intervalInSeconds) = 0;
3192 
3199  virtual int stopEchoTest() = 0;
3200 
3216  virtual int enableVideo() = 0;
3217 
3227  virtual int disableVideo() = 0;
3228 
3240  virtual int startPreview() = 0;
3241 
3249  virtual int startPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
3250 
3258  virtual int stopPreview() = 0;
3259 
3267  virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
3268 
3302  virtual int startLastmileProbeTest(const LastmileProbeConfig& config) = 0;
3303 
3305  virtual int stopLastmileProbeTest() = 0;
3306 
3324 
3334  virtual int setBeautyEffectOptions(bool enabled, const BeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
3335 
3368  virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource) = 0;
3369 
3426  virtual int enableRemoteSuperResolution(uid_t userId, bool enable) = 0;
3427 
3450  virtual int setupRemoteVideo(const VideoCanvas& canvas) = 0;
3451 
3468  virtual int setupLocalVideo(const VideoCanvas& canvas) = 0;
3469 
3483  virtual int enableAudio() = 0;
3484 
3496  virtual int disableAudio() = 0;
3497 
3519  virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) __deprecated = 0;
3520 
3536  virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile) = 0;
3559  virtual int enableLocalAudio(bool enabled) = 0;
3560 
3586  virtual int muteLocalAudioStream(bool mute) = 0;
3587 
3630  virtual int muteAllRemoteAudioStreams(bool mute) = 0;
3631 
3653  virtual int setDefaultMuteAllRemoteAudioStreams(bool mute) __deprecated = 0;
3654 
3671  virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0;
3672 
3684  virtual int muteLocalVideoStream(bool mute) = 0;
3685 
3710  virtual int enableLocalVideo(bool enabled) = 0;
3711 
3752  virtual int muteAllRemoteVideoStreams(bool mute) = 0;
3753 
3775  virtual int setDefaultMuteAllRemoteVideoStreams(bool mute) __deprecated = 0;
3776 
3793  virtual int muteRemoteVideoStream(uid_t uid, bool mute) = 0;
3794 
3812  virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0;
3813 
3824  virtual int setRemoteVideoSubscriptionOptions(uid_t uid, const VideoSubscriptionOptions &options) = 0;
3825 
3835  virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType) = 0;
3836 
3857  virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad) = 0;
3858 
3879  virtual int startAudioRecording(const char* filePath,
3880  AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
3902  virtual int startAudioRecording(const char* filePath,
3903  int sampleRate,
3904  AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
3905 
3924  virtual int startAudioRecording(const AudioRecordingConfiguration& config) = 0;
3925 
3932 
3941  virtual int stopAudioRecording() = 0;
3943 
3953  virtual agora_refptr<IMediaPlayer> createMediaPlayer() = 0;
3954 
3966  virtual int destroyMediaPlayer(agora_refptr<IMediaPlayer> media_player) = 0;
3968 
4017  virtual int startAudioMixing(const char* filePath, bool loopback, bool replace, int cycle) = 0;
4018 
4069  virtual int startAudioMixing(const char* filePath, bool loopback, bool replace, int cycle, int startPos) = 0;
4070 
4079  virtual int stopAudioMixing() = 0;
4080 
4089  virtual int pauseAudioMixing() = 0;
4090 
4099  virtual int resumeAudioMixing() = 0;
4100 
4115  virtual int adjustAudioMixingVolume(int volume) = 0;
4116 
4124  virtual int adjustAudioMixingPublishVolume(int volume) = 0;
4125 
4133  virtual int getAudioMixingPublishVolume() = 0;
4134 
4142  virtual int adjustAudioMixingPlayoutVolume(int volume) = 0;
4143 
4151  virtual int getAudioMixingPlayoutVolume() = 0;
4152 
4161  virtual int getAudioMixingDuration() = 0;
4162 
4182  virtual int setAudioMixingPosition(int pos /*in ms*/) = 0;
4199  virtual int setAudioMixingPitch(int pitch) = 0;
4207  virtual int getEffectsVolume() = 0;
4217  virtual int setEffectsVolume(int volume) = 0;
4241  virtual int preloadEffect(int soundId, const char* filePath, int startPos = 0) = 0;
4283  virtual int playEffect(int soundId, const char* filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0) = 0;
4314  virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false) = 0;
4315 
4325  virtual int getVolumeOfEffect(int soundId) = 0;
4326 
4337  virtual int setVolumeOfEffect(int soundId, int volume) = 0;
4346  virtual int pauseEffect(int soundId) = 0;
4353  virtual int pauseAllEffects() = 0;
4362  virtual int resumeEffect(int soundId) = 0;
4369  virtual int resumeAllEffects() = 0;
4378  virtual int stopEffect(int soundId) = 0;
4385  virtual int stopAllEffects() = 0;
4394  virtual int unloadEffect(int soundId) = 0;
4401  virtual int unloadAllEffects() = 0;
4402 
4415  virtual int enableSoundPositionIndication(bool enabled) = 0;
4436  virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0;
4437 
4447  virtual int enableSpatialAudio(bool enabled) = 0;
4448 
4458  virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams& params) = 0;
4459 
4497  virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset) = 0;
4498 
4536  virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset) = 0;
4537 
4573  virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset) = 0;
4574 
4650  virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2) = 0;
4651 
4694  virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset,
4695  int param1, int param2) = 0;
4696 
4709  virtual int setVoiceConversionParameters(VOICE_CONVERSION_PRESET preset,
4710  int param1, int param2) = 0;
4711 
4722  virtual int setLocalVoicePitch(double pitch) = 0;
4723 
4735  virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency,
4736  int bandGain) = 0;
4737 
4746  virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value) = 0;
4747 
4763  virtual int setLogFile(const char* filePath) = 0;
4764 
4787  virtual int setLogFilter(unsigned int filter) = 0;
4788 
4805  virtual int setLogLevel(commons::LOG_LEVEL level) = 0;
4806 
4821  virtual int setLogFileSize(unsigned int fileSizeInKBytes) = 0;
4822 
4831  virtual int uploadLogFile(agora::util::AString& requestId) = 0;
4832 
4851  virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
4872  virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode,
4873  VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
4874 
4875  // The following APIs are either deprecated and going to deleted.
4876 
4894  virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) = 0;
4895 
4907  virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
4908 
4923  virtual int enableDualStreamMode(bool enabled) = 0;
4924 
4941  virtual int enableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled) = 0;
4942 
4961  virtual int enableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled, const SimulcastStreamConfig& streamConfig) = 0;
4962 
4963 
4964  virtual int enableEchoCancellationExternal(bool enabled, int audioSourceDelay) = 0;
4965 
4980  virtual int enableCustomAudioLocalPlayback(int sourceId, bool enabled) = 0;
4981 
4989  virtual int startPrimaryCustomAudioTrack(const AudioTrackConfig& config) = 0;
4990 
4998  virtual int stopPrimaryCustomAudioTrack() = 0;
4999 
5007  virtual int startSecondaryCustomAudioTrack(const AudioTrackConfig& config) = 0;
5008 
5017 
5036  virtual int setRecordingAudioFrameParameters(int sampleRate, int channel,
5037  RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
5038  int samplesPerCall) = 0;
5039 
5059  virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel,
5060  RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
5061  int samplesPerCall) = 0;
5062 
5078  virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall) = 0;
5079 
5099  virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel,
5100  RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
5101  int samplesPerCall) = 0;
5102 
5118  virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel) = 0;
5119 
5130  virtual int enableAudioSpectrumMonitor(int intervalInMS = 100) = 0;
5138  virtual int disableAudioSpectrumMonitor() = 0;
5139 
5165 
5179  virtual int adjustRecordingSignalVolume(int volume) = 0;
5180 
5192  virtual int muteRecordingSignal(bool mute) = 0;
5193 
5207  virtual int adjustPlaybackSignalVolume(int volume) = 0;
5208 
5209  /*
5210  * Adjust the playback volume of the user specified by uid.
5211  *
5212  * You can call this method to adjust the playback volume of the user specified by uid
5213  * in call. If you want to adjust playback volume of the multi user, you can call this
5214  * this method multi times.
5215  *
5216  * @note
5217  * Please call this method after join channel.
5218  * This method adjust the playback volume of specified user.
5219  *
5220  * @param uid Remote user ID。
5221  * @param volume The playback volume of the specified remote user. The value ranges between 0 and 400, including the following:
5222  * 0: Mute.
5223  * 100: (Default) Original volume.
5224  * 400: Four times the original volume with signal-clipping protection.
5225  * @return
5226  * - 0: Success.
5227  * - < 0: Failure.
5228  */
5229  virtual int adjustUserPlaybackSignalVolume(unsigned int uid, int volume) = 0;
5230 
5252  virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0;
5253 
5269  virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0;
5270 
5289  virtual int enableLoopbackRecording(bool enabled, const char* deviceName = NULL) = 0;
5290 
5291 
5304  virtual int adjustLoopbackRecordingVolume(int volume) = 0;
5305 
5312  virtual int getLoopbackRecordingVolume() = 0;
5313 
5325  virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters) = 0;
5326 
5337  virtual int setInEarMonitoringVolume(int volume) = 0;
5338 
5339 #if defined (_WIN32) || defined(__linux__) || defined(__ANDROID__)
5340  virtual int loadExtensionProvider(const char* path) = 0;
5341 #endif
5342 
5355  const char* provider, const char* key, const char* value) = 0;
5356 
5370  virtual int enableExtension(
5371  const char* provider, const char* extension, bool enable=true, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
5372 
5386  const char* provider, const char* extension,
5387  const char* key, const char* value, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
5388 
5403  const char* provider, const char* extension,
5404  const char* key, char* value, int buf_len, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
5405 
5418 
5419 
5420 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
5421 
5430  virtual int switchCamera() = 0;
5431 
5439  virtual bool isCameraZoomSupported() = 0;
5440 
5448  virtual bool isCameraFaceDetectSupported() = 0;
5449 
5457  virtual bool isCameraTorchSupported() = 0;
5458 
5466  virtual bool isCameraFocusSupported() = 0;
5467 
5475  virtual bool isCameraAutoFocusFaceModeSupported() = 0;
5476 
5486  virtual int setCameraZoomFactor(float factor) = 0;
5487 
5496  virtual int enableFaceDetection(bool enabled) = 0;
5497 
5502  virtual float getCameraMaxZoomFactor() = 0;
5503 
5513  virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0;
5514 
5522  virtual int setCameraTorchOn(bool isOn) = 0;
5523 
5531  virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0;
5532 
5544  virtual bool isCameraExposurePositionSupported() = 0;
5545 
5561  virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0;
5562 
5563 #if defined(__APPLE__)
5564 
5571  virtual bool isCameraAutoExposureFaceModeSupported() = 0;
5572 
5573 
5581  virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0;
5582 #endif
5583 
5617  virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0;
5618 
5645  virtual int setEnableSpeakerphone(bool speakerOn) = 0;
5646 
5654  virtual bool isSpeakerphoneEnabled() = 0;
5655 
5656 #endif // __ANDROID__ || (__APPLE__ && TARGET_OS_IOS)
5657 
5658 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
5659 
5669  virtual IScreenCaptureSourceList* getScreenCaptureSources(const SIZE& thumbSize, const SIZE& iconSize, const bool includeScreen) = 0;
5670 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
5671 #if (defined(__APPLE__) && TARGET_OS_IOS)
5672 
5696  virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction) = 0;
5697 #endif // __APPLE__ && TARGET_OS_IOS
5698 
5699 #if defined(_WIN32) || (defined(__APPLE__) && !TARGET_OS_IPHONE && TARGET_OS_MAC)
5700 
5721  virtual int startScreenCaptureByDisplayId(uint32_t displayId, const Rectangle& regionRect,
5722  const ScreenCaptureParameters& captureParams) = 0;
5723 
5724 #endif // __APPLE__ && TARGET_OS_MAC && !TARGET_OS_IPHONE
5725 
5726 #if defined(_WIN32)
5727 
5751  virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect,
5752  const Rectangle& regionRect,
5753  const ScreenCaptureParameters& captureParams) = 0;
5754 
5755 #endif // _WIN32
5756 
5757 #if defined(__ANDROID__)
5758 
5777  virtual int startScreenCapture(void* mediaProjectionPermissionResultData,
5778  const ScreenCaptureParameters& captureParams) = 0;
5779 
5786  virtual int getAudioDeviceInfo(DeviceInfo& deviceInfo) = 0;
5787 
5788 #endif // __ANDROID__
5789 
5790 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
5791 
5809  virtual int startScreenCaptureByWindowId(view_t windowId, const Rectangle& regionRect,
5810  const ScreenCaptureParameters& captureParams) = 0;
5811 
5827  virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint) = 0;
5828 
5845  virtual int setScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario) = 0;
5846 
5863  virtual int updateScreenCaptureRegion(const Rectangle& regionRect) = 0;
5864 
5865 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
5866 
5867 #if defined(_WIN32) || defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
5868 
5882  virtual int updateScreenCaptureParameters(const ScreenCaptureParameters& captureParams) = 0;
5883 
5891  virtual int stopScreenCapture() = 0;
5892 
5893 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC) || __ANDROID__
5894 
5911  virtual int getCallId(agora::util::AString& callId) = 0;
5912 
5927  virtual int rate(const char* callId, int rating,
5928  const char* description) = 0; // 0~10
5929 
5943  virtual int complain(const char* callId, const char* description) = 0;
5944 
5975  virtual int addPublishStreamUrl(const char* url, bool transcodingEnabled) = 0;
5976 
5997  virtual int removePublishStreamUrl(const char* url) = 0;
5998 
6018  virtual int setLiveTranscoding(const LiveTranscoding& transcoding) = 0;
6019 
6039  virtual int startRtmpStreamWithoutTranscoding(const char* url) = 0;
6040 
6061  virtual int startRtmpStreamWithTranscoding(const char* url, const LiveTranscoding& transcoding) = 0;
6062 
6072  virtual int updateRtmpTranscoding(const LiveTranscoding& transcoding) = 0;
6091  virtual int stopRtmpStream(const char* url) = 0;
6092 
6093 
6094  virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration& config) = 0;
6095  virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration& config) = 0;
6096  virtual int stopLocalVideoTranscoder() = 0;
6097 
6098  virtual int startPrimaryCameraCapture(const CameraCapturerConfiguration& config) = 0;
6099  virtual int startSecondaryCameraCapture(const CameraCapturerConfiguration& config) = 0;
6100  virtual int stopPrimaryCameraCapture() = 0;
6101  virtual int stopSecondaryCameraCapture() = 0;
6102 
6103  virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
6104  virtual int setScreenCaptureOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
6105 
6106  virtual int startPrimaryScreenCapture(const ScreenCaptureConfiguration& config) = 0;
6107  virtual int startSecondaryScreenCapture(const ScreenCaptureConfiguration& config) = 0;
6108  virtual int stopPrimaryScreenCapture() = 0;
6109  virtual int stopSecondaryScreenCapture() = 0;
6110 
6115  virtual CONNECTION_STATE_TYPE getConnectionState() = 0;
6116 
6117  // The following APIs are not implemented yet.
6118  virtual bool registerEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
6119  virtual bool unregisterEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
6120  virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0;
6121 
6133  virtual int registerPacketObserver(IPacketObserver* observer) = 0;
6134 
6157  virtual int setEncryptionMode(const char* encryptionMode) __deprecated = 0;
6158 
6175  virtual int setEncryptionSecret(const char* secret) __deprecated = 0;
6176 
6198  virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0;
6199 
6231  virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0;
6232 
6242  virtual int createDataStream(int* streamId, DataStreamConfig& config) = 0;
6243 
6274  virtual int sendStreamMessage(int streamId, const char* data, size_t length) = 0;
6275 
6297  virtual int addVideoWatermark(const RtcImage& watermark) = 0;
6298 
6324  virtual int addVideoWatermark(const char* watermarkUrl, const WatermarkOptions& options) = 0;
6325 
6333  virtual int clearVideoWatermark() = 0;
6334 
6342  virtual int clearVideoWatermarks() = 0;
6343 
6370  virtual int addInjectStreamUrl(const char* url, const InjectStreamConfig& config) = 0;
6371 
6383  virtual int removeInjectStreamUrl(const char* url) = 0;
6384 
6385  // The following APIs are either deprecated and going to deleted.
6386 
6395  virtual int pauseAudio() __deprecated = 0;
6404  virtual int resumeAudio() __deprecated = 0;
6405 
6423  virtual int enableWebSdkInteroperability(bool enabled) __deprecated = 0;
6424 
6435  const char* id, const char* category, const char* event, const char* label, int value) = 0;
6436 
6458  virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0;
6459 
6468  virtual int unregisterMediaMetadataObserver(IMetadataObserver* observer, IMetadataObserver::METADATA_TYPE type) = 0;
6469 
6479  virtual int startAudioFrameDump(const char* channel_id, uid_t user_id, const char* location,
6480  const char* uuid, const char* passwd, long duration_ms, bool auto_upload) = 0;
6481 
6482  virtual int stopAudioFrameDump(const char* channel_id, uid_t user_id, const char* location) = 0;
6483 
6515  virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0;
6516 
6547  virtual int joinChannelWithUserAccount(const char* token, const char* channelId,
6548  const char* userAccount) = 0;
6549 
6581  virtual int joinChannelWithUserAccount(const char* token, const char* channelId,
6582  const char* userAccount, const ChannelMediaOptions& options) = 0;
6583 
6616  virtual int joinChannelWithUserAccountEx(const char* token, const char* channelId,
6617  const char* userAccount, const ChannelMediaOptions& options,
6618  IRtcEngineEventHandler* eventHandler) = 0;
6619 
6637  virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo) = 0;
6638 
6656  virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo) = 0;
6697  virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0;
6698 
6722  virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0;
6723 
6748  virtual int stopChannelMediaRelay() = 0;
6749 
6750 
6756  virtual int pauseAllChannelMediaRelay() = 0;
6757 
6763  virtual int resumeAllChannelMediaRelay() = 0;
6764 
6777  virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile) = 0;
6778 
6794 
6807  const char* publishUrl, const DirectCdnStreamingMediaOptions& options) = 0;
6808 
6818  virtual int stopDirectCdnStreaming() = 0;
6819 
6832 
6841  virtual int pushDirectCdnStreamingCustomVideoFrame(media::base::ExternalVideoFrame* frame) = 0;
6842 
6848  virtual int switchChannel(const char* token, const char* channel) = 0;
6849 
6860  virtual int startRhythmPlayer(const char* sound1, const char* sound2, const AgoraRhythmPlayerConfig& config) = 0;
6861 
6868  virtual int stopRhythmPlayer() = 0;
6869 
6878  virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig& config) = 0;
6888  virtual int takeSnapshot(uid_t uid, const char* filePath) = 0;
6896  virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config) = 0;
6897  /*
6898  * Adjust the custom audio publish volume by source id.
6899  * @param sourceId custom audio source id.
6900  * @param volume The volume, range is [0,100]:
6901  * 0: mute, 100: The original volume
6902  * @return
6903  * - 0: Success.
6904  * - < 0: Failure.
6905  */
6906  virtual int adjustCustomAudioPublishVolume(int32_t sourceId, int volume) = 0;
6907 
6908  /*
6909  * Adjust the custom audio playout volume by source id.
6910  * @param sourceId custom audio source id.
6911  * @param volume The volume, range is [0,100]:
6912  * 0: mute, 100: The original volume
6913  * @return
6914  * - 0: Success.
6915  * - < 0: Failure.
6916  */
6917  virtual int adjustCustomAudioPlayoutVolume(int32_t sourceId, int volume) = 0;
6918 
6948  virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0;
6957  virtual int setLocalAccessPoint(const LocalAccessPointConfiguration& config) = 0;
6958 
6968  virtual int enableFishCorrection(bool enabled, const FishCorrectionParams& params) = 0;
6976  virtual int setAdvancedAudioOptions(media::base::AdvancedAudioOptions &options) = 0;
6977 
6988  virtual int setAVSyncSource(const char* channelId, uid_t uid) = 0;
6989 
6996  virtual int enableVideoImageSource(bool enable, const ImageTrackOptions& options) = 0;
6997 
6998  /*
6999  * Get monotonic time in ms which can be used by capture time,
7000  * typical scenario is as follows:
7001  *
7002  * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
7003  * | // custom audio/video base capture time, e.g. the first audio/video capture time. |
7004  * | int64_t custom_capture_time_base; |
7005  * | |
7006  * | int64_t agora_monotonic_time = getCurrentMonotonicTimeInMs(); |
7007  * | |
7008  * | // offset is fixed once calculated in the begining. |
7009  * | const int64_t offset = agora_monotonic_time - custom_capture_time_base; |
7010  * | |
7011  * | // realtime_custom_audio/video_capture_time is the origin capture time that customer provided.|
7012  * | // actual_audio/video_capture_time is the actual capture time transfered to sdk. |
7013  * | int64_t actual_audio_capture_time = realtime_custom_audio_capture_time + offset; |
7014  * | int64_t actual_video_capture_time = realtime_custom_video_capture_time + offset; |
7015  * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
7016  *
7017  * @return
7018  * - >= 0: Success.
7019  * - < 0: Failure.
7020  */
7021  virtual int64_t getCurrentMonotonicTimeInMs() = 0;
7022 };
7023 
7025  public:
7026  virtual ~IRtcEngineParameter() {}
7027 
7031  virtual void release() = 0;
7032 
7041  virtual int setBool(const char* key, bool value) = 0;
7042 
7051  virtual int setInt(const char* key, int value) = 0;
7052 
7061  virtual int setUInt(const char* key, unsigned int value) = 0;
7062 
7071  virtual int setNumber(const char* key, double value) = 0;
7072 
7081  virtual int setString(const char* key, const char* value) = 0;
7082 
7091  virtual int setObject(const char* key, const char* value) = 0;
7092 
7101  virtual int getBool(const char* key, bool& value) = 0;
7102 
7111  virtual int getInt(const char* key, int& value) = 0;
7112 
7121  virtual int getUInt(const char* key, unsigned int& value) = 0;
7122 
7131  virtual int getNumber(const char* key, double& value) = 0;
7132 
7141  virtual int getString(const char* key, agora::util::AString& value) = 0;
7142 
7151  virtual int getObject(const char* key, agora::util::AString& value) = 0;
7152 
7161  virtual int getArray(const char* key, agora::util::AString& value) = 0;
7162 
7170  virtual int setParameters(const char* parameters) = 0;
7171 
7182  virtual int setProfile(const char* profile, bool merge) = 0;
7183 
7184  virtual int convertPath(const char* filePath, agora::util::AString& value) = 0;
7185 };
7186 
7187 class AAudioDeviceManager : public agora::util::AutoPtr<IAudioDeviceManager> {
7188  public:
7189  AAudioDeviceManager(IRtcEngine* engine) {
7190  queryInterface(engine, AGORA_IID_AUDIO_DEVICE_MANAGER);
7191  }
7192 };
7193 
7194 class AVideoDeviceManager : public agora::util::AutoPtr<IVideoDeviceManager> {
7195  public:
7196  AVideoDeviceManager(IRtcEngine* engine) {
7197  queryInterface(engine, AGORA_IID_VIDEO_DEVICE_MANAGER);
7198  }
7199 };
7200 
7201 // The following types are either deprecated or not implmented yet.
7202 enum QUALITY_REPORT_FORMAT_TYPE {
7205  QUALITY_REPORT_JSON = 0,
7208  QUALITY_REPORT_HTML = 1,
7209 };
7210 
7212 enum MEDIA_DEVICE_STATE_TYPE {
7215  MEDIA_DEVICE_STATE_IDLE = 0,
7218  MEDIA_DEVICE_STATE_ACTIVE = 1,
7221  MEDIA_DEVICE_STATE_DISABLED = 2,
7224  MEDIA_DEVICE_STATE_NOT_PRESENT = 4,
7227  MEDIA_DEVICE_STATE_UNPLUGGED = 8
7228 };
7229 
7230 enum VIDEO_PROFILE_TYPE { // res fps
7232  VIDEO_PROFILE_LANDSCAPE_120P = 0, // 160x120 15
7234  VIDEO_PROFILE_LANDSCAPE_120P_3 = 2, // 120x120 15
7236  VIDEO_PROFILE_LANDSCAPE_180P = 10, // 320x180 15
7238  VIDEO_PROFILE_LANDSCAPE_180P_3 = 12, // 180x180 15
7240  VIDEO_PROFILE_LANDSCAPE_180P_4 = 13, // 240x180 15
7242  VIDEO_PROFILE_LANDSCAPE_240P = 20, // 320x240 15
7244  VIDEO_PROFILE_LANDSCAPE_240P_3 = 22, // 240x240 15
7246  VIDEO_PROFILE_LANDSCAPE_240P_4 = 23, // 424x240 15
7248  VIDEO_PROFILE_LANDSCAPE_360P = 30, // 640x360 15
7250  VIDEO_PROFILE_LANDSCAPE_360P_3 = 32, // 360x360 15
7252  VIDEO_PROFILE_LANDSCAPE_360P_4 = 33, // 640x360 30
7254  VIDEO_PROFILE_LANDSCAPE_360P_6 = 35, // 360x360 30
7256  VIDEO_PROFILE_LANDSCAPE_360P_7 = 36, // 480x360 15
7258  VIDEO_PROFILE_LANDSCAPE_360P_8 = 37, // 480x360 30
7260  VIDEO_PROFILE_LANDSCAPE_360P_9 = 38, // 640x360 15
7262  VIDEO_PROFILE_LANDSCAPE_360P_10 = 39, // 640x360 24
7264  VIDEO_PROFILE_LANDSCAPE_360P_11 = 100, // 640x360 24
7266  VIDEO_PROFILE_LANDSCAPE_480P = 40, // 640x480 15
7268  VIDEO_PROFILE_LANDSCAPE_480P_3 = 42, // 480x480 15
7270  VIDEO_PROFILE_LANDSCAPE_480P_4 = 43, // 640x480 30
7272  VIDEO_PROFILE_LANDSCAPE_480P_6 = 45, // 480x480 30
7274  VIDEO_PROFILE_LANDSCAPE_480P_8 = 47, // 848x480 15
7276  VIDEO_PROFILE_LANDSCAPE_480P_9 = 48, // 848x480 30
7278  VIDEO_PROFILE_LANDSCAPE_480P_10 = 49, // 640x480 10
7280  VIDEO_PROFILE_LANDSCAPE_720P = 50, // 1280x720 15
7282  VIDEO_PROFILE_LANDSCAPE_720P_3 = 52, // 1280x720 30
7284  VIDEO_PROFILE_LANDSCAPE_720P_5 = 54, // 960x720 15
7286  VIDEO_PROFILE_LANDSCAPE_720P_6 = 55, // 960x720 30
7288  VIDEO_PROFILE_LANDSCAPE_1080P = 60, // 1920x1080 15
7290  VIDEO_PROFILE_LANDSCAPE_1080P_3 = 62, // 1920x1080 30
7292  VIDEO_PROFILE_LANDSCAPE_1080P_5 = 64, // 1920x1080 60
7294  VIDEO_PROFILE_LANDSCAPE_1440P = 66, // 2560x1440 30
7296  VIDEO_PROFILE_LANDSCAPE_1440P_2 = 67, // 2560x1440 60
7298  VIDEO_PROFILE_LANDSCAPE_4K = 70, // 3840x2160 30
7300  VIDEO_PROFILE_LANDSCAPE_4K_3 = 72, // 3840x2160 60
7302  VIDEO_PROFILE_PORTRAIT_120P = 1000, // 120x160 15
7304  VIDEO_PROFILE_PORTRAIT_120P_3 = 1002, // 120x120 15
7306  VIDEO_PROFILE_PORTRAIT_180P = 1010, // 180x320 15
7308  VIDEO_PROFILE_PORTRAIT_180P_3 = 1012, // 180x180 15
7310  VIDEO_PROFILE_PORTRAIT_180P_4 = 1013, // 180x240 15
7312  VIDEO_PROFILE_PORTRAIT_240P = 1020, // 240x320 15
7314  VIDEO_PROFILE_PORTRAIT_240P_3 = 1022, // 240x240 15
7316  VIDEO_PROFILE_PORTRAIT_240P_4 = 1023, // 240x424 15
7318  VIDEO_PROFILE_PORTRAIT_360P = 1030, // 360x640 15
7320  VIDEO_PROFILE_PORTRAIT_360P_3 = 1032, // 360x360 15
7322  VIDEO_PROFILE_PORTRAIT_360P_4 = 1033, // 360x640 30
7324  VIDEO_PROFILE_PORTRAIT_360P_6 = 1035, // 360x360 30
7326  VIDEO_PROFILE_PORTRAIT_360P_7 = 1036, // 360x480 15
7328  VIDEO_PROFILE_PORTRAIT_360P_8 = 1037, // 360x480 30
7330  VIDEO_PROFILE_PORTRAIT_360P_9 = 1038, // 360x640 15
7332  VIDEO_PROFILE_PORTRAIT_360P_10 = 1039, // 360x640 24
7334  VIDEO_PROFILE_PORTRAIT_360P_11 = 1100, // 360x640 24
7336  VIDEO_PROFILE_PORTRAIT_480P = 1040, // 480x640 15
7338  VIDEO_PROFILE_PORTRAIT_480P_3 = 1042, // 480x480 15
7340  VIDEO_PROFILE_PORTRAIT_480P_4 = 1043, // 480x640 30
7342  VIDEO_PROFILE_PORTRAIT_480P_6 = 1045, // 480x480 30
7344  VIDEO_PROFILE_PORTRAIT_480P_8 = 1047, // 480x848 15
7346  VIDEO_PROFILE_PORTRAIT_480P_9 = 1048, // 480x848 30
7348  VIDEO_PROFILE_PORTRAIT_480P_10 = 1049, // 480x640 10
7350  VIDEO_PROFILE_PORTRAIT_720P = 1050, // 720x1280 15
7352  VIDEO_PROFILE_PORTRAIT_720P_3 = 1052, // 720x1280 30
7354  VIDEO_PROFILE_PORTRAIT_720P_5 = 1054, // 720x960 15
7356  VIDEO_PROFILE_PORTRAIT_720P_6 = 1055, // 720x960 30
7358  VIDEO_PROFILE_PORTRAIT_1080P = 1060, // 1080x1920 15
7360  VIDEO_PROFILE_PORTRAIT_1080P_3 = 1062, // 1080x1920 30
7362  VIDEO_PROFILE_PORTRAIT_1080P_5 = 1064, // 1080x1920 60
7364  VIDEO_PROFILE_PORTRAIT_1440P = 1066, // 1440x2560 30
7366  VIDEO_PROFILE_PORTRAIT_1440P_2 = 1067, // 1440x2560 60
7368  VIDEO_PROFILE_PORTRAIT_4K = 1070, // 2160x3840 30
7370  VIDEO_PROFILE_PORTRAIT_4K_3 = 1072, // 2160x3840 60
7372  VIDEO_PROFILE_DEFAULT = VIDEO_PROFILE_LANDSCAPE_360P,
7373 };
7374 
7375 } // namespace rtc
7376 } // namespace agora
7377 
7383 #define getAgoraRtcEngineVersion getAgoraSdkVersion
7384 
7386 
7389 
7396 
7398 
7399 
7406 #define getAgoraRtcEngineErrorDescription getAgoraSdkErrorDescription
7407 #define setAgoraRtcEngineExternalSymbolLoader setAgoraSdkExternalSymbolLoader
agora::rtc::IRtcEngineEventHandler::onApiCallExecuted
virtual void onApiCallExecuted(int err, const char *api, const char *result)
Definition: IAgoraRtcEngine.h:1613
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:795
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:2525
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:2001
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:5257
agora::rtc::RemoteVideoStats::publishDuration
int publishDuration
Definition: IAgoraRtcEngine.h:376
agora::rtc::IRtcEngine::stopDirectCdnStreaming
virtual int stopDirectCdnStreaming()=0
agora::rtc::LastmileProbeResult
Definition: AgoraBase.h:3920
agora::rtc::IRtcEngine::setEncryptionSecret
virtual int setEncryptionSecret(const char *secret) __deprecated=0
agora::rtc::AudioEncodedFrameObserverConfig
Definition: AgoraBase.h:4730
agora::rtc::ScreenCaptureParameters
Definition: AgoraBase.h:4564
agora::rtc::IRtcEngine::muteAllRemoteVideoStreams
virtual int muteAllRemoteVideoStreams(bool mute)=0
agora::rtc::IRtcEngine::setRemoteVideoSubscriptionOptions
virtual int setRemoteVideoSubscriptionOptions(uid_t uid, const VideoSubscriptionOptions &options)=0
agora::rtc::AudioVolumeInfo
Definition: AgoraBase.h:3184
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:4153
agora::rtc::ChannelMediaOptions::publishSecondaryCameraTrack
Optional< bool > publishSecondaryCameraTrack
Definition: IAgoraRtcEngine.h:731
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:2519
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:1330
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:2722
agora::rtc::LastmileProbeConfig
Definition: AgoraBase.h:3846
agora::rtc::IRtcEngine::enableLocalVideo
virtual int enableLocalVideo(bool enabled)=0
agora::rtc::IRtcEngineEventHandler::onLeaveChannel
virtual void onLeaveChannel(const RtcStats &stats)
Definition: IAgoraRtcEngine.h:1246
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:1379
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoDecoded
virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) __deprecated
Definition: IAgoraRtcEngine.h:1415
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:2041
agora::rtc::RtcEngineContext::threadPriority
Optional< THREAD_PRIORITY_TYPE > threadPriority
Definition: IAgoraRtcEngine.h:2576
agora::rtc::IRtcEngine::registerAudioEncodedFrameObserver
virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig &config, IAudioEncodedFrameObserver *observer)=0
agora::rtc::ChannelMediaOptions::enableBuiltInMediaEncryption
Optional< bool > enableBuiltInMediaEncryption
Definition: IAgoraRtcEngine.h:874
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:1066
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:880
agora::rtc::ChannelMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition: IAgoraRtcEngine.h:783
agora::media::IAudioSpectrumObserver
Definition: AgoraMediaBase.h:966
agora::rtc::DirectCdnStreamingStats::videoWidth
int videoWidth
Definition: IAgoraRtcEngine.h:2717
agora::rtc::IRtcEngineEventHandler::onRemoteAudioTransportStats
virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate)
Definition: IAgoraRtcEngine.h:2174
agora::rtc::IMetadataObserver::Metadata::buffer
unsigned char * buffer
Definition: IAgoraRtcEngine.h:2636
agora::rtc::PublisherConfiguration::publishUrl
const char * publishUrl
Definition: IAgoraRtcEngine.h:565
agora::rtc::ChannelMediaOptions::publishCustomAudioSourceId
Optional< int > publishCustomAudioSourceId
Definition: IAgoraRtcEngine.h:759
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:1053
agora::rtc::IMetadataObserver::Metadata::timeStampMs
long long timeStampMs
Definition: IAgoraRtcEngine.h:2641
agora::rtc::IRtcEngineEventHandler::onLocalAudioStats
virtual void onLocalAudioStats(const LocalAudioStats &stats)
Definition: IAgoraRtcEngine.h:1626
agora::rtc::ChannelMediaOptions::autoSubscribeAudio
Optional< bool > autoSubscribeAudio
Definition: IAgoraRtcEngine.h:814
agora::rtc::LocalAccessPointConfiguration
Definition: IAgoraRtcEngine.h:1035
agora::rtc::IRtcEngineEventHandler::onClientRoleChangeFailed
virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole)
Definition: IAgoraRtcEngine.h:1957
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:2732
agora::rtc::IRtcEngineEventHandler::onLastmileQuality
virtual void onLastmileQuality(int quality)
Definition: IAgoraRtcEngine.h:1367
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:1576
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:3634
agora::rtc::ChannelMediaOptions::audienceLatencyLevel
Optional< AUDIENCE_LATENCY_LEVEL_TYPE > audienceLatencyLevel
Definition: IAgoraRtcEngine.h:846
agora::rtc::LocalVideoStats::sentFrameRate
int sentFrameRate
Definition: IAgoraRtcEngine.h:246
agora::rtc::Rectangle
Definition: AgoraBase.h:2173
agora::rtc::LocalAccessPointConfiguration::ipList
const char ** ipList
Definition: IAgoraRtcEngine.h:1038
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:2259
agora::rtc::IRtcEngineEventHandler::onNetworkTypeChanged
virtual void onNetworkTypeChanged(NETWORK_TYPE type)
Definition: IAgoraRtcEngine.h:2218
agora::rtc::InjectStreamConfig::videoFramerate
int videoFramerate
Definition: IAgoraRtcEngine.h:479
agora::rtc::ChannelMediaOptions::publishCustomAudioTrackEnableAec
Optional< bool > publishCustomAudioTrackEnableAec
Definition: IAgoraRtcEngine.h:765
agora::rtc::IRtcEngine::enableAudioVolumeIndication
virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad)=0
agora::rtc::ChannelMediaOptions::mediaPlayerAudioDelayMs
Optional< int > mediaPlayerAudioDelayMs
Definition: IAgoraRtcEngine.h:864
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:1840
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:1127
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:2604
agora::rtc::IRtcEngine::setCloudProxy
virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType)=0
agora::rtc::VideoEncoderConfiguration
Definition: AgoraBase.h:1986
agora::rtc::IRtcEngineEventHandler
Definition: IAgoraRtcEngine.h:1094
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:2056
agora::rtc::IRtcEngineEventHandler::onUserMuteAudio
virtual void onUserMuteAudio(uid_t uid, bool muted)
Definition: IAgoraRtcEngine.h:1537
agora::rtc::VideoSubscriptionOptions
Definition: AgoraBase.h:1849
agora::rtc::RtcEngineContext::enableAudioDevice
bool enableAudioDevice
Definition: IAgoraRtcEngine.h:2540
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:1340
agora::rtc::DirectCdnStreamingMediaOptions::publishMicrophoneTrack
Optional< bool > publishMicrophoneTrack
Definition: IAgoraRtcEngine.h:2780
agora::rtc::RtcImage
Definition: AgoraBase.h:3483
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:2151
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:2655
agora::rtc::ChannelMediaOptions::publishDirectCustomAudioTrack
Optional< bool > publishDirectCustomAudioTrack
Definition: IAgoraRtcEngine.h:771
agora::rtc::IRtcEngine::getConnectionState
virtual CONNECTION_STATE_TYPE getConnectionState()=0
agora::rtc::FishCorrectionParams
Definition: AgoraBase.h:4245
agora::rtc::IRtcEngine::setExtensionProperty
virtual int setExtensionProperty(const char *provider, const char *extension, const char *key, const char *value, agora::media::MEDIA_SOURCE_TYPE type=agora::media::UNKNOWN_MEDIA_SOURCE)=0
agora::rtc::IRtcEngine::enableEncryption
virtual int enableEncryption(bool enabled, const EncryptionConfig &config)=0
agora::rtc::IRtcEngine::enableContentInspect
virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config)=0
agora::rtc::ChannelMediaOptions::publishTrancodedVideoTrack
Optional< bool > publishTrancodedVideoTrack
Definition: IAgoraRtcEngine.h:807
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStateChanged
virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed)
Definition: IAgoraRtcEngine.h:1898
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:2774
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:1555
agora::rtc::IRtcEngineEventHandler::onVideoDeviceStateChanged
virtual void onVideoDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition: IAgoraRtcEngine.h:1292
agora::rtc::IMetadataObserver
Definition: IAgoraRtcEngine.h:2597
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:2332
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:1440
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:1731
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:2071
agora::rtc::IRtcEngineEventHandler::onAudioMixingStateChanged
virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_ERROR_TYPE errorCode)
Definition: IAgoraRtcEngine.h:1718
agora::rtc::IRtcEngine::updateRtmpTranscoding
virtual int updateRtmpTranscoding(const LiveTranscoding &transcoding)=0
agora::rtc::IRtcEngineEventHandler::onRequestToken
virtual void onRequestToken()
Definition: IAgoraRtcEngine.h:1815
agora::rtc::IRtcEngineEventHandler::onError
virtual void onError(int err, const char *msg)
Definition: IAgoraRtcEngine.h:1151
agora::rtc::ChannelMediaOptions::publishCustomAudioTrackAec
Optional< bool > publishCustomAudioTrackAec
Definition: IAgoraRtcEngine.h:777
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:1279
agora::rtc::LocalAccessPointConfiguration::verifyDomainName
const char * verifyDomainName
Definition: IAgoraRtcEngine.h:1050
agora::rtc::AVideoDeviceManager
Definition: IAgoraRtcEngine.h:7194
agora::rtc::LocalVideoStats::codecType
VIDEO_CODEC_TYPE codecType
Definition: IAgoraRtcEngine.h:302
agora::rtc::LocalTranscoderConfiguration
Definition: AgoraBase.h:3823
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:2754
agora::rtc::IRtcEngineEventHandler::onAudioVolumeIndication
virtual void onAudioVolumeIndication(const AudioVolumeInfo *speakers, unsigned int speakerNumber, int totalVolume)
Definition: IAgoraRtcEngine.h:1228
agora::rtc::IRtcEngineEventHandler::onConnectionBanned
virtual void onConnectionBanned()
Definition: IAgoraRtcEngine.h:1760
agora::rtc::IPacketObserver
Definition: AgoraBase.h:3223
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:789
agora::rtc::DirectCdnStreamingStats
Definition: IAgoraRtcEngine.h:2713
agora::rtc::VideoFormat
Definition: AgoraBase.h:2732
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:1521
agora::rtc::IRtcEngine::stopRtmpStream
virtual int stopRtmpStream(const char *url)=0
agora::rtc::DataStreamConfig
Definition: AgoraBase.h:2139
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:2571
agora::rtc::IRtcEngineEventHandler::onChannelMediaRelayEvent
virtual void onChannelMediaRelayEvent(int code)
Definition: IAgoraRtcEngine.h:2148
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:2768
agora::rtc::IRtcEngineEventHandler::onStreamMessageError
virtual void onStreamMessageError(uid_t userId, int streamId, int code, int missed, int cached)
Definition: IAgoraRtcEngine.h:1796
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::IRtcEngine::takeSnapshot
virtual int takeSnapshot(uid_t uid, const char *filePath)=0
save current time video frame to jpeg and write as a jpeg
agora::rtc::VideoCompositingLayout::canvasWidth
int canvasWidth
Definition: IAgoraRtcEngine.h:428
agora::rtc::LeaveChannelOptions::stopMicrophoneRecording
bool stopMicrophoneRecording
Definition: IAgoraRtcEngine.h:1078
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:1670
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:1831
agora::rtc::LocalVideoStats::targetFrameRate
int targetFrameRate
Definition: IAgoraRtcEngine.h:286
agora::rtc::DirectCdnStreamingStats::audioBitrate
int audioBitrate
Definition: IAgoraRtcEngine.h:2737
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:2545
agora::rtc::IRtcEngine::setEarMonitoringAudioFrameParameters
virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
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:1919
agora::rtc::IRtcEngineEventHandler::onAudioDeviceStateChanged
virtual void onAudioDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition: IAgoraRtcEngine.h:1266
agora::rtc::IAudioEncodedFrameObserver
Definition: AgoraBase.h:4746
agora::rtc::IRtcEngine::removePublishStreamUrl
virtual int removePublishStreamUrl(const char *url)=0
agora::rtc::ChannelMediaOptions::token
Optional< const char * > token
Definition: IAgoraRtcEngine.h:868
agora::rtc::IRtcEngineEventHandler::onAudioQuality
virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay, unsigned short lost)
Definition: IAgoraRtcEngine.h:1170
agora::rtc::LeaveChannelOptions
Definition: IAgoraRtcEngine.h:1060
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStats
virtual void onRemoteAudioStats(const RemoteAudioStats &stats)
Definition: IAgoraRtcEngine.h:1640
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:2727
agora::rtc::IRtcEngine::stopLastmileProbeTest
virtual int stopLastmileProbeTest()=0
agora::rtc::ChannelMediaRelayConfiguration
Definition: AgoraBase.h:4966
agora::rtc::IVideoDeviceCollection
Definition: IAgoraRtcEngine.h:2372
agora::rtc::IRtcEngineEventHandler::onRtmpStreamingStateChanged
virtual void onRtmpStreamingStateChanged(const char *url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_ERROR_TYPE errCode)
Definition: IAgoraRtcEngine.h:1987
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:755
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:1775
agora::rtc::RemoteVideoStats::decoderOutputFrameRate
int decoderOutputFrameRate
Definition: IAgoraRtcEngine.h:339
agora::rtc::RtcEngineContext::context
void * context
Definition: IAgoraRtcEngine.h:2532
agora::rtc::IRtcEngine::enableVirtualBackground
virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource)=0
agora::rtc::ChannelMediaOptions::publishCameraTrack
Optional< bool > publishCameraTrack
Definition: IAgoraRtcEngine.h:725
agora::rtc::ChannelMediaOptions::publishAudioTrack
Optional< bool > publishAudioTrack
Definition: IAgoraRtcEngine.h:737
agora::rtc::ChannelMediaOptions::clientRoleType
Optional< CLIENT_ROLE_TYPE > clientRoleType
Definition: IAgoraRtcEngine.h:842
agora::rtc::IRtcEngineEventHandler::onJoinChannelSuccess
virtual void onJoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1109
agora::rtc::DirectCdnStreamingMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition: IAgoraRtcEngine.h:2803
agora::rtc::ChannelMediaOptions::channelProfile
Optional< CHANNEL_PROFILE_TYPE > channelProfile
Definition: IAgoraRtcEngine.h:854
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:4190
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:2416
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:2792
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:1881
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:827
agora::rtc::IRtcEngine::getEffectsVolume
virtual int getEffectsVolume()=0
agora::rtc::IRtcEngineEventHandler::onEncryptionError
virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType)
Definition: IAgoraRtcEngine.h:2226
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:1072
agora::rtc::ChannelMediaOptions::defaultVideoStreamType
Optional< VIDEO_STREAM_TYPE > defaultVideoStreamType
Definition: IAgoraRtcEngine.h:850
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:1586
agora::rtc::ChannelMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition: IAgoraRtcEngine.h:838
agora::rtc::IDirectCdnStreamingEventHandler
Definition: IAgoraRtcEngine.h:2744
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:2284
agora::rtc::IRtcEngine::startSecondaryCustomAudioTrack
virtual int startSecondaryCustomAudioTrack(const AudioTrackConfig &config)=0
agora::rtc::EncryptionConfig
Definition: AgoraBase.h:5156
agora::rtc::IRtcEngineParameter
Definition: IAgoraRtcEngine.h:7024
agora::rtc::IRtcEngineEventHandler::onClientRoleChanged
virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole)
Definition: IAgoraRtcEngine.h:1946
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:833
agora::rtc::RemoteVideoStats::receivedBitrate
int receivedBitrate
Definition: IAgoraRtcEngine.h:336
agora::rtc::RemoteAudioStats
Definition: AgoraBase.h:2556
agora::rtc::IMetadataObserver::MAX_METADATA_SIZE_TYPE
MAX_METADATA_SIZE_TYPE
Definition: IAgoraRtcEngine.h:2616
agora::rtc::IRtcEngine::enableVideoImageSource
virtual int enableVideoImageSource(bool enable, const ImageTrackOptions &options)=0
enable or disable video image source to replace the current video source published or resume it
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoFrame
virtual void onFirstRemoteVideoFrame(uid_t userId, int width, int height, int elapsed)
Definition: IAgoraRtcEngine.h:1477
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:1184
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:1743
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:801
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:2246
agora::rtc::LocalVideoStats::encodedFrameWidth
int encodedFrameWidth
Definition: IAgoraRtcEngine.h:273
agora::rtc::RtcStats
Definition: AgoraBase.h:2250
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:1141
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:1657
agora::rtc::IRtcEngineEventHandler::onSnapshotTaken
virtual void onSnapshotTaken(uid_t uid, const char *filePath, int width, int height, int errCode)
snapshot taken callback
Definition: IAgoraRtcEngine.h:1932
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:2215
agora::rtc::LocalAudioStats
Definition: AgoraBase.h:3364
agora::rtc::IRtcEngineEventHandler::onAudioDeviceVolumeChanged
virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted)
Definition: IAgoraRtcEngine.h:1968
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:1305
agora::rtc::RtcEngineContext::audioScenario
AUDIO_SCENARIO_TYPE audioScenario
Definition: IAgoraRtcEngine.h:2555
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:749
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:2515
agora::rtc::IRtcEngineEventHandler::onFirstLocalVideoFramePublished
virtual void onFirstLocalVideoFramePublished(int elapsed)
Definition: IAgoraRtcEngine.h:1390
agora::rtc::IRtcEngine::unloadAllEffects
virtual int unloadAllEffects()=0
agora::rtc::ChannelMediaOptions
Definition: IAgoraRtcEngine.h:719
agora::rtc::IRtcEngine
Definition: IAgoraRtcEngine.h:2878
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:1917
agora::rtc::ScreenCaptureConfiguration
Definition: IAgoraRtcEngine.h:640
agora::rtc::ChannelMediaOptions::autoSubscribeVideo
Optional< bool > autoSubscribeVideo
Definition: IAgoraRtcEngine.h:821
agora::rtc::IRtcEngineParameter::getUInt
virtual int getUInt(const char *key, unsigned int &value)=0
agora::rtc::AudioRecordingConfiguration
Definition: AgoraBase.h:4671
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:2585
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:2798
agora::util::CopyableAutoPtr
Definition: AgoraBase.h:162
agora::rtc::AudioTrackConfig
Definition: IAgoraRtcEngine.h:590
agora::rtc::LocalAccessPointConfiguration::ipListSize
int ipListSize
Definition: IAgoraRtcEngine.h:1041
agora::rtc::InjectStreamConfig::audioSampleRate
AUDIO_SAMPLE_RATE_TYPE audioSampleRate
Definition: IAgoraRtcEngine.h:487
agora::rtc::IRtcEngineEventHandler::onConnectionInterrupted
virtual void onConnectionInterrupted()
Definition: IAgoraRtcEngine.h:1756
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:743
agora::rtc::IRtcEngineEventHandler::onAudioRoutingChanged
virtual void onAudioRoutingChanged(int routing)
Definition: IAgoraRtcEngine.h:2086
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:1044
agora::rtc::IMetadataObserver::UNKNOWN_METADATA
@ UNKNOWN_METADATA
Definition: IAgoraRtcEngine.h:2607
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:859
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:1318
agora::rtc::IRtcEngine::resumeAudioMixing
virtual int resumeAudioMixing()=0
agora::rtc::ImageTrackOptions
Definition: IAgoraRtcEngine.h:710
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:2301
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:1456
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:2630
agora::rtc::IRtcEngine::disableVideo
virtual int disableVideo()=0
agora::rtc::InjectStreamConfig::videoGop
int videoGop
Definition: IAgoraRtcEngine.h:475
agora::rtc::ChannelMediaOptions::isInteractiveAudience
Optional< bool > isInteractiveAudience
Definition: IAgoraRtcEngine.h:888
agora::SpatialAudioParams
Definition: AgoraBase.h:5358
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:2234
agora::rtc::IRtcEngineEventHandler::onUploadLogResult
virtual void onUploadLogResult(const char *requestId, bool success, UPLOAD_ERROR_REASON reason)
Definition: IAgoraRtcEngine.h:2269
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:2195
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:1255
agora::rtc::IRtcEngineEventHandler::onUserJoined
virtual void onUserJoined(uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1502
agora::rtc::AAudioDeviceManager
Definition: IAgoraRtcEngine.h:7187
agora::rtc::IMetadataObserver::Metadata
Definition: IAgoraRtcEngine.h:2625
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:3211
agora::base::IEngineBase
Definition: AgoraBase.h:5324
agora::rtc::LocalVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition: IAgoraRtcEngine.h:279
agora::rtc::IRtcEngineEventHandler::onDownlinkNetworkInfoUpdated
virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo &info)
Definition: IAgoraRtcEngine.h:1351
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition: IAgoraRtcEngine.h:2786
agora::rtc::IRtcEngineEventHandler::onFirstRemoteAudioFrame
virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1850
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:2566
agora::rtc::CameraCapturerConfiguration
Definition: IAgoraRtcEngine.h:621
agora::rtc::IMetadataObserver::VIDEO_METADATA
@ VIDEO_METADATA
Definition: IAgoraRtcEngine.h:2610
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:1047
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:2633
agora::rtc::IRtcEngineParameter::getNumber
virtual int getNumber(const char *key, double &value)=0
agora::rtc::ClientRoleOptions
Definition: AgoraBase.h:2509
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:1601
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:2120
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:2317
agora::rtc::IRtcEngineEventHandler::onFirstRemoteAudioDecoded
virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1862
agora::rtc::IRtcEngine::startPreview
virtual int startPreview(VIDEO_SOURCE_TYPE sourceType)=0
agora::rtc::VideoCanvas
Definition: AgoraBase.h:4112
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:2208
agora::rtc::IRtcEngine::adjustLoopbackRecordingVolume
virtual int adjustLoopbackRecordingVolume(int volume)=0
agora::rtc::VideoCompositingLayout::Region::x
double x
Definition: IAgoraRtcEngine.h:390