Agora Java API Reference for Android
IAgoraRtcEngine.h
1 //
2 // Agora Rtc Engine SDK
3 //
4 // Copyright (c) 2018 Agora.io. All rights reserved.
5 //
6 #pragma once
7 
8 #include "AgoraBase.h"
9 #include "AgoraMediaBase.h"
10 #include "IAgoraLog.h"
11 #include "AgoraOptional.h"
12 #include "IAudioDeviceManager.h"
13 
14 namespace agora {
15 namespace rtc {
16 
17 //class IAudioDeviceManager;
18 
22 enum MEDIA_DEVICE_TYPE {
26  UNKNOWN_AUDIO_DEVICE = -1,
30  AUDIO_PLAYOUT_DEVICE = 0,
34  AUDIO_RECORDING_DEVICE = 1,
38  VIDEO_RENDER_DEVICE = 2,
42  VIDEO_CAPTURE_DEVICE = 3,
46  AUDIO_APPLICATION_PLAYOUT_DEVICE = 4,
47 };
48 
52 enum AUDIO_MIXING_STATE_TYPE {
54  AUDIO_MIXING_STATE_PLAYING = 710,
56  AUDIO_MIXING_STATE_PAUSED = 711,
58  AUDIO_MIXING_STATE_STOPPED = 713,
62  AUDIO_MIXING_STATE_FAILED = 714,
64  AUDIO_MIXING_STATE_COMPLETED = 715,
66  AUDIO_MIXING_STATE_ALL_LOOPS_COMPLETED = 716,
67 };
68 
72 enum AUDIO_MIXING_ERROR_TYPE {
74  AUDIO_MIXING_ERROR_CAN_NOT_OPEN = 701,
76  AUDIO_MIXING_ERROR_TOO_FREQUENT_CALL = 702,
78  AUDIO_MIXING_ERROR_INTERRUPTED_EOF = 703,
80  AUDIO_MIXING_ERROR_OK = 0,
81 };
82 
86 enum INJECT_STREAM_STATUS {
90  INJECT_STREAM_STATUS_START_SUCCESS = 0,
94  INJECT_STREAM_STATUS_START_ALREADY_EXISTS = 1,
98  INJECT_STREAM_STATUS_START_UNAUTHORIZED = 2,
102  INJECT_STREAM_STATUS_START_TIMEDOUT = 3,
106  INJECT_STREAM_STATUS_START_FAILED = 4,
110  INJECT_STREAM_STATUS_STOP_SUCCESS = 5,
114  INJECT_STREAM_STATUS_STOP_NOT_FOUND = 6,
118  INJECT_STREAM_STATUS_STOP_UNAUTHORIZED = 7,
122  INJECT_STREAM_STATUS_STOP_TIMEDOUT = 8,
126  INJECT_STREAM_STATUS_STOP_FAILED = 9,
130  INJECT_STREAM_STATUS_BROKEN = 10,
131 };
132 
136 enum AUDIO_EQUALIZATION_BAND_FREQUENCY {
140  AUDIO_EQUALIZATION_BAND_31 = 0,
144  AUDIO_EQUALIZATION_BAND_62 = 1,
148  AUDIO_EQUALIZATION_BAND_125 = 2,
152  AUDIO_EQUALIZATION_BAND_250 = 3,
156  AUDIO_EQUALIZATION_BAND_500 = 4,
160  AUDIO_EQUALIZATION_BAND_1K = 5,
164  AUDIO_EQUALIZATION_BAND_2K = 6,
168  AUDIO_EQUALIZATION_BAND_4K = 7,
172  AUDIO_EQUALIZATION_BAND_8K = 8,
176  AUDIO_EQUALIZATION_BAND_16K = 9,
177 };
178 
182 enum AUDIO_REVERB_TYPE {
186  AUDIO_REVERB_DRY_LEVEL = 0,
190  AUDIO_REVERB_WET_LEVEL = 1,
194  AUDIO_REVERB_ROOM_SIZE = 2,
198  AUDIO_REVERB_WET_DELAY = 3,
202  AUDIO_REVERB_STRENGTH = 4,
203 };
204 
205 enum STREAM_FALLBACK_OPTIONS {
209  STREAM_FALLBACK_OPTION_DISABLED = 0,
214  STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW = 1,
218  STREAM_FALLBACK_OPTION_AUDIO_ONLY = 2,
219 };
220 
221 enum PRIORITY_TYPE {
224  PRIORITY_HIGH = 50,
227  PRIORITY_NORMAL = 100,
228 };
229 
233 {
237  uid_t uid;
276  VIDEO_CODEC_TYPE codecType;
281 };
282 
290  uid_t uid;
298  int delay;
302  int width;
306  int height;
326  VIDEO_STREAM_TYPE rxStreamType;
342 };
343 
345  struct Region {
348  uid_t uid;
351  double x; // [0,1]
354  double y; // [0,1]
358  double width; // [0,1]
360  double height; // [0,1]
364  int zOrder; // optional, [0, 100] //0 (default): bottom most, 100: top most
365 
369  double alpha;
370 
371  media::base::RENDER_MODE_TYPE
372  renderMode; // RENDER_MODE_HIDDEN: Crop, RENDER_MODE_FIT: Zoom to fit
373 
374  Region()
375  : uid(0),
376  x(0),
377  y(0),
378  width(0),
379  height(0),
380  zOrder(0),
381  alpha(1.0),
382  renderMode(media::base::RENDER_MODE_HIDDEN) {}
383  };
384 
397  const char* backgroundColor; // e.g. "#C0C0C0" in RGB
401  const Region* regions;
407  const char* appData;
411 
413  : canvasWidth(0),
414  canvasHeight(0),
415  backgroundColor(NULL),
416  regions(NULL),
417  regionCount(0),
418  appData(NULL),
419  appDataLength(0) {}
420 };
421 
428  int width;
432  int height;
436  int videoGop;
448  AUDIO_SAMPLE_RATE_TYPE audioSampleRate;
456 
457  // width / height default set to 0 means pull the stream with its original
458  // resolution
460  : width(0),
461  height(0),
462  videoGop(30),
463  videoFramerate(15),
464  videoBitrate(400),
465  audioSampleRate(AUDIO_SAMPLE_RATE_48000),
466  audioBitrate(48),
467  audioChannels(1) {}
468 };
469 
472 enum RTMP_STREAM_LIFE_CYCLE_TYPE {
475  RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL = 1,
478  RTMP_STREAM_LIFE_CYCLE_BIND2OWNER = 2,
479 };
480 
487  int width;
491  int height;
499  int bitrate;
513  bool owner;
522  const char* injectStreamUrl;
526  const char* publishUrl;
530  const char* rawStreamUrl;
533  const char* extraInfo;
534 
536  : width(640),
537  height(360),
538  framerate(15),
539  bitrate(500),
540  defaultLayout(1),
541  lifecycle(RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL),
542  owner(true),
545  injectStreamUrl(NULL),
546  publishUrl(NULL),
547  rawStreamUrl(NULL),
548  extraInfo(NULL) {}
549 };
550 
552  bool enableLocalPlayback;
553  AudioTrackConfig() : enableLocalPlayback(true) {}
554 };
555 
556 enum CAMERA_DIRECTION {
558  CAMERA_REAR = 0,
560  CAMERA_FRONT = 1,
561 };
562 
566  CAMERA_DIRECTION cameraDirection;
568  char deviceId[MAX_DEVICE_ID_LENGTH];
569  VideoFormat format;
570 };
571 
573  bool isCaptureWindow; // true - capture window, false - capture display
574  uint32_t displayId; // MacOS only
575  Rectangle screenRect; //Windows only
576  view_t windowId;
578  Rectangle regionRect;
579 
580  ScreenCaptureConfiguration() : isCaptureWindow(false), displayId(0) {}
581 };
582 
709 
711  ~ChannelMediaOptions() {}
712 
713  void SetAll(const ChannelMediaOptions& change) {
714 #define SET_FROM(X) SetFrom(&X, change.X)
715 
716  SET_FROM(publishCameraTrack);
717  SET_FROM(publishSecondaryCameraTrack);
718  SET_FROM(publishAudioTrack);
719  SET_FROM(publishScreenTrack);
720  SET_FROM(publishSecondaryScreenTrack);
721  SET_FROM(publishTrancodedVideoTrack);
722  SET_FROM(publishCustomAudioTrack);
724  SET_FROM(publishCustomVideoTrack);
725  SET_FROM(publishEncodedVideoTrack);
728  SET_FROM(autoSubscribeAudio);
729  SET_FROM(autoSubscribeVideo);
730  SET_FROM(publishMediaPlayerId);
732  SET_FROM(clientRoleType);
733  SET_FROM(audienceLatencyLevel);
734  SET_FROM(defaultVideoStreamType);
735  SET_FROM(channelProfile);
736  SET_FROM(audioDelayMs);
737  SET_FROM(token);
738 #undef SET_FROM
739  }
740 
741  bool operator==(const ChannelMediaOptions& o) const {
742 #define BEGIN_COMPARE() bool b = true
743 #define ADD_COMPARE(X) b = (b && (X == o.X))
744 #define END_COMPARE()
745 
746  BEGIN_COMPARE();
747  ADD_COMPARE(publishCameraTrack);
748  ADD_COMPARE(publishSecondaryCameraTrack);
749  ADD_COMPARE(publishAudioTrack);
750  ADD_COMPARE(publishScreenTrack);
751  ADD_COMPARE(publishSecondaryScreenTrack);
752  ADD_COMPARE(publishTrancodedVideoTrack);
753  ADD_COMPARE(publishCustomAudioTrack);
755  ADD_COMPARE(publishCustomVideoTrack);
756  ADD_COMPARE(publishEncodedVideoTrack);
757  ADD_COMPARE(publishMediaPlayerAudioTrack);
758  ADD_COMPARE(publishMediaPlayerVideoTrack);
759  ADD_COMPARE(autoSubscribeAudio);
760  ADD_COMPARE(autoSubscribeVideo);
761  ADD_COMPARE(publishMediaPlayerId);
762  ADD_COMPARE(enableAudioRecordingOrPlayout);
763  ADD_COMPARE(clientRoleType);
764  ADD_COMPARE(audienceLatencyLevel);
765  ADD_COMPARE(defaultVideoStreamType);
766  ADD_COMPARE(channelProfile);
767  ADD_COMPARE(audioDelayMs);
768  ADD_COMPARE(token);
769  END_COMPARE();
770 
771 #undef BEGIN_COMPARE
772 #undef ADD_COMPARE
773 #undef END_COMPARE
774  return b;
775  }
776 
777  ChannelMediaOptions& operator=(const ChannelMediaOptions& replace) {
778  if (this != &replace) {
779 #define REPLACE_BY(X) ReplaceBy(&X, replace.X)
780 
781  REPLACE_BY(publishCameraTrack);
782  REPLACE_BY(publishSecondaryCameraTrack);
783  REPLACE_BY(publishAudioTrack);
784  REPLACE_BY(publishScreenTrack);
785  REPLACE_BY(publishSecondaryScreenTrack);
786  REPLACE_BY(publishTrancodedVideoTrack);
787  REPLACE_BY(publishCustomAudioTrack);
789  REPLACE_BY(publishCustomVideoTrack);
790  REPLACE_BY(publishEncodedVideoTrack);
791  REPLACE_BY(publishMediaPlayerAudioTrack);
792  REPLACE_BY(publishMediaPlayerVideoTrack);
793  REPLACE_BY(autoSubscribeAudio);
794  REPLACE_BY(autoSubscribeVideo);
795  REPLACE_BY(publishMediaPlayerId);
796  REPLACE_BY(enableAudioRecordingOrPlayout);
797  REPLACE_BY(clientRoleType);
798  REPLACE_BY(audienceLatencyLevel);
799  REPLACE_BY(defaultVideoStreamType);
800  REPLACE_BY(channelProfile);
801  REPLACE_BY(audioDelayMs);
802  REPLACE_BY(token);
803 #undef REPLACE_BY
804  }
805  return *this;
806  }
807 
808  template <typename T>
809  static void SetFrom(Optional<T>* s, const Optional<T>& o) {
810  if (o) {
811  *s = o;
812  }
813  }
814 
815  template <typename T>
816  static void ReplaceBy(Optional<T>* s, const Optional<T>& o) {
817  *s = o;
818  }
819 };
820 
843 
845 };
846 
859  public:
860  virtual ~IRtcEngineEventHandler() {}
861 
862  virtual const char* eventHandlerType() const { return "event_handler"; }
863 
873  virtual void onJoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
874  (void)channel;
875  (void)uid;
876  (void)elapsed;
877  }
878 
891  virtual void onRejoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
892  (void)channel;
893  (void)uid;
894  (void)elapsed;
895  }
896 
905  virtual void onWarning(int warn, const char* msg) {
906  (void)warn;
907  (void)msg;
908  }
909 
915  virtual void onError(int err, const char* msg) {
916  (void)err;
917  (void)msg;
918  }
919 
934  virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay,
935  unsigned short lost) {
936  (void)uid;
937  (void)quality;
938  (void)delay;
939  (void)lost;
940  }
941 
948  virtual void onLastmileProbeResult(const LastmileProbeResult& result) {
949  (void)result;
950  }
951 
992  virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, unsigned int speakerNumber,
993  int totalVolume) {
994  (void)speakers;
995  (void)speakerNumber;
996  (void)totalVolume;
997  }
998 
1010  virtual void onLeaveChannel(const RtcStats& stats) { (void)stats; }
1011 
1019  virtual void onRtcStats(const RtcStats& stats) { (void)stats; }
1020 
1030  virtual void onAudioDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1031  (void)deviceId;
1032  (void)deviceType;
1033  (void)deviceState;
1034  }
1035 
1043  virtual void onAudioMixingFinished() {}
1044 
1045  virtual void onAudioEffectFinished(int soundId) {}
1046 
1056  virtual void onVideoDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1057  (void)deviceId;
1058  (void)deviceType;
1059  (void)deviceState;
1060  }
1061 
1069  virtual void onMediaDeviceChanged(int deviceType) {
1070  (void)deviceType;
1071  }
1072 
1082  virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) {
1083  (void)uid;
1084  (void)txQuality;
1085  (void)rxQuality;
1086  }
1087 
1094  virtual void onIntraRequestReceived() {}
1095 
1104  virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo& info) {
1105  (void)info;
1106  }
1107 
1116  (void)info;
1117  }
1118 
1131  virtual void onLastmileQuality(int quality) { (void)quality; }
1132 
1143  virtual void onFirstLocalVideoFrame(int width, int height, int elapsed) {
1144  (void)width;
1145  (void)height;
1146  (void)elapsed;
1147  }
1148 
1154  virtual void onFirstLocalVideoFramePublished(int elapsed) {
1155  (void)elapsed;
1156  }
1157 
1158  virtual void onVideoSourceFrameSizeChanged(VIDEO_SOURCE_TYPE sourceType, int width, int height) {
1159  (void)sourceType;
1160  (void)width;
1161  (void)height;
1162  }
1163 
1179  virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) {
1180  (void)uid;
1181  (void)width;
1182  (void)height;
1183  (void)elapsed;
1184  }
1185 
1186  virtual void onVideoSizeChanged(uid_t uid, int width, int height, int rotation) {
1187  (void)uid;
1188  (void)width;
1189  (void)height;
1190  (void)rotation;
1191  }
1192 
1204  virtual void onLocalVideoStateChanged(LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_ERROR error) {
1205  (void)state;
1206  (void)error;
1207  }
1208 
1220  virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) {
1221  (void)uid;
1222  (void)state;
1223  (void)reason;
1224  (void)elapsed;
1225  }
1226 
1241  virtual void onFirstRemoteVideoFrame(uid_t userId, int width, int height, int elapsed) {
1242  (void)userId;
1243  (void)width;
1244  (void)height;
1245  (void)elapsed;
1246  }
1247 
1266  virtual void onUserJoined(uid_t uid, int elapsed) {
1267  (void)uid;
1268  (void)elapsed;
1269  }
1270 
1285  virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) {
1286  (void)uid;
1287  (void)reason;
1288  }
1289 
1301  virtual void onUserMuteAudio(uid_t uid, bool muted) {
1302  (void)uid;
1303  (void)muted;
1304  }
1305 
1320  virtual void onUserMuteVideo(uid_t userId, bool muted) {
1321  (void)userId;
1322  (void)muted;
1323  }
1324 
1342  virtual void onUserEnableVideo(uid_t uid, bool enabled) {
1343  (void)uid;
1344  (void)enabled;
1345  }
1346 
1358  virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) {
1359  (void)uid;
1360  (void)enabled;
1361  }
1362 
1370  virtual void onApiCallExecuted(int err, const char* api, const char* result) {
1371  (void)err;
1372  (void)api;
1373  (void)result;
1374  }
1375 
1383  virtual void onLocalAudioStats(const LocalAudioStats& stats) {
1384  (void)stats;
1385  }
1386 
1397  virtual void onRemoteAudioStats(const RemoteAudioStats& stats) {
1398  (void)stats;
1399  }
1400 
1414  virtual void onLocalVideoStats(const LocalVideoStats& stats) {
1415  (void)stats;
1416  }
1417 
1427  virtual void onRemoteVideoStats(const RemoteVideoStats& stats) {
1428  (void)stats;
1429  }
1430 
1431  virtual void onCameraReady() {}
1432 
1433  virtual void onCameraFocusAreaChanged(int x, int y, int width, int height) {
1434  (void)x;
1435  (void)y;
1436  (void)width;
1437  (void)height;
1438  }
1439 
1440  virtual void onCameraExposureAreaChanged(int x, int y, int width, int height) {
1441  (void)x;
1442  (void)y;
1443  (void)width;
1444  (void)height;
1445  }
1446 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
1447  virtual void onFacePositionChanged(int imageWidth, int imageHeight,
1448  const Rectangle* vecRectangle, const int* vecDistance,
1449  int numFaces) {
1450  (void) imageWidth;
1451  (void) imageHeight;
1452  (void) vecRectangle;
1453  (void) vecDistance;
1454  (void) numFaces;
1455  }
1456 #endif
1457  virtual void onVideoStopped() {}
1458 
1475  virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_ERROR_TYPE errorCode) {
1476  (void)state;
1477  (void)errorCode;
1478  }
1479 
1487  virtual void onConnectionLost() {}
1488 
1500  virtual void onConnectionInterrupted() {}
1501 
1504  virtual void onConnectionBanned() {}
1505 
1519  virtual void onStreamMessage(uid_t userId, int streamId, const char* data, size_t length, uint64_t sentTs) {
1520  (void)userId;
1521  (void)streamId;
1522  (void)data;
1523  (void)length;
1524  (void)sentTs;
1525  }
1526 
1540  virtual void onStreamMessageError(uid_t userId, int streamId, int code, int missed, int cached) {
1541  (void)userId;
1542  (void)streamId;
1543  (void)code;
1544  (void)missed;
1545  (void)cached;
1546  }
1547 
1559  virtual void onRequestToken() {}
1560 
1575  virtual void onTokenPrivilegeWillExpire(const char* token) {
1576  (void)token;
1577  }
1578 
1584  virtual void onFirstLocalAudioFramePublished(int elapsed) {
1585  (void)elapsed;
1586  }
1587 
1602  virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error) {
1603  (void)state;
1604  (void)error;
1605  }
1606 
1619  virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) {
1620  (void)uid;
1621  (void)state;
1622  (void)reason;
1623  (void)elapsed;
1624  }
1625 
1644  virtual void onActiveSpeaker(uid_t uid) { (void)uid; }
1645 
1647  virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result) { (void)result; }
1660  virtual void onSnapshotTaken(const char* channel, uid_t uid, const char* filePath, int width, int height, int errCode) {
1661  (void)channel;
1662  (void)uid;
1663  (void)filePath;
1664  (void)width;
1665  (void)height;
1666  (void)errCode;
1667  }
1675  virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole) {
1676  (void)oldRole;
1677  (void)newRole;
1678  }
1679 
1687  virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) {
1688  (void)deviceType;
1689  (void)volume;
1690  (void)muted;
1691  }
1692 
1706  virtual void onRtmpStreamingStateChanged(const char* url, RTMP_STREAM_PUBLISH_STATE state,
1707  RTMP_STREAM_PUBLISH_ERROR errCode) {
1708  (void)url;
1709  (void)state;
1710  (void)errCode;
1711  }
1712 
1748  virtual void onStreamPublished(const char* url, int error) {
1749  (void)url;
1750  (void)error;
1751  }
1752 
1763  virtual void onStreamUnpublished(const char* url) {
1764  (void)url;
1765  }
1766 
1778  virtual void onTranscodingUpdated() {}
1779 
1793  virtual void onAudioRoutingChanged(int routing) { (void)routing; }
1794 
1795 
1827  virtual void onChannelMediaRelayStateChanged(int state, int code) {
1828  (void)state;
1829  (void)code;
1830  }
1831 
1855  virtual void onChannelMediaRelayEvent(int code) {
1856  (void)code;
1857  }
1858 
1859  virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) {
1860  (void)isFallbackOrRecover;
1861  }
1862 
1863  virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover) {
1864  (void)uid;
1865  (void)isFallbackOrRecover;
1866  }
1867 
1881  virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost,
1882  unsigned short rxKBitRate) {
1883  (void)uid;
1884  (void)delay;
1885  (void)lost;
1886  (void)rxKBitRate;
1887  }
1888 
1902  virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost,
1903  unsigned short rxKBitRate) {
1904  (void)uid;
1905  (void)delay;
1906  (void)lost;
1907  (void)rxKBitRate;
1908  }
1909 
1916  CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) {
1917  (void)state;
1918  (void)reason;
1919  }
1920 
1925  virtual void onNetworkTypeChanged(NETWORK_TYPE type) {
1926  (void)type;
1927  }
1928 
1933  virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) {
1934  (void)errorType;
1935  }
1936 
1941  virtual void onPermissionError(PERMISSION_TYPE permissionType) {
1942  (void)permissionType;
1943  }
1944 
1953  virtual void onLocalUserRegistered(uid_t uid, const char* userAccount) {
1954  (void)uid;
1955  (void)userAccount;
1956  }
1957 
1966  virtual void onUserInfoUpdated(uid_t uid, const UserInfo& info) {
1967  (void)uid;
1968  (void)info;
1969  }
1970 
1980  virtual void onAudioSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
1981  (void)channel;
1982  (void)uid;
1983  (void)oldState;
1984  (void)newState;
1985  (void)elapseSinceLastState;
1986  }
1987 
1997  virtual void onVideoSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
1998  (void)channel;
1999  (void)uid;
2000  (void)oldState;
2001  (void)newState;
2002  (void)elapseSinceLastState;
2003  }
2004 
2013  virtual void onAudioPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
2014  (void)channel;
2015  (void)oldState;
2016  (void)newState;
2017  (void)elapseSinceLastState;
2018  }
2019 
2028  virtual void onVideoPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
2029  (void)channel;
2030  (void)oldState;
2031  (void)newState;
2032  (void)elapseSinceLastState;
2033  }
2034 
2035  virtual void onExtensionEvent(const char* provider_name, const char* ext_name, const char* key, const char* json_value) {
2036  (void)provider_name;
2037  (void)ext_name;
2038  (void)key;
2039  (void)json_value;
2040  }
2041 
2042  virtual void onExtensionStarted(const char* provider_name, const char* ext_name) {
2043  (void)provider_name;
2044  (void)ext_name;
2045  }
2046 
2047  virtual void onExtensionStopped(const char* provider_name, const char* ext_name) {
2048  (void)provider_name;
2049  (void)ext_name;
2050  }
2051 
2052  virtual void onExtensionErrored(const char* provider_name, const char* ext_name, int error, const char* msg) {
2053  (void)provider_name;
2054  (void)ext_name;
2055  (void)error;
2056  (void)msg;
2057  }
2058 
2059  virtual void onUserAccountUpdated(uid_t uid, const char* userAccount){
2060  (void)uid;
2061  (void)userAccount;
2062  }
2063 };
2064 
2069  public:
2070  virtual ~IVideoDeviceCollection() {}
2071 
2077  virtual int getCount() = 0;
2078 
2087  virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2088 
2100  virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH],
2101  char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2102 
2106  virtual void release() = 0;
2107 };
2108 
2113  public:
2114  virtual ~IVideoDeviceManager() {}
2130 
2140  virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2141 
2150  virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2151 
2165  virtual int startDeviceTest(view_t hwnd) = 0;
2166 
2173  virtual int stopDeviceTest() = 0;
2174 
2178  virtual void release() = 0;
2179 };
2180 
2185 
2191 
2196  const char* appId;
2197 
2203  void* context;
2204 
2212 
2216  CHANNEL_PROFILE_TYPE channelProfile;
2217 
2226  AUDIO_SCENARIO_TYPE audioScenario;
2227 
2237  unsigned int areaCode;
2238 
2243 
2245  : eventHandler(NULL), appId(NULL), context(NULL),
2246  enableAudioDevice(true), channelProfile(CHANNEL_PROFILE_LIVE_BROADCASTING),
2247  audioScenario(AUDIO_SCENARIO_HIGH_DEFINITION),
2248  areaCode(AREA_CODE_GLOB),
2249  logConfig() {}
2250 };
2251 
2255 public:
2261  {
2268  };
2273  {
2274  INVALID_METADATA_SIZE_IN_BYTE = -1,
2275  DEFAULT_METADATA_SIZE_IN_BYTE = 512,
2276  MAX_METADATA_SIZE_IN_BYTE = 1024
2277  };
2278 
2281  struct Metadata
2282  {
2287  unsigned int uid;
2290  unsigned int size;
2293  unsigned char *buffer;
2298  long long timeStampMs;
2299  };
2300 
2301  virtual ~IMetadataObserver() {}
2302 
2312  virtual int getMaxMetadataSize() { return DEFAULT_METADATA_SIZE_IN_BYTE; }
2313 
2323  virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type) = 0;
2324 
2332  virtual void onMetadataReceived(const Metadata &metadata) = 0;
2333 };
2334 
2335 // The error codes for media streaming
2336 // GENERATED_JAVA_ENUM_PACKAGE: io.agora.streaming
2337 enum DIRECT_CDN_STREAMING_ERROR {
2338  // No error occurs.
2339  DIRECT_CDN_STREAMING_ERROR_OK = 0,
2340  // A general error occurs (no specified reason).
2341  DIRECT_CDN_STREAMING_ERROR_FAILED = 1,
2342  // Audio publication error.
2343  DIRECT_CDN_STREAMING_ERROR_AUDIO_PUBLICATION = 2,
2344  // Video publication error.
2345  DIRECT_CDN_STREAMING_ERROR_VIDEO_PUBLICATION = 3,
2346 
2347  DIRECT_CDN_STREAMING_ERROR_NET_CONNECT = 4,
2348 };
2349 
2350 // The connection state of media streaming
2351 // GENERATED_JAVA_ENUM_PACKAGE: io.agora.streaming
2352 enum DIRECT_CDN_STREAMING_STATE {
2353 
2354  DIRECT_CDN_STREAMING_STATE_IDLE = 0,
2355 
2356  DIRECT_CDN_STREAMING_STATE_STARTED = 1,
2357 
2358  DIRECT_CDN_STREAMING_STATE_STOPPED = 2,
2359 
2360  DIRECT_CDN_STREAMING_STATE_FAILED = 3,
2361 };
2362 
2364  public:
2365  virtual ~IDirectCdnStreamingEventHandler() {}
2366 
2367  virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_ERROR err, const char* msg) {
2368  (void)state;
2369  (void)err;
2370  (void)msg;
2371  };
2372 };
2373 
2402 
2405 
2406  void SetAll(const DirectCdnStreamingMediaOptions& change) {
2407 #define SET_FROM(X) SetFrom(&X, change.X)
2408  SET_FROM(publishCameraTrack);
2409  SET_FROM(publishMicrophoneTrack);
2410  SET_FROM(publishCustomAudioTrack);
2411  SET_FROM(publishCustomVideoTrack);
2412 #undef SET_FROM
2413  }
2414 
2415  bool operator==(const DirectCdnStreamingMediaOptions& o) const {
2416 #define BEGIN_COMPARE() bool b = true
2417 #define ADD_COMPARE(X) b = (b && (X == o.X))
2418 #define END_COMPARE()
2419 
2420  BEGIN_COMPARE();
2421  ADD_COMPARE(publishCameraTrack);
2422  ADD_COMPARE(publishMicrophoneTrack);
2423  ADD_COMPARE(publishCustomAudioTrack);
2424  ADD_COMPARE(publishCustomVideoTrack);
2425  END_COMPARE();
2426 
2427 #undef BEGIN_COMPARE
2428 #undef ADD_COMPARE
2429 #undef END_COMPARE
2430  return b;
2431  }
2432 
2433  DirectCdnStreamingMediaOptions& operator=(const DirectCdnStreamingMediaOptions& replace) {
2434  if (this != &replace) {
2435 #define REPLACE_BY(X) ReplaceBy(&X, replace.X)
2436 
2437  REPLACE_BY(publishCameraTrack);
2438  REPLACE_BY(publishMicrophoneTrack);
2439  REPLACE_BY(publishCustomAudioTrack);
2440  REPLACE_BY(publishCustomVideoTrack);
2441 #undef REPLACE_BY
2442  }
2443  return *this;
2444  }
2445 
2446  template <typename T>
2447  static void SetFrom(Optional<T>* s, const Optional<T>& o) {
2448  if (o) {
2449  *s = o;
2450  }
2451  }
2452 
2453  template <typename T>
2454  static void ReplaceBy(Optional<T>* s, const Optional<T>& o) {
2455  *s = o;
2456  }
2457 };
2458 
2459 class IMediaPlayer;
2460 
2471  public:
2495  virtual void release(bool sync = false) = 0;
2496 
2510  virtual int initialize(const RtcEngineContext& context) = 0;
2511 
2512 
2513  virtual int queryInterface(INTERFACE_ID_TYPE iid, void** inter) = 0;
2514 
2515 
2521  virtual const char* getVersion(int* build) = 0;
2522 
2528  virtual const char* getErrorDescription(int code) = 0;
2529 
2570  virtual int joinChannel(const char* token, const char* channelId, const char* info,
2571  uid_t uid) = 0;
2572 
2611  virtual int joinChannel(const char* token, const char* channelId, uid_t uid,
2612  const ChannelMediaOptions& options) = 0;
2613 
2622  virtual int updateChannelMediaOptions(const ChannelMediaOptions& options) = 0;
2623 
2641  virtual int leaveChannel() = 0;
2642 
2662  virtual int leaveChannel(const LeaveChannelOptions& options) = 0;
2663 
2680  virtual int renewToken(const char* token) = 0;
2681 
2700  virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile) = 0;
2701 
2725  virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0;
2726 
2748  virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0;
2749 
2769  virtual int startEchoTest() = 0;
2770 
2787  virtual int startEchoTest(int intervalInSeconds) = 0;
2788 
2795  virtual int stopEchoTest() = 0;
2796 
2812  virtual int enableVideo() = 0;
2813 
2824  virtual int disableVideo() = 0;
2825 
2837  virtual int startPreview() = 0;
2838 
2846  virtual int startPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
2847 
2855  virtual int stopPreview() = 0;
2856 
2864  virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
2865 
2899  virtual int startLastmileProbeTest(const LastmileProbeConfig& config) = 0;
2900 
2902  virtual int stopLastmileProbeTest() = 0;
2903 
2921 
2931  virtual int setBeautyEffectOptions(bool enabled, const BeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
2932 
2953  virtual int setupRemoteVideo(const VideoCanvas& canvas) = 0;
2954 
2971  virtual int setupLocalVideo(const VideoCanvas& canvas) = 0;
2972 
2986  virtual int enableAudio() = 0;
2987 
2999  virtual int disableAudio() = 0;
3000 
3022  virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) = 0;
3023 
3039  virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile) = 0;
3062  virtual int enableLocalAudio(bool enabled) = 0;
3063 
3089  virtual int muteLocalAudioStream(bool mute) = 0;
3090 
3133  virtual int muteAllRemoteAudioStreams(bool mute) = 0;
3134 
3156  virtual int setDefaultMuteAllRemoteAudioStreams(bool mute) = 0;
3157 
3174  virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0;
3175 
3187  virtual int muteLocalVideoStream(bool mute) = 0;
3188 
3213  virtual int enableLocalVideo(bool enabled) = 0;
3214 
3255  virtual int muteAllRemoteVideoStreams(bool mute) = 0;
3256 
3278  virtual int setDefaultMuteAllRemoteVideoStreams(bool mute) = 0;
3279 
3296  virtual int muteRemoteVideoStream(uid_t uid, bool mute) = 0;
3297 
3315  virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0;
3316 
3326  virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType) = 0;
3327 
3348  virtual int enableAudioVolumeIndication(int interval, int smooth) = 0;
3349 
3370  virtual int startAudioRecording(const char* filePath,
3371  AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
3393  virtual int startAudioRecording(const char* filePath,
3394  int sampleRate,
3395  AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
3396 
3415  virtual int startAudioRecording(const AudioFileRecordingConfig& config) = 0;
3416 
3423 
3432  virtual int stopAudioRecording() = 0;
3434 
3444  virtual agora_refptr<IMediaPlayer> createMediaPlayer() = 0;
3445 
3457  virtual int destroyMediaPlayer(agora_refptr<IMediaPlayer> media_player) = 0;
3459 
3508  virtual int startAudioMixing(const char* filePath, bool loopback, bool replace, int cycle) = 0;
3509 
3518  virtual int stopAudioMixing() = 0;
3519 
3528  virtual int pauseAudioMixing() = 0;
3529 
3538  virtual int resumeAudioMixing() = 0;
3539 
3554  virtual int adjustAudioMixingVolume(int volume) = 0;
3555 
3563  virtual int adjustAudioMixingPublishVolume(int volume) = 0;
3564 
3572  virtual int getAudioMixingPublishVolume() = 0;
3573 
3581  virtual int adjustAudioMixingPlayoutVolume(int volume) = 0;
3582 
3590  virtual int getAudioMixingPlayoutVolume() = 0;
3591 
3600  virtual int getAudioMixingDuration() = 0;
3601 
3621  virtual int setAudioMixingPosition(int pos /*in ms*/) = 0;
3622 
3630  virtual int getEffectsVolume() = 0;
3640  virtual int setEffectsVolume(int volume) = 0;
3664  virtual int preloadEffect(int soundId, const char* filePath) = 0;
3706  virtual int playEffect(int soundId, const char* filePath, int loopCount, double pitch, double pan, int gain, bool publish = false) = 0;
3737  virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false) = 0;
3738 
3748  virtual int getVolumeOfEffect(int soundId) = 0;
3749 
3760  virtual int setVolumeOfEffect(int soundId, int volume) = 0;
3769  virtual int pauseEffect(int soundId) = 0;
3776  virtual int pauseAllEffects() = 0;
3785  virtual int resumeEffect(int soundId) = 0;
3792  virtual int resumeAllEffects() = 0;
3801  virtual int stopEffect(int soundId) = 0;
3808  virtual int stopAllEffects() = 0;
3817  virtual int unloadEffect(int soundId) = 0;
3824  virtual int unloadAllEffects() = 0;
3825 
3838  virtual int enableSoundPositionIndication(bool enabled) = 0;
3859  virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0;
3860 
3861  virtual int setRemoteVoice3DPosition(uid_t uid, double azimuth, double elevation, double distance) = 0;
3862 
3902  virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset) = 0;
3903 
3943  virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset) = 0;
3944 
3982  virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset) = 0;
3983 
4061  virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2) = 0;
4062 
4107  virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset,
4108  int param1, int param2) = 0;
4109 
4122  virtual int setVoiceConversionParameters(VOICE_CONVERSION_PRESET preset,
4123  int param1, int param2) = 0;
4124 
4135  virtual int setLocalVoicePitch(double pitch) = 0;
4136 
4148  virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency,
4149  int bandGain) = 0;
4150 
4159  virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value) = 0;
4160 
4177  virtual int setLocalVoiceReverbPreset(AUDIO_REVERB_PRESET reverbPreset) = 0;
4178 
4192  virtual int setLocalVoiceChanger(VOICE_CHANGER_PRESET voiceChanger) = 0;
4193 
4209  virtual int setLogFile(const char* filePath) = 0;
4210 
4233  virtual int setLogFilter(unsigned int filter) = 0;
4234 
4251  virtual int setLogLevel(commons::LOG_LEVEL level) = 0;
4252 
4267  virtual int setLogFileSize(unsigned int fileSizeInKBytes) = 0;
4268 
4287  virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
4308  virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode,
4309  VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
4310 
4311  // The following APIs are either deprecated and going to deleted.
4312 
4330  virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) = 0;
4331 
4343  virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
4344 
4359  virtual int enableDualStreamMode(bool enabled) = 0;
4360 
4377  virtual int enableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled) = 0;
4378 
4397  virtual int enableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled, const SimulcastStreamConfig& streamConfig) = 0;
4398 
4418  virtual int setExternalAudioSource(bool enabled, int sampleRate, int channels,
4419  int sourceNumber = 1, bool localPlayback = false, bool publish = true) = 0;
4420 
4445  virtual int setExternalAudioSink(int sampleRate, int channels) = 0;
4446 
4484 
4492  virtual int startPrimaryCustomAudioTrack(const AudioTrackConfig& config) = 0;
4493 
4501  virtual int stopPrimaryCustomAudioTrack() = 0;
4502 
4510  virtual int startSecondaryCustomAudioTrack(const AudioTrackConfig& config) = 0;
4511 
4520 
4539  virtual int setRecordingAudioFrameParameters(int sampleRate, int channel,
4540  RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
4541  int samplesPerCall) = 0;
4542 
4562  virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel,
4563  RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
4564  int samplesPerCall) = 0;
4565 
4581  virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall) = 0;
4582 
4598  virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel) = 0;
4599 
4610  virtual int enableAudioSpectrumMonitor(int intervalInMS = 100) = 0;
4618  virtual int disableAudioSpectrumMonitor() = 0;
4619 
4645 
4659  virtual int adjustRecordingSignalVolume(int volume) = 0;
4660 
4672  virtual int muteRecordingSignal(bool mute) = 0;
4673 
4687  virtual int adjustPlaybackSignalVolume(int volume) = 0;
4688 
4689  /*
4690  * Adjust the playback volume of the user specified by uid.
4691  *
4692  * You can call this method to adjust the playback volume of the user specified by uid
4693  * in call. If you want to adjust playback volume of the multi user, you can call this
4694  * this method multi times.
4695  *
4696  * @note
4697  * Please call this method after join channel.
4698  * This method adjust the playback volume of specified user.
4699  *
4700  * @param uid Remote user ID。
4701  * @param volume The playback volume, range is [0,100]:
4702  * 0: mute, 100: The original volume
4703  * @return
4704  * - 0: Success.
4705  * - < 0: Failure.
4706  */
4707  virtual int adjustUserPlaybackSignalVolume(unsigned int uid, int volume) = 0;
4708 
4724  virtual int enableLoopbackRecording(bool enabled) = 0;
4725 
4726 
4739  virtual int adjustLoopbackRecordingVolume(int volume) = 0;
4740 
4747  virtual int getLoopbackRecordingVolume() = 0;
4748 
4760  virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters) = 0;
4761 
4772  virtual int setInEarMonitoringVolume(int volume) = 0;
4773 
4774 #if defined (_WIN32) || (defined(__linux__) && !defined(__ANDROID__))
4775  virtual int loadExtensionProvider(const char* extension_lib_path) = 0;
4776 #endif
4777 
4790  const char* provider_name, const char* key, const char* json_value) = 0;
4791 
4805  virtual int enableExtension(
4806  const char* provider_name, const char* extension_name, bool enable=true, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
4807 
4821  const char* provider_name, const char* extension_name,
4822  const char* key, const char* json_value, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
4823 
4838  const char* provider_name, const char* extension_name,
4839  const char* key, char* json_value, int buf_len, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
4840 
4853 
4854 
4855 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
4856 
4865  virtual int switchCamera() = 0;
4866 
4874  virtual bool isCameraZoomSupported() = 0;
4875 
4883  virtual bool isCameraFaceDetectSupported() = 0;
4884 
4892  virtual bool isCameraTorchSupported() = 0;
4893 
4901  virtual bool isCameraFocusSupported() = 0;
4902 
4910  virtual bool isCameraAutoFocusFaceModeSupported() = 0;
4911 
4921  virtual int setCameraZoomFactor(float factor) = 0;
4922 
4931  virtual int enableFaceDetection(bool enabled) = 0;
4932 
4937  virtual float getCameraMaxZoomFactor() = 0;
4938 
4948  virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0;
4949 
4957  virtual int setCameraTorchOn(bool isOn) = 0;
4958 
4966  virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0;
4967 
4979  virtual bool isCameraExposurePositionSupported() = 0;
4980 
4996  virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0;
4997 
4998 #if defined(__APPLE__)
4999 
5006  virtual bool isCameraAutoExposureFaceModeSupported() = 0;
5007 
5008 
5016  virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0;
5017 #endif
5018 
5052  virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0;
5053 
5080  virtual int setEnableSpeakerphone(bool speakerOn) = 0;
5081 
5089  virtual bool isSpeakerphoneEnabled() = 0;
5090 
5091 #endif // __ANDROID__ || (__APPLE__ && TARGET_OS_IOS)
5092 
5093 #if (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
5094 
5117  virtual int startScreenCaptureByDisplayId(uint32_t displayId, const Rectangle& regionRect,
5118  const ScreenCaptureParameters& captureParams) = 0;
5119 
5120 #endif // __APPLE__ && TARGET_OS_MAC && !TARGET_OS_IPHONE
5121 
5122 #if defined(_WIN32)
5123 
5143  virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect,
5144  const Rectangle& regionRect,
5145  const ScreenCaptureParameters& captureParams) = 0;
5146 
5147 #endif // _WIN32
5148 
5149 #if defined(__ANDROID__)
5150 
5169  virtual int startScreenCapture(void* mediaProjectionPermissionResultData,
5170  const ScreenCaptureParameters& captureParams) = 0;
5171 
5172 #endif // __ANDROID__
5173 
5174 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
5175 
5191  virtual int startScreenCaptureByWindowId(view_t windowId, const Rectangle& regionRect,
5192  const ScreenCaptureParameters& captureParams) = 0;
5193 
5206  virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint) = 0;
5207 
5221  virtual int updateScreenCaptureRegion(const Rectangle& regionRect) = 0;
5222 
5223 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
5224 
5225 #if defined(_WIN32) || defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
5226 
5236  virtual int updateScreenCaptureParameters(const ScreenCaptureParameters& captureParams) = 0;
5237 
5245  virtual int stopScreenCapture() = 0;
5246 
5247 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC) || __ANDROID__
5248 
5265  virtual int getCallId(agora::util::AString& callId) = 0;
5266 
5281  virtual int rate(const char* callId, int rating,
5282  const char* description) = 0; // 0~10
5283 
5297  virtual int complain(const char* callId, const char* description) = 0;
5298 
5329  virtual int addPublishStreamUrl(const char* url, bool transcodingEnabled) = 0;
5330 
5351  virtual int removePublishStreamUrl(const char* url) = 0;
5352 
5372  virtual int setLiveTranscoding(const LiveTranscoding& transcoding) = 0;
5373 
5374  virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration& config) = 0;
5375  virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration& config) = 0;
5376  virtual int stopLocalVideoTranscoder() = 0;
5377 
5378  virtual int startPrimaryCameraCapture(const CameraCapturerConfiguration& config) = 0;
5379  virtual int startSecondaryCameraCapture(const CameraCapturerConfiguration& config) = 0;
5380  virtual int stopPrimaryCameraCapture() = 0;
5381  virtual int stopSecondaryCameraCapture() = 0;
5382 
5383  virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
5384  virtual int setScreenCaptureOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
5385 
5386  virtual int startPrimaryScreenCapture(const ScreenCaptureConfiguration& config) = 0;
5387  virtual int startSecondaryScreenCapture(const ScreenCaptureConfiguration& config) = 0;
5388  virtual int stopPrimaryScreenCapture() = 0;
5389  virtual int stopSecondaryScreenCapture() = 0;
5390 
5395  virtual CONNECTION_STATE_TYPE getConnectionState() = 0;
5396 
5397  // The following APIs are not implemented yet.
5398  virtual bool registerEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
5399  virtual bool unregisterEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
5400  virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0;
5401 
5413  virtual int registerPacketObserver(IPacketObserver* observer) = 0;
5414 
5437  virtual int setEncryptionMode(const char* encryptionMode) = 0;
5438 
5455  virtual int setEncryptionSecret(const char* secret) = 0;
5456 
5478  virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0;
5479 
5511  virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0;
5512 
5524  virtual int createDataStream(int* streamId, DataStreamConfig& config) = 0;
5525 
5558  virtual int sendStreamMessage(int streamId, const char* data, size_t length) = 0;
5559 
5581  virtual int addVideoWatermark(const RtcImage& watermark) = 0;
5582 
5610  virtual int addVideoWatermark(const char* watermarkUrl, const WatermarkOptions& options) = 0;
5611 
5622  virtual int clearVideoWatermark() = 0;
5623 
5631  virtual int clearVideoWatermarks() = 0;
5632 
5659  virtual int addInjectStreamUrl(const char* url, const InjectStreamConfig& config) = 0;
5660 
5672  virtual int removeInjectStreamUrl(const char* url) = 0;
5673 
5674  // The following APIs are either deprecated and going to deleted.
5675 
5684  virtual int pauseAudio() = 0;
5693  virtual int resumeAudio() = 0;
5694 
5712  virtual int enableWebSdkInteroperability(bool enabled) = 0;
5713 
5724  const char* id, const char* category, const char* event, const char* label, int value) = 0;
5725 
5748 
5758 
5768  virtual int startAudioFrameDump(const char* channel_id, uid_t user_id, const char* location,
5769  const char* uuid, const char* passwd, long duration_ms, bool auto_upload) = 0;
5770 
5771  virtual int stopAudioFrameDump(const char* channel_id, uid_t user_id, const char* location) = 0;
5772 
5804  virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0;
5805 
5836  virtual int joinChannelWithUserAccount(const char* token, const char* channelId,
5837  const char* userAccount) = 0;
5838 
5870  virtual int joinChannelWithUserAccount(const char* token, const char* channelId,
5871  const char* userAccount, const ChannelMediaOptions& options) = 0;
5872 
5905  virtual int joinChannelWithUserAccountEx(const char* token, const char* channelId,
5906  const char* userAccount, const ChannelMediaOptions& options,
5907  IRtcEngineEventHandler* eventHandler) = 0;
5908 
5928  virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo, const char* channelId = NULL, const char* localUserAccount = NULL) = 0;
5929 
5950  virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo, const char* channelId = NULL, const char* localUserAccount = NULL) = 0;
5991  virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0;
5992 
6016  virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0;
6017 
6042  virtual int stopChannelMediaRelay() = 0;
6043 
6044  virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile) = 0;
6045 
6046  virtual int setDirectCdnStreamingVideoConfiguration(const VideoEncoderConfiguration& config) = 0;
6047 
6048  virtual int startDirectCdnStreaming(IDirectCdnStreamingEventHandler* eventHandler,
6049  const char* publishUrl, const DirectCdnStreamingMediaOptions& options) = 0;
6050  virtual int stopDirectCdnStreaming() = 0;
6051 
6052  virtual int updateDirectCdnStreamingMediaOptions(const DirectCdnStreamingMediaOptions& options) = 0;
6053 
6054  virtual int pushDirectCdnStreamingCustomVideoFrame(media::base::ExternalVideoFrame* frame) = 0;
6055 
6065  virtual int takeSnapshot(uid_t remoteUid, const char* filePath) = 0;
6073  virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config) = 0;
6074  /*
6075  * Adjust the custom audio publish volume by source id.
6076  * @param sourceId custom audio source id.
6077  * @param volume The volume, range is [0,100]:
6078  * 0: mute, 100: The original volume
6079  * @return
6080  * - 0: Success.
6081  * - < 0: Failure.
6082  */
6083  virtual int adjustCustomAudioPublishVolume(int32_t sourceId, int volume) = 0;
6084 
6085  /*
6086  * Adjust the custom audio playout volume by source id.
6087  * @param sourceId custom audio source id.
6088  * @param volume The volume, range is [0,100]:
6089  * 0: mute, 100: The original volume
6090  * @return
6091  * - 0: Success.
6092  * - < 0: Failure.
6093  */
6094  virtual int adjustCustomAudioPlayoutVolume(int32_t sourceId, int volume) = 0;
6095 };
6096 
6098  public:
6099  virtual ~IRtcEngineParameter() {}
6100 
6104  virtual void release() = 0;
6105 
6114  virtual int setBool(const char* key, bool value) = 0;
6115 
6124  virtual int setInt(const char* key, int value) = 0;
6125 
6134  virtual int setUInt(const char* key, unsigned int value) = 0;
6135 
6144  virtual int setNumber(const char* key, double value) = 0;
6145 
6154  virtual int setString(const char* key, const char* value) = 0;
6155 
6164  virtual int setObject(const char* key, const char* value) = 0;
6165 
6174  virtual int getBool(const char* key, bool& value) = 0;
6175 
6184  virtual int getInt(const char* key, int& value) = 0;
6185 
6194  virtual int getUInt(const char* key, unsigned int& value) = 0;
6195 
6204  virtual int getNumber(const char* key, double& value) = 0;
6205 
6214  virtual int getString(const char* key, agora::util::AString& value) = 0;
6215 
6224  virtual int getObject(const char* key, agora::util::AString& value) = 0;
6225 
6234  virtual int getArray(const char* key, agora::util::AString& value) = 0;
6235 
6243  virtual int setParameters(const char* parameters) = 0;
6244 
6255  virtual int setProfile(const char* profile, bool merge) = 0;
6256 
6257  virtual int convertPath(const char* filePath, agora::util::AString& value) = 0;
6258 };
6259 
6260 class AAudioDeviceManager : public agora::util::AutoPtr<IAudioDeviceManager> {
6261  public:
6262  AAudioDeviceManager(IRtcEngine* engine) {
6263  queryInterface(engine, AGORA_IID_AUDIO_DEVICE_MANAGER);
6264  }
6265 };
6266 
6267 class AVideoDeviceManager : public agora::util::AutoPtr<IVideoDeviceManager> {
6268  public:
6269  AVideoDeviceManager(IRtcEngine* engine) {
6270  queryInterface(engine, AGORA_IID_VIDEO_DEVICE_MANAGER);
6271  }
6272 };
6273 
6274 // The following types are either deprecated or not implmented yet.
6275 enum QUALITY_REPORT_FORMAT_TYPE {
6278  QUALITY_REPORT_JSON = 0,
6281  QUALITY_REPORT_HTML = 1,
6282 };
6283 
6285 enum MEDIA_DEVICE_STATE_TYPE {
6288  MEDIA_DEVICE_STATE_IDLE = 0,
6291  MEDIA_DEVICE_STATE_ACTIVE = 1,
6294  MEDIA_DEVICE_STATE_DISABLED = 2,
6297  MEDIA_DEVICE_STATE_NOT_PRESENT = 4,
6300  MEDIA_DEVICE_STATE_UNPLUGGED = 8
6301 };
6302 
6303 enum VIDEO_PROFILE_TYPE { // res fps
6305  VIDEO_PROFILE_LANDSCAPE_120P = 0, // 160x120 15
6307  VIDEO_PROFILE_LANDSCAPE_120P_3 = 2, // 120x120 15
6309  VIDEO_PROFILE_LANDSCAPE_180P = 10, // 320x180 15
6311  VIDEO_PROFILE_LANDSCAPE_180P_3 = 12, // 180x180 15
6313  VIDEO_PROFILE_LANDSCAPE_180P_4 = 13, // 240x180 15
6315  VIDEO_PROFILE_LANDSCAPE_240P = 20, // 320x240 15
6317  VIDEO_PROFILE_LANDSCAPE_240P_3 = 22, // 240x240 15
6319  VIDEO_PROFILE_LANDSCAPE_240P_4 = 23, // 424x240 15
6321  VIDEO_PROFILE_LANDSCAPE_360P = 30, // 640x360 15
6323  VIDEO_PROFILE_LANDSCAPE_360P_3 = 32, // 360x360 15
6325  VIDEO_PROFILE_LANDSCAPE_360P_4 = 33, // 640x360 30
6327  VIDEO_PROFILE_LANDSCAPE_360P_6 = 35, // 360x360 30
6329  VIDEO_PROFILE_LANDSCAPE_360P_7 = 36, // 480x360 15
6331  VIDEO_PROFILE_LANDSCAPE_360P_8 = 37, // 480x360 30
6333  VIDEO_PROFILE_LANDSCAPE_360P_9 = 38, // 640x360 15
6335  VIDEO_PROFILE_LANDSCAPE_360P_10 = 39, // 640x360 24
6337  VIDEO_PROFILE_LANDSCAPE_360P_11 = 100, // 640x360 24
6339  VIDEO_PROFILE_LANDSCAPE_480P = 40, // 640x480 15
6341  VIDEO_PROFILE_LANDSCAPE_480P_3 = 42, // 480x480 15
6343  VIDEO_PROFILE_LANDSCAPE_480P_4 = 43, // 640x480 30
6345  VIDEO_PROFILE_LANDSCAPE_480P_6 = 45, // 480x480 30
6347  VIDEO_PROFILE_LANDSCAPE_480P_8 = 47, // 848x480 15
6349  VIDEO_PROFILE_LANDSCAPE_480P_9 = 48, // 848x480 30
6351  VIDEO_PROFILE_LANDSCAPE_480P_10 = 49, // 640x480 10
6353  VIDEO_PROFILE_LANDSCAPE_720P = 50, // 1280x720 15
6355  VIDEO_PROFILE_LANDSCAPE_720P_3 = 52, // 1280x720 30
6357  VIDEO_PROFILE_LANDSCAPE_720P_5 = 54, // 960x720 15
6359  VIDEO_PROFILE_LANDSCAPE_720P_6 = 55, // 960x720 30
6361  VIDEO_PROFILE_LANDSCAPE_1080P = 60, // 1920x1080 15
6363  VIDEO_PROFILE_LANDSCAPE_1080P_3 = 62, // 1920x1080 30
6365  VIDEO_PROFILE_LANDSCAPE_1080P_5 = 64, // 1920x1080 60
6367  VIDEO_PROFILE_LANDSCAPE_1440P = 66, // 2560x1440 30
6369  VIDEO_PROFILE_LANDSCAPE_1440P_2 = 67, // 2560x1440 60
6371  VIDEO_PROFILE_LANDSCAPE_4K = 70, // 3840x2160 30
6373  VIDEO_PROFILE_LANDSCAPE_4K_3 = 72, // 3840x2160 60
6375  VIDEO_PROFILE_PORTRAIT_120P = 1000, // 120x160 15
6377  VIDEO_PROFILE_PORTRAIT_120P_3 = 1002, // 120x120 15
6379  VIDEO_PROFILE_PORTRAIT_180P = 1010, // 180x320 15
6381  VIDEO_PROFILE_PORTRAIT_180P_3 = 1012, // 180x180 15
6383  VIDEO_PROFILE_PORTRAIT_180P_4 = 1013, // 180x240 15
6385  VIDEO_PROFILE_PORTRAIT_240P = 1020, // 240x320 15
6387  VIDEO_PROFILE_PORTRAIT_240P_3 = 1022, // 240x240 15
6389  VIDEO_PROFILE_PORTRAIT_240P_4 = 1023, // 240x424 15
6391  VIDEO_PROFILE_PORTRAIT_360P = 1030, // 360x640 15
6393  VIDEO_PROFILE_PORTRAIT_360P_3 = 1032, // 360x360 15
6395  VIDEO_PROFILE_PORTRAIT_360P_4 = 1033, // 360x640 30
6397  VIDEO_PROFILE_PORTRAIT_360P_6 = 1035, // 360x360 30
6399  VIDEO_PROFILE_PORTRAIT_360P_7 = 1036, // 360x480 15
6401  VIDEO_PROFILE_PORTRAIT_360P_8 = 1037, // 360x480 30
6403  VIDEO_PROFILE_PORTRAIT_360P_9 = 1038, // 360x640 15
6405  VIDEO_PROFILE_PORTRAIT_360P_10 = 1039, // 360x640 24
6407  VIDEO_PROFILE_PORTRAIT_360P_11 = 1100, // 360x640 24
6409  VIDEO_PROFILE_PORTRAIT_480P = 1040, // 480x640 15
6411  VIDEO_PROFILE_PORTRAIT_480P_3 = 1042, // 480x480 15
6413  VIDEO_PROFILE_PORTRAIT_480P_4 = 1043, // 480x640 30
6415  VIDEO_PROFILE_PORTRAIT_480P_6 = 1045, // 480x480 30
6417  VIDEO_PROFILE_PORTRAIT_480P_8 = 1047, // 480x848 15
6419  VIDEO_PROFILE_PORTRAIT_480P_9 = 1048, // 480x848 30
6421  VIDEO_PROFILE_PORTRAIT_480P_10 = 1049, // 480x640 10
6423  VIDEO_PROFILE_PORTRAIT_720P = 1050, // 720x1280 15
6425  VIDEO_PROFILE_PORTRAIT_720P_3 = 1052, // 720x1280 30
6427  VIDEO_PROFILE_PORTRAIT_720P_5 = 1054, // 720x960 15
6429  VIDEO_PROFILE_PORTRAIT_720P_6 = 1055, // 720x960 30
6431  VIDEO_PROFILE_PORTRAIT_1080P = 1060, // 1080x1920 15
6433  VIDEO_PROFILE_PORTRAIT_1080P_3 = 1062, // 1080x1920 30
6435  VIDEO_PROFILE_PORTRAIT_1080P_5 = 1064, // 1080x1920 60
6437  VIDEO_PROFILE_PORTRAIT_1440P = 1066, // 1440x2560 30
6439  VIDEO_PROFILE_PORTRAIT_1440P_2 = 1067, // 1440x2560 60
6441  VIDEO_PROFILE_PORTRAIT_4K = 1070, // 2160x3840 30
6443  VIDEO_PROFILE_PORTRAIT_4K_3 = 1072, // 2160x3840 60
6445  VIDEO_PROFILE_DEFAULT = VIDEO_PROFILE_LANDSCAPE_360P,
6446 };
6447 
6448 } // namespace rtc
6449 } // namespace agora
6450 
6456 #define getAgoraRtcEngineVersion getAgoraSdkVersion
6457 
6459 
6462 
6469 
6471 
6472 
6479 #define getAgoraRtcEngineErrorDescription getAgoraSdkErrorDescription
6480 #define setAgoraRtcEngineExternalSymbolLoader setAgoraSdkExternalSymbolLoader
agora::rtc::IRtcEngineEventHandler::onApiCallExecuted
virtual void onApiCallExecuted(int err, const char *api, const char *result)
Definition: IAgoraRtcEngine.h:1370
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:646
agora::rtc::PublisherConfiguration::extraInfo
const char * extraInfo
Definition: IAgoraRtcEngine.h:533
agora::rtc::RtcEngineContext::appId
const char * appId
Definition: IAgoraRtcEngine.h:2196
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:4844
agora::rtc::LastmileProbeResult
Definition: AgoraBase.h:3576
agora::rtc::AudioEncodedFrameObserverConfig
Definition: AgoraBase.h:4280
agora::rtc::ScreenCaptureParameters
Definition: AgoraBase.h:4114
agora::rtc::IRtcEngine::muteAllRemoteVideoStreams
virtual int muteAllRemoteVideoStreams(bool mute)=0
agora::rtc::AudioVolumeInfo
Definition: AgoraBase.h:2883
agora::rtc::InjectStreamConfig::audioChannels
int audioChannels
Definition: IAgoraRtcEngine.h:455
agora::rtc::IRtcEngine::pauseEffect
virtual int pauseEffect(int soundId)=0
agora::rtc::BeautyOptions
Definition: AgoraBase.h:3757
agora::rtc::ChannelMediaOptions::publishSecondaryCameraTrack
Optional< bool > publishSecondaryCameraTrack
Definition: IAgoraRtcEngine.h:598
agora::rtc::ChannelMediaOptions::token
Optional< char * > token
Definition: IAgoraRtcEngine.h:708
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:2190
agora::rtc::IRtcEngine::preloadEffect
virtual int preloadEffect(int soundId, const char *filePath)=0
agora::rtc::IRtcEngine::stopPreview
virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType)=0
agora::rtc::IRtcEngineParameter::setInt
virtual int setInt(const char *key, int value)=0
agora::rtc::IRtcEngine::setLocalRenderMode
virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode)=0
agora::rtc::IRtcEngineEventHandler::onIntraRequestReceived
virtual void onIntraRequestReceived()
Definition: IAgoraRtcEngine.h:1094
agora::rtc::VideoCompositingLayout
Definition: IAgoraRtcEngine.h:344
agora::rtc::VideoCompositingLayout::canvasHeight
int canvasHeight
Definition: IAgoraRtcEngine.h:394
agora::rtc::IRtcEngine::setVoiceConversionPreset
virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset)=0
agora::rtc::LastmileProbeConfig
Definition: AgoraBase.h:3502
agora::rtc::IRtcEngine::enableLocalVideo
virtual int enableLocalVideo(bool enabled)=0
agora::rtc::IRtcEngineEventHandler::onLeaveChannel
virtual void onLeaveChannel(const RtcStats &stats)
Definition: IAgoraRtcEngine.h:1010
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:1143
agora::rtc::IRtcEngine::createDataStream
virtual int createDataStream(int *streamId, DataStreamConfig &config)=0
agora::rtc::LocalVideoStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:237
agora::rtc::IRtcEngine::stopChannelMediaRelay
virtual int stopChannelMediaRelay()=0
agora::rtc::IRtcEngine::registerAudioEncodedFrameObserver
virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig &config, IAudioEncodedFrameObserver *observer)=0
agora::rtc::IRtcEngine::resumeAllEffects
virtual int resumeAllEffects()=0
agora::rtc::IRtcEngine::joinChannelWithUserAccountEx
virtual int joinChannelWithUserAccountEx(const char *token, const char *channelId, const char *userAccount, const ChannelMediaOptions &options, IRtcEngineEventHandler *eventHandler)=0
agora::rtc::InjectStreamConfig::width
int width
Definition: IAgoraRtcEngine.h:428
agora::rtc::IRtcEngine::pauseAudioMixing
virtual int pauseAudioMixing()=0
agora::rtc::IRtcEngine::setPlaybackAudioFrameBeforeMixingParameters
virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel)=0
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::IRtcEngine::clearVideoWatermark
virtual int clearVideoWatermark()=0
agora::rtc::IVideoDeviceCollection::release
virtual void release()=0
agora::rtc::IVideoDeviceManager::enumerateVideoDevices
virtual IVideoDeviceCollection * enumerateVideoDevices()=0
agora::rtc::LeaveChannelOptions::stopAudioMixing
bool stopAudioMixing
Definition: IAgoraRtcEngine.h:830
agora::rtc::IRtcEngine::getVersion
virtual const char * getVersion(int *build)=0
agora::rtc::ChannelMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition: IAgoraRtcEngine.h:634
agora::media::IAudioSpectrumObserver
Definition: AgoraMediaBase.h:884
agora::rtc::IRtcEngineEventHandler::onRemoteAudioTransportStats
virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate)
Definition: IAgoraRtcEngine.h:1881
agora::rtc::IMetadataObserver::Metadata::buffer
unsigned char * buffer
Definition: IAgoraRtcEngine.h:2293
agora::rtc::PublisherConfiguration::publishUrl
const char * publishUrl
Definition: IAgoraRtcEngine.h:526
agora::rtc::IRtcEngine::enableLoopbackRecording
virtual int enableLoopbackRecording(bool enabled)=0
agora::rtc::PublisherConfiguration::lifecycle
int lifecycle
Definition: IAgoraRtcEngine.h:508
agora::rtc::IRtcEngine::startPreview
virtual int startPreview()=0
agora::rtc::IMetadataObserver::Metadata::timeStampMs
long long timeStampMs
Definition: IAgoraRtcEngine.h:2298
agora::rtc::IRtcEngineEventHandler::onLocalAudioStats
virtual void onLocalAudioStats(const LocalAudioStats &stats)
Definition: IAgoraRtcEngine.h:1383
agora::rtc::ChannelMediaOptions::autoSubscribeAudio
Optional< bool > autoSubscribeAudio
Definition: IAgoraRtcEngine.h:665
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:1131
agora::rtc::CameraCapturerConfiguration::deviceId
char deviceId[MAX_DEVICE_ID_LENGTH]
Definition: IAgoraRtcEngine.h:568
agora::rtc::IRtcEngine::setRemoteRenderMode
virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
agora::rtc::IRtcEngine::setEncryptionMode
virtual int setEncryptionMode(const char *encryptionMode)=0
agora::rtc::LiveTranscoding
Definition: AgoraBase.h:3281
agora::rtc::ChannelMediaOptions::audienceLatencyLevel
Optional< AUDIENCE_LATENCY_LEVEL_TYPE > audienceLatencyLevel
Definition: IAgoraRtcEngine.h:691
agora::rtc::LocalVideoStats::sentFrameRate
int sentFrameRate
Definition: IAgoraRtcEngine.h:245
agora::rtc::Rectangle
Definition: AgoraBase.h:2001
agora::rtc::IRtcEngine::createDataStream
virtual int createDataStream(int *streamId, bool reliable, bool ordered)=0
agora::rtc::IVideoDeviceManager::release
virtual void release()=0
agora::rtc::IRtcEngine::setVolumeOfEffect
virtual int setVolumeOfEffect(int soundId, int volume)=0
agora::rtc::IRtcEngineEventHandler::onUserInfoUpdated
virtual void onUserInfoUpdated(uid_t uid, const UserInfo &info)
Definition: IAgoraRtcEngine.h:1966
agora::rtc::IRtcEngineEventHandler::onNetworkTypeChanged
virtual void onNetworkTypeChanged(NETWORK_TYPE type)
Definition: IAgoraRtcEngine.h:1925
agora::rtc::IRtcEngine::pauseAudio
virtual int pauseAudio()=0
agora::rtc::InjectStreamConfig::videoFramerate
int videoFramerate
Definition: IAgoraRtcEngine.h:440
agora::rtc::ChannelMediaOptions::publishCustomAudioTrackEnableAec
Optional< bool > publishCustomAudioTrackEnableAec
Definition: IAgoraRtcEngine.h:628
agora::rtc::IMetadataObserver::onReadyToSendMetadata
virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type)=0
agora::rtc::IRtcEngine::registerPacketObserver
virtual int registerPacketObserver(IPacketObserver *observer)=0
agora::rtc::IRtcEngine::startAudioMixing
virtual int startAudioMixing(const char *filePath, bool loopback, bool replace, int cycle)=0
agora::rtc::IRtcEngine::unregisterMediaMetadataObserver
virtual int unregisterMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type)=0
agora::rtc::IRtcEngine::pauseAllEffects
virtual int pauseAllEffects()=0
agora::rtc::IRtcEngine::disableAudioSpectrumMonitor
virtual int disableAudioSpectrumMonitor()=0
agora::rtc::IRtcEngineEventHandlerEx
Definition: IAgoraRtcEngineEx.h:58
agora::rtc::IRtcEngineEventHandler::onFirstLocalAudioFramePublished
virtual void onFirstLocalAudioFramePublished(int elapsed)
Definition: IAgoraRtcEngine.h:1584
agora::util::AutoPtr
Definition: AgoraBase.h:99
agora::media::IAudioFrameObserverBase::AudioFrame
Definition: AgoraMediaBase.h:747
agora::rtc::IRtcEngineParameter::getBool
virtual int getBool(const char *key, bool &value)=0
agora::rtc::LocalVideoStats::sentBitrate
int sentBitrate
Definition: IAgoraRtcEngine.h:241
agora::rtc::IRtcEngine::setDefaultMuteAllRemoteVideoStreams
virtual int setDefaultMuteAllRemoteVideoStreams(bool mute)=0
agora::rtc::IRtcEngine::getAudioMixingPublishVolume
virtual int getAudioMixingPublishVolume()=0
agora::rtc::IRtcEngine::addVideoWatermark
virtual int addVideoWatermark(const char *watermarkUrl, const WatermarkOptions &options)=0
agora::rtc::IRtcEngineEventHandler::onRejoinChannelSuccess
virtual void onRejoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:891
agora::rtc::RemoteVideoStats::totalFrozenTime
int totalFrozenTime
Definition: IAgoraRtcEngine.h:332
agora::rtc::IRtcEngine::stopPrimaryCustomAudioTrack
virtual int stopPrimaryCustomAudioTrack()=0
agora::rtc::IMetadataObserver::METADATA_TYPE
METADATA_TYPE
Definition: IAgoraRtcEngine.h:2261
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:1814
agora::rtc::IRtcEngineEventHandler
Definition: IAgoraRtcEngine.h:858
agora::rtc::VideoCompositingLayout::Region::height
double height
Definition: IAgoraRtcEngine.h:360
agora::rtc::IRtcEngine::leaveChannel
virtual int leaveChannel(const LeaveChannelOptions &options)=0
agora::rtc::IVideoDeviceManager::getDevice
virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngineEventHandler::onUserMuteAudio
virtual void onUserMuteAudio(uid_t uid, bool muted)
Definition: IAgoraRtcEngine.h:1301
agora::rtc::IRtcEngine::setExtensionProviderProperty
virtual int setExtensionProviderProperty(const char *provider_name, const char *key, const char *json_value)=0
agora::rtc::RtcEngineContext::enableAudioDevice
bool enableAudioDevice
Definition: IAgoraRtcEngine.h:2211
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:1104
agora::rtc::DirectCdnStreamingMediaOptions::publishMicrophoneTrack
Optional< bool > publishMicrophoneTrack
Definition: IAgoraRtcEngine.h:2389
agora::rtc::RtcImage
Definition: AgoraBase.h:3157
agora::rtc::VideoCompositingLayout::backgroundColor
const char * backgroundColor
Definition: IAgoraRtcEngine.h:397
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:262
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:1043
agora::rtc::SimulcastStreamConfig
Definition: AgoraBase.h:1979
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:2312
agora::rtc::IRtcEngine::getConnectionState
virtual CONNECTION_STATE_TYPE getConnectionState()=0
agora::rtc::IRtcEngine::enableEncryption
virtual int enableEncryption(bool enabled, const EncryptionConfig &config)=0
agora::rtc::IRtcEngine::enableContentInspect
virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config)=0
agora::rtc::ChannelMediaOptions::publishTrancodedVideoTrack
Optional< bool > publishTrancodedVideoTrack
Definition: IAgoraRtcEngine.h:658
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStateChanged
virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed)
Definition: IAgoraRtcEngine.h:1619
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:2383
agora::rtc::IVideoDeviceCollection::getCount
virtual int getCount()=0
agora::rtc::IRtcEngineEventHandler::onUserMuteVideo
virtual void onUserMuteVideo(uid_t userId, bool muted)
Definition: IAgoraRtcEngine.h:1320
agora::rtc::IRtcEngine::getAudioMixingDuration
virtual int getAudioMixingDuration()=0
agora::rtc::IRtcEngine::setBeautyEffectOptions
virtual int setBeautyEffectOptions(bool enabled, const BeautyOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::UNKNOWN_MEDIA_SOURCE)=0
agora::rtc::IRtcEngineEventHandler::onVideoDeviceStateChanged
virtual void onVideoDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition: IAgoraRtcEngine.h:1056
agora::rtc::IMetadataObserver
Definition: IAgoraRtcEngine.h:2254
agora::rtc::VideoCompositingLayout::appData
const char * appData
Definition: IAgoraRtcEngine.h:407
agora::rtc::IRtcEngineEventHandler::onVideoPublishStateChanged
virtual void onVideoPublishStateChanged(const char *channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)
Definition: IAgoraRtcEngine.h:2028
agora::rtc::IRtcEngine::setRemoteVoicePosition
virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain)=0
agora::rtc::IRtcEngineEventHandler::onLocalVideoStateChanged
virtual void onLocalVideoStateChanged(LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_ERROR error)
Definition: IAgoraRtcEngine.h:1204
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::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:505
agora::rtc::IRtcEngineEventHandler::onTranscodingUpdated
virtual void onTranscodingUpdated()
Definition: IAgoraRtcEngine.h:1778
agora::rtc::IRtcEngineEventHandler::onAudioMixingStateChanged
virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_ERROR_TYPE errorCode)
Definition: IAgoraRtcEngine.h:1475
agora::rtc::IRtcEngineEventHandler::onRequestToken
virtual void onRequestToken()
Definition: IAgoraRtcEngine.h:1559
agora::rtc::IRtcEngineEventHandler::onError
virtual void onError(int err, const char *msg)
Definition: IAgoraRtcEngine.h:915
agora::rtc::VideoCompositingLayout::regionCount
int regionCount
Definition: IAgoraRtcEngine.h:404
agora::rtc::PublisherConfiguration::height
int height
Definition: IAgoraRtcEngine.h:491
agora::rtc::AVideoDeviceManager
Definition: IAgoraRtcEngine.h:6267
agora::rtc::LocalVideoStats::codecType
VIDEO_CODEC_TYPE codecType
Definition: IAgoraRtcEngine.h:276
agora::rtc::LocalTranscoderConfiguration
Definition: AgoraBase.h:3479
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:1358
agora::rtc::InjectStreamConfig::audioBitrate
int audioBitrate
Definition: IAgoraRtcEngine.h:452
agora::rtc::IRtcEngine::getExtensionProperty
virtual int getExtensionProperty(const char *provider_name, const char *extension_name, const char *key, char *json_value, int buf_len, agora::media::MEDIA_SOURCE_TYPE type=agora::media::UNKNOWN_MEDIA_SOURCE)=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:992
agora::rtc::IRtcEngineEventHandler::onConnectionBanned
virtual void onConnectionBanned()
Definition: IAgoraRtcEngine.h:1504
agora::rtc::IPacketObserver
Definition: AgoraBase.h:2900
agora::media::base::ExternalVideoFrame
Definition: AgoraMediaBase.h:475
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:640
agora::rtc::VideoFormat
Definition: AgoraBase.h:2490
agora::rtc::RemoteVideoStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:290
agora::rtc::IRtcEngineEventHandler::onUserOffline
virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:1285
agora::rtc::DataStreamConfig
Definition: AgoraBase.h:1967
agora::rtc::VideoCompositingLayout::Region::y
double y
Definition: IAgoraRtcEngine.h:354
agora::rtc::IRtcEngine::stopAudioMixing
virtual int stopAudioMixing()=0
agora::rtc::PublisherConfiguration
Definition: IAgoraRtcEngine.h:483
agora::rtc::IRtcEngine::setLogLevel
virtual int setLogLevel(commons::LOG_LEVEL level)=0
agora::rtc::RtcEngineContext::logConfig
commons::LogConfig logConfig
Definition: IAgoraRtcEngine.h:2242
agora::rtc::IRtcEngineEventHandler::onChannelMediaRelayEvent
virtual void onChannelMediaRelayEvent(int code)
Definition: IAgoraRtcEngine.h:1855
agora::rtc::IRtcEngine::setRemoteDefaultVideoStreamType
virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType)=0
agora::rtc::IRtcEngine::setRemoteVideoStreamType
virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType)=0
agora::rtc::IRtcEngineEventHandler::onUserEnableVideo
virtual void onUserEnableVideo(uid_t uid, bool enabled)
Definition: IAgoraRtcEngine.h:1342
agora::rtc::InjectStreamConfig::height
int height
Definition: IAgoraRtcEngine.h:432
agora::rtc::DirectCdnStreamingMediaOptions
Definition: IAgoraRtcEngine.h:2377
agora::rtc::IRtcEngineEventHandler::onStreamMessageError
virtual void onStreamMessageError(uid_t userId, int streamId, int code, int missed, int cached)
Definition: IAgoraRtcEngine.h:1540
agora::rtc::IRtcEngine::setVideoEncoderConfiguration
virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration &config)=0
agora::rtc::IRtcEngineEventHandler::onRtmpStreamingStateChanged
virtual void onRtmpStreamingStateChanged(const char *url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_ERROR errCode)
Definition: IAgoraRtcEngine.h:1706
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:389
agora::rtc::LeaveChannelOptions::stopMicrophoneRecording
bool stopMicrophoneRecording
Definition: IAgoraRtcEngine.h:842
agora::rtc::PublisherConfiguration::rawStreamUrl
const char * rawStreamUrl
Definition: IAgoraRtcEngine.h:530
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:1427
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:1575
agora::rtc::LocalVideoStats::targetFrameRate
int targetFrameRate
Definition: IAgoraRtcEngine.h:258
agora::rtc::IRtcEngineEventHandler::onSnapshotTaken
virtual void onSnapshotTaken(const char *channel, uid_t uid, const char *filePath, int width, int height, int errCode)
snapshot taken callback
Definition: IAgoraRtcEngine.h:1660
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:2216
agora::rtc::IRtcEngine::enableWebSdkInteroperability
virtual int enableWebSdkInteroperability(bool enabled)=0
agora::rtc::IRtcEngine::setLiveTranscoding
virtual int setLiveTranscoding(const LiveTranscoding &transcoding)=0
agora::rtc::IRtcEngineEventHandler::onContentInspectResult
virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result)
Definition: IAgoraRtcEngine.h:1647
agora::rtc::IRtcEngineEventHandler::onAudioDeviceStateChanged
virtual void onAudioDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition: IAgoraRtcEngine.h:1030
agora::rtc::IAudioEncodedFrameObserver
Definition: AgoraBase.h:4296
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:934
agora::rtc::LeaveChannelOptions
Definition: IAgoraRtcEngine.h:824
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoDecoded
virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed)
Definition: IAgoraRtcEngine.h:1179
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStats
virtual void onRemoteAudioStats(const RemoteAudioStats &stats)
Definition: IAgoraRtcEngine.h:1397
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:4585
agora::rtc::IVideoDeviceCollection
Definition: IAgoraRtcEngine.h:2068
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::sendStreamMessage
virtual int sendStreamMessage(int streamId, const char *data, size_t length)=0
agora::rtc::ChannelMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition: IAgoraRtcEngine.h:622
agora::rtc::RemoteVideoStats::avSyncTimeMs
int avSyncTimeMs
Definition: IAgoraRtcEngine.h:341
agora::rtc::IRtcEngine::removeInjectStreamUrl
virtual int removeInjectStreamUrl(const char *url)=0
agora::rtc::IRtcEngineEventHandler::onStreamMessage
virtual void onStreamMessage(uid_t userId, int streamId, const char *data, size_t length, uint64_t sentTs)
Definition: IAgoraRtcEngine.h:1519
agora::rtc::RemoteVideoStats::decoderOutputFrameRate
int decoderOutputFrameRate
Definition: IAgoraRtcEngine.h:313
agora::rtc::RtcEngineContext::context
void * context
Definition: IAgoraRtcEngine.h:2203
agora::rtc::IRtcEngineEventHandler::onActiveSpeaker
virtual void onActiveSpeaker(uid_t uid)
Definition: IAgoraRtcEngine.h:1644
agora::rtc::ChannelMediaOptions::publishCameraTrack
Optional< bool > publishCameraTrack
Definition: IAgoraRtcEngine.h:592
agora::rtc::ChannelMediaOptions::publishAudioTrack
Optional< bool > publishAudioTrack
Definition: IAgoraRtcEngine.h:604
agora::rtc::ChannelMediaOptions::clientRoleType
Optional< CLIENT_ROLE_TYPE > clientRoleType
Definition: IAgoraRtcEngine.h:687
agora::rtc::IRtcEngine::enableExtension
virtual int enableExtension(const char *provider_name, const char *extension_name, bool enable=true, agora::media::MEDIA_SOURCE_TYPE type=agora::media::UNKNOWN_MEDIA_SOURCE)=0
agora::rtc::IRtcEngineEventHandler::onJoinChannelSuccess
virtual void onJoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:873
agora::rtc::ChannelMediaOptions::channelProfile
Optional< CHANNEL_PROFILE_TYPE > channelProfile
Definition: IAgoraRtcEngine.h:699
agora::rtc::VideoCompositingLayout::Region::zOrder
int zOrder
Definition: IAgoraRtcEngine.h:364
agora::rtc::IRtcEngine::startPrimaryCustomAudioTrack
virtual int startPrimaryCustomAudioTrack(const AudioTrackConfig &config)=0
agora::rtc::IRtcEngine::muteRemoteVideoStream
virtual int muteRemoteVideoStream(uid_t uid, bool mute)=0
agora::rtc::IRtcEngineParameter::getArray
virtual int getArray(const char *key, agora::util::AString &value)=0
agora::rtc::IVideoDeviceManager
Definition: IAgoraRtcEngine.h:2112
agora::rtc::RemoteVideoStats::frozenRate
int frozenRate
Definition: IAgoraRtcEngine.h:336
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:410
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:369
agora::rtc::IRtcEngine::release
virtual void release(bool sync=false)=0
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition: IAgoraRtcEngine.h:2401
agora::rtc::LocalVideoStats::encodedFrameHeight
int encodedFrameHeight
Definition: IAgoraRtcEngine.h:268
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:1602
agora::rtc::IRtcEngine::updateChannelMediaRelay
virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration)=0
agora::rtc::IRtcEngine::setLogFile
virtual int setLogFile(const char *filePath)=0
agora::rtc::IVideoDeviceCollection::setDevice
virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngine::setCameraCapturerConfiguration
virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration &config)=0
agora::rtc::PublisherConfiguration::width
int width
Definition: IAgoraRtcEngine.h:487
agora::rtc::VideoCompositingLayout::Region::width
double width
Definition: IAgoraRtcEngine.h:358
agora::rtc::IRtcEngine::getEffectsVolume
virtual int getEffectsVolume()=0
agora::rtc::IRtcEngineEventHandler::onEncryptionError
virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType)
Definition: IAgoraRtcEngine.h:1933
agora::rtc::IRtcEngine::takeSnapshot
virtual int takeSnapshot(uid_t remoteUid, const char *filePath)=0
save current time video frame to jpeg and write as a jpeg
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:1763
agora::rtc::LeaveChannelOptions::stopAllEffect
bool stopAllEffect
Definition: IAgoraRtcEngine.h:836
agora::rtc::ChannelMediaOptions::defaultVideoStreamType
Optional< VIDEO_STREAM_TYPE > defaultVideoStreamType
Definition: IAgoraRtcEngine.h:695
createAgoraRtcEngine
AGORA_API agora::rtc::IRtcEngine *AGORA_CALL createAgoraRtcEngine()
agora::rtc::LocalVideoStats
Definition: IAgoraRtcEngine.h:233
agora::rtc::IMetadataObserver::onMetadataReceived
virtual void onMetadataReceived(const Metadata &metadata)=0
agora::rtc::IRtcEngine::startAudioFrameDump
virtual int startAudioFrameDump(const char *channel_id, uid_t user_id, const char *location, const char *uuid, const char *passwd, long duration_ms, bool auto_upload)=0
agora::rtc::ChannelMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition: IAgoraRtcEngine.h:683
agora::rtc::IDirectCdnStreamingEventHandler
Definition: IAgoraRtcEngine.h:2363
agora::rtc::LocalVideoStats::txPacketLossRate
int txPacketLossRate
Definition: IAgoraRtcEngine.h:280
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:1980
agora::rtc::IRtcEngine::getUserInfoByUserAccount
virtual int getUserInfoByUserAccount(const char *userAccount, rtc::UserInfo *userInfo, const char *channelId=NULL, const char *localUserAccount=NULL)=0
agora::rtc::IRtcEngine::startSecondaryCustomAudioTrack
virtual int startSecondaryCustomAudioTrack(const AudioTrackConfig &config)=0
agora::rtc::EncryptionConfig
Definition: AgoraBase.h:4760
agora::rtc::IRtcEngineParameter
Definition: IAgoraRtcEngine.h:6097
agora::rtc::IRtcEngineEventHandler::onClientRoleChanged
virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole)
Definition: IAgoraRtcEngine.h:1675
agora::rtc::IRtcEngine::setAudioMixingPosition
virtual int setAudioMixingPosition(int pos)=0
agora::rtc::IRtcEngine::enableAudioVolumeIndication
virtual int enableAudioVolumeIndication(int interval, int smooth)=0
agora::rtc::IRtcEngineParameter::setNumber
virtual int setNumber(const char *key, double value)=0
agora::rtc::ChannelMediaOptions::enableAudioRecordingOrPlayout
Optional< bool > enableAudioRecordingOrPlayout
Definition: IAgoraRtcEngine.h:678
agora::rtc::RemoteVideoStats::receivedBitrate
int receivedBitrate
Definition: IAgoraRtcEngine.h:310
agora::rtc::AudioFileRecordingConfig
Definition: AgoraBase.h:4221
agora::rtc::RemoteAudioStats
Definition: AgoraBase.h:2336
agora::rtc::IMetadataObserver::MAX_METADATA_SIZE_TYPE
MAX_METADATA_SIZE_TYPE
Definition: IAgoraRtcEngine.h:2273
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoFrame
virtual void onFirstRemoteVideoFrame(uid_t userId, int width, int height, int elapsed)
Definition: IAgoraRtcEngine.h:1241
agora::rtc::LocalVideoStats::encoderOutputFrameRate
int encoderOutputFrameRate
Definition: IAgoraRtcEngine.h:248
agora::rtc::IRtcEngine::unregisterAudioSpectrumObserver
virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
agora::rtc::IRtcEngine::setupRemoteVideo
virtual int setupRemoteVideo(const VideoCanvas &canvas)=0
agora::rtc::IRtcEngineEventHandler::onLastmileProbeResult
virtual void onLastmileProbeResult(const LastmileProbeResult &result)
Definition: IAgoraRtcEngine.h:948
agora::rtc::IVideoDeviceManager::startDeviceTest
virtual int startDeviceTest(view_t hwnd)=0
agora::rtc::IRtcEngine::setLocalVideoMirrorMode
virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
agora::rtc::CameraCapturerConfiguration::cameraDirection
CAMERA_DIRECTION cameraDirection
Definition: IAgoraRtcEngine.h:566
agora::rtc::IRtcEngineEventHandler::onConnectionLost
virtual void onConnectionLost()
Definition: IAgoraRtcEngine.h:1487
agora::rtc::PublisherConfiguration::owner
bool owner
Definition: IAgoraRtcEngine.h:513
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:401
agora::rtc::ChannelMediaOptions::publishMediaPlayerVideoTrack
Optional< bool > publishMediaPlayerVideoTrack
Definition: IAgoraRtcEngine.h:652
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:1953
agora::rtc::LocalVideoStats::encodedFrameWidth
int encodedFrameWidth
Definition: IAgoraRtcEngine.h:265
agora::rtc::RtcStats
Definition: AgoraBase.h:2079
agora::rtc::IRtcEngine::setVoiceBeautifierParameters
virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2)=0
agora::rtc::IRtcEngine::muteRemoteAudioStream
virtual int muteRemoteAudioStream(uid_t uid, bool mute)=0
agora::rtc::IRtcEngineEventHandler::onWarning
virtual void onWarning(int warn, const char *msg)
Definition: IAgoraRtcEngine.h:905
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:1414
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:2043
agora::rtc::LocalAudioStats
Definition: AgoraBase.h:3025
agora::rtc::IRtcEngineEventHandler::onAudioDeviceVolumeChanged
virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted)
Definition: IAgoraRtcEngine.h:1687
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:302
agora::rtc::IRtcEngineEventHandler::onMediaDeviceChanged
virtual void onMediaDeviceChanged(int deviceType)
Definition: IAgoraRtcEngine.h:1069
agora::rtc::RtcEngineContext::audioScenario
AUDIO_SCENARIO_TYPE audioScenario
Definition: IAgoraRtcEngine.h:2226
agora::rtc::RemoteVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition: IAgoraRtcEngine.h:316
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:255
agora::rtc::ChannelMediaOptions::publishSecondaryScreenTrack
Optional< bool > publishSecondaryScreenTrack
Definition: IAgoraRtcEngine.h:616
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:1748
agora::rtc::InjectStreamConfig
Definition: IAgoraRtcEngine.h:424
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::LocalVideoStats::encodedFrameCount
int encodedFrameCount
Definition: IAgoraRtcEngine.h:271
agora::rtc::PublisherConfiguration::bitrate
int bitrate
Definition: IAgoraRtcEngine.h:499
agora::rtc::RtcEngineContext
Definition: IAgoraRtcEngine.h:2186
agora::rtc::IRtcEngineEventHandler::onFirstLocalVideoFramePublished
virtual void onFirstLocalVideoFramePublished(int elapsed)
Definition: IAgoraRtcEngine.h:1154
agora::rtc::IRtcEngine::unloadAllEffects
virtual int unloadAllEffects()=0
agora::rtc::ChannelMediaOptions
Definition: IAgoraRtcEngine.h:586
agora::rtc::IRtcEngine
Definition: IAgoraRtcEngine.h:2470
agora::rtc::IRtcEngine::setClientRole
virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions &options)=0
agora::rtc::ScreenCaptureConfiguration
Definition: IAgoraRtcEngine.h:572
agora::rtc::ChannelMediaOptions::autoSubscribeVideo
Optional< bool > autoSubscribeVideo
Definition: IAgoraRtcEngine.h:672
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:319
agora::rtc::IRtcEngine::setLocalVoicePitch
virtual int setLocalVoicePitch(double pitch)=0
agora::rtc::RemoteVideoStats::height
int height
Definition: IAgoraRtcEngine.h:306
agora::rtc::IRtcEngine::setAudioEffectPreset
virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset)=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:551
agora::rtc::IRtcEngine::setLocalVoiceChanger
virtual int setLocalVoiceChanger(VOICE_CHANGER_PRESET voiceChanger)=0
agora::rtc::InjectStreamConfig::audioSampleRate
AUDIO_SAMPLE_RATE_TYPE audioSampleRate
Definition: IAgoraRtcEngine.h:448
agora::rtc::IRtcEngineEventHandler::onConnectionInterrupted
virtual void onConnectionInterrupted()
Definition: IAgoraRtcEngine.h:1500
agora::rtc::PublisherConfiguration::framerate
int framerate
Definition: IAgoraRtcEngine.h:495
agora::rtc::IRtcEngine::resumeEffect
virtual int resumeEffect(int soundId)=0
agora::rtc::PublisherConfiguration::injectStreamUrl
const char * injectStreamUrl
Definition: IAgoraRtcEngine.h:522
agora::rtc::ChannelMediaOptions::publishScreenTrack
Optional< bool > publishScreenTrack
Definition: IAgoraRtcEngine.h:610
agora::rtc::IRtcEngineEventHandler::onAudioRoutingChanged
virtual void onAudioRoutingChanged(int routing)
Definition: IAgoraRtcEngine.h:1793
agora::rtc::InjectStreamConfig::videoBitrate
int videoBitrate
Definition: IAgoraRtcEngine.h:444
agora::rtc::IRtcEngineParameter::getObject
virtual int getObject(const char *key, agora::util::AString &value)=0
agora::rtc::IRtcEngine::enableVideo
virtual int enableVideo()=0
agora::rtc::IRtcEngine::enableDualStreamMode
virtual int enableDualStreamMode(bool enabled)=0
agora::rtc::IMetadataObserver::UNKNOWN_METADATA
@ UNKNOWN_METADATA
Definition: IAgoraRtcEngine.h:2264
agora::rtc::RemoteVideoStats::delay
int delay
Definition: IAgoraRtcEngine.h:298
agora::rtc::IRtcEngine::startEchoTest
virtual int startEchoTest()=0
agora::media::ContentInspectConfig
Definition: AgoraMediaBase.h:241
agora::rtc::IRtcEngine::updateChannelMediaOptions
virtual int updateChannelMediaOptions(const ChannelMediaOptions &options)=0
agora::rtc::ChannelMediaOptions::audioDelayMs
Optional< int > audioDelayMs
Definition: IAgoraRtcEngine.h:704
agora::rtc::IRtcEngine::setExtensionProperty
virtual int setExtensionProperty(const char *provider_name, const char *extension_name, const char *key, const char *json_value, agora::media::MEDIA_SOURCE_TYPE type=agora::media::UNKNOWN_MEDIA_SOURCE)=0
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:1082
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:345
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:1997
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:1220
agora::rtc::PublisherConfiguration::injectStreamWidth
int injectStreamWidth
Definition: IAgoraRtcEngine.h:516
agora::rtc::RemoteVideoStats::rxStreamType
VIDEO_STREAM_TYPE rxStreamType
Definition: IAgoraRtcEngine.h:326
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:2287
agora::rtc::IRtcEngine::disableVideo
virtual int disableVideo()=0
agora::rtc::InjectStreamConfig::videoGop
int videoGop
Definition: IAgoraRtcEngine.h:436
agora::rtc::IRtcEngine::getUserInfoByUid
virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo *userInfo, const char *channelId=NULL, const char *localUserAccount=NULL)=0
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:1941
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:1902
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::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:1019
agora::rtc::IRtcEngineEventHandler::onUserJoined
virtual void onUserJoined(uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1266
agora::rtc::AAudioDeviceManager
Definition: IAgoraRtcEngine.h:6260
agora::rtc::IRtcEngine::setLocalVoiceReverbPreset
virtual int setLocalVoiceReverbPreset(AUDIO_REVERB_PRESET reverbPreset)=0
agora::rtc::IMetadataObserver::Metadata
Definition: IAgoraRtcEngine.h:2282
agora::rtc::IRtcEngine::sendCustomReportMessage
virtual int sendCustomReportMessage(const char *id, const char *category, const char *event, const char *label, int value)=0
agora::rtc::RemoteVideoStats::packetLossRate
int packetLossRate
Definition: IAgoraRtcEngine.h:322
agora::base::IEngineBase
Definition: AgoraBase.h:4881
agora::rtc::LocalVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition: IAgoraRtcEngine.h:251
agora::rtc::IRtcEngineEventHandler::onDownlinkNetworkInfoUpdated
virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo &info)
Definition: IAgoraRtcEngine.h:1115
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition: IAgoraRtcEngine.h:2395
agora::rtc::IRtcEngine::startAudioRecording
virtual int startAudioRecording(const AudioFileRecordingConfig &config)=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:2237
agora::rtc::IRtcEngine::setAudioProfile
virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario)=0
agora::rtc::CameraCapturerConfiguration
Definition: IAgoraRtcEngine.h:564
agora::rtc::IMetadataObserver::VIDEO_METADATA
@ VIDEO_METADATA
Definition: IAgoraRtcEngine.h:2267
agora::rtc::RemoteVideoStats
Definition: IAgoraRtcEngine.h:286
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:519
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:2290
agora::rtc::IRtcEngineParameter::getNumber
virtual int getNumber(const char *key, double &value)=0
agora::rtc::ClientRoleOptions
Definition: AgoraBase.h:2322
agora::rtc::IRtcEngine::setRecordingAudioFrameParameters
virtual int setRecordingAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=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:1827
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:2013
agora::rtc::IRtcEngine::startPreview
virtual int startPreview(VIDEO_SOURCE_TYPE sourceType)=0
agora::rtc::VideoCanvas
Definition: AgoraBase.h:3719
agora::rtc::VideoCompositingLayout::Region::uid
uid_t uid
Definition: IAgoraRtcEngine.h:348
agora::rtc::IRtcEngineEventHandler::onConnectionStateChanged
virtual void onConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:1915
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:351