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 "IAgoraLog.h"
10 #include "AgoraOptional.h"
11 
12 namespace agora {
13 namespace rtc {
14 
18 enum MAX_DEVICE_ID_LENGTH_TYPE {
22  MAX_DEVICE_ID_LENGTH = 512
23 };
24 
28 enum MEDIA_DEVICE_TYPE {
32  UNKNOWN_AUDIO_DEVICE = -1,
36  AUDIO_PLAYOUT_DEVICE = 0,
40  AUDIO_RECORDING_DEVICE = 1,
44  VIDEO_RENDER_DEVICE = 2,
48  VIDEO_CAPTURE_DEVICE = 3,
52  AUDIO_APPLICATION_PLAYOUT_DEVICE = 4,
53 };
54 
58 enum AUDIO_MIXING_STATE_TYPE {
60  AUDIO_MIXING_STATE_PLAYING = 710,
62  AUDIO_MIXING_STATE_PAUSED = 711,
64  AUDIO_MIXING_STATE_STOPPED = 713,
68  AUDIO_MIXING_STATE_FAILED = 714,
70  AUDIO_MIXING_STATE_COMPLETED = 715,
72  AUDIO_MIXING_STATE_ALL_LOOPS_COMPLETED = 716,
73 };
74 
78 enum AUDIO_MIXING_ERROR_TYPE {
80  AUDIO_MIXING_ERROR_CAN_NOT_OPEN = 701,
82  AUDIO_MIXING_ERROR_TOO_FREQUENT_CALL = 702,
84  AUDIO_MIXING_ERROR_INTERRUPTED_EOF = 703,
86  AUDIO_MIXING_ERROR_OK = 0,
87 };
88 
92 enum INJECT_STREAM_STATUS {
96  INJECT_STREAM_STATUS_START_SUCCESS = 0,
100  INJECT_STREAM_STATUS_START_ALREADY_EXISTS = 1,
104  INJECT_STREAM_STATUS_START_UNAUTHORIZED = 2,
108  INJECT_STREAM_STATUS_START_TIMEDOUT = 3,
112  INJECT_STREAM_STATUS_START_FAILED = 4,
116  INJECT_STREAM_STATUS_STOP_SUCCESS = 5,
120  INJECT_STREAM_STATUS_STOP_NOT_FOUND = 6,
124  INJECT_STREAM_STATUS_STOP_UNAUTHORIZED = 7,
128  INJECT_STREAM_STATUS_STOP_TIMEDOUT = 8,
132  INJECT_STREAM_STATUS_STOP_FAILED = 9,
136  INJECT_STREAM_STATUS_BROKEN = 10,
137 };
138 
142 enum AUDIO_EQUALIZATION_BAND_FREQUENCY {
146  AUDIO_EQUALIZATION_BAND_31 = 0,
150  AUDIO_EQUALIZATION_BAND_62 = 1,
154  AUDIO_EQUALIZATION_BAND_125 = 2,
158  AUDIO_EQUALIZATION_BAND_250 = 3,
162  AUDIO_EQUALIZATION_BAND_500 = 4,
166  AUDIO_EQUALIZATION_BAND_1K = 5,
170  AUDIO_EQUALIZATION_BAND_2K = 6,
174  AUDIO_EQUALIZATION_BAND_4K = 7,
178  AUDIO_EQUALIZATION_BAND_8K = 8,
182  AUDIO_EQUALIZATION_BAND_16K = 9,
183 };
184 
188 enum AUDIO_REVERB_TYPE {
192  AUDIO_REVERB_DRY_LEVEL = 0,
196  AUDIO_REVERB_WET_LEVEL = 1,
200  AUDIO_REVERB_ROOM_SIZE = 2,
204  AUDIO_REVERB_WET_DELAY = 3,
208  AUDIO_REVERB_STRENGTH = 4,
209 };
210 
211 enum STREAM_FALLBACK_OPTIONS {
215  STREAM_FALLBACK_OPTION_DISABLED = 0,
220  STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW = 1,
224  STREAM_FALLBACK_OPTION_AUDIO_ONLY = 2,
225 };
226 
227 enum PRIORITY_TYPE {
230  PRIORITY_HIGH = 50,
233  PRIORITY_NORMAL = 100,
234 };
235 
239 {
243  uid_t uid;
282  VIDEO_CODEC_TYPE codecType;
283 };
284 
292  uid_t uid;
300  int delay;
304  int width;
308  int height;
328  VIDEO_STREAM_TYPE rxStreamType;
344 };
345 
347  struct Region {
350  uid_t uid;
353  double x; // [0,1]
356  double y; // [0,1]
360  double width; // [0,1]
362  double height; // [0,1]
366  int zOrder; // optional, [0, 100] //0 (default): bottom most, 100: top most
367 
371  double alpha;
372 
373  media::base::RENDER_MODE_TYPE
374  renderMode; // RENDER_MODE_HIDDEN: Crop, RENDER_MODE_FIT: Zoom to fit
375 
376  Region()
377  : uid(0),
378  x(0),
379  y(0),
380  width(0),
381  height(0),
382  zOrder(0),
383  alpha(1.0),
384  renderMode(media::base::RENDER_MODE_HIDDEN) {}
385  };
386 
399  const char* backgroundColor; // e.g. "#C0C0C0" in RGB
403  const Region* regions;
409  const char* appData;
413 
415  : canvasWidth(0),
416  canvasHeight(0),
417  backgroundColor(NULL),
418  regions(NULL),
419  regionCount(0),
420  appData(NULL),
421  appDataLength(0) {}
422 };
423 
430  int width;
434  int height;
438  int videoGop;
450  AUDIO_SAMPLE_RATE_TYPE audioSampleRate;
458 
459  // width / height default set to 0 means pull the stream with its original
460  // resolution
462  : width(0),
463  height(0),
464  videoGop(30),
465  videoFramerate(15),
466  videoBitrate(400),
467  audioSampleRate(AUDIO_SAMPLE_RATE_48000),
468  audioBitrate(48),
469  audioChannels(1) {}
470 };
471 
474 enum RTMP_STREAM_LIFE_CYCLE_TYPE {
477  RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL = 1,
480  RTMP_STREAM_LIFE_CYCLE_BIND2OWNER = 2,
481 };
482 
489  int width;
493  int height;
501  int bitrate;
515  bool owner;
524  const char* injectStreamUrl;
528  const char* publishUrl;
532  const char* rawStreamUrl;
535  const char* extraInfo;
536 
538  : width(640),
539  height(360),
540  framerate(15),
541  bitrate(500),
542  defaultLayout(1),
543  lifecycle(RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL),
544  owner(true),
547  injectStreamUrl(NULL),
548  publishUrl(NULL),
549  rawStreamUrl(NULL),
550  extraInfo(NULL) {}
551 };
552 
554  bool enableLocalPlayback;
555  AudioTrackConfig() : enableLocalPlayback(true) {}
556 };
557 
558 enum CAMERA_DIRECTION {
560  CAMERA_REAR = 0,
562  CAMERA_FRONT = 1,
563 };
564 
568  CAMERA_DIRECTION cameraDirection;
570  char deviceId[MAX_DEVICE_ID_LENGTH];
571  VideoFormat format;
572 };
573 
575  bool isCaptureWindow; // true - capture window, false - capture display
576  unsigned int displayId; // MacOS only
577  Rectangle screenRect; //Windows only
578  view_t windowId;
580  Rectangle regionRect;
581 
582  ScreenCaptureConfiguration() : isCaptureWindow(false), displayId(0) {}
583 };
584 
697 
699  ~ChannelMediaOptions() {}
700 
701  void SetAll(const ChannelMediaOptions& change) {
702 #define SET_FROM(X) SetFrom(&X, change.X)
703 
704  SET_FROM(publishCameraTrack);
705  SET_FROM(publishSecondaryCameraTrack);
706  SET_FROM(publishAudioTrack);
707  SET_FROM(publishScreenTrack);
708  SET_FROM(publishSecondaryScreenTrack);
709  SET_FROM(publishTrancodedVideoTrack);
710  SET_FROM(publishCustomAudioTrack);
711  SET_FROM(publishCustomVideoTrack);
712  SET_FROM(publishEncodedVideoTrack);
715  SET_FROM(autoSubscribeAudio);
716  SET_FROM(autoSubscribeVideo);
717  SET_FROM(publishMediaPlayerId);
719  SET_FROM(clientRoleType);
720  SET_FROM(defaultVideoStreamType);
721  SET_FROM(channelProfile);
722  SET_FROM(audioDelayMs);
723 #undef SET_FROM
724  }
725 
726  bool operator==(const ChannelMediaOptions& o) const {
727 #define BEGIN_COMPARE() bool b = true
728 #define ADD_COMPARE(X) b = (b && (X == o.X))
729 #define END_COMPARE()
730 
731  BEGIN_COMPARE();
732  ADD_COMPARE(publishCameraTrack);
733  ADD_COMPARE(publishSecondaryCameraTrack);
734  ADD_COMPARE(publishAudioTrack);
735  ADD_COMPARE(publishScreenTrack);
736  ADD_COMPARE(publishSecondaryScreenTrack);
737  ADD_COMPARE(publishTrancodedVideoTrack);
738  ADD_COMPARE(publishCustomAudioTrack);
739  ADD_COMPARE(publishCustomVideoTrack);
740  ADD_COMPARE(publishEncodedVideoTrack);
741  ADD_COMPARE(publishMediaPlayerAudioTrack);
742  ADD_COMPARE(publishMediaPlayerVideoTrack);
743  ADD_COMPARE(autoSubscribeAudio);
744  ADD_COMPARE(autoSubscribeVideo);
745  ADD_COMPARE(publishMediaPlayerId);
746  ADD_COMPARE(enableAudioRecordingOrPlayout);
747  ADD_COMPARE(clientRoleType);
748  ADD_COMPARE(defaultVideoStreamType);
749  ADD_COMPARE(channelProfile);
750  ADD_COMPARE(audioDelayMs);
751  END_COMPARE();
752 
753 #undef BEGIN_COMPARE
754 #undef ADD_COMPARE
755 #undef END_COMPARE
756  return b;
757  }
758 
759  ChannelMediaOptions& operator=(const ChannelMediaOptions& replace) {
760  if (this != &replace) {
761 #define REPLACE_BY(X) ReplaceBy(&X, replace.X)
762 
763  REPLACE_BY(publishCameraTrack);
764  REPLACE_BY(publishSecondaryCameraTrack);
765  REPLACE_BY(publishAudioTrack);
766  REPLACE_BY(publishScreenTrack);
767  REPLACE_BY(publishSecondaryScreenTrack);
768  REPLACE_BY(publishTrancodedVideoTrack);
769  REPLACE_BY(publishCustomAudioTrack);
770  REPLACE_BY(publishCustomVideoTrack);
771  REPLACE_BY(publishEncodedVideoTrack);
772  REPLACE_BY(publishMediaPlayerAudioTrack);
773  REPLACE_BY(publishMediaPlayerVideoTrack);
774  REPLACE_BY(autoSubscribeAudio);
775  REPLACE_BY(autoSubscribeVideo);
776  REPLACE_BY(publishMediaPlayerId);
777  REPLACE_BY(enableAudioRecordingOrPlayout);
778  REPLACE_BY(clientRoleType);
779  REPLACE_BY(defaultVideoStreamType);
780  REPLACE_BY(channelProfile);
781  REPLACE_BY(audioDelayMs);
782 #undef REPLACE_BY
783  }
784  return *this;
785  }
786 
787  template <typename T>
788  static void SetFrom(Optional<T>* s, const Optional<T>& o) {
789  if (o) {
790  *s = o;
791  }
792  }
793 
794  template <typename T>
795  static void ReplaceBy(Optional<T>* s, const Optional<T>& o) {
796  *s = o;
797  }
798 };
799 
822 
824 };
825 
837  public:
838  virtual ~IRtcEngineEventHandler() {}
839 
849  virtual void onJoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
850  (void)channel;
851  (void)uid;
852  (void)elapsed;
853  }
854 
867  virtual void onRejoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
868  (void)channel;
869  (void)uid;
870  (void)elapsed;
871  }
872 
881  virtual void onWarning(int warn, const char* msg) {
882  (void)warn;
883  (void)msg;
884  }
885 
891  virtual void onError(int err, const char* msg) {
892  (void)err;
893  (void)msg;
894  }
895 
910  virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay,
911  unsigned short lost) {
912  (void)uid;
913  (void)quality;
914  (void)delay;
915  (void)lost;
916  }
917 
924  virtual void onLastmileProbeResult(const LastmileProbeResult& result) {
925  (void)result;
926  }
927 
968  virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, unsigned int speakerNumber,
969  int totalVolume) {
970  (void)speakers;
971  (void)speakerNumber;
972  (void)totalVolume;
973  }
974 
986  virtual void onLeaveChannel(const RtcStats& stats) { (void)stats; }
987 
995  virtual void onRtcStats(const RtcStats& stats) { (void)stats; }
996 
1006  virtual void onAudioDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1007  (void)deviceId;
1008  (void)deviceType;
1009  (void)deviceState;
1010  }
1011 
1019  virtual void onAudioMixingFinished() {}
1020 
1021  virtual void onRemoteAudioMixingBegin() {}
1022 
1023  virtual void onRemoteAudioMixingEnd() {}
1024 
1025 
1026  virtual void onAudioEffectFinished(int soundId) {}
1027 
1037  virtual void onVideoDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1038  (void)deviceId;
1039  (void)deviceType;
1040  (void)deviceState;
1041  }
1042 
1050  virtual void onMediaDeviceChanged(int deviceType) {
1051  (void)deviceType;
1052  }
1053 
1063  virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) {
1064  (void)uid;
1065  (void)txQuality;
1066  (void)rxQuality;
1067  }
1068 
1075  virtual void onIntraRequestReceived() {}
1076 
1085  virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo& info) {
1086  (void)info;
1087  }
1088 
1097  (void)info;
1098  }
1099 
1112  virtual void onLastmileQuality(int quality) { (void)quality; }
1113 
1124  virtual void onFirstLocalVideoFrame(int width, int height, int elapsed) {
1125  (void)width;
1126  (void)height;
1127  (void)elapsed;
1128  }
1129 
1135  virtual void onFirstLocalVideoFramePublished(int elapsed) {
1136  (void)elapsed;
1137  }
1138 
1139  virtual void onVideoSourceFrameSizeChanged(VIDEO_SOURCE_TYPE sourceType, int width, int height) {
1140  (void)sourceType;
1141  (void)width;
1142  (void)height;
1143  }
1144 
1160  virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) {
1161  (void)uid;
1162  (void)width;
1163  (void)height;
1164  (void)elapsed;
1165  }
1166 
1167  virtual void onVideoSizeChanged(uid_t uid, int width, int height, int rotation) {
1168  (void)uid;
1169  (void)width;
1170  (void)height;
1171  (void)rotation;
1172  }
1173 
1185  virtual void onLocalVideoStateChanged(LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_ERROR error) {
1186  (void)state;
1187  (void)error;
1188  }
1189 
1201  virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) {
1202  (void)uid;
1203  (void)state;
1204  (void)reason;
1205  (void)elapsed;
1206  }
1207 
1222  virtual void onFirstRemoteVideoFrame(uid_t userId, int width, int height, int elapsed) {
1223  (void)userId;
1224  (void)width;
1225  (void)height;
1226  (void)elapsed;
1227  }
1228 
1247  virtual void onUserJoined(uid_t uid, int elapsed) {
1248  (void)uid;
1249  (void)elapsed;
1250  }
1251 
1266  virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) {
1267  (void)uid;
1268  (void)reason;
1269  }
1270 
1285  virtual void onUserMuteVideo(uid_t userId, bool muted) {
1286  (void)userId;
1287  (void)muted;
1288  }
1289 
1307  virtual void onUserEnableVideo(uid_t uid, bool enabled) {
1308  (void)uid;
1309  (void)enabled;
1310  }
1311 
1323  virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) {
1324  (void)uid;
1325  (void)enabled;
1326  }
1327 
1335  virtual void onApiCallExecuted(int err, const char* api, const char* result) {
1336  (void)err;
1337  (void)api;
1338  (void)result;
1339  }
1340 
1348  virtual void onLocalAudioStats(const LocalAudioStats& stats) {
1349  (void)stats;
1350  }
1351 
1362  virtual void onRemoteAudioStats(const RemoteAudioStats& stats) {
1363  (void)stats;
1364  }
1365 
1379  virtual void onLocalVideoStats(const LocalVideoStats& stats) {
1380  (void)stats;
1381  }
1382 
1392  virtual void onRemoteVideoStats(const RemoteVideoStats& stats) {
1393  (void)stats;
1394  }
1395 
1396  virtual void onCameraReady() {}
1397 
1398  virtual void onCameraFocusAreaChanged(int x, int y, int width, int height) {
1399  (void)x;
1400  (void)y;
1401  (void)width;
1402  (void)height;
1403  }
1404 
1405  virtual void onCameraExposureAreaChanged(int x, int y, int width, int height) {
1406  (void)x;
1407  (void)y;
1408  (void)width;
1409  (void)height;
1410  }
1411 #if defined(WEBRTC_ANDROID) || (defined(__APPLE__) && TARGET_OS_IOS)
1412  virtual void onFacePositionChanged(int imageWidth, int imageHeight,
1413  const Rectangle* vecRectangle, const int* vecDistance,
1414  int numFaces) {
1415  (void) imageWidth;
1416  (void) imageHeight;
1417  (void) vecRectangle;
1418  (void) vecDistance;
1419  (void) numFaces;
1420  }
1421 #endif
1422  virtual void onVideoStopped() {}
1423 
1440  virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_ERROR_TYPE errorCode) {
1441  (void)state;
1442  (void)errorCode;
1443  }
1444 
1452  virtual void onConnectionLost() {}
1453 
1465  virtual void onConnectionInterrupted() {}
1466 
1469  virtual void onConnectionBanned() {}
1470 
1471  virtual void onRefreshRecordingServiceStatus(int status) {
1472  (void)status;
1473  }
1474 
1486  virtual void onStreamMessage(uid_t userId, int streamId, const char* data, size_t length) {
1487  (void)userId;
1488  (void)streamId;
1489  (void)data;
1490  (void)length;
1491  }
1492 
1506  virtual void onStreamMessageError(uid_t userId, int streamId, int code, int missed, int cached) {
1507  (void)userId;
1508  (void)streamId;
1509  (void)code;
1510  (void)missed;
1511  (void)cached;
1512  }
1513 
1514  virtual void onMediaEngineLoadSuccess() {}
1515  virtual void onMediaEngineStartCallSuccess() {}
1516 
1528  virtual void onRequestToken() {}
1529 
1544  virtual void onTokenPrivilegeWillExpire(const char* token) {
1545  (void)token;
1546  }
1547 
1553  virtual void onFirstLocalAudioFramePublished(int elapsed) {
1554  (void)elapsed;
1555  }
1556 
1571  virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error) {
1572  (void)state;
1573  (void)error;
1574  }
1575 
1588  virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) {
1589  (void)uid;
1590  (void)state;
1591  (void)reason;
1592  (void)elapsed;
1593  }
1594 
1613  virtual void onActiveSpeaker(uid_t userId) { (void)userId; }
1614 
1615 
1623  virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole) {
1624  (void)oldRole;
1625  (void)newRole;
1626  }
1627 
1635  virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) {
1636  (void)deviceType;
1637  (void)volume;
1638  (void)muted;
1639  }
1640 
1654  virtual void onRtmpStreamingStateChanged(const char* url, RTMP_STREAM_PUBLISH_STATE state,
1655  RTMP_STREAM_PUBLISH_ERROR errCode) {
1656  (void)url;
1657  (void)state;
1658  (void)errCode;
1659  }
1660 
1696  virtual void onStreamPublished(const char* url, int error) {
1697  (void)url;
1698  (void)error;
1699  }
1700 
1711  virtual void onStreamUnpublished(const char* url) {
1712  (void)url;
1713  }
1714 
1726  virtual void onTranscodingUpdated() {}
1727 
1734  virtual void onStreamInjectedStatus(const char* url, uid_t uid, int status) {
1735  (void)url;
1736  (void)uid;
1737  (void)status;
1738  }
1739 
1753  virtual void onAudioRoutingChanged(int routing) { (void)routing; }
1754 
1755 
1787  virtual void onChannelMediaRelayStateChanged(int state, int code) {
1788  (void)state;
1789  (void)code;
1790  }
1791 
1815  virtual void onChannelMediaRelayEvent(int code) {
1816  (void)code;
1817  }
1818 
1819  virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) {
1820  (void)isFallbackOrRecover;
1821  }
1822 
1823  virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover) {
1824  (void)uid;
1825  (void)isFallbackOrRecover;
1826  }
1827 
1841  virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost,
1842  unsigned short rxKBitRate) {
1843  (void)uid;
1844  (void)delay;
1845  (void)lost;
1846  (void)rxKBitRate;
1847  }
1848 
1862  virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost,
1863  unsigned short rxKBitRate) {
1864  (void)uid;
1865  (void)delay;
1866  (void)lost;
1867  (void)rxKBitRate;
1868  }
1869 
1876  CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) {
1877  (void)state;
1878  (void)reason;
1879  }
1880 
1885  virtual void onNetworkTypeChanged(NETWORK_TYPE type) {
1886  (void)type;
1887  }
1888 
1893  virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) {
1894  (void)errorType;
1895  }
1896 
1901  virtual void onPermissionError(PERMISSION_TYPE permissionType) {
1902  (void)permissionType;
1903  }
1904 
1913  virtual void onLocalUserRegistered(uid_t uid, const char* userAccount) {
1914  (void)uid;
1915  (void)userAccount;
1916  }
1917 
1926  virtual void onUserInfoUpdated(uid_t uid, const UserInfo& info) {
1927  (void)uid;
1928  (void)info;
1929  }
1930 
1940  virtual void onAudioSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
1941  (void)channel;
1942  (void)uid;
1943  (void)oldState;
1944  (void)newState;
1945  (void)elapseSinceLastState;
1946  }
1947 
1957  virtual void onVideoSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
1958  (void)channel;
1959  (void)uid;
1960  (void)oldState;
1961  (void)newState;
1962  (void)elapseSinceLastState;
1963  }
1964 
1973  virtual void onAudioPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
1974  (void)channel;
1975  (void)oldState;
1976  (void)newState;
1977  (void)elapseSinceLastState;
1978  }
1979 
1988  virtual void onVideoPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
1989  (void)channel;
1990  (void)oldState;
1991  (void)newState;
1992  (void)elapseSinceLastState;
1993  }
1994 };
1995 
2000  public:
2001  virtual ~IVideoDeviceCollection() {}
2002 
2008  virtual int getCount() = 0;
2009 
2018  virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2019 
2031  virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH],
2032  char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2033 
2037  virtual void release() = 0;
2038 };
2039 
2044  public:
2045  virtual ~IVideoDeviceManager() {}
2061 
2071  virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2072 
2081  virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2082 
2096  virtual int startDeviceTest(view_t hwnd) = 0;
2097 
2104  virtual int stopDeviceTest() = 0;
2105 
2109  virtual void release() = 0;
2110 };
2111 
2116  public:
2117  virtual ~IAudioDeviceCollection() {}
2118 
2129  virtual int getCount() = 0;
2130 
2140  virtual int getDevice(int index, char deviceName[MAX_DEVICE_ID_LENGTH],
2141  char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;
2142 
2150  virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;
2151 
2161  virtual int setApplicationVolume(int volume) = 0;
2162 
2172  virtual int getApplicationVolume(int& volume) = 0;
2173 
2184  virtual int setApplicationMute(bool mute) = 0;
2185 
2197  virtual int isApplicationMute(bool& mute) = 0;
2198 
2202  virtual void release() = 0;
2203 };
2204 
2209  public:
2210  virtual ~IAudioDeviceManager() {}
2211 
2227 
2243 
2254  virtual int setPlaybackDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;
2255 
2263  virtual int getPlaybackDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;
2264 
2273  virtual int getPlaybackDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH],
2274  char deviceName[MAX_DEVICE_ID_LENGTH]) = 0;
2275 
2283  virtual int setPlaybackDeviceVolume(int volume) = 0;
2284 
2292  virtual int getPlaybackDeviceVolume(int* volume) = 0;
2293 
2304  virtual int setRecordingDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;
2305 
2314  virtual int getRecordingDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;
2315 
2325  virtual int getRecordingDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH],
2326  char deviceName[MAX_DEVICE_ID_LENGTH]) = 0;
2327 
2335  virtual int setRecordingDeviceVolume(int volume) = 0;
2336 
2344  virtual int getRecordingDeviceVolume(int* volume) = 0;
2345 
2357  virtual int setPlaybackDeviceMute(bool mute) = 0;
2358 
2370  virtual int getPlaybackDeviceMute(bool* mute) = 0;
2371 
2383  virtual int setRecordingDeviceMute(bool mute) = 0;
2384 
2396  virtual int getRecordingDeviceMute(bool* mute) = 0;
2397 
2414  virtual int startPlaybackDeviceTest(const char* testAudioFilePath) = 0;
2415 
2423  virtual int stopPlaybackDeviceTest() = 0;
2424 
2439  virtual int startRecordingDeviceTest(int indicationInterval) = 0;
2440 
2448  virtual int stopRecordingDeviceTest() = 0;
2449 
2464  virtual int startAudioDeviceLoopbackTest(int indicationInterval) = 0;
2465 
2475  virtual int stopAudioDeviceLoopbackTest() = 0;
2476 
2480  virtual void release() = 0;
2481 };
2482 
2487 
2493  IRtcEngineEventHandlerEx* eventHandlerEx;
2494 
2499  const char* appId;
2500 
2506  void* context;
2507 
2515 
2519  CHANNEL_PROFILE_TYPE channelProfile;
2520 
2529  AUDIO_SCENARIO_TYPE audioScenario;
2530 
2540  unsigned int areaCode;
2541 
2546 
2548  : eventHandler(NULL), eventHandlerEx(NULL), appId(NULL), context(NULL),
2549  enableAudioDevice(true), channelProfile(CHANNEL_PROFILE_LIVE_BROADCASTING),
2550  audioScenario(AUDIO_SCENARIO_HIGH_DEFINITION),
2551  areaCode(AREA_CODE_GLOB),
2552  logConfig() {}
2553 };
2554 
2558 public:
2564  {
2571  };
2576  {
2577  INVALID_METADATA_SIZE_IN_BYTE = -1,
2578  DEFAULT_METADATA_SIZE_IN_BYTE = 512,
2579  MAX_METADATA_SIZE_IN_BYTE = 1024
2580  };
2581 
2584  struct Metadata
2585  {
2590  unsigned int uid;
2593  unsigned int size;
2596  unsigned char *buffer;
2601  long long timeStampMs;
2602  };
2603 
2604  virtual ~IMetadataObserver() {}
2605 
2615  virtual int getMaxMetadataSize() { return DEFAULT_METADATA_SIZE_IN_BYTE; }
2616 
2626  virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type) = 0;
2627 
2635  virtual void onMetadataReceived(const Metadata &metadata) = 0;
2636 };
2637 
2638 // The error codes for media streaming
2639 // GENERATED_JAVA_ENUM_PACKAGE: io.agora.streaming
2640 enum DIRECT_CDN_STREAMING_ERROR {
2641  // No error occurs.
2642  DIRECT_CDN_STREAMING_ERROR_OK = 0,
2643  // A general error occurs (no specified reason).
2644  DIRECT_CDN_STREAMING_ERROR_FAILED = 1,
2645  // Audio publication error.
2646  DIRECT_CDN_STREAMING_ERROR_AUDIO_PUBLICATION = 2,
2647  // Video publication error.
2648  DIRECT_CDN_STREAMING_ERROR_VIDEO_PUBLICATION = 3,
2649 
2650  DIRECT_CDN_STREAMING_ERROR_NET_CONNECT = 4,
2651 };
2652 
2653 // The connection state of media streaming
2654 // GENERATED_JAVA_ENUM_PACKAGE: io.agora.streaming
2655 enum DIRECT_CDN_STREAMING_STATE {
2656 
2657  DIRECT_CDN_STREAMING_STATE_IDLE = 0,
2658 
2659  DIRECT_CDN_STREAMING_STATE_STARTED = 1,
2660 
2661  DIRECT_CDN_STREAMING_STATE_STOPPED = 2,
2662 
2663  DIRECT_CDN_STREAMING_STATE_FAILED = 3,
2664 };
2665 
2667  public:
2668  virtual ~IDirectCdnStreamingEventHandler() {}
2669 
2670  virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_ERROR err, const char* msg) {
2671  (void)state;
2672  (void)err;
2673  (void)msg;
2674  };
2675 };
2676 
2705 
2708 
2709  void SetAll(const DirectCdnStreamingMediaOptions& change) {
2710 #define SET_FROM(X) SetFrom(&X, change.X)
2711  SET_FROM(publishCameraTrack);
2712  SET_FROM(publishMicrophoneTrack);
2713  SET_FROM(publishCustomAudioTrack);
2714  SET_FROM(publishCustomVideoTrack);
2715 #undef SET_FROM
2716  }
2717 
2718  bool operator==(const DirectCdnStreamingMediaOptions& o) const {
2719 #define BEGIN_COMPARE() bool b = true
2720 #define ADD_COMPARE(X) b = (b && (X == o.X))
2721 #define END_COMPARE()
2722 
2723  BEGIN_COMPARE();
2724  ADD_COMPARE(publishCameraTrack);
2725  ADD_COMPARE(publishMicrophoneTrack);
2726  ADD_COMPARE(publishCustomAudioTrack);
2727  ADD_COMPARE(publishCustomVideoTrack);
2728  END_COMPARE();
2729 
2730 #undef BEGIN_COMPARE
2731 #undef ADD_COMPARE
2732 #undef END_COMPARE
2733  return b;
2734  }
2735 
2736  DirectCdnStreamingMediaOptions& operator=(const DirectCdnStreamingMediaOptions& replace) {
2737  if (this != &replace) {
2738 #define REPLACE_BY(X) ReplaceBy(&X, replace.X)
2739 
2740  REPLACE_BY(publishCameraTrack);
2741  REPLACE_BY(publishMicrophoneTrack);
2742  REPLACE_BY(publishCustomAudioTrack);
2743  REPLACE_BY(publishCustomVideoTrack);
2744 #undef REPLACE_BY
2745  }
2746  return *this;
2747  }
2748 
2749  template <typename T>
2750  static void SetFrom(Optional<T>* s, const Optional<T>& o) {
2751  if (o) {
2752  *s = o;
2753  }
2754  }
2755 
2756  template <typename T>
2757  static void ReplaceBy(Optional<T>* s, const Optional<T>& o) {
2758  *s = o;
2759  }
2760 };
2761 
2762 class IMediaPlayer;
2763 
2774  public:
2798  virtual void release(bool sync = false) = 0;
2799 
2813  virtual int initialize(const RtcEngineContext& context) = 0;
2814 
2815 
2816  virtual int queryInterface(INTERFACE_ID_TYPE iid, void** inter) = 0;
2817 
2818 
2824  virtual const char* getVersion(int* build) = 0;
2825 
2831  virtual const char* getErrorDescription(int code) = 0;
2832 
2873  virtual int joinChannel(const char* token, const char* channelId, const char* info,
2874  uid_t uid) = 0;
2875 
2914  virtual int joinChannel(const char* token, const char* channelId, uid_t uid,
2915  const ChannelMediaOptions& options) = 0;
2916 
2946  virtual int joinChannelEx(const char* token, const char* channelId, uid_t uid,
2947  const ChannelMediaOptions& options,
2948  IRtcEngineEventHandler* eventHandler,
2949  conn_id_t* connectionId) = 0;
2950 
2961  conn_id_t connectionId = agora::rtc::DEFAULT_CONNECTION_ID) = 0;
2962 
2972  virtual int leaveChannelEx(const char* channelId, conn_id_t connectionId) = 0;
2973 
2991  virtual int leaveChannel() = 0;
2992 
3012  virtual int leaveChannel(const LeaveChannelOptions& options) = 0;
3013 
3030  virtual int renewToken(const char* token) = 0;
3031 
3050  virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile) = 0;
3051 
3075  virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0;
3076 
3096  virtual int startEchoTest() = 0;
3097 
3114  virtual int startEchoTest(int intervalInSeconds) = 0;
3115 
3122  virtual int stopEchoTest() = 0;
3123 
3139  virtual int enableVideo() = 0;
3140 
3151  virtual int disableVideo() = 0;
3152 
3164  virtual int startPreview() = 0;
3165 
3173  virtual int stopPreview() = 0;
3174 
3208  virtual int startLastmileProbeTest(const LastmileProbeConfig& config) = 0;
3209 
3211  virtual int stopLastmileProbeTest() = 0;
3212 
3231  conn_id_t connectionId = DEFAULT_CONNECTION_ID) = 0;
3232 
3254  virtual int setupRemoteVideo(const VideoCanvas& canvas,
3255  conn_id_t connectionId = DEFAULT_CONNECTION_ID) = 0;
3256 
3273  virtual int setupLocalVideo(const VideoCanvas& canvas) = 0;
3274 
3288  virtual int enableAudio() = 0;
3289 
3301  virtual int disableAudio() = 0;
3302 
3324  virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) = 0;
3325 
3341  virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile) = 0;
3364  virtual int enableLocalAudio(bool enabled) = 0;
3365 
3391  virtual int muteLocalAudioStream(bool mute) = 0;
3392 
3435  virtual int muteAllRemoteAudioStreams(bool mute) = 0;
3436 
3458  virtual int setDefaultMuteAllRemoteAudioStreams(bool mute) = 0;
3459 
3477  virtual int muteRemoteAudioStream(uid_t uid, bool mute,
3478  conn_id_t connectionId = DEFAULT_CONNECTION_ID) = 0;
3479 
3491  virtual int muteLocalVideoStream(bool mute) = 0;
3492 
3517  virtual int enableLocalVideo(bool enabled) = 0;
3518 
3559  virtual int muteAllRemoteVideoStreams(bool mute) = 0;
3560 
3582  virtual int setDefaultMuteAllRemoteVideoStreams(bool mute) = 0;
3583 
3601  virtual int muteRemoteVideoStream(uid_t uid, bool mute,
3602  conn_id_t connectionId = DEFAULT_CONNECTION_ID) = 0;
3603 
3621  virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0;
3622 
3632  virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType) = 0;
3633 
3654  virtual int enableAudioVolumeIndication(int interval, int smooth) = 0;
3655 
3676  virtual int startAudioRecording(const char* filePath,
3677  AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
3699  virtual int startAudioRecording(const char* filePath,
3700  int sampleRate,
3701  AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
3702 
3721  virtual int startAudioRecording(const AudioFileRecordingConfig& config) = 0;
3722 
3729 
3738  virtual int stopAudioRecording() = 0;
3740 
3750  virtual agora_refptr<IMediaPlayer> createMediaPlayer() = 0;
3751 
3763  virtual int destroyMediaPlayer(agora_refptr<IMediaPlayer> media_player) = 0;
3765 
3814  virtual int startAudioMixing(const char* filePath, bool loopback, bool replace, int cycle) = 0;
3815 
3824  virtual int stopAudioMixing() = 0;
3825 
3834  virtual int pauseAudioMixing() = 0;
3835 
3844  virtual int resumeAudioMixing() = 0;
3845 
3860  virtual int adjustAudioMixingVolume(int volume) = 0;
3861 
3869  virtual int adjustAudioMixingPublishVolume(int volume) = 0;
3870 
3878  virtual int getAudioMixingPublishVolume() = 0;
3879 
3887  virtual int adjustAudioMixingPlayoutVolume(int volume) = 0;
3888 
3896  virtual int getAudioMixingPlayoutVolume() = 0;
3897 
3906  virtual int getAudioMixingDuration() = 0;
3907 
3927  virtual int setAudioMixingPosition(int pos /*in ms*/) = 0;
3928 
3936  virtual int getEffectsVolume() = 0;
3946  virtual int setEffectsVolume(int volume) = 0;
3970  virtual int preloadEffect(int soundId, const char* filePath) = 0;
4012  virtual int playEffect(int soundId, const char* filePath, int loopCount, double pitch, double pan, int gain, bool publish = false) = 0;
4043  virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false) = 0;
4044 
4054  virtual int getVolumeOfEffect(int soundId) = 0;
4055 
4066  virtual int setVolumeOfEffect(int soundId, int volume) = 0;
4075  virtual int pauseEffect(int soundId) = 0;
4082  virtual int pauseAllEffects() = 0;
4091  virtual int resumeEffect(int soundId) = 0;
4098  virtual int resumeAllEffects() = 0;
4107  virtual int stopEffect(int soundId) = 0;
4114  virtual int stopAllEffects() = 0;
4123  virtual int unloadEffect(int soundId) = 0;
4130  virtual int unloadAllEffects() = 0;
4131 
4144  virtual int enableSoundPositionIndication(bool enabled) = 0;
4166  virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain, conn_id_t connectionId = DEFAULT_CONNECTION_ID) = 0;
4167 
4207  virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset) = 0;
4208 
4248  virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset) = 0;
4249 
4287  virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset) = 0;
4288 
4366  virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2) = 0;
4367 
4412  virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset,
4413  int param1, int param2) = 0;
4414 
4427  virtual int setVoiceConversionParameters(VOICE_CONVERSION_PRESET preset,
4428  int param1, int param2) = 0;
4429 
4440  virtual int setLocalVoicePitch(double pitch) = 0;
4441 
4453  virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency,
4454  int bandGain) = 0;
4455 
4464  virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value) = 0;
4465 
4482  virtual int setLocalVoiceReverbPreset(AUDIO_REVERB_PRESET reverbPreset) = 0;
4483 
4497  virtual int setLocalVoiceChanger(VOICE_CHANGER_PRESET voiceChanger) = 0;
4498 
4514  virtual int setLogFile(const char* filePath) = 0;
4515 
4538  virtual int setLogFilter(unsigned int filter) = 0;
4539 
4556  virtual int setLogLevel(commons::LOG_LEVEL level) = 0;
4557 
4572  virtual int setLogFileSize(unsigned int fileSizeInKBytes) = 0;
4573 
4592  virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
4614  virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode,
4615  VIDEO_MIRROR_MODE_TYPE mirrorMode,
4616  conn_id_t connectionId = DEFAULT_CONNECTION_ID) = 0;
4617 
4618  // The following APIs are either deprecated and going to deleted.
4619 
4637  virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) = 0;
4638 
4659  virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode,
4660  conn_id_t connectionId = DEFAULT_CONNECTION_ID) = 0;
4661 
4673  virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
4674 
4689  virtual int enableDualStreamMode(bool enabled) = 0;
4690 
4707  virtual int enableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled) = 0;
4708 
4727  virtual int enableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled, const SimulcastStreamConfig& streamConfig) = 0;
4728 
4748  virtual int setExternalAudioSource(bool enabled, int sampleRate, int channels,
4749  int sourceNumber = 1, bool localPlayback = false, bool publish = true) = 0;
4750 
4775  virtual int setExternalAudioSink(int sampleRate, int channels) = 0;
4776 
4814 
4822  virtual int startPrimaryCustomAudioTrack(const AudioTrackConfig& config) = 0;
4823 
4831  virtual int stopPrimaryCustomAudioTrack() = 0;
4832 
4840  virtual int startSecondaryCustomAudioTrack(const AudioTrackConfig& config) = 0;
4841 
4850 
4869  virtual int setRecordingAudioFrameParameters(int sampleRate, int channel,
4870  RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
4871  int samplesPerCall) = 0;
4872 
4892  virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel,
4893  RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
4894  int samplesPerCall) = 0;
4895 
4911  virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall) = 0;
4912 
4928  virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel) = 0;
4929 
4940  virtual int enableAudioSpectrumMonitor(int intervalInMS = 100) = 0;
4948  virtual int disableAudioSpectrumMonitor() = 0;
4949 
4975 
4989  virtual int adjustRecordingSignalVolume(int volume) = 0;
4990 
5002  virtual int muteRecordingSignal(bool mute) = 0;
5003 
5017  virtual int adjustPlaybackSignalVolume(int volume) = 0;
5018 
5019  /*
5020  * Adjust the playback volume of the user specified by uid.
5021  *
5022  * You can call this method to adjust the playback volume of the user specified by uid
5023  * in call. If you want to adjust playback volume of the multi user, you can call this
5024  * this method multi times.
5025  *
5026  * @note
5027  * Please call this method after join channel.
5028  * This method adjust the playback volume of specified user.
5029  *
5030  * @param uid Remote user ID。
5031  * @param volume The playback volume, range is [0,100]:
5032  * 0: mute, 100: The original volume
5033  * @return
5034  * - 0: Success.
5035  * - < 0: Failure.
5036  */
5037  virtual int adjustUserPlaybackSignalVolume(unsigned int uid, int volume) = 0;
5038 
5054  virtual int enableLoopbackRecording(bool enabled) = 0;
5071  virtual int enableLoopbackRecording(conn_id_t connectionId, bool enabled) = 0;
5072 
5085  virtual int adjustLoopbackRecordingVolume(int volume) = 0;
5086 
5093  virtual int getLoopbackRecordingVolume() = 0;
5094 
5106  virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters) = 0;
5107 
5118  virtual int setInEarMonitoringVolume(int volume) = 0;
5119 
5132  virtual int enableExtension(VIDEO_SOURCE_TYPE type, const char* id, bool enable=true) = 0;
5133 
5145  virtual int setExtensionProperty(VIDEO_SOURCE_TYPE type, const char* id, const char* key, const char* json_value) = 0;
5146 
5147 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
5148 
5157  virtual int switchCamera() = 0;
5158 
5170  virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration& config) = 0;
5171 
5179  virtual bool isCameraZoomSupported() = 0;
5180 
5188  virtual bool isCameraTorchSupported() = 0;
5189 
5197  virtual bool isCameraFocusSupported() = 0;
5198 
5206  virtual bool isCameraAutoFocusFaceModeSupported() = 0;
5207 
5217  virtual int setCameraZoomFactor(float factor);
5218 
5223  virtual float getCameraMaxZoomFactor();
5224 
5234  virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0;
5235 
5243  virtual int setCameraTorchOn(bool isOn) = 0;
5244 
5252  virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0;
5253 
5265  virtual bool isCameraExposurePositionSupported() = 0;
5266 
5282  virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0;
5283 
5284 #if defined(__APPLE__)
5285 
5292  virtual bool isCameraAutoExposureFaceModeSupported() = 0;
5293 
5294 
5302  virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0;
5303 #endif
5304 
5338  virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0;
5339 
5366  virtual int setEnableSpeakerphone(bool speakerOn) = 0;
5367 
5375  virtual bool isSpeakerphoneEnabled() = 0;
5376 
5377 #endif // __ANDROID__ || (__APPLE__ && TARGET_OS_IOS)
5378 
5379 #if (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
5380 
5403  virtual int startScreenCaptureByDisplayId(unsigned int displayId, const Rectangle& regionRect,
5404  const ScreenCaptureParameters& captureParams) = 0;
5405 
5406 #endif // __APPLE__ && TARGET_OS_MAC && !TARGET_OS_IPHONE
5407 
5408 #if defined(_WIN32)
5409 
5429  virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect,
5430  const Rectangle& regionRect,
5431  const ScreenCaptureParameters& captureParams) = 0;
5432 
5433 #endif // _WIN32
5434 
5435 #if defined(__ANDROID__)
5436 
5455  virtual int startScreenCapture(void* mediaProjectionPermissionResultData,
5456  const ScreenCaptureParameters& captureParams) = 0;
5457 
5458 #endif // __ANDROID__
5459 
5460 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
5461 
5477  virtual int startScreenCaptureByWindowId(view_t windowId, const Rectangle& regionRect,
5478  const ScreenCaptureParameters& captureParams) = 0;
5479 
5492  virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint) = 0;
5493 
5507  virtual int updateScreenCaptureRegion(const Rectangle& regionRect) = 0;
5508 
5509 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
5510 
5511 #if defined(_WIN32) || defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
5512 
5522  virtual int updateScreenCaptureParameters(const ScreenCaptureParameters& captureParams) = 0;
5523 
5531  virtual int stopScreenCapture() = 0;
5532 
5533 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC) || __ANDROID__
5534 
5551  virtual int getCallId(agora::util::AString& callId) = 0;
5552 
5567  virtual int rate(const char* callId, int rating,
5568  const char* description) = 0; // 0~10
5569 
5583  virtual int complain(const char* callId, const char* description) = 0;
5584 
5615  virtual int addPublishStreamUrl(const char* url, bool transcodingEnabled) = 0;
5616 
5637  virtual int removePublishStreamUrl(const char* url) = 0;
5638 
5658  virtual int setLiveTranscoding(const LiveTranscoding& transcoding) = 0;
5659 
5660  virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration& config) = 0;
5661  virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration& config) = 0;
5662  virtual int stopLocalVideoTranscoder() = 0;
5663 
5664  virtual int startPrimaryCameraCapture(const CameraCapturerConfiguration& config) = 0;
5665  virtual int startSecondaryCameraCapture(const CameraCapturerConfiguration& config) = 0;
5666  virtual int stopPrimaryCameraCapture() = 0;
5667  virtual int stopSecondaryCameraCapture() = 0;
5668 
5669  virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
5670 
5671  virtual int startPrimaryScreenCapture(const ScreenCaptureConfiguration& config) = 0;
5672  virtual int startSecondaryScreenCapture(const ScreenCaptureConfiguration& config) = 0;
5673  virtual int stopPrimaryScreenCapture() = 0;
5674  virtual int stopSecondaryScreenCapture() = 0;
5675 
5680  virtual CONNECTION_STATE_TYPE getConnectionState(conn_id_t connectionId = 0) = 0;
5681 
5682  // The following APIs are not implemented yet.
5683  virtual bool registerEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
5684  virtual bool unregisterEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
5685  virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0;
5686 
5698  virtual int registerPacketObserver(IPacketObserver* observer) = 0;
5699 
5725  virtual int setEncryptionMode(const char* encryptionMode) = 0;
5726 
5741  virtual int setEncryptionSecret(const char* secret) = 0;
5742 
5765  virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0;
5766 
5798  virtual int createDataStream(int* streamId, bool reliable, bool ordered, conn_id_t connectionId = agora::rtc::DEFAULT_CONNECTION_ID) = 0;
5810  virtual int createDataStream(int* streamId, DataStreamConfig& config, conn_id_t connectionId = agora::rtc::DEFAULT_CONNECTION_ID) = 0;
5841  virtual int sendStreamMessage(int streamId, const char* data, size_t length, conn_id_t connectionId = agora::rtc::DEFAULT_CONNECTION_ID) = 0;
5842 
5864  virtual int addVideoWatermark(const RtcImage& watermark) = 0;
5865 
5892  virtual int addVideoWatermark(const char* watermarkUrl, const WatermarkOptions& options, conn_id_t connectionId = agora::rtc::DEFAULT_CONNECTION_ID) = 0;
5893 
5903  virtual int clearVideoWatermark(conn_id_t connectionId = agora::rtc::DEFAULT_CONNECTION_ID) = 0;
5904 
5912  virtual int clearVideoWatermarks() = 0;
5913 
5940  virtual int addInjectStreamUrl(const char* url, const InjectStreamConfig& config) = 0;
5941 
5953  virtual int removeInjectStreamUrl(const char* url) = 0;
5954 
5955  // The following APIs are either deprecated and going to deleted.
5956 
5965  virtual int pauseAudio() = 0;
5974  virtual int resumeAudio() = 0;
5975 
5993  virtual int enableWebSdkInteroperability(bool enabled) = 0;
5994 
6005  const char* id, const char* category, const char* event, const char* label, int value,
6006  conn_id_t connectionId = agora::rtc::DEFAULT_CONNECTION_ID) = 0;
6007 
6030 
6040 
6050  virtual int startAudioFrameDump(const char* channel_id, uid_t user_id, const char* location,
6051  const char* uuid, const char* passwd, long duration_ms, bool auto_upload) = 0;
6052 
6053  virtual int stopAudioFrameDump(const char* channel_id, uid_t user_id, const char* location) = 0;
6054 
6086  virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0;
6087 
6118  virtual int joinChannelWithUserAccount(const char* token, const char* channelId,
6119  const char* userAccount) = 0;
6120 
6152  virtual int joinChannelWithUserAccount(const char* token, const char* channelId,
6153  const char* userAccount, const ChannelMediaOptions& options) = 0;
6154 
6189  virtual int joinChannelWithUserAccountEx(const char* token, const char* channelId,
6190  const char* userAccount, const ChannelMediaOptions& options,
6191  IRtcEngineEventHandler* eventHandler,
6192  conn_id_t* connectionId = 0) = 0;
6193 
6212  virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo, conn_id_t connectionId = agora::rtc::DEFAULT_CONNECTION_ID) = 0;
6213 
6232  virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo, conn_id_t connectionId = agora::rtc::DEFAULT_CONNECTION_ID) = 0;
6273  virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0;
6274 
6298  virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0;
6299 
6324  virtual int stopChannelMediaRelay() = 0;
6325 
6326  virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile) = 0;
6327 
6328  virtual int setDirectCdnStreamingVideoConfiguration(const VideoEncoderConfiguration& config) = 0;
6329 
6330  virtual int startDirectCdnStreaming(IDirectCdnStreamingEventHandler* eventHandler,
6331  const char* publishUrl, const DirectCdnStreamingMediaOptions& options) = 0;
6332  virtual int stopDirectCdnStreaming() = 0;
6333 
6334  virtual int updateDirectCdnStreamingMediaOptions(const DirectCdnStreamingMediaOptions& options) = 0;
6335 
6336  virtual int pushDirectCdnStreamingCustomVideoFrame(media::base::ExternalVideoFrame* frame) = 0;
6337 };
6338 
6340  public:
6341  virtual ~IRtcEngineParameter() {}
6342 
6346  virtual void release() = 0;
6347 
6356  virtual int setBool(const char* key, bool value) = 0;
6357 
6366  virtual int setInt(const char* key, int value) = 0;
6367 
6376  virtual int setUInt(const char* key, unsigned int value) = 0;
6377 
6386  virtual int setNumber(const char* key, double value) = 0;
6387 
6396  virtual int setString(const char* key, const char* value) = 0;
6397 
6406  virtual int setObject(const char* key, const char* value) = 0;
6407 
6416  virtual int getBool(const char* key, bool& value) = 0;
6417 
6426  virtual int getInt(const char* key, int& value) = 0;
6427 
6436  virtual int getUInt(const char* key, unsigned int& value) = 0;
6437 
6446  virtual int getNumber(const char* key, double& value) = 0;
6447 
6456  virtual int getString(const char* key, agora::util::AString& value) = 0;
6457 
6466  virtual int getObject(const char* key, agora::util::AString& value) = 0;
6467 
6476  virtual int getArray(const char* key, agora::util::AString& value) = 0;
6477 
6485  virtual int setParameters(const char* parameters) = 0;
6486 
6497  virtual int setProfile(const char* profile, bool merge) = 0;
6498 
6499  virtual int convertPath(const char* filePath, agora::util::AString& value) = 0;
6500 };
6501 
6502 class AAudioDeviceManager : public agora::util::AutoPtr<IAudioDeviceManager> {
6503  public:
6504  AAudioDeviceManager(IRtcEngine* engine) {
6505  queryInterface(engine, AGORA_IID_AUDIO_DEVICE_MANAGER);
6506  }
6507 };
6508 
6509 class AVideoDeviceManager : public agora::util::AutoPtr<IVideoDeviceManager> {
6510  public:
6511  AVideoDeviceManager(IRtcEngine* engine) {
6512  queryInterface(engine, AGORA_IID_VIDEO_DEVICE_MANAGER);
6513  }
6514 };
6515 
6516 // The following types are either deprecated or not implmented yet.
6517 enum QUALITY_REPORT_FORMAT_TYPE {
6520  QUALITY_REPORT_JSON = 0,
6523  QUALITY_REPORT_HTML = 1,
6524 };
6525 
6527 enum MEDIA_DEVICE_STATE_TYPE {
6530  MEDIA_DEVICE_STATE_ACTIVE = 1,
6533  MEDIA_DEVICE_STATE_DISABLED = 2,
6536  MEDIA_DEVICE_STATE_NOT_PRESENT = 4,
6539  MEDIA_DEVICE_STATE_UNPLUGGED = 8
6540 };
6541 
6542 enum VIDEO_PROFILE_TYPE { // res fps
6544  VIDEO_PROFILE_LANDSCAPE_120P = 0, // 160x120 15
6546  VIDEO_PROFILE_LANDSCAPE_120P_3 = 2, // 120x120 15
6548  VIDEO_PROFILE_LANDSCAPE_180P = 10, // 320x180 15
6550  VIDEO_PROFILE_LANDSCAPE_180P_3 = 12, // 180x180 15
6552  VIDEO_PROFILE_LANDSCAPE_180P_4 = 13, // 240x180 15
6554  VIDEO_PROFILE_LANDSCAPE_240P = 20, // 320x240 15
6556  VIDEO_PROFILE_LANDSCAPE_240P_3 = 22, // 240x240 15
6558  VIDEO_PROFILE_LANDSCAPE_240P_4 = 23, // 424x240 15
6560  VIDEO_PROFILE_LANDSCAPE_360P = 30, // 640x360 15
6562  VIDEO_PROFILE_LANDSCAPE_360P_3 = 32, // 360x360 15
6564  VIDEO_PROFILE_LANDSCAPE_360P_4 = 33, // 640x360 30
6566  VIDEO_PROFILE_LANDSCAPE_360P_6 = 35, // 360x360 30
6568  VIDEO_PROFILE_LANDSCAPE_360P_7 = 36, // 480x360 15
6570  VIDEO_PROFILE_LANDSCAPE_360P_8 = 37, // 480x360 30
6572  VIDEO_PROFILE_LANDSCAPE_360P_9 = 38, // 640x360 15
6574  VIDEO_PROFILE_LANDSCAPE_360P_10 = 39, // 640x360 24
6576  VIDEO_PROFILE_LANDSCAPE_360P_11 = 100, // 640x360 24
6578  VIDEO_PROFILE_LANDSCAPE_480P = 40, // 640x480 15
6580  VIDEO_PROFILE_LANDSCAPE_480P_3 = 42, // 480x480 15
6582  VIDEO_PROFILE_LANDSCAPE_480P_4 = 43, // 640x480 30
6584  VIDEO_PROFILE_LANDSCAPE_480P_6 = 45, // 480x480 30
6586  VIDEO_PROFILE_LANDSCAPE_480P_8 = 47, // 848x480 15
6588  VIDEO_PROFILE_LANDSCAPE_480P_9 = 48, // 848x480 30
6590  VIDEO_PROFILE_LANDSCAPE_480P_10 = 49, // 640x480 10
6592  VIDEO_PROFILE_LANDSCAPE_720P = 50, // 1280x720 15
6594  VIDEO_PROFILE_LANDSCAPE_720P_3 = 52, // 1280x720 30
6596  VIDEO_PROFILE_LANDSCAPE_720P_5 = 54, // 960x720 15
6598  VIDEO_PROFILE_LANDSCAPE_720P_6 = 55, // 960x720 30
6600  VIDEO_PROFILE_LANDSCAPE_1080P = 60, // 1920x1080 15
6602  VIDEO_PROFILE_LANDSCAPE_1080P_3 = 62, // 1920x1080 30
6604  VIDEO_PROFILE_LANDSCAPE_1080P_5 = 64, // 1920x1080 60
6606  VIDEO_PROFILE_LANDSCAPE_1440P = 66, // 2560x1440 30
6608  VIDEO_PROFILE_LANDSCAPE_1440P_2 = 67, // 2560x1440 60
6610  VIDEO_PROFILE_LANDSCAPE_4K = 70, // 3840x2160 30
6612  VIDEO_PROFILE_LANDSCAPE_4K_3 = 72, // 3840x2160 60
6614  VIDEO_PROFILE_PORTRAIT_120P = 1000, // 120x160 15
6616  VIDEO_PROFILE_PORTRAIT_120P_3 = 1002, // 120x120 15
6618  VIDEO_PROFILE_PORTRAIT_180P = 1010, // 180x320 15
6620  VIDEO_PROFILE_PORTRAIT_180P_3 = 1012, // 180x180 15
6622  VIDEO_PROFILE_PORTRAIT_180P_4 = 1013, // 180x240 15
6624  VIDEO_PROFILE_PORTRAIT_240P = 1020, // 240x320 15
6626  VIDEO_PROFILE_PORTRAIT_240P_3 = 1022, // 240x240 15
6628  VIDEO_PROFILE_PORTRAIT_240P_4 = 1023, // 240x424 15
6630  VIDEO_PROFILE_PORTRAIT_360P = 1030, // 360x640 15
6632  VIDEO_PROFILE_PORTRAIT_360P_3 = 1032, // 360x360 15
6634  VIDEO_PROFILE_PORTRAIT_360P_4 = 1033, // 360x640 30
6636  VIDEO_PROFILE_PORTRAIT_360P_6 = 1035, // 360x360 30
6638  VIDEO_PROFILE_PORTRAIT_360P_7 = 1036, // 360x480 15
6640  VIDEO_PROFILE_PORTRAIT_360P_8 = 1037, // 360x480 30
6642  VIDEO_PROFILE_PORTRAIT_360P_9 = 1038, // 360x640 15
6644  VIDEO_PROFILE_PORTRAIT_360P_10 = 1039, // 360x640 24
6646  VIDEO_PROFILE_PORTRAIT_360P_11 = 1100, // 360x640 24
6648  VIDEO_PROFILE_PORTRAIT_480P = 1040, // 480x640 15
6650  VIDEO_PROFILE_PORTRAIT_480P_3 = 1042, // 480x480 15
6652  VIDEO_PROFILE_PORTRAIT_480P_4 = 1043, // 480x640 30
6654  VIDEO_PROFILE_PORTRAIT_480P_6 = 1045, // 480x480 30
6656  VIDEO_PROFILE_PORTRAIT_480P_8 = 1047, // 480x848 15
6658  VIDEO_PROFILE_PORTRAIT_480P_9 = 1048, // 480x848 30
6660  VIDEO_PROFILE_PORTRAIT_480P_10 = 1049, // 480x640 10
6662  VIDEO_PROFILE_PORTRAIT_720P = 1050, // 720x1280 15
6664  VIDEO_PROFILE_PORTRAIT_720P_3 = 1052, // 720x1280 30
6666  VIDEO_PROFILE_PORTRAIT_720P_5 = 1054, // 720x960 15
6668  VIDEO_PROFILE_PORTRAIT_720P_6 = 1055, // 720x960 30
6670  VIDEO_PROFILE_PORTRAIT_1080P = 1060, // 1080x1920 15
6672  VIDEO_PROFILE_PORTRAIT_1080P_3 = 1062, // 1080x1920 30
6674  VIDEO_PROFILE_PORTRAIT_1080P_5 = 1064, // 1080x1920 60
6676  VIDEO_PROFILE_PORTRAIT_1440P = 1066, // 1440x2560 30
6678  VIDEO_PROFILE_PORTRAIT_1440P_2 = 1067, // 1440x2560 60
6680  VIDEO_PROFILE_PORTRAIT_4K = 1070, // 2160x3840 30
6682  VIDEO_PROFILE_PORTRAIT_4K_3 = 1072, // 2160x3840 60
6684  VIDEO_PROFILE_DEFAULT = VIDEO_PROFILE_LANDSCAPE_360P,
6685 };
6686 
6687 } // namespace rtc
6688 } // namespace agora
6689 
6695 #define getAgoraRtcEngineVersion getAgoraSdkVersion
6696 
6698 
6701 
6708 
6710 
6711 
6718 #define getAgoraRtcEngineErrorDescription getAgoraSdkErrorDescription
6719 #define setAgoraRtcEngineExternalSymbolLoader setAgoraSdkExternalSymbolLoader
agora::rtc::IRtcEngineEventHandler::onApiCallExecuted
virtual void onApiCallExecuted(int err, const char *api, const char *result)
Definition: IAgoraRtcEngine.h:1335
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::ChannelMediaOptions::publishMediaPlayerAudioTrack
Optional< bool > publishMediaPlayerAudioTrack
Definition: IAgoraRtcEngine.h:642
agora::rtc::PublisherConfiguration::extraInfo
const char * extraInfo
Definition: IAgoraRtcEngine.h:535
agora::rtc::RtcEngineContext::appId
const char * appId
Definition: IAgoraRtcEngine.h:2499
agora::rtc::IRtcEngine::enableInEarMonitoring
virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters)=0
agora::rtc::IRtcEngineParameter::setBool
virtual int setBool(const char *key, bool value)=0
agora::rtc::UserInfo
Definition: AgoraBase.h:4742
agora::rtc::LastmileProbeResult
Definition: AgoraBase.h:3513
agora::rtc::AudioEncodedFrameObserverConfig
Definition: AgoraBase.h:4178
agora::rtc::ScreenCaptureParameters
Definition: AgoraBase.h:4012
agora::rtc::IRtcEngine::muteAllRemoteVideoStreams
virtual int muteAllRemoteVideoStreams(bool mute)=0
agora::rtc::AudioVolumeInfo
Definition: AgoraBase.h:2818
agora::rtc::InjectStreamConfig::audioChannels
int audioChannels
Definition: IAgoraRtcEngine.h:457
agora::rtc::IRtcEngine::pauseEffect
virtual int pauseEffect(int soundId)=0
agora::rtc::ChannelMediaOptions::publishSecondaryCameraTrack
Optional< bool > publishSecondaryCameraTrack
Definition: IAgoraRtcEngine.h:600
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:2492
agora::rtc::IRtcEngine::preloadEffect
virtual int preloadEffect(int soundId, const char *filePath)=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::IAudioDeviceCollection::setDevice
virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngineEventHandler::onIntraRequestReceived
virtual void onIntraRequestReceived()
Definition: IAgoraRtcEngine.h:1075
agora::rtc::VideoCompositingLayout
Definition: IAgoraRtcEngine.h:346
agora::rtc::VideoCompositingLayout::canvasHeight
int canvasHeight
Definition: IAgoraRtcEngine.h:396
agora::rtc::IRtcEngine::setVoiceConversionPreset
virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset)=0
agora::rtc::LastmileProbeConfig
Definition: AgoraBase.h:3439
agora::rtc::IRtcEngine::enableLocalVideo
virtual int enableLocalVideo(bool enabled)=0
agora::rtc::IRtcEngineEventHandler::onLeaveChannel
virtual void onLeaveChannel(const RtcStats &stats)
Definition: IAgoraRtcEngine.h:986
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:1124
agora::rtc::IRtcEngine::joinChannelEx
virtual int joinChannelEx(const char *token, const char *channelId, uid_t uid, const ChannelMediaOptions &options, IRtcEngineEventHandler *eventHandler, conn_id_t *connectionId)=0
agora::rtc::LocalVideoStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:243
agora::rtc::IRtcEngine::stopChannelMediaRelay
virtual int stopChannelMediaRelay()=0
agora::rtc::IAudioDeviceCollection::setApplicationMute
virtual int setApplicationMute(bool mute)=0
agora::rtc::IAudioDeviceManager::getRecordingDevice
virtual int getRecordingDevice(char deviceId[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngine::registerAudioEncodedFrameObserver
virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig &config, IAudioEncodedFrameObserver *observer)=0
agora::rtc::IRtcEngine::resumeAllEffects
virtual int resumeAllEffects()=0
agora::rtc::InjectStreamConfig::width
int width
Definition: IAgoraRtcEngine.h:430
agora::rtc::IRtcEngine::pauseAudioMixing
virtual int pauseAudioMixing()=0
agora::rtc::IRtcEngine::setPlaybackAudioFrameBeforeMixingParameters
virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel)=0
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::IVideoDeviceCollection::release
virtual void release()=0
agora::rtc::IVideoDeviceManager::enumerateVideoDevices
virtual IVideoDeviceCollection * enumerateVideoDevices()=0
agora::rtc::LeaveChannelOptions::stopAudioMixing
bool stopAudioMixing
Definition: IAgoraRtcEngine.h:809
agora::rtc::IRtcEngine::getVersion
virtual const char * getVersion(int *build)=0
agora::rtc::ChannelMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition: IAgoraRtcEngine.h:630
agora::media::IAudioSpectrumObserver
Definition: AgoraMediaBase.h:666
agora::rtc::IAudioDeviceCollection::isApplicationMute
virtual int isApplicationMute(bool &mute)=0
agora::rtc::IRtcEngineEventHandler::onRemoteAudioTransportStats
virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate)
Definition: IAgoraRtcEngine.h:1841
agora::rtc::IRtcEngine::enableLoopbackRecording
virtual int enableLoopbackRecording(conn_id_t connectionId, bool enabled)=0
agora::rtc::IMetadataObserver::Metadata::buffer
unsigned char * buffer
Definition: IAgoraRtcEngine.h:2596
agora::rtc::PublisherConfiguration::publishUrl
const char * publishUrl
Definition: IAgoraRtcEngine.h:528
agora::rtc::IRtcEngine::enableLoopbackRecording
virtual int enableLoopbackRecording(bool enabled)=0
agora::rtc::IRtcEngine::setupRemoteVideo
virtual int setupRemoteVideo(const VideoCanvas &canvas, conn_id_t connectionId=DEFAULT_CONNECTION_ID)=0
agora::rtc::PublisherConfiguration::lifecycle
int lifecycle
Definition: IAgoraRtcEngine.h:510
agora::rtc::IRtcEngine::startPreview
virtual int startPreview()=0
agora::rtc::IMetadataObserver::Metadata::timeStampMs
long long timeStampMs
Definition: IAgoraRtcEngine.h:2601
agora::rtc::IRtcEngineEventHandler::onLocalAudioStats
virtual void onLocalAudioStats(const LocalAudioStats &stats)
Definition: IAgoraRtcEngine.h:1348
agora::rtc::ChannelMediaOptions::autoSubscribeAudio
Optional< bool > autoSubscribeAudio
Definition: IAgoraRtcEngine.h:661
agora::rtc::IAudioDeviceManager
Definition: IAgoraRtcEngine.h:2208
agora::rtc::IVideoDeviceCollection::getDevice
virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH], char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngineEventHandler::onLastmileQuality
virtual void onLastmileQuality(int quality)
Definition: IAgoraRtcEngine.h:1112
agora::rtc::CameraCapturerConfiguration::deviceId
char deviceId[MAX_DEVICE_ID_LENGTH]
Definition: IAgoraRtcEngine.h:570
agora::rtc::IRtcEngine::setEncryptionMode
virtual int setEncryptionMode(const char *encryptionMode)=0
agora::rtc::LiveTranscoding
Definition: AgoraBase.h:3212
agora::rtc::IAudioDeviceManager::release
virtual void release()=0
agora::rtc::LocalVideoStats::sentFrameRate
int sentFrameRate
Definition: IAgoraRtcEngine.h:251
agora::rtc::Rectangle
Definition: AgoraBase.h:1962
agora::rtc::IVideoDeviceManager::release
virtual void release()=0
agora::rtc::IAudioDeviceManager::startRecordingDeviceTest
virtual int startRecordingDeviceTest(int indicationInterval)=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:1926
agora::rtc::IRtcEngine::setRemoteVoicePosition
virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain, conn_id_t connectionId=DEFAULT_CONNECTION_ID)=0
agora::rtc::IRtcEngineEventHandler::onNetworkTypeChanged
virtual void onNetworkTypeChanged(NETWORK_TYPE type)
Definition: IAgoraRtcEngine.h:1885
agora::rtc::IRtcEngine::pauseAudio
virtual int pauseAudio()=0
agora::rtc::InjectStreamConfig::videoFramerate
int videoFramerate
Definition: IAgoraRtcEngine.h:442
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::IAudioDeviceCollection::setApplicationVolume
virtual int setApplicationVolume(int volume)=0
agora::rtc::IAudioDeviceManager::stopAudioDeviceLoopbackTest
virtual int stopAudioDeviceLoopbackTest()=0
agora::rtc::IRtcEngine::pauseAllEffects
virtual int pauseAllEffects()=0
agora::rtc::IRtcEngine::disableAudioSpectrumMonitor
virtual int disableAudioSpectrumMonitor()=0
agora::rtc::IRtcEngineEventHandlerEx
Definition: IAgoraRtcEngineEx.h:34
agora::rtc::IRtcEngineEventHandler::onFirstLocalAudioFramePublished
virtual void onFirstLocalAudioFramePublished(int elapsed)
Definition: IAgoraRtcEngine.h:1553
agora::util::AutoPtr
Definition: AgoraBase.h:99
agora::rtc::IRtcEngineParameter::getBool
virtual int getBool(const char *key, bool &value)=0
agora::rtc::LocalVideoStats::sentBitrate
int sentBitrate
Definition: IAgoraRtcEngine.h:247
agora::rtc::IRtcEngine::setDefaultMuteAllRemoteVideoStreams
virtual int setDefaultMuteAllRemoteVideoStreams(bool mute)=0
agora::rtc::IRtcEngine::getAudioMixingPublishVolume
virtual int getAudioMixingPublishVolume()=0
agora::rtc::IRtcEngineEventHandler::onRejoinChannelSuccess
virtual void onRejoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:867
agora::rtc::RemoteVideoStats::totalFrozenTime
int totalFrozenTime
Definition: IAgoraRtcEngine.h:334
agora::rtc::IRtcEngine::stopPrimaryCustomAudioTrack
virtual int stopPrimaryCustomAudioTrack()=0
agora::rtc::IMetadataObserver::METADATA_TYPE
METADATA_TYPE
Definition: IAgoraRtcEngine.h:2564
agora::rtc::IRtcEngine::setExternalAudioSource
virtual int setExternalAudioSource(bool enabled, int sampleRate, int channels, int sourceNumber=1, bool localPlayback=false, bool publish=true)=0
agora::rtc::VideoEncoderConfiguration
Definition: AgoraBase.h:1788
agora::rtc::IRtcEngineEventHandler
Definition: IAgoraRtcEngine.h:836
agora::rtc::VideoCompositingLayout::Region::height
double height
Definition: IAgoraRtcEngine.h:362
agora::rtc::IRtcEngine::leaveChannel
virtual int leaveChannel(const LeaveChannelOptions &options)=0
agora::rtc::IVideoDeviceManager::getDevice
virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngine::updateChannelMediaOptions
virtual int updateChannelMediaOptions(const ChannelMediaOptions &options, conn_id_t connectionId=agora::rtc::DEFAULT_CONNECTION_ID)=0
agora::rtc::IAudioDeviceManager::startPlaybackDeviceTest
virtual int startPlaybackDeviceTest(const char *testAudioFilePath)=0
agora::rtc::RtcEngineContext::enableAudioDevice
bool enableAudioDevice
Definition: IAgoraRtcEngine.h:2514
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:1085
agora::rtc::DirectCdnStreamingMediaOptions::publishMicrophoneTrack
Optional< bool > publishMicrophoneTrack
Definition: IAgoraRtcEngine.h:2692
agora::rtc::RtcImage
Definition: AgoraBase.h:3088
agora::rtc::IAudioDeviceManager::setPlaybackDevice
virtual int setPlaybackDevice(const char deviceId[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::VideoCompositingLayout::backgroundColor
const char * backgroundColor
Definition: IAgoraRtcEngine.h:399
agora::rtc::IRtcEngine::getAudioMixingCurrentPosition
virtual int getAudioMixingCurrentPosition()=0
agora::rtc::IRtcEngine::registerAudioSpectrumObserver
virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
agora::rtc::LocalVideoStats::encodedBitrate
int encodedBitrate
Definition: IAgoraRtcEngine.h:268
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::IRtcEngineEventHandler::onAudioMixingFinished
virtual void onAudioMixingFinished()
Definition: IAgoraRtcEngine.h:1019
agora::rtc::SimulcastStreamConfig
Definition: AgoraBase.h:1940
agora::rtc::IAudioDeviceManager::startAudioDeviceLoopbackTest
virtual int startAudioDeviceLoopbackTest(int indicationInterval)=0
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:2615
agora::rtc::IRtcEngine::createDataStream
virtual int createDataStream(int *streamId, bool reliable, bool ordered, conn_id_t connectionId=agora::rtc::DEFAULT_CONNECTION_ID)=0
agora::rtc::IRtcEngine::enableEncryption
virtual int enableEncryption(bool enabled, const EncryptionConfig &config)=0
agora::rtc::IAudioDeviceManager::getPlaybackDevice
virtual int getPlaybackDevice(char deviceId[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::ChannelMediaOptions::publishTrancodedVideoTrack
Optional< bool > publishTrancodedVideoTrack
Definition: IAgoraRtcEngine.h:654
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStateChanged
virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed)
Definition: IAgoraRtcEngine.h:1588
agora::rtc::IRtcEngine::setDefaultMuteAllRemoteAudioStreams
virtual int setDefaultMuteAllRemoteAudioStreams(bool mute)=0
agora::rtc::IRtcEngine::adjustAudioMixingPublishVolume
virtual int adjustAudioMixingPublishVolume(int volume)=0
agora::rtc::DirectCdnStreamingMediaOptions::publishCameraTrack
Optional< bool > publishCameraTrack
Definition: IAgoraRtcEngine.h:2686
agora::rtc::IVideoDeviceCollection::getCount
virtual int getCount()=0
agora::rtc::IRtcEngineEventHandler::onUserMuteVideo
virtual void onUserMuteVideo(uid_t userId, bool muted)
Definition: IAgoraRtcEngine.h:1285
agora::rtc::IRtcEngine::getAudioMixingDuration
virtual int getAudioMixingDuration()=0
agora::rtc::IRtcEngineEventHandler::onVideoDeviceStateChanged
virtual void onVideoDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition: IAgoraRtcEngine.h:1037
agora::rtc::IMetadataObserver
Definition: IAgoraRtcEngine.h:2557
agora::rtc::VideoCompositingLayout::appData
const char * appData
Definition: IAgoraRtcEngine.h:409
agora::rtc::IRtcEngineEventHandler::onVideoPublishStateChanged
virtual void onVideoPublishStateChanged(const char *channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)
Definition: IAgoraRtcEngine.h:1988
agora::rtc::IRtcEngineEventHandler::onLocalVideoStateChanged
virtual void onLocalVideoStateChanged(LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_ERROR error)
Definition: IAgoraRtcEngine.h:1185
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::IRtcEngine::sendCustomReportMessage
virtual int sendCustomReportMessage(const char *id, const char *category, const char *event, const char *label, int value, conn_id_t connectionId=agora::rtc::DEFAULT_CONNECTION_ID)=0
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:507
agora::rtc::IRtcEngineEventHandler::onTranscodingUpdated
virtual void onTranscodingUpdated()
Definition: IAgoraRtcEngine.h:1726
agora::rtc::IRtcEngineEventHandler::onAudioMixingStateChanged
virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_ERROR_TYPE errorCode)
Definition: IAgoraRtcEngine.h:1440
agora::rtc::IRtcEngine::setVideoEncoderConfiguration
virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration &config, conn_id_t connectionId=DEFAULT_CONNECTION_ID)=0
agora::rtc::IRtcEngineEventHandler::onRequestToken
virtual void onRequestToken()
Definition: IAgoraRtcEngine.h:1528
agora::rtc::IRtcEngineEventHandler::onError
virtual void onError(int err, const char *msg)
Definition: IAgoraRtcEngine.h:891
agora::rtc::VideoCompositingLayout::regionCount
int regionCount
Definition: IAgoraRtcEngine.h:406
agora::rtc::PublisherConfiguration::height
int height
Definition: IAgoraRtcEngine.h:493
agora::rtc::AVideoDeviceManager
Definition: IAgoraRtcEngine.h:6509
agora::rtc::LocalVideoStats::codecType
VIDEO_CODEC_TYPE codecType
Definition: IAgoraRtcEngine.h:282
agora::rtc::LocalTranscoderConfiguration
Definition: AgoraBase.h:3416
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::IRtcEngineEventHandler::onUserEnableLocalVideo
virtual void onUserEnableLocalVideo(uid_t uid, bool enabled)
Definition: IAgoraRtcEngine.h:1323
agora::rtc::InjectStreamConfig::audioBitrate
int audioBitrate
Definition: IAgoraRtcEngine.h:454
agora::rtc::IAudioDeviceCollection::getDevice
virtual int getDevice(int index, char deviceName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngine::resumeAudio
virtual int resumeAudio()=0
agora::rtc::IRtcEngineEventHandler::onAudioVolumeIndication
virtual void onAudioVolumeIndication(const AudioVolumeInfo *speakers, unsigned int speakerNumber, int totalVolume)
Definition: IAgoraRtcEngine.h:968
agora::rtc::IRtcEngine::getConnectionState
virtual CONNECTION_STATE_TYPE getConnectionState(conn_id_t connectionId=0)=0
agora::rtc::IRtcEngineEventHandler::onConnectionBanned
virtual void onConnectionBanned()
Definition: IAgoraRtcEngine.h:1469
agora::rtc::IPacketObserver
Definition: AgoraBase.h:2835
agora::media::base::ExternalVideoFrame
Definition: AgoraMediaBase.h:288
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:636
agora::rtc::VideoFormat
Definition: AgoraBase.h:2435
agora::rtc::RemoteVideoStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:292
agora::rtc::IRtcEngineEventHandler::onUserOffline
virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:1266
agora::rtc::IRtcEngine::sendStreamMessage
virtual int sendStreamMessage(int streamId, const char *data, size_t length, conn_id_t connectionId=agora::rtc::DEFAULT_CONNECTION_ID)=0
agora::rtc::DataStreamConfig
Definition: AgoraBase.h:1928
agora::rtc::VideoCompositingLayout::Region::y
double y
Definition: IAgoraRtcEngine.h:356
agora::rtc::IRtcEngine::stopAudioMixing
virtual int stopAudioMixing()=0
agora::rtc::PublisherConfiguration
Definition: IAgoraRtcEngine.h:485
agora::rtc::IRtcEngine::setLogLevel
virtual int setLogLevel(commons::LOG_LEVEL level)=0
agora::rtc::IAudioDeviceManager::getPlaybackDeviceMute
virtual int getPlaybackDeviceMute(bool *mute)=0
agora::rtc::RtcEngineContext::logConfig
commons::LogConfig logConfig
Definition: IAgoraRtcEngine.h:2545
agora::rtc::IRtcEngineEventHandler::onChannelMediaRelayEvent
virtual void onChannelMediaRelayEvent(int code)
Definition: IAgoraRtcEngine.h:1815
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::IRtcEngine::createDataStream
virtual int createDataStream(int *streamId, DataStreamConfig &config, conn_id_t connectionId=agora::rtc::DEFAULT_CONNECTION_ID)=0
agora::rtc::IRtcEngineEventHandler::onUserEnableVideo
virtual void onUserEnableVideo(uid_t uid, bool enabled)
Definition: IAgoraRtcEngine.h:1307
agora::rtc::InjectStreamConfig::height
int height
Definition: IAgoraRtcEngine.h:434
agora::rtc::IAudioDeviceManager::getPlaybackDeviceVolume
virtual int getPlaybackDeviceVolume(int *volume)=0
agora::rtc::DirectCdnStreamingMediaOptions
Definition: IAgoraRtcEngine.h:2680
agora::rtc::IRtcEngineEventHandler::onStreamMessageError
virtual void onStreamMessageError(uid_t userId, int streamId, int code, int missed, int cached)
Definition: IAgoraRtcEngine.h:1506
agora::rtc::IRtcEngineEventHandler::onRtmpStreamingStateChanged
virtual void onRtmpStreamingStateChanged(const char *url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_ERROR errCode)
Definition: IAgoraRtcEngine.h:1654
agora::rtc::IRtcEngine::stopAllEffects
virtual int stopAllEffects()=0
agora::rtc::IRtcEngine::setExternalAudioSink
virtual int setExternalAudioSink(int sampleRate, int channels)=0
agora::rtc::VideoCompositingLayout::canvasWidth
int canvasWidth
Definition: IAgoraRtcEngine.h:391
agora::rtc::LeaveChannelOptions::stopMicrophoneRecording
bool stopMicrophoneRecording
Definition: IAgoraRtcEngine.h:821
agora::rtc::PublisherConfiguration::rawStreamUrl
const char * rawStreamUrl
Definition: IAgoraRtcEngine.h:532
agora::rtc::IRtcEngine::setExtensionProperty
virtual int setExtensionProperty(VIDEO_SOURCE_TYPE type, const char *id, const char *key, const char *json_value)=0
agora::rtc::IRtcEngine::addVideoWatermark
virtual int addVideoWatermark(const char *watermarkUrl, const WatermarkOptions &options, conn_id_t connectionId=agora::rtc::DEFAULT_CONNECTION_ID)=0
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:1392
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:1544
agora::rtc::LocalVideoStats::targetFrameRate
int targetFrameRate
Definition: IAgoraRtcEngine.h:264
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:2519
agora::rtc::IRtcEngine::enableWebSdkInteroperability
virtual int enableWebSdkInteroperability(bool enabled)=0
agora::rtc::IRtcEngine::setLiveTranscoding
virtual int setLiveTranscoding(const LiveTranscoding &transcoding)=0
agora::rtc::IRtcEngineEventHandler::onAudioDeviceStateChanged
virtual void onAudioDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition: IAgoraRtcEngine.h:1006
agora::rtc::IAudioEncodedFrameObserver
Definition: AgoraBase.h:4194
agora::rtc::IAudioDeviceManager::setPlaybackDeviceVolume
virtual int setPlaybackDeviceVolume(int volume)=0
agora::rtc::IRtcEngine::removePublishStreamUrl
virtual int removePublishStreamUrl(const char *url)=0
agora::rtc::IRtcEngineEventHandler::onAudioQuality
virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay, unsigned short lost)
Definition: IAgoraRtcEngine.h:910
agora::rtc::LeaveChannelOptions
Definition: IAgoraRtcEngine.h:803
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoDecoded
virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed)
Definition: IAgoraRtcEngine.h:1160
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStats
virtual void onRemoteAudioStats(const RemoteAudioStats &stats)
Definition: IAgoraRtcEngine.h:1362
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::IRtcEngine::stopLastmileProbeTest
virtual int stopLastmileProbeTest()=0
agora::rtc::ChannelMediaRelayConfiguration
Definition: AgoraBase.h:4483
agora::rtc::IVideoDeviceCollection
Definition: IAgoraRtcEngine.h:1999
agora::rtc::IRtcEngine::renewToken
virtual int renewToken(const char *token)=0
agora::rtc::IRtcEngine::setAudioProfile
virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile)=0
agora::rtc::IRtcEngine::getUserInfoByUid
virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo *userInfo, conn_id_t connectionId=agora::rtc::DEFAULT_CONNECTION_ID)=0
agora::rtc::ChannelMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition: IAgoraRtcEngine.h:624
agora::rtc::RemoteVideoStats::avSyncTimeMs
int avSyncTimeMs
Definition: IAgoraRtcEngine.h:343
agora::rtc::IAudioDeviceManager::enumerateRecordingDevices
virtual IAudioDeviceCollection * enumerateRecordingDevices()=0
agora::rtc::IRtcEngine::removeInjectStreamUrl
virtual int removeInjectStreamUrl(const char *url)=0
agora::rtc::RemoteVideoStats::decoderOutputFrameRate
int decoderOutputFrameRate
Definition: IAgoraRtcEngine.h:315
agora::rtc::RtcEngineContext::context
void * context
Definition: IAgoraRtcEngine.h:2506
agora::rtc::ChannelMediaOptions::publishCameraTrack
Optional< bool > publishCameraTrack
Definition: IAgoraRtcEngine.h:594
agora::rtc::ChannelMediaOptions::publishAudioTrack
Optional< bool > publishAudioTrack
Definition: IAgoraRtcEngine.h:606
agora::rtc::ChannelMediaOptions::clientRoleType
Optional< CLIENT_ROLE_TYPE > clientRoleType
Definition: IAgoraRtcEngine.h:683
agora::rtc::IRtcEngineEventHandler::onJoinChannelSuccess
virtual void onJoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:849
agora::rtc::ChannelMediaOptions::channelProfile
Optional< CHANNEL_PROFILE_TYPE > channelProfile
Definition: IAgoraRtcEngine.h:691
agora::rtc::IRtcEngineEventHandler::onStreamInjectedStatus
virtual void onStreamInjectedStatus(const char *url, uid_t uid, int status)
Definition: IAgoraRtcEngine.h:1734
agora::rtc::VideoCompositingLayout::Region::zOrder
int zOrder
Definition: IAgoraRtcEngine.h:366
agora::rtc::IRtcEngine::startPrimaryCustomAudioTrack
virtual int startPrimaryCustomAudioTrack(const AudioTrackConfig &config)=0
agora::rtc::IRtcEngineParameter::getArray
virtual int getArray(const char *key, agora::util::AString &value)=0
agora::rtc::IVideoDeviceManager
Definition: IAgoraRtcEngine.h:2043
agora::rtc::IAudioDeviceManager::getRecordingDeviceMute
virtual int getRecordingDeviceMute(bool *mute)=0
agora::rtc::RemoteVideoStats::frozenRate
int frozenRate
Definition: IAgoraRtcEngine.h:338
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:412
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:371
agora::rtc::IRtcEngine::release
virtual void release(bool sync=false)=0
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition: IAgoraRtcEngine.h:2704
agora::rtc::LocalVideoStats::encodedFrameHeight
int encodedFrameHeight
Definition: IAgoraRtcEngine.h:274
agora::rtc::IRtcEngine::pullAudioFrame
virtual int pullAudioFrame(media::IAudioFrameObserver::AudioFrame *frame)=0
agora::rtc::IRtcEngineEventHandler::onLocalAudioStateChanged
virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error)
Definition: IAgoraRtcEngine.h:1571
agora::rtc::IRtcEngine::updateChannelMediaRelay
virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration)=0
agora::rtc::IRtcEngineEventHandler::onStreamMessage
virtual void onStreamMessage(uid_t userId, int streamId, const char *data, size_t length)
Definition: IAgoraRtcEngine.h:1486
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::enableExtension
virtual int enableExtension(VIDEO_SOURCE_TYPE type, const char *id, bool enable=true)=0
agora::rtc::PublisherConfiguration::width
int width
Definition: IAgoraRtcEngine.h:489
agora::rtc::VideoCompositingLayout::Region::width
double width
Definition: IAgoraRtcEngine.h:360
agora::rtc::IRtcEngine::joinChannelWithUserAccountEx
virtual int joinChannelWithUserAccountEx(const char *token, const char *channelId, const char *userAccount, const ChannelMediaOptions &options, IRtcEngineEventHandler *eventHandler, conn_id_t *connectionId=0)=0
agora::rtc::IRtcEngine::getEffectsVolume
virtual int getEffectsVolume()=0
agora::rtc::IRtcEngineEventHandler::onEncryptionError
virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType)
Definition: IAgoraRtcEngine.h:1893
agora::rtc::IRtcEngine::muteRemoteAudioStream
virtual int muteRemoteAudioStream(uid_t uid, bool mute, conn_id_t connectionId=DEFAULT_CONNECTION_ID)=0
agora::rtc::IAudioDeviceManager::enumeratePlaybackDevices
virtual IAudioDeviceCollection * enumeratePlaybackDevices()=0
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::IRtcEngineEventHandler::onStreamUnpublished
virtual void onStreamUnpublished(const char *url)
Definition: IAgoraRtcEngine.h:1711
agora::rtc::LeaveChannelOptions::stopAllEffect
bool stopAllEffect
Definition: IAgoraRtcEngine.h:815
agora::rtc::ChannelMediaOptions::defaultVideoStreamType
Optional< VIDEO_STREAM_TYPE > defaultVideoStreamType
Definition: IAgoraRtcEngine.h:687
createAgoraRtcEngine
AGORA_API agora::rtc::IRtcEngine *AGORA_CALL createAgoraRtcEngine()
agora::rtc::LocalVideoStats
Definition: IAgoraRtcEngine.h:239
agora::rtc::IMetadataObserver::onMetadataReceived
virtual void onMetadataReceived(const Metadata &metadata)=0
agora::media::IAudioFrameObserver::AudioFrame
Definition: AgoraMediaBase.h:559
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::ChannelMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition: IAgoraRtcEngine.h:679
agora::rtc::IDirectCdnStreamingEventHandler
Definition: IAgoraRtcEngine.h:2666
agora::rtc::IAudioDeviceManager::stopRecordingDeviceTest
virtual int stopRecordingDeviceTest()=0
agora::rtc::IRtcEngineEventHandler::onAudioSubscribeStateChanged
virtual void onAudioSubscribeStateChanged(const char *channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState)
Definition: IAgoraRtcEngine.h:1940
agora::rtc::IRtcEngine::startSecondaryCustomAudioTrack
virtual int startSecondaryCustomAudioTrack(const AudioTrackConfig &config)=0
agora::rtc::EncryptionConfig
Definition: AgoraBase.h:4658
agora::rtc::IAudioDeviceCollection::release
virtual void release()=0
agora::rtc::IRtcEngineParameter
Definition: IAgoraRtcEngine.h:6339
agora::rtc::IRtcEngineEventHandler::onClientRoleChanged
virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole)
Definition: IAgoraRtcEngine.h:1623
agora::rtc::IRtcEngine::setAudioMixingPosition
virtual int setAudioMixingPosition(int pos)=0
agora::rtc::IRtcEngine::enableAudioVolumeIndication
virtual int enableAudioVolumeIndication(int interval, int smooth)=0
agora::rtc::IAudioDeviceCollection::getCount
virtual int getCount()=0
agora::rtc::IRtcEngineParameter::setNumber
virtual int setNumber(const char *key, double value)=0
agora::rtc::ChannelMediaOptions::enableAudioRecordingOrPlayout
Optional< bool > enableAudioRecordingOrPlayout
Definition: IAgoraRtcEngine.h:674
agora::rtc::RemoteVideoStats::receivedBitrate
int receivedBitrate
Definition: IAgoraRtcEngine.h:312
agora::rtc::AudioFileRecordingConfig
Definition: AgoraBase.h:4119
agora::rtc::RemoteAudioStats
Definition: AgoraBase.h:2281
agora::rtc::IMetadataObserver::MAX_METADATA_SIZE_TYPE
MAX_METADATA_SIZE_TYPE
Definition: IAgoraRtcEngine.h:2576
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoFrame
virtual void onFirstRemoteVideoFrame(uid_t userId, int width, int height, int elapsed)
Definition: IAgoraRtcEngine.h:1222
agora::rtc::LocalVideoStats::encoderOutputFrameRate
int encoderOutputFrameRate
Definition: IAgoraRtcEngine.h:254
agora::rtc::IRtcEngine::unregisterAudioSpectrumObserver
virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
agora::rtc::IRtcEngineEventHandler::onLastmileProbeResult
virtual void onLastmileProbeResult(const LastmileProbeResult &result)
Definition: IAgoraRtcEngine.h:924
agora::rtc::IVideoDeviceManager::startDeviceTest
virtual int startDeviceTest(view_t hwnd)=0
agora::rtc::IAudioDeviceManager::setRecordingDevice
virtual int setRecordingDevice(const char deviceId[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngine::setLocalVideoMirrorMode
virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
agora::rtc::CameraCapturerConfiguration::cameraDirection
CAMERA_DIRECTION cameraDirection
Definition: IAgoraRtcEngine.h:568
agora::rtc::IRtcEngineEventHandler::onConnectionLost
virtual void onConnectionLost()
Definition: IAgoraRtcEngine.h:1452
agora::rtc::PublisherConfiguration::owner
bool owner
Definition: IAgoraRtcEngine.h:515
agora::rtc::IRtcEngine::setInEarMonitoringVolume
virtual int setInEarMonitoringVolume(int volume)=0
agora::rtc::IRtcEngine::enableSoundPositionIndication
virtual int enableSoundPositionIndication(bool enabled)=0
agora::rtc::VideoCompositingLayout::regions
const Region * regions
Definition: IAgoraRtcEngine.h:403
agora::rtc::ChannelMediaOptions::publishMediaPlayerVideoTrack
Optional< bool > publishMediaPlayerVideoTrack
Definition: IAgoraRtcEngine.h:648
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:1913
agora::rtc::LocalVideoStats::encodedFrameWidth
int encodedFrameWidth
Definition: IAgoraRtcEngine.h:271
agora::rtc::RtcStats
Definition: AgoraBase.h:2040
agora::rtc::IRtcEngine::setVoiceBeautifierParameters
virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2)=0
agora::rtc::IRtcEngineEventHandler::onWarning
virtual void onWarning(int warn, const char *msg)
Definition: IAgoraRtcEngine.h:881
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:1379
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:2004
agora::rtc::LocalAudioStats
Definition: AgoraBase.h:2960
agora::rtc::IRtcEngineEventHandler::onAudioDeviceVolumeChanged
virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted)
Definition: IAgoraRtcEngine.h:1635
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:304
agora::rtc::IRtcEngineEventHandler::onMediaDeviceChanged
virtual void onMediaDeviceChanged(int deviceType)
Definition: IAgoraRtcEngine.h:1050
agora::rtc::RtcEngineContext::audioScenario
AUDIO_SCENARIO_TYPE audioScenario
Definition: IAgoraRtcEngine.h:2529
agora::rtc::RemoteVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition: IAgoraRtcEngine.h:318
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:261
agora::rtc::ChannelMediaOptions::publishSecondaryScreenTrack
Optional< bool > publishSecondaryScreenTrack
Definition: IAgoraRtcEngine.h:618
agora::rtc::IRtcEngine::getCallId
virtual int getCallId(agora::util::AString &callId)=0
agora::rtc::IRtcEngineEventHandler::onStreamPublished
virtual void onStreamPublished(const char *url, int error)
Definition: IAgoraRtcEngine.h:1696
agora::rtc::InjectStreamConfig
Definition: IAgoraRtcEngine.h:426
agora::rtc::IRtcEngine::playEffect
virtual int playEffect(int soundId, const char *filePath, int loopCount, double pitch, double pan, int gain, bool publish=false)=0
agora::rtc::IAudioDeviceCollection::getApplicationVolume
virtual int getApplicationVolume(int &volume)=0
agora::rtc::LocalVideoStats::encodedFrameCount
int encodedFrameCount
Definition: IAgoraRtcEngine.h:277
agora::rtc::PublisherConfiguration::bitrate
int bitrate
Definition: IAgoraRtcEngine.h:501
agora::rtc::RtcEngineContext
Definition: IAgoraRtcEngine.h:2488
agora::rtc::IRtcEngineEventHandler::onFirstLocalVideoFramePublished
virtual void onFirstLocalVideoFramePublished(int elapsed)
Definition: IAgoraRtcEngine.h:1135
agora::rtc::IRtcEngine::unloadAllEffects
virtual int unloadAllEffects()=0
agora::rtc::ChannelMediaOptions
Definition: IAgoraRtcEngine.h:588
agora::rtc::IRtcEngine
Definition: IAgoraRtcEngine.h:2773
agora::rtc::IRtcEngineEventHandler::onActiveSpeaker
virtual void onActiveSpeaker(uid_t userId)
Definition: IAgoraRtcEngine.h:1613
agora::rtc::ScreenCaptureConfiguration
Definition: IAgoraRtcEngine.h:574
agora::rtc::ChannelMediaOptions::autoSubscribeVideo
Optional< bool > autoSubscribeVideo
Definition: IAgoraRtcEngine.h:668
agora::rtc::IRtcEngineParameter::getUInt
virtual int getUInt(const char *key, unsigned int &value)=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:321
agora::rtc::IRtcEngine::setLocalVoicePitch
virtual int setLocalVoicePitch(double pitch)=0
agora::rtc::RemoteVideoStats::height
int height
Definition: IAgoraRtcEngine.h:308
agora::rtc::IRtcEngine::setAudioEffectPreset
virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset)=0
agora::rtc::IRtcEngine::setRemoteRenderMode
virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode, conn_id_t connectionId=DEFAULT_CONNECTION_ID)=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::setLocalVoiceEqualization
virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain)=0
agora::util::CopyableAutoPtr
Definition: AgoraBase.h:155
agora::rtc::AudioTrackConfig
Definition: IAgoraRtcEngine.h:553
agora::rtc::IAudioDeviceManager::setPlaybackDeviceMute
virtual int setPlaybackDeviceMute(bool mute)=0
agora::rtc::IAudioDeviceManager::getRecordingDeviceInfo
virtual int getRecordingDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngine::setLocalVoiceChanger
virtual int setLocalVoiceChanger(VOICE_CHANGER_PRESET voiceChanger)=0
agora::rtc::InjectStreamConfig::audioSampleRate
AUDIO_SAMPLE_RATE_TYPE audioSampleRate
Definition: IAgoraRtcEngine.h:450
agora::rtc::IRtcEngineEventHandler::onConnectionInterrupted
virtual void onConnectionInterrupted()
Definition: IAgoraRtcEngine.h:1465
agora::rtc::PublisherConfiguration::framerate
int framerate
Definition: IAgoraRtcEngine.h:497
agora::rtc::IRtcEngine::resumeEffect
virtual int resumeEffect(int soundId)=0
agora::rtc::PublisherConfiguration::injectStreamUrl
const char * injectStreamUrl
Definition: IAgoraRtcEngine.h:524
agora::rtc::ChannelMediaOptions::publishScreenTrack
Optional< bool > publishScreenTrack
Definition: IAgoraRtcEngine.h:612
agora::rtc::IRtcEngineEventHandler::onAudioRoutingChanged
virtual void onAudioRoutingChanged(int routing)
Definition: IAgoraRtcEngine.h:1753
agora::rtc::InjectStreamConfig::videoBitrate
int videoBitrate
Definition: IAgoraRtcEngine.h:446
agora::rtc::IAudioDeviceManager::stopPlaybackDeviceTest
virtual int stopPlaybackDeviceTest()=0
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::IAudioDeviceManager::setRecordingDeviceMute
virtual int setRecordingDeviceMute(bool mute)=0
agora::rtc::IRtcEngine::setRemoteRenderMode
virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode, conn_id_t connectionId=DEFAULT_CONNECTION_ID)=0
agora::rtc::IRtcEngine::enableDualStreamMode
virtual int enableDualStreamMode(bool enabled)=0
agora::rtc::IMetadataObserver::UNKNOWN_METADATA
@ UNKNOWN_METADATA
Definition: IAgoraRtcEngine.h:2567
agora::rtc::RemoteVideoStats::delay
int delay
Definition: IAgoraRtcEngine.h:300
agora::rtc::IAudioDeviceCollection
Definition: IAgoraRtcEngine.h:2115
agora::rtc::IRtcEngine::getUserInfoByUserAccount
virtual int getUserInfoByUserAccount(const char *userAccount, rtc::UserInfo *userInfo, conn_id_t connectionId=agora::rtc::DEFAULT_CONNECTION_ID)=0
agora::rtc::IRtcEngine::startEchoTest
virtual int startEchoTest()=0
agora::rtc::IAudioDeviceManager::getRecordingDeviceVolume
virtual int getRecordingDeviceVolume(int *volume)=0
agora::rtc::ChannelMediaOptions::audioDelayMs
Optional< int > audioDelayMs
Definition: IAgoraRtcEngine.h:696
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:1063
agora::rtc::IRtcEngine::resumeAudioMixing
virtual int resumeAudioMixing()=0
agora::rtc::IRtcEngine::unloadEffect
virtual int unloadEffect(int soundId)=0
agora::rtc::VideoCompositingLayout::Region
Definition: IAgoraRtcEngine.h:347
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:1957
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:1201
agora::rtc::IRtcEngine::clearVideoWatermark
virtual int clearVideoWatermark(conn_id_t connectionId=agora::rtc::DEFAULT_CONNECTION_ID)=0
agora::rtc::PublisherConfiguration::injectStreamWidth
int injectStreamWidth
Definition: IAgoraRtcEngine.h:518
agora::rtc::RemoteVideoStats::rxStreamType
VIDEO_STREAM_TYPE rxStreamType
Definition: IAgoraRtcEngine.h:328
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:2590
agora::rtc::IRtcEngine::disableVideo
virtual int disableVideo()=0
agora::rtc::InjectStreamConfig::videoGop
int videoGop
Definition: IAgoraRtcEngine.h:438
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:1901
agora::rtc::IRtcEngine::addVideoWatermark
virtual int addVideoWatermark(const RtcImage &watermark)=0
agora::rtc::IRtcEngineEventHandler::onRemoteVideoTransportStats
virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate)
Definition: IAgoraRtcEngine.h:1862
agora::rtc::IRtcEngine::joinChannelWithUserAccount
virtual int joinChannelWithUserAccount(const char *token, const char *channelId, const char *userAccount, const ChannelMediaOptions &options)=0
agora::rtc::IRtcEngine::stopSecondaryCustomAudioTrack
virtual int stopSecondaryCustomAudioTrack()=0
agora::rtc::IRtcEngine::disableAudio
virtual int disableAudio()=0
agora::rtc::IRtcEngine::leaveChannelEx
virtual int leaveChannelEx(const char *channelId, conn_id_t connectionId)=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:995
agora::rtc::IRtcEngine::muteRemoteVideoStream
virtual int muteRemoteVideoStream(uid_t uid, bool mute, conn_id_t connectionId=DEFAULT_CONNECTION_ID)=0
agora::rtc::IRtcEngineEventHandler::onUserJoined
virtual void onUserJoined(uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1247
agora::rtc::AAudioDeviceManager
Definition: IAgoraRtcEngine.h:6502
agora::rtc::IRtcEngine::setLocalVoiceReverbPreset
virtual int setLocalVoiceReverbPreset(AUDIO_REVERB_PRESET reverbPreset)=0
agora::rtc::IMetadataObserver::Metadata
Definition: IAgoraRtcEngine.h:2585
agora::rtc::RemoteVideoStats::packetLossRate
int packetLossRate
Definition: IAgoraRtcEngine.h:324
agora::base::IEngineBase
Definition: AgoraBase.h:4779
agora::rtc::LocalVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition: IAgoraRtcEngine.h:257
agora::rtc::IRtcEngineEventHandler::onDownlinkNetworkInfoUpdated
virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo &info)
Definition: IAgoraRtcEngine.h:1096
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition: IAgoraRtcEngine.h:2698
agora::rtc::IRtcEngine::startAudioRecording
virtual int startAudioRecording(const AudioFileRecordingConfig &config)=0
agora::rtc::IAudioDeviceManager::getPlaybackDeviceInfo
virtual int getPlaybackDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngine::setLocalRenderMode
virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
agora::rtc::RtcEngineContext::areaCode
unsigned int areaCode
Definition: IAgoraRtcEngine.h:2540
agora::rtc::IRtcEngine::setAudioProfile
virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario)=0
agora::rtc::CameraCapturerConfiguration
Definition: IAgoraRtcEngine.h:566
agora::rtc::IMetadataObserver::VIDEO_METADATA
@ VIDEO_METADATA
Definition: IAgoraRtcEngine.h:2570
agora::rtc::RemoteVideoStats
Definition: IAgoraRtcEngine.h:288
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:521
agora::Optional< bool >
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:2593
agora::rtc::IRtcEngineParameter::getNumber
virtual int getNumber(const char *key, double &value)=0
agora::rtc::IRtcEngine::setRecordingAudioFrameParameters
virtual int setRecordingAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
agora::rtc::IAudioDeviceManager::setRecordingDeviceVolume
virtual int setRecordingDeviceVolume(int volume)=0
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:1787
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:1973
agora::rtc::VideoCanvas
Definition: AgoraBase.h:3656
agora::rtc::VideoCompositingLayout::Region::uid
uid_t uid
Definition: IAgoraRtcEngine.h:350
agora::rtc::IRtcEngineEventHandler::onConnectionStateChanged
virtual void onConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:1875
agora::rtc::IRtcEngine::setEncryptionSecret
virtual int setEncryptionSecret(const char *secret)=0
agora::rtc::IRtcEngine::adjustLoopbackRecordingVolume
virtual int adjustLoopbackRecordingVolume(int volume)=0
agora::rtc::VideoCompositingLayout::Region::x
double x
Definition: IAgoraRtcEngine.h:353