Agora Java API Reference for Android
IAgoraRtcEngine.h
1 //
2 // Agora Rtc Engine SDK
3 //
4 // Copyright (c) 2018 Agora.io. All rights reserved.
5 //
6 #pragma once
7 
8 #include "AgoraBase.h"
9 #include "IAgoraLog.h"
10 #include "AgoraOptional.h"
11 
12 namespace agora {
13 namespace rtc {
14 
18 enum MAX_DEVICE_ID_LENGTH_TYPE {
22  MAX_DEVICE_ID_LENGTH = 512
23 };
24 
28 enum MEDIA_DEVICE_TYPE {
32  UNKNOWN_AUDIO_DEVICE = -1,
36  AUDIO_PLAYOUT_DEVICE = 0,
40  AUDIO_RECORDING_DEVICE = 1,
44  VIDEO_RENDER_DEVICE = 2,
48  VIDEO_CAPTURE_DEVICE = 3,
52  AUDIO_APPLICATION_PLAYOUT_DEVICE = 4,
53 };
54 
58 enum AUDIO_MIXING_STATE_TYPE {
60  AUDIO_MIXING_STATE_PLAYING = 710,
62  AUDIO_MIXING_STATE_PAUSED = 711,
64  AUDIO_MIXING_STATE_STOPPED = 713,
68  AUDIO_MIXING_STATE_FAILED = 714,
70  AUDIO_MIXING_STATE_COMPLETED = 715,
72  AUDIO_MIXING_STATE_ALL_LOOPS_COMPLETED = 716,
73 };
74 
78 enum AUDIO_MIXING_ERROR_TYPE {
80  AUDIO_MIXING_ERROR_CAN_NOT_OPEN = 701,
82  AUDIO_MIXING_ERROR_TOO_FREQUENT_CALL = 702,
84  AUDIO_MIXING_ERROR_INTERRUPTED_EOF = 703,
86  AUDIO_MIXING_ERROR_OK = 0,
87 };
88 
92 enum INJECT_STREAM_STATUS {
96  INJECT_STREAM_STATUS_START_SUCCESS = 0,
100  INJECT_STREAM_STATUS_START_ALREADY_EXISTS = 1,
104  INJECT_STREAM_STATUS_START_UNAUTHORIZED = 2,
108  INJECT_STREAM_STATUS_START_TIMEDOUT = 3,
112  INJECT_STREAM_STATUS_START_FAILED = 4,
116  INJECT_STREAM_STATUS_STOP_SUCCESS = 5,
120  INJECT_STREAM_STATUS_STOP_NOT_FOUND = 6,
124  INJECT_STREAM_STATUS_STOP_UNAUTHORIZED = 7,
128  INJECT_STREAM_STATUS_STOP_TIMEDOUT = 8,
132  INJECT_STREAM_STATUS_STOP_FAILED = 9,
136  INJECT_STREAM_STATUS_BROKEN = 10,
137 };
138 
139 enum RAW_AUDIO_FRAME_OP_MODE_TYPE {
144  RAW_AUDIO_FRAME_OP_MODE_READ_ONLY = 0,
148  RAW_AUDIO_FRAME_OP_MODE_WRITE_ONLY = 1,
153  RAW_AUDIO_FRAME_OP_MODE_READ_WRITE = 2,
154 };
155 
159 enum AUDIO_EQUALIZATION_BAND_FREQUENCY {
163  AUDIO_EQUALIZATION_BAND_31 = 0,
167  AUDIO_EQUALIZATION_BAND_62 = 1,
171  AUDIO_EQUALIZATION_BAND_125 = 2,
175  AUDIO_EQUALIZATION_BAND_250 = 3,
179  AUDIO_EQUALIZATION_BAND_500 = 4,
183  AUDIO_EQUALIZATION_BAND_1K = 5,
187  AUDIO_EQUALIZATION_BAND_2K = 6,
191  AUDIO_EQUALIZATION_BAND_4K = 7,
195  AUDIO_EQUALIZATION_BAND_8K = 8,
199  AUDIO_EQUALIZATION_BAND_16K = 9,
200 };
201 
205 enum AUDIO_REVERB_TYPE {
209  AUDIO_REVERB_DRY_LEVEL = 0,
213  AUDIO_REVERB_WET_LEVEL = 1,
217  AUDIO_REVERB_ROOM_SIZE = 2,
221  AUDIO_REVERB_WET_DELAY = 3,
225  AUDIO_REVERB_STRENGTH = 4,
226 };
227 
228 enum STREAM_FALLBACK_OPTIONS {
232  STREAM_FALLBACK_OPTION_DISABLED = 0,
237  STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW = 1,
241  STREAM_FALLBACK_OPTION_AUDIO_ONLY = 2,
242 };
243 
244 enum PRIORITY_TYPE {
247  PRIORITY_HIGH = 50,
250  PRIORITY_NORMAL = 100,
251 };
252 
256 {
260  uid_t uid;
299  VIDEO_CODEC_TYPE codecType;
300 };
301 
309  uid_t uid;
317  int delay;
321  int width;
325  int height;
345  VIDEO_STREAM_TYPE rxStreamType;
361 };
362 
364  struct Region {
367  uid_t uid;
370  double x; // [0,1]
373  double y; // [0,1]
377  double width; // [0,1]
379  double height; // [0,1]
383  int zOrder; // optional, [0, 100] //0 (default): bottom most, 100: top most
384 
388  double alpha;
389 
390  media::base::RENDER_MODE_TYPE
391  renderMode; // RENDER_MODE_HIDDEN: Crop, RENDER_MODE_FIT: Zoom to fit
392 
393  Region()
394  : uid(0),
395  x(0),
396  y(0),
397  width(0),
398  height(0),
399  zOrder(0),
400  alpha(1.0),
401  renderMode(media::base::RENDER_MODE_HIDDEN) {}
402  };
403 
416  const char* backgroundColor; // e.g. "#C0C0C0" in RGB
420  const Region* regions;
426  const char* appData;
430 
432  : canvasWidth(0),
433  canvasHeight(0),
434  backgroundColor(NULL),
435  regions(NULL),
436  regionCount(0),
437  appData(NULL),
438  appDataLength(0) {}
439 };
440 
447  int width;
451  int height;
455  int videoGop;
467  AUDIO_SAMPLE_RATE_TYPE audioSampleRate;
475 
476  // width / height default set to 0 means pull the stream with its original
477  // resolution
479  : width(0),
480  height(0),
481  videoGop(30),
482  videoFramerate(15),
483  videoBitrate(400),
484  audioSampleRate(AUDIO_SAMPLE_RATE_48000),
485  audioBitrate(48),
486  audioChannels(1) {}
487 };
488 
491 enum RTMP_STREAM_LIFE_CYCLE_TYPE {
494  RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL = 1,
497  RTMP_STREAM_LIFE_CYCLE_BIND2OWNER = 2,
498 };
499 
506  int width;
510  int height;
518  int bitrate;
532  bool owner;
541  const char* injectStreamUrl;
545  const char* publishUrl;
549  const char* rawStreamUrl;
552  const char* extraInfo;
553 
555  : width(640),
556  height(360),
557  framerate(15),
558  bitrate(500),
559  defaultLayout(1),
560  lifecycle(RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL),
561  owner(true),
564  injectStreamUrl(NULL),
565  publishUrl(NULL),
566  rawStreamUrl(NULL),
567  extraInfo(NULL) {}
568 };
569 
571  bool enableLocalPlayback;
572  AudioTrackConfig() : enableLocalPlayback(true) {}
573 };
574 
575 enum CAMERA_DIRECTION {
577  CAMERA_REAR = 0,
579  CAMERA_FRONT = 1,
580 };
581 
585  CAMERA_DIRECTION cameraDirection;
587  char deviceId[MAX_DEVICE_ID_LENGTH];
588  VideoFormat format;
589 };
590 
592  bool isCaptureWindow; // true - capture window, false - capture display
593  unsigned int displayId; // MacOS only
594  Rectangle screenRect; //Windows only
595  view_t windowId;
597  Rectangle regionRect;
598 
599  ScreenCaptureConfiguration() : isCaptureWindow(false) {}
600 };
601 
714 
716  ~ChannelMediaOptions() {}
717 
718  void SetAll(const ChannelMediaOptions& change) {
719 #define SET_FROM(X) SetFrom(&X, change.X)
720 
721  SET_FROM(publishCameraTrack);
722  SET_FROM(publishSecondaryCameraTrack);
723  SET_FROM(publishAudioTrack);
724  SET_FROM(publishScreenTrack);
725  SET_FROM(publishSecondaryScreenTrack);
726  SET_FROM(publishTrancodedVideoTrack);
727  SET_FROM(publishCustomAudioTrack);
728  SET_FROM(publishCustomVideoTrack);
729  SET_FROM(publishEncodedVideoTrack);
732  SET_FROM(autoSubscribeAudio);
733  SET_FROM(autoSubscribeVideo);
734  SET_FROM(publishMediaPlayerId);
736  SET_FROM(clientRoleType);
737  SET_FROM(defaultVideoStreamType);
738  SET_FROM(channelProfile);
739  SET_FROM(audioDelayMs);
740 #undef SET_FROM
741  }
742 
743  bool operator==(const ChannelMediaOptions& o) const {
744 #define BEGIN_COMPARE() bool b = true
745 #define ADD_COMPARE(X) b = (b && (X == o.X))
746 #define END_COMPARE()
747 
748  BEGIN_COMPARE();
749  ADD_COMPARE(publishCameraTrack);
750  ADD_COMPARE(publishSecondaryCameraTrack);
751  ADD_COMPARE(publishAudioTrack);
752  ADD_COMPARE(publishScreenTrack);
753  ADD_COMPARE(publishSecondaryScreenTrack);
754  ADD_COMPARE(publishTrancodedVideoTrack);
755  ADD_COMPARE(publishCustomAudioTrack);
756  ADD_COMPARE(publishCustomVideoTrack);
757  ADD_COMPARE(publishEncodedVideoTrack);
758  ADD_COMPARE(publishMediaPlayerAudioTrack);
759  ADD_COMPARE(publishMediaPlayerVideoTrack);
760  ADD_COMPARE(autoSubscribeAudio);
761  ADD_COMPARE(autoSubscribeVideo);
762  ADD_COMPARE(publishMediaPlayerId);
763  ADD_COMPARE(enableAudioRecordingOrPlayout);
764  ADD_COMPARE(clientRoleType);
765  ADD_COMPARE(defaultVideoStreamType);
766  ADD_COMPARE(channelProfile);
767  ADD_COMPARE(audioDelayMs);
768  END_COMPARE();
769 
770 #undef BEGIN_COMPARE
771 #undef ADD_COMPARE
772 #undef END_COMPARE
773  return b;
774  }
775 
776  ChannelMediaOptions& operator=(const ChannelMediaOptions& replace) {
777  if (this != &replace) {
778 #define REPLACE_BY(X) ReplaceBy(&X, replace.X)
779 
780  REPLACE_BY(publishCameraTrack);
781  REPLACE_BY(publishSecondaryCameraTrack);
782  REPLACE_BY(publishAudioTrack);
783  REPLACE_BY(publishScreenTrack);
784  REPLACE_BY(publishSecondaryScreenTrack);
785  REPLACE_BY(publishTrancodedVideoTrack);
786  REPLACE_BY(publishCustomAudioTrack);
787  REPLACE_BY(publishCustomVideoTrack);
788  REPLACE_BY(publishEncodedVideoTrack);
789  REPLACE_BY(publishMediaPlayerAudioTrack);
790  REPLACE_BY(publishMediaPlayerVideoTrack);
791  REPLACE_BY(autoSubscribeAudio);
792  REPLACE_BY(autoSubscribeVideo);
793  REPLACE_BY(publishMediaPlayerId);
794  REPLACE_BY(enableAudioRecordingOrPlayout);
795  REPLACE_BY(clientRoleType);
796  REPLACE_BY(defaultVideoStreamType);
797  REPLACE_BY(channelProfile);
798  REPLACE_BY(audioDelayMs);
799 #undef REPLACE_BY
800  }
801  return *this;
802  }
803 
804  template <typename T>
805  static void SetFrom(Optional<T>* s, const Optional<T>& o) {
806  if (o) {
807  *s = o;
808  }
809  }
810 
811  template <typename T>
812  static void ReplaceBy(Optional<T>* s, const Optional<T>& o) {
813  *s = o;
814  }
815 };
816 
839 
841 };
842 
854  public:
855  virtual ~IRtcEngineEventHandler() {}
856 
866  virtual void onJoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
867  (void)channel;
868  (void)uid;
869  (void)elapsed;
870  }
871 
884  virtual void onRejoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
885  (void)channel;
886  (void)uid;
887  (void)elapsed;
888  }
889 
898  virtual void onWarning(int warn, const char* msg) {
899  (void)warn;
900  (void)msg;
901  }
902 
908  virtual void onError(int err, const char* msg) {
909  (void)err;
910  (void)msg;
911  }
912 
927  virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay,
928  unsigned short lost) {
929  (void)uid;
930  (void)quality;
931  (void)delay;
932  (void)lost;
933  }
934 
941  virtual void onLastmileProbeResult(const LastmileProbeResult& result) {
942  (void)result;
943  }
944 
985  virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, unsigned int speakerNumber,
986  int totalVolume) {
987  (void)speakers;
988  (void)speakerNumber;
989  (void)totalVolume;
990  }
991 
1003  virtual void onLeaveChannel(const RtcStats& stats) { (void)stats; }
1004 
1012  virtual void onRtcStats(const RtcStats& stats) { (void)stats; }
1013 
1023  virtual void onAudioDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1024  (void)deviceId;
1025  (void)deviceType;
1026  (void)deviceState;
1027  }
1028 
1036  virtual void onAudioMixingFinished() {}
1037 
1038  virtual void onRemoteAudioMixingBegin() {}
1039 
1040  virtual void onRemoteAudioMixingEnd() {}
1041 
1042 
1043  virtual void onAudioEffectFinished(int soundId) {}
1044 
1054  virtual void onVideoDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1055  (void)deviceId;
1056  (void)deviceType;
1057  (void)deviceState;
1058  }
1059 
1067  virtual void onMediaDeviceChanged(int deviceType) {
1068  (void)deviceType;
1069  }
1070 
1080  virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) {
1081  (void)uid;
1082  (void)txQuality;
1083  (void)rxQuality;
1084  }
1085 
1092  virtual void onIntraRequestReceived() {}
1093 
1102  virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo& info) {
1103  (void)info;
1104  }
1105 
1114  (void)info;
1115  }
1116 
1129  virtual void onLastmileQuality(int quality) { (void)quality; }
1130 
1141  virtual void onFirstLocalVideoFrame(int width, int height, int elapsed) {
1142  (void)width;
1143  (void)height;
1144  (void)elapsed;
1145  }
1146 
1152  virtual void onFirstLocalVideoFramePublished(int elapsed) {
1153  (void)elapsed;
1154  }
1155 
1156  virtual void onVideoSourceFrameSizeChanged(VIDEO_SOURCE_TYPE sourceType, int width, int height) {
1157  (void)sourceType;
1158  (void)width;
1159  (void)height;
1160  }
1161 
1177  virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) {
1178  (void)uid;
1179  (void)width;
1180  (void)height;
1181  (void)elapsed;
1182  }
1183 
1184  virtual void onVideoSizeChanged(uid_t uid, int width, int height, int rotation) {
1185  (void)uid;
1186  (void)width;
1187  (void)height;
1188  (void)rotation;
1189  }
1190 
1202  virtual void onLocalVideoStateChanged(LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_ERROR error) {
1203  (void)state;
1204  (void)error;
1205  }
1206 
1218  virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) {
1219  (void)uid;
1220  (void)state;
1221  (void)reason;
1222  (void)elapsed;
1223  }
1224 
1239  virtual void onFirstRemoteVideoFrame(uid_t userId, int width, int height, int elapsed) {
1240  (void)userId;
1241  (void)width;
1242  (void)height;
1243  (void)elapsed;
1244  }
1245 
1264  virtual void onUserJoined(uid_t uid, int elapsed) {
1265  (void)uid;
1266  (void)elapsed;
1267  }
1268 
1283  virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) {
1284  (void)uid;
1285  (void)reason;
1286  }
1287 
1302  virtual void onUserMuteVideo(uid_t userId, bool muted) {
1303  (void)userId;
1304  (void)muted;
1305  }
1306 
1324  virtual void onUserEnableVideo(uid_t uid, bool enabled) {
1325  (void)uid;
1326  (void)enabled;
1327  }
1328 
1340  virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) {
1341  (void)uid;
1342  (void)enabled;
1343  }
1344 
1352  virtual void onApiCallExecuted(int err, const char* api, const char* result) {
1353  (void)err;
1354  (void)api;
1355  (void)result;
1356  }
1357 
1365  virtual void onLocalAudioStats(const LocalAudioStats& stats) {
1366  (void)stats;
1367  }
1368 
1379  virtual void onRemoteAudioStats(const RemoteAudioStats& stats) {
1380  (void)stats;
1381  }
1382 
1396  virtual void onLocalVideoStats(const LocalVideoStats& stats) {
1397  (void)stats;
1398  }
1399 
1409  virtual void onRemoteVideoStats(const RemoteVideoStats& stats) {
1410  (void)stats;
1411  }
1412 
1418  virtual void onRemoteVideoStreamInfoUpdated(const RemoteVideoStreamInfo& info) { (void)info; }
1419 
1420  virtual void onCameraReady() {}
1421 
1422  virtual void onCameraFocusAreaChanged(int x, int y, int width, int height) {
1423  (void)x;
1424  (void)y;
1425  (void)width;
1426  (void)height;
1427  }
1428 
1429  virtual void onCameraExposureAreaChanged(int x, int y, int width, int height) {
1430  (void)x;
1431  (void)y;
1432  (void)width;
1433  (void)height;
1434  }
1435 
1436  virtual void onVideoStopped() {}
1437 
1454  virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_ERROR_TYPE errorCode) {
1455  (void)state;
1456  (void)errorCode;
1457  }
1458 
1466  virtual void onConnectionLost() {}
1467 
1479  virtual void onConnectionInterrupted() {}
1480 
1483  virtual void onConnectionBanned() {}
1484 
1485  virtual void onRefreshRecordingServiceStatus(int status) {
1486  (void)status;
1487  }
1488 
1500  virtual void onStreamMessage(uid_t userId, int streamId, const char* data, size_t length) {
1501  (void)userId;
1502  (void)streamId;
1503  (void)data;
1504  (void)length;
1505  }
1506 
1520  virtual void onStreamMessageError(uid_t userId, int streamId, int code, int missed, int cached) {
1521  (void)userId;
1522  (void)streamId;
1523  (void)code;
1524  (void)missed;
1525  (void)cached;
1526  }
1527 
1528  virtual void onMediaEngineLoadSuccess() {}
1529  virtual void onMediaEngineStartCallSuccess() {}
1530 
1542  virtual void onRequestToken() {}
1543 
1558  virtual void onTokenPrivilegeWillExpire(const char* token) {
1559  (void)token;
1560  }
1561 
1567  virtual void onFirstLocalAudioFramePublished(int elapsed) {
1568  (void)elapsed;
1569  }
1570 
1585  virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error) {
1586  (void)state;
1587  (void)error;
1588  }
1589 
1602  virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) {
1603  (void)uid;
1604  (void)state;
1605  (void)reason;
1606  (void)elapsed;
1607  }
1608 
1627  virtual void onActiveSpeaker(uid_t userId) { (void)userId; }
1628 
1629 
1637  virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole) {
1638  (void)oldRole;
1639  (void)newRole;
1640  }
1641 
1649  virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) {
1650  (void)deviceType;
1651  (void)volume;
1652  (void)muted;
1653  }
1654 
1668  virtual void onRtmpStreamingStateChanged(const char* url, RTMP_STREAM_PUBLISH_STATE state,
1669  RTMP_STREAM_PUBLISH_ERROR errCode) {
1670  (void)url;
1671  (void)state;
1672  (void)errCode;
1673  }
1674 
1710  virtual void onStreamPublished(const char* url, int error) {
1711  (void)url;
1712  (void)error;
1713  }
1714 
1725  virtual void onStreamUnpublished(const char* url) {
1726  (void)url;
1727  }
1728 
1740  virtual void onTranscodingUpdated() {}
1741 
1748  virtual void onStreamInjectedStatus(const char* url, uid_t uid, int status) {
1749  (void)url;
1750  (void)uid;
1751  (void)status;
1752  }
1753 
1767  virtual void onAudioRoutingChanged(int routing) { (void)routing; }
1768 
1769 
1801  virtual void onChannelMediaRelayStateChanged(int state, int code) {
1802  (void)state;
1803  (void)code;
1804  }
1805 
1829  virtual void onChannelMediaRelayEvent(int code) {
1830  (void)code;
1831  }
1832 
1833  virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) {
1834  (void)isFallbackOrRecover;
1835  }
1836 
1837  virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover) {
1838  (void)uid;
1839  (void)isFallbackOrRecover;
1840  }
1841 
1855  virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost,
1856  unsigned short rxKBitRate) {
1857  (void)uid;
1858  (void)delay;
1859  (void)lost;
1860  (void)rxKBitRate;
1861  }
1862 
1876  virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost,
1877  unsigned short rxKBitRate) {
1878  (void)uid;
1879  (void)delay;
1880  (void)lost;
1881  (void)rxKBitRate;
1882  }
1883 
1890  CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) {
1891  (void)state;
1892  (void)reason;
1893  }
1894 
1899  virtual void onNetworkTypeChanged(NETWORK_TYPE type) {
1900  (void)type;
1901  }
1902 
1907  virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) {
1908  (void)errorType;
1909  }
1910 
1915  virtual void onPermissionError(PERMISSION_TYPE permissionType) {
1916  (void)permissionType;
1917  }
1918 
1927  virtual void onLocalUserRegistered(uid_t uid, const char* userAccount) {
1928  (void)uid;
1929  (void)userAccount;
1930  }
1931 
1940  virtual void onUserInfoUpdated(uid_t uid, const UserInfo& info) {
1941  (void)uid;
1942  (void)info;
1943  }
1944 
1954  virtual void onAudioSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
1955  (void)channel;
1956  (void)uid;
1957  (void)oldState;
1958  (void)newState;
1959  (void)elapseSinceLastState;
1960  }
1961 
1971  virtual void onVideoSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
1972  (void)channel;
1973  (void)uid;
1974  (void)oldState;
1975  (void)newState;
1976  (void)elapseSinceLastState;
1977  }
1978 
1987  virtual void onAudioPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
1988  (void)channel;
1989  (void)oldState;
1990  (void)newState;
1991  (void)elapseSinceLastState;
1992  }
1993 
2002  virtual void onVideoPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
2003  (void)channel;
2004  (void)oldState;
2005  (void)newState;
2006  (void)elapseSinceLastState;
2007  }
2008 };
2009 
2014  public:
2015  virtual ~IVideoDeviceCollection() {}
2016 
2022  virtual int getCount() = 0;
2023 
2032  virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2033 
2045  virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH],
2046  char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2047 
2051  virtual void release() = 0;
2052 };
2053 
2058  public:
2059  virtual ~IVideoDeviceManager() {}
2075 
2085  virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2086 
2095  virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2096 
2110  virtual int startDeviceTest(view_t hwnd) = 0;
2111 
2118  virtual int stopDeviceTest() = 0;
2119 
2123  virtual void release() = 0;
2124 };
2125 
2130  public:
2131  virtual ~IAudioDeviceCollection() {}
2132 
2143  virtual int getCount() = 0;
2144 
2154  virtual int getDevice(int index, char deviceName[MAX_DEVICE_ID_LENGTH],
2155  char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;
2156 
2164  virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;
2165 
2175  virtual int setApplicationVolume(int volume) = 0;
2176 
2186  virtual int getApplicationVolume(int& volume) = 0;
2187 
2198  virtual int setApplicationMute(bool mute) = 0;
2199 
2211  virtual int isApplicationMute(bool& mute) = 0;
2212 
2216  virtual void release() = 0;
2217 };
2218 
2223  public:
2224  virtual ~IAudioDeviceManager() {}
2225 
2241 
2257 
2268  virtual int setPlaybackDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;
2269 
2277  virtual int getPlaybackDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;
2278 
2287  virtual int getPlaybackDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH],
2288  char deviceName[MAX_DEVICE_ID_LENGTH]) = 0;
2289 
2297  virtual int setPlaybackDeviceVolume(int volume) = 0;
2298 
2306  virtual int getPlaybackDeviceVolume(int* volume) = 0;
2307 
2318  virtual int setRecordingDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;
2319 
2328  virtual int getRecordingDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;
2329 
2339  virtual int getRecordingDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH],
2340  char deviceName[MAX_DEVICE_ID_LENGTH]) = 0;
2341 
2349  virtual int setRecordingDeviceVolume(int volume) = 0;
2350 
2358  virtual int getRecordingDeviceVolume(int* volume) = 0;
2359 
2371  virtual int setPlaybackDeviceMute(bool mute) = 0;
2372 
2384  virtual int getPlaybackDeviceMute(bool* mute) = 0;
2385 
2397  virtual int setRecordingDeviceMute(bool mute) = 0;
2398 
2410  virtual int getRecordingDeviceMute(bool* mute) = 0;
2411 
2428  virtual int startPlaybackDeviceTest(const char* testAudioFilePath) = 0;
2429 
2437  virtual int stopPlaybackDeviceTest() = 0;
2438 
2453  virtual int startRecordingDeviceTest(int indicationInterval) = 0;
2454 
2462  virtual int stopRecordingDeviceTest() = 0;
2463 
2478  virtual int startAudioDeviceLoopbackTest(int indicationInterval) = 0;
2479 
2489  virtual int stopAudioDeviceLoopbackTest() = 0;
2490 
2494  virtual void release() = 0;
2495 };
2496 
2501 
2507  IRtcEngineEventHandlerEx* eventHandlerEx;
2508 
2513  const char* appId;
2514 
2520  void* context;
2521 
2529 
2533  CHANNEL_PROFILE_TYPE channelProfile;
2534 
2543  AUDIO_SCENARIO_TYPE audioScenario;
2544 
2554  unsigned int areaCode;
2555 
2560 
2562  : eventHandler(NULL), eventHandlerEx(NULL), appId(NULL), context(NULL),
2563  enableAudioDevice(true), channelProfile(CHANNEL_PROFILE_LIVE_BROADCASTING),
2564  audioScenario(AUDIO_SCENARIO_HIGH_DEFINITION),
2565  areaCode(AREA_CODE_GLOB),
2566  logConfig() {}
2567 };
2568 
2572 public:
2578  {
2585  };
2590  {
2591  INVALID_METADATA_SIZE_IN_BYTE = -1,
2592  DEFAULT_METADATA_SIZE_IN_BYTE = 512,
2593  MAX_METADATA_SIZE_IN_BYTE = 1024
2594  };
2595 
2598  struct Metadata
2599  {
2604  unsigned int uid;
2607  unsigned int size;
2610  unsigned char *buffer;
2615  long long timeStampMs;
2616  };
2617 
2618  virtual ~IMetadataObserver() {}
2619 
2629  virtual int getMaxMetadataSize() { return DEFAULT_METADATA_SIZE_IN_BYTE; }
2630 
2640  virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type) = 0;
2641 
2649  virtual void onMetadataReceived(const Metadata &metadata) = 0;
2650 };
2651 
2652 class IMediaPlayer;
2653 
2664  public:
2688  virtual void release(bool sync = false) = 0;
2689 
2703  virtual int initialize(const RtcEngineContext& context) = 0;
2704 
2705 
2706  virtual int queryInterface(INTERFACE_ID_TYPE iid, void** inter) = 0;
2707 
2708 
2714  virtual const char* getVersion(int* build) = 0;
2715 
2721  virtual const char* getErrorDescription(int code) = 0;
2722 
2763  virtual int joinChannel(const char* token, const char* channelId, const char* info,
2764  uid_t uid) = 0;
2765 
2804  virtual int joinChannel(const char* token, const char* channelId, uid_t uid,
2805  const ChannelMediaOptions& options) = 0;
2806 
2836  virtual int joinChannelEx(const char* token, const char* channelId, uid_t uid,
2837  const ChannelMediaOptions& options,
2838  IRtcEngineEventHandler* eventHandler,
2839  conn_id_t* connectionId) = 0;
2840 
2851  conn_id_t connectionId = agora::rtc::DEFAULT_CONNECTION_ID) = 0;
2852 
2862  virtual int leaveChannelEx(const char* channelId, conn_id_t connectionId) = 0;
2863 
2881  virtual int leaveChannel() = 0;
2882 
2902  virtual int leaveChannel(const LeaveChannelOptions& options) = 0;
2903 
2920  virtual int renewToken(const char* token) = 0;
2921 
2940  virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile) = 0;
2941 
2959  virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0;
2960 
2980  virtual int startEchoTest() = 0;
2981 
2998  virtual int startEchoTest(int intervalInSeconds) = 0;
2999 
3006  virtual int stopEchoTest() = 0;
3007 
3023  virtual int enableVideo() = 0;
3024 
3035  virtual int disableVideo() = 0;
3036 
3048  virtual int startPreview() = 0;
3049 
3057  virtual int stopPreview() = 0;
3058 
3092  virtual int startLastmileProbeTest(const LastmileProbeConfig& config) = 0;
3093 
3095  virtual int stopLastmileProbeTest() = 0;
3096 
3115  conn_id_t connectionId = DEFAULT_CONNECTION_ID) = 0;
3116 
3138  virtual int setupRemoteVideo(const VideoCanvas& canvas,
3139  conn_id_t connectionId = DEFAULT_CONNECTION_ID) = 0;
3140 
3157  virtual int setupLocalVideo(const VideoCanvas& canvas) = 0;
3158 
3172  virtual int enableAudio() = 0;
3173 
3185  virtual int disableAudio() = 0;
3186 
3208  virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) = 0;
3209 
3225  virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile) = 0;
3248  virtual int enableLocalAudio(bool enabled) = 0;
3249 
3275  virtual int muteLocalAudioStream(bool mute) = 0;
3276 
3319  virtual int muteAllRemoteAudioStreams(bool mute) = 0;
3320 
3342  virtual int setDefaultMuteAllRemoteAudioStreams(bool mute) = 0;
3343 
3361  virtual int muteRemoteAudioStream(uid_t uid, bool mute,
3362  conn_id_t connectionId = DEFAULT_CONNECTION_ID) = 0;
3363 
3375  virtual int muteLocalVideoStream(bool mute) = 0;
3376 
3401  virtual int enableLocalVideo(bool enabled) = 0;
3402 
3443  virtual int muteAllRemoteVideoStreams(bool mute) = 0;
3444 
3466  virtual int setDefaultMuteAllRemoteVideoStreams(bool mute) = 0;
3467 
3485  virtual int muteRemoteVideoStream(uid_t uid, bool mute,
3486  conn_id_t connectionId = DEFAULT_CONNECTION_ID) = 0;
3487 
3505  virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0;
3506 
3516  virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType) = 0;
3517 
3538  virtual int enableAudioVolumeIndication(int interval, int smooth) = 0;
3539 
3560  virtual int startAudioRecording(const char* filePath,
3561  AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
3583  virtual int startAudioRecording(const char* filePath,
3584  int sampleRate,
3585  AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
3586 
3605  virtual int startAudioRecording(const AudioFileRecordingConfig& config) = 0;
3606 
3615  virtual int stopAudioRecording() = 0;
3617 
3627  virtual agora_refptr<IMediaPlayer> createMediaPlayer() = 0;
3628 
3640  virtual int destroyMediaPlayer(agora_refptr<IMediaPlayer> media_player) = 0;
3642 
3691  virtual int startAudioMixing(const char* filePath, bool loopback, bool replace, int cycle) = 0;
3692 
3701  virtual int stopAudioMixing() = 0;
3702 
3711  virtual int pauseAudioMixing() = 0;
3712 
3721  virtual int resumeAudioMixing() = 0;
3722 
3737  virtual int adjustAudioMixingVolume(int volume) = 0;
3738 
3746  virtual int adjustAudioMixingPublishVolume(int volume) = 0;
3747 
3755  virtual int getAudioMixingPublishVolume() = 0;
3756 
3764  virtual int adjustAudioMixingPlayoutVolume(int volume) = 0;
3765 
3773  virtual int getAudioMixingPlayoutVolume() = 0;
3774 
3783  virtual int getAudioMixingDuration() = 0;
3784 
3804  virtual int setAudioMixingPosition(int pos /*in ms*/) = 0;
3805 
3813  virtual int getEffectsVolume() = 0;
3823  virtual int setEffectsVolume(int volume) = 0;
3847  virtual int preloadEffect(int soundId, const char* filePath) = 0;
3889  virtual int playEffect(int soundId, const char* filePath, int loopCount, double pitch, double pan, int gain, bool publish = false) = 0;
3920  virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false) = 0;
3921 
3931  virtual int getVolumeOfEffect(int soundId) = 0;
3932 
3943  virtual int setVolumeOfEffect(int soundId, int volume) = 0;
3952  virtual int pauseEffect(int soundId) = 0;
3959  virtual int pauseAllEffects() = 0;
3968  virtual int resumeEffect(int soundId) = 0;
3975  virtual int resumeAllEffects() = 0;
3984  virtual int stopEffect(int soundId) = 0;
3991  virtual int stopAllEffects() = 0;
4000  virtual int unloadEffect(int soundId) = 0;
4007  virtual int unloadAllEffects() = 0;
4008 
4019  virtual int setLocalVoicePitch(double pitch) = 0;
4020 
4032  virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency,
4033  int bandGain) = 0;
4034 
4043  virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value) = 0;
4044 
4061  virtual int setLocalVoiceReverbPreset(AUDIO_REVERB_PRESET reverbPreset) = 0;
4062 
4076  virtual int setLocalVoiceChanger(VOICE_CHANGER_PRESET voiceChanger) = 0;
4077 
4093  virtual int setLogFile(const char* filePath) = 0;
4094 
4117  virtual int setLogFilter(unsigned int filter) = 0;
4118 
4135  virtual int setLogLevel(commons::LOG_LEVEL level) = 0;
4136 
4151  virtual int setLogFileSize(unsigned int fileSizeInKBytes) = 0;
4152 
4171  virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
4193  virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode,
4194  VIDEO_MIRROR_MODE_TYPE mirrorMode,
4195  conn_id_t connectionId = DEFAULT_CONNECTION_ID) = 0;
4196 
4197  // The following APIs are either deprecated and going to deleted.
4198 
4216  virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) = 0;
4217 
4238  virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode,
4239  conn_id_t connectionId = DEFAULT_CONNECTION_ID) = 0;
4240 
4252  virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
4253 
4268  virtual int enableDualStreamMode(bool enabled) = 0;
4269 
4286  virtual int enableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled) = 0;
4287 
4306  virtual int enableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled, const SimulcastStreamConfig& streamConfig) = 0;
4307 
4327  virtual int setExternalAudioSource(bool enabled, int sampleRate, int channels,
4328  int sourceNumber = 1, bool localPlayback = false, bool publish = true) = 0;
4329 
4354  virtual int setExternalAudioSink(int sampleRate, int channels) = 0;
4355 
4393 
4401  virtual int startPrimaryCustomAudioTrack(const AudioTrackConfig& config) = 0;
4402 
4410  virtual int stopPrimaryCustomAudioTrack() = 0;
4411 
4419  virtual int startSecondaryCustomAudioTrack(const AudioTrackConfig& config) = 0;
4420 
4429 
4448  virtual int setRecordingAudioFrameParameters(int sampleRate, int channel,
4449  RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
4450  int samplesPerCall) = 0;
4451 
4471  virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel,
4472  RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
4473  int samplesPerCall) = 0;
4474 
4490  virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall) = 0;
4491 
4507  virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel) = 0;
4508 
4522  virtual int adjustRecordingSignalVolume(int volume) = 0;
4523 
4535  virtual int muteRecordingSignal(bool mute) = 0;
4536 
4550  virtual int adjustPlaybackSignalVolume(int volume) = 0;
4551 
4552  /*
4553  * Adjust the playback volume of the user specified by uid.
4554  *
4555  * You can call this method to adjust the playback volume of the user specified by uid
4556  * in call. If you want to adjust playback volume of the multi user, you can call this
4557  * this method multi times.
4558  *
4559  * @note
4560  * Please call this method after join channel.
4561  * This method adjust the playback volume of specified user.
4562  *
4563  * @param uid Remote user ID。
4564  * @param volume The playback volume, range is [0,100]:
4565  * 0: mute, 100: The original volume
4566  * @return
4567  * - 0: Success.
4568  * - < 0: Failure.
4569  */
4570  virtual int adjustUserPlaybackSignalVolume(unsigned int uid, int volume) = 0;
4571 
4587  virtual int enableLoopbackRecording(bool enabled) = 0;
4604  virtual int enableLoopbackRecording(conn_id_t connectionId, bool enabled) = 0;
4605 
4618  virtual int adjustLoopbackRecordingVolume(int volume) = 0;
4619 
4626  virtual int getLoopbackRecordingVolume() = 0;
4627 
4639  virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters) = 0;
4640 
4651  virtual int setInEarMonitoringVolume(int volume) = 0;
4652 
4665  virtual int enableExtension(const char* id, bool enable=true) = 0;
4666 
4678  virtual int setExtensionProperty(const char* id, const char* key, const char* json_value) = 0;
4679 
4680 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
4681 
4690  virtual int switchCamera() = 0;
4691 
4703  virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration& config) = 0;
4704 
4738  virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0;
4739 
4766  virtual int setEnableSpeakerphone(bool speakerOn) = 0;
4767 
4775  virtual bool isSpeakerphoneEnabled() = 0;
4776 
4777 #endif // __ANDROID__ || (__APPLE__ && TARGET_OS_IOS)
4778 
4779 #if (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
4780 
4803  virtual int startScreenCaptureByDisplayId(unsigned int displayId, const Rectangle& regionRect,
4804  const ScreenCaptureParameters& captureParams) = 0;
4805 
4806 #endif // __APPLE__ && TARGET_OS_MAC && !TARGET_OS_IPHONE
4807 
4808 #if defined(_WIN32)
4809 
4829  virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect,
4830  const Rectangle& regionRect,
4831  const ScreenCaptureParameters& captureParams) = 0;
4832 
4833 #endif // _WIN32
4834 
4835 #if defined(__ANDROID__)
4836 
4855  virtual int startScreenCapture(void* mediaProjectionPermissionResultData,
4856  const ScreenCaptureParameters& captureParams) = 0;
4857 
4858 #endif // __ANDROID__
4859 
4860 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
4861 
4877  virtual int startScreenCaptureByWindowId(view_t windowId, const Rectangle& regionRect,
4878  const ScreenCaptureParameters& captureParams) = 0;
4879 
4892  virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint) = 0;
4893 
4907  virtual int updateScreenCaptureRegion(const Rectangle& regionRect) = 0;
4908 
4909 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
4910 
4911 #if defined(_WIN32) || defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
4912 
4922  virtual int updateScreenCaptureParameters(const ScreenCaptureParameters& captureParams) = 0;
4923 
4931  virtual int stopScreenCapture() = 0;
4932 
4933 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC) || __ANDROID__
4934 
4951  virtual int getCallId(agora::util::AString& callId) = 0;
4952 
4967  virtual int rate(const char* callId, int rating,
4968  const char* description) = 0; // 0~10
4969 
4983  virtual int complain(const char* callId, const char* description) = 0;
4984 
5015  virtual int addPublishStreamUrl(const char* url, bool transcodingEnabled) = 0;
5016 
5037  virtual int removePublishStreamUrl(const char* url) = 0;
5038 
5058  virtual int setLiveTranscoding(const LiveTranscoding& transcoding) = 0;
5059 
5060  virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration& config) = 0;
5061  virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration& config) = 0;
5062  virtual int stopLocalVideoTranscoder() = 0;
5063 
5064  virtual int startPrimaryCameraCapture(const CameraCapturerConfiguration& config) = 0;
5065  virtual int startSecondaryCameraCapture(const CameraCapturerConfiguration& config) = 0;
5066  virtual int stopPrimaryCameraCapture() = 0;
5067  virtual int stopSecondaryCameraCapture() = 0;
5068 
5069  virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
5070 
5071  virtual int startPrimaryScreenCapture(const ScreenCaptureConfiguration& config) = 0;
5072  virtual int startSecondaryScreenCapture(const ScreenCaptureConfiguration& config) = 0;
5073  virtual int stopPrimaryScreenCapture() = 0;
5074  virtual int stopSecondaryScreenCapture() = 0;
5075 
5080  virtual CONNECTION_STATE_TYPE getConnectionState(conn_id_t connectionId = 0) = 0;
5081 
5082  // The following APIs are not implemented yet.
5083  virtual bool registerEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
5084  virtual bool unregisterEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
5085  virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0;
5086 
5098  virtual int registerPacketObserver(IPacketObserver* observer) = 0;
5099 
5125  virtual int setEncryptionMode(const char* encryptionMode) = 0;
5126 
5141  virtual int setEncryptionSecret(const char* secret) = 0;
5142 
5165  virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0;
5166 
5198  virtual int createDataStream(int* streamId, bool reliable, bool ordered, conn_id_t connectionId = agora::rtc::DEFAULT_CONNECTION_ID) = 0;
5210  virtual int createDataStream(int* streamId, DataStreamConfig& config, conn_id_t connectionId = agora::rtc::DEFAULT_CONNECTION_ID) = 0;
5241  virtual int sendStreamMessage(int streamId, const char* data, size_t length, conn_id_t connectionId = agora::rtc::DEFAULT_CONNECTION_ID) = 0;
5242 
5264  virtual int addVideoWatermark(const RtcImage& watermark) = 0;
5265 
5292  virtual int addVideoWatermark(const char* watermarkUrl, const WatermarkOptions& options, conn_id_t connectionId = agora::rtc::DEFAULT_CONNECTION_ID) = 0;
5293 
5303  virtual int clearVideoWatermark(conn_id_t connectionId = agora::rtc::DEFAULT_CONNECTION_ID) = 0;
5304 
5312  virtual int clearVideoWatermarks() = 0;
5313 
5340  virtual int addInjectStreamUrl(const char* url, const InjectStreamConfig& config) = 0;
5341 
5353  virtual int removeInjectStreamUrl(const char* url) = 0;
5354 
5355  // The following APIs are either deprecated and going to deleted.
5356 
5365  virtual int pauseAudio() = 0;
5374  virtual int resumeAudio() = 0;
5375 
5393  virtual int enableWebSdkInteroperability(bool enabled) = 0;
5394 
5405  const char* id, const char* category, const char* event, const char* label, int value,
5406  conn_id_t connectionId = agora::rtc::DEFAULT_CONNECTION_ID) = 0;
5407 
5430 
5440 
5450  virtual int startAudioFrameDump(const char* channel_id, uid_t user_id, const char* location,
5451  const char* uuid, const char* passwd, long duration_ms, bool auto_upload) = 0;
5452 
5453  virtual int stopAudioFrameDump(const char* channel_id, uid_t user_id, const char* location) = 0;
5454 
5486  virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0;
5487 
5518  virtual int joinChannelWithUserAccount(const char* token, const char* channelId,
5519  const char* userAccount) = 0;
5520 
5552  virtual int joinChannelWithUserAccount(const char* token, const char* channelId,
5553  const char* userAccount, const ChannelMediaOptions& options) = 0;
5554 
5589  virtual int joinChannelWithUserAccountEx(const char* token, const char* channelId,
5590  const char* userAccount, const ChannelMediaOptions& options,
5591  IRtcEngineEventHandler* eventHandler,
5592  conn_id_t* connectionId = 0) = 0;
5593 
5612  virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo, conn_id_t connectionId = agora::rtc::DEFAULT_CONNECTION_ID) = 0;
5613 
5632  virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo, conn_id_t connectionId = agora::rtc::DEFAULT_CONNECTION_ID) = 0;
5673  virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0;
5674 
5698  virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0;
5699 
5724  virtual int stopChannelMediaRelay() = 0;
5725 };
5726 
5728  public:
5729  virtual ~IRtcEngineParameter() {}
5730 
5734  virtual void release() = 0;
5735 
5744  virtual int setBool(const char* key, bool value) = 0;
5745 
5754  virtual int setInt(const char* key, int value) = 0;
5755 
5764  virtual int setUInt(const char* key, unsigned int value) = 0;
5765 
5774  virtual int setNumber(const char* key, double value) = 0;
5775 
5784  virtual int setString(const char* key, const char* value) = 0;
5785 
5794  virtual int setObject(const char* key, const char* value) = 0;
5795 
5804  virtual int getBool(const char* key, bool& value) = 0;
5805 
5814  virtual int getInt(const char* key, int& value) = 0;
5815 
5824  virtual int getUInt(const char* key, unsigned int& value) = 0;
5825 
5834  virtual int getNumber(const char* key, double& value) = 0;
5835 
5844  virtual int getString(const char* key, agora::util::AString& value) = 0;
5845 
5854  virtual int getObject(const char* key, agora::util::AString& value) = 0;
5855 
5864  virtual int getArray(const char* key, agora::util::AString& value) = 0;
5865 
5873  virtual int setParameters(const char* parameters) = 0;
5874 
5885  virtual int setProfile(const char* profile, bool merge) = 0;
5886 
5887  virtual int convertPath(const char* filePath, agora::util::AString& value) = 0;
5888 };
5889 
5890 class AAudioDeviceManager : public agora::util::AutoPtr<IAudioDeviceManager> {
5891  public:
5892  AAudioDeviceManager(IRtcEngine* engine) {
5893  queryInterface(engine, AGORA_IID_AUDIO_DEVICE_MANAGER);
5894  }
5895 };
5896 
5897 class AVideoDeviceManager : public agora::util::AutoPtr<IVideoDeviceManager> {
5898  public:
5899  AVideoDeviceManager(IRtcEngine* engine) {
5900  queryInterface(engine, AGORA_IID_VIDEO_DEVICE_MANAGER);
5901  }
5902 };
5903 
5904 // The following types are either deprecated or not implmented yet.
5905 enum QUALITY_REPORT_FORMAT_TYPE {
5908  QUALITY_REPORT_JSON = 0,
5911  QUALITY_REPORT_HTML = 1,
5912 };
5913 
5915 enum MEDIA_DEVICE_STATE_TYPE {
5918  MEDIA_DEVICE_STATE_ACTIVE = 1,
5921  MEDIA_DEVICE_STATE_DISABLED = 2,
5924  MEDIA_DEVICE_STATE_NOT_PRESENT = 4,
5927  MEDIA_DEVICE_STATE_UNPLUGGED = 8
5928 };
5929 
5930 enum VIDEO_PROFILE_TYPE { // res fps
5932  VIDEO_PROFILE_LANDSCAPE_120P = 0, // 160x120 15
5934  VIDEO_PROFILE_LANDSCAPE_120P_3 = 2, // 120x120 15
5936  VIDEO_PROFILE_LANDSCAPE_180P = 10, // 320x180 15
5938  VIDEO_PROFILE_LANDSCAPE_180P_3 = 12, // 180x180 15
5940  VIDEO_PROFILE_LANDSCAPE_180P_4 = 13, // 240x180 15
5942  VIDEO_PROFILE_LANDSCAPE_240P = 20, // 320x240 15
5944  VIDEO_PROFILE_LANDSCAPE_240P_3 = 22, // 240x240 15
5946  VIDEO_PROFILE_LANDSCAPE_240P_4 = 23, // 424x240 15
5948  VIDEO_PROFILE_LANDSCAPE_360P = 30, // 640x360 15
5950  VIDEO_PROFILE_LANDSCAPE_360P_3 = 32, // 360x360 15
5952  VIDEO_PROFILE_LANDSCAPE_360P_4 = 33, // 640x360 30
5954  VIDEO_PROFILE_LANDSCAPE_360P_6 = 35, // 360x360 30
5956  VIDEO_PROFILE_LANDSCAPE_360P_7 = 36, // 480x360 15
5958  VIDEO_PROFILE_LANDSCAPE_360P_8 = 37, // 480x360 30
5960  VIDEO_PROFILE_LANDSCAPE_360P_9 = 38, // 640x360 15
5962  VIDEO_PROFILE_LANDSCAPE_360P_10 = 39, // 640x360 24
5964  VIDEO_PROFILE_LANDSCAPE_360P_11 = 100, // 640x360 24
5966  VIDEO_PROFILE_LANDSCAPE_480P = 40, // 640x480 15
5968  VIDEO_PROFILE_LANDSCAPE_480P_3 = 42, // 480x480 15
5970  VIDEO_PROFILE_LANDSCAPE_480P_4 = 43, // 640x480 30
5972  VIDEO_PROFILE_LANDSCAPE_480P_6 = 45, // 480x480 30
5974  VIDEO_PROFILE_LANDSCAPE_480P_8 = 47, // 848x480 15
5976  VIDEO_PROFILE_LANDSCAPE_480P_9 = 48, // 848x480 30
5978  VIDEO_PROFILE_LANDSCAPE_480P_10 = 49, // 640x480 10
5980  VIDEO_PROFILE_LANDSCAPE_720P = 50, // 1280x720 15
5982  VIDEO_PROFILE_LANDSCAPE_720P_3 = 52, // 1280x720 30
5984  VIDEO_PROFILE_LANDSCAPE_720P_5 = 54, // 960x720 15
5986  VIDEO_PROFILE_LANDSCAPE_720P_6 = 55, // 960x720 30
5988  VIDEO_PROFILE_LANDSCAPE_1080P = 60, // 1920x1080 15
5990  VIDEO_PROFILE_LANDSCAPE_1080P_3 = 62, // 1920x1080 30
5992  VIDEO_PROFILE_LANDSCAPE_1080P_5 = 64, // 1920x1080 60
5994  VIDEO_PROFILE_LANDSCAPE_1440P = 66, // 2560x1440 30
5996  VIDEO_PROFILE_LANDSCAPE_1440P_2 = 67, // 2560x1440 60
5998  VIDEO_PROFILE_LANDSCAPE_4K = 70, // 3840x2160 30
6000  VIDEO_PROFILE_LANDSCAPE_4K_3 = 72, // 3840x2160 60
6002  VIDEO_PROFILE_PORTRAIT_120P = 1000, // 120x160 15
6004  VIDEO_PROFILE_PORTRAIT_120P_3 = 1002, // 120x120 15
6006  VIDEO_PROFILE_PORTRAIT_180P = 1010, // 180x320 15
6008  VIDEO_PROFILE_PORTRAIT_180P_3 = 1012, // 180x180 15
6010  VIDEO_PROFILE_PORTRAIT_180P_4 = 1013, // 180x240 15
6012  VIDEO_PROFILE_PORTRAIT_240P = 1020, // 240x320 15
6014  VIDEO_PROFILE_PORTRAIT_240P_3 = 1022, // 240x240 15
6016  VIDEO_PROFILE_PORTRAIT_240P_4 = 1023, // 240x424 15
6018  VIDEO_PROFILE_PORTRAIT_360P = 1030, // 360x640 15
6020  VIDEO_PROFILE_PORTRAIT_360P_3 = 1032, // 360x360 15
6022  VIDEO_PROFILE_PORTRAIT_360P_4 = 1033, // 360x640 30
6024  VIDEO_PROFILE_PORTRAIT_360P_6 = 1035, // 360x360 30
6026  VIDEO_PROFILE_PORTRAIT_360P_7 = 1036, // 360x480 15
6028  VIDEO_PROFILE_PORTRAIT_360P_8 = 1037, // 360x480 30
6030  VIDEO_PROFILE_PORTRAIT_360P_9 = 1038, // 360x640 15
6032  VIDEO_PROFILE_PORTRAIT_360P_10 = 1039, // 360x640 24
6034  VIDEO_PROFILE_PORTRAIT_360P_11 = 1100, // 360x640 24
6036  VIDEO_PROFILE_PORTRAIT_480P = 1040, // 480x640 15
6038  VIDEO_PROFILE_PORTRAIT_480P_3 = 1042, // 480x480 15
6040  VIDEO_PROFILE_PORTRAIT_480P_4 = 1043, // 480x640 30
6042  VIDEO_PROFILE_PORTRAIT_480P_6 = 1045, // 480x480 30
6044  VIDEO_PROFILE_PORTRAIT_480P_8 = 1047, // 480x848 15
6046  VIDEO_PROFILE_PORTRAIT_480P_9 = 1048, // 480x848 30
6048  VIDEO_PROFILE_PORTRAIT_480P_10 = 1049, // 480x640 10
6050  VIDEO_PROFILE_PORTRAIT_720P = 1050, // 720x1280 15
6052  VIDEO_PROFILE_PORTRAIT_720P_3 = 1052, // 720x1280 30
6054  VIDEO_PROFILE_PORTRAIT_720P_5 = 1054, // 720x960 15
6056  VIDEO_PROFILE_PORTRAIT_720P_6 = 1055, // 720x960 30
6058  VIDEO_PROFILE_PORTRAIT_1080P = 1060, // 1080x1920 15
6060  VIDEO_PROFILE_PORTRAIT_1080P_3 = 1062, // 1080x1920 30
6062  VIDEO_PROFILE_PORTRAIT_1080P_5 = 1064, // 1080x1920 60
6064  VIDEO_PROFILE_PORTRAIT_1440P = 1066, // 1440x2560 30
6066  VIDEO_PROFILE_PORTRAIT_1440P_2 = 1067, // 1440x2560 60
6068  VIDEO_PROFILE_PORTRAIT_4K = 1070, // 2160x3840 30
6070  VIDEO_PROFILE_PORTRAIT_4K_3 = 1072, // 2160x3840 60
6072  VIDEO_PROFILE_DEFAULT = VIDEO_PROFILE_LANDSCAPE_360P,
6073 };
6074 
6075 } // namespace rtc
6076 } // namespace agora
6077 
6083 #define getAgoraRtcEngineVersion getAgoraSdkVersion
6084 
6086 
6089 
6096 
6098 
6099 
6106 #define getAgoraRtcEngineErrorDescription getAgoraSdkErrorDescription
6107 #define setAgoraRtcEngineExternalSymbolLoader setAgoraSdkExternalSymbolLoader
agora::rtc::IRtcEngineEventHandler::onApiCallExecuted
virtual void onApiCallExecuted(int err, const char *api, const char *result)
Definition: IAgoraRtcEngine.h:1352
agora::rtc::IRtcEngine::getErrorDescription
virtual const char * getErrorDescription(int code)=0
agora::rtc::IRtcEngine::adjustRecordingSignalVolume
virtual int adjustRecordingSignalVolume(int volume)=0
agora::rtc::ChannelMediaOptions::publishMediaPlayerAudioTrack
Optional< bool > publishMediaPlayerAudioTrack
Definition: IAgoraRtcEngine.h:659
agora::rtc::PublisherConfiguration::extraInfo
const char * extraInfo
Definition: IAgoraRtcEngine.h:552
agora::rtc::RtcEngineContext::appId
const char * appId
Definition: IAgoraRtcEngine.h:2513
agora::rtc::IRtcEngine::setExtensionProperty
virtual int setExtensionProperty(const char *id, const char *key, const char *json_value)=0
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:4218
agora::rtc::LastmileProbeResult
Definition: AgoraBase.h:3424
agora::rtc::ScreenCaptureParameters
Definition: AgoraBase.h:3661
agora::rtc::IRtcEngine::muteAllRemoteVideoStreams
virtual int muteAllRemoteVideoStreams(bool mute)=0
agora::rtc::AudioVolumeInfo
Definition: AgoraBase.h:2729
agora::rtc::InjectStreamConfig::audioChannels
int audioChannels
Definition: IAgoraRtcEngine.h:474
agora::rtc::IRtcEngine::pauseEffect
virtual int pauseEffect(int soundId)=0
agora::rtc::ChannelMediaOptions::publishSecondaryCameraTrack
Optional< bool > publishSecondaryCameraTrack
Definition: IAgoraRtcEngine.h:617
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:2506
agora::rtc::IRtcEngine::preloadEffect
virtual int preloadEffect(int soundId, const char *filePath)=0
agora::rtc::IRtcEngineParameter::setInt
virtual int setInt(const char *key, int value)=0
agora::rtc::IRtcEngine::setLocalRenderMode
virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode)=0
agora::rtc::IAudioDeviceCollection::setDevice
virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngineEventHandler::onIntraRequestReceived
virtual void onIntraRequestReceived()
Definition: IAgoraRtcEngine.h:1092
agora::rtc::VideoCompositingLayout
Definition: IAgoraRtcEngine.h:363
agora::rtc::VideoCompositingLayout::canvasHeight
int canvasHeight
Definition: IAgoraRtcEngine.h:413
agora::rtc::LastmileProbeConfig
Definition: AgoraBase.h:3350
agora::rtc::IRtcEngine::enableLocalVideo
virtual int enableLocalVideo(bool enabled)=0
agora::rtc::IRtcEngineEventHandler::onLeaveChannel
virtual void onLeaveChannel(const RtcStats &stats)
Definition: IAgoraRtcEngine.h:1003
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:1141
agora::rtc::IRtcEngine::joinChannelEx
virtual int joinChannelEx(const char *token, const char *channelId, uid_t uid, const ChannelMediaOptions &options, IRtcEngineEventHandler *eventHandler, conn_id_t *connectionId)=0
agora::rtc::LocalVideoStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:260
agora::rtc::IRtcEngine::stopChannelMediaRelay
virtual int stopChannelMediaRelay()=0
agora::rtc::IAudioDeviceCollection::setApplicationMute
virtual int setApplicationMute(bool mute)=0
agora::rtc::IAudioDeviceManager::getRecordingDevice
virtual int getRecordingDevice(char deviceId[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngine::resumeAllEffects
virtual int resumeAllEffects()=0
agora::rtc::InjectStreamConfig::width
int width
Definition: IAgoraRtcEngine.h:447
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:34
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:826
agora::rtc::IRtcEngine::getVersion
virtual const char * getVersion(int *build)=0
agora::rtc::ChannelMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition: IAgoraRtcEngine.h:647
agora::rtc::IAudioDeviceCollection::isApplicationMute
virtual int isApplicationMute(bool &mute)=0
agora::rtc::IRtcEngineEventHandler::onRemoteAudioTransportStats
virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate)
Definition: IAgoraRtcEngine.h:1855
agora::rtc::IRtcEngine::enableLoopbackRecording
virtual int enableLoopbackRecording(conn_id_t connectionId, bool enabled)=0
agora::rtc::IMetadataObserver::Metadata::buffer
unsigned char * buffer
Definition: IAgoraRtcEngine.h:2610
agora::rtc::PublisherConfiguration::publishUrl
const char * publishUrl
Definition: IAgoraRtcEngine.h:545
agora::rtc::IRtcEngine::enableLoopbackRecording
virtual int enableLoopbackRecording(bool enabled)=0
agora::rtc::IRtcEngine::setupRemoteVideo
virtual int setupRemoteVideo(const VideoCanvas &canvas, conn_id_t connectionId=DEFAULT_CONNECTION_ID)=0
agora::rtc::PublisherConfiguration::lifecycle
int lifecycle
Definition: IAgoraRtcEngine.h:527
agora::rtc::IRtcEngine::startPreview
virtual int startPreview()=0
agora::rtc::IMetadataObserver::Metadata::timeStampMs
long long timeStampMs
Definition: IAgoraRtcEngine.h:2615
agora::rtc::IRtcEngineEventHandler::onLocalAudioStats
virtual void onLocalAudioStats(const LocalAudioStats &stats)
Definition: IAgoraRtcEngine.h:1365
agora::rtc::ChannelMediaOptions::autoSubscribeAudio
Optional< bool > autoSubscribeAudio
Definition: IAgoraRtcEngine.h:678
agora::rtc::IAudioDeviceManager
Definition: IAgoraRtcEngine.h:2222
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:1129
agora::rtc::CameraCapturerConfiguration::deviceId
char deviceId[MAX_DEVICE_ID_LENGTH]
Definition: IAgoraRtcEngine.h:587
agora::rtc::IRtcEngine::setEncryptionMode
virtual int setEncryptionMode(const char *encryptionMode)=0
agora::rtc::LiveTranscoding
Definition: AgoraBase.h:3123
agora::rtc::IAudioDeviceManager::release
virtual void release()=0
agora::rtc::LocalVideoStats::sentFrameRate
int sentFrameRate
Definition: IAgoraRtcEngine.h:268
agora::rtc::Rectangle
Definition: AgoraBase.h:1874
agora::rtc::IVideoDeviceManager::release
virtual void release()=0
agora::rtc::IAudioDeviceManager::startRecordingDeviceTest
virtual int startRecordingDeviceTest(int indicationInterval)=0
agora::rtc::IRtcEngine::setVolumeOfEffect
virtual int setVolumeOfEffect(int soundId, int volume)=0
agora::rtc::IRtcEngineEventHandler::onUserInfoUpdated
virtual void onUserInfoUpdated(uid_t uid, const UserInfo &info)
Definition: IAgoraRtcEngine.h:1940
agora::rtc::IRtcEngineEventHandler::onNetworkTypeChanged
virtual void onNetworkTypeChanged(NETWORK_TYPE type)
Definition: IAgoraRtcEngine.h:1899
agora::rtc::IRtcEngine::pauseAudio
virtual int pauseAudio()=0
agora::rtc::InjectStreamConfig::videoFramerate
int videoFramerate
Definition: IAgoraRtcEngine.h:459
agora::rtc::IMetadataObserver::onReadyToSendMetadata
virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type)=0
agora::rtc::IRtcEngine::registerPacketObserver
virtual int registerPacketObserver(IPacketObserver *observer)=0
agora::rtc::IRtcEngine::startAudioMixing
virtual int startAudioMixing(const char *filePath, bool loopback, bool replace, int cycle)=0
agora::rtc::IRtcEngine::unregisterMediaMetadataObserver
virtual int unregisterMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type)=0
agora::rtc::IAudioDeviceCollection::setApplicationVolume
virtual int setApplicationVolume(int volume)=0
agora::rtc::IAudioDeviceManager::stopAudioDeviceLoopbackTest
virtual int stopAudioDeviceLoopbackTest()=0
agora::rtc::IRtcEngine::pauseAllEffects
virtual int pauseAllEffects()=0
agora::rtc::IRtcEngineEventHandlerEx
Definition: IAgoraRtcEngineEx.h:18
agora::rtc::IRtcEngineEventHandler::onFirstLocalAudioFramePublished
virtual void onFirstLocalAudioFramePublished(int elapsed)
Definition: IAgoraRtcEngine.h:1567
agora::util::AutoPtr
Definition: AgoraBase.h:80
agora::rtc::IRtcEngineParameter::getBool
virtual int getBool(const char *key, bool &value)=0
agora::rtc::LocalVideoStats::sentBitrate
int sentBitrate
Definition: IAgoraRtcEngine.h:264
agora::rtc::IRtcEngine::setDefaultMuteAllRemoteVideoStreams
virtual int setDefaultMuteAllRemoteVideoStreams(bool mute)=0
agora::rtc::IRtcEngine::getAudioMixingPublishVolume
virtual int getAudioMixingPublishVolume()=0
agora::rtc::IRtcEngineEventHandler::onRejoinChannelSuccess
virtual void onRejoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:884
agora::rtc::RemoteVideoStats::totalFrozenTime
int totalFrozenTime
Definition: IAgoraRtcEngine.h:351
agora::rtc::IRtcEngine::stopPrimaryCustomAudioTrack
virtual int stopPrimaryCustomAudioTrack()=0
agora::rtc::IMetadataObserver::METADATA_TYPE
METADATA_TYPE
Definition: IAgoraRtcEngine.h:2578
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:1703
agora::rtc::IRtcEngineEventHandler
Definition: IAgoraRtcEngine.h:853
agora::rtc::VideoCompositingLayout::Region::height
double height
Definition: IAgoraRtcEngine.h:379
agora::rtc::IRtcEngine::leaveChannel
virtual int leaveChannel(const LeaveChannelOptions &options)=0
agora::rtc::IVideoDeviceManager::getDevice
virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngine::updateChannelMediaOptions
virtual int updateChannelMediaOptions(const ChannelMediaOptions &options, conn_id_t connectionId=agora::rtc::DEFAULT_CONNECTION_ID)=0
agora::rtc::IAudioDeviceManager::startPlaybackDeviceTest
virtual int startPlaybackDeviceTest(const char *testAudioFilePath)=0
agora::rtc::IRtcEngine::enableExtension
virtual int enableExtension(const char *id, bool enable=true)=0
agora::rtc::RtcEngineContext::enableAudioDevice
bool enableAudioDevice
Definition: IAgoraRtcEngine.h:2528
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:1102
agora::rtc::RtcImage
Definition: AgoraBase.h:2999
agora::rtc::IAudioDeviceManager::setPlaybackDevice
virtual int setPlaybackDevice(const char deviceId[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::VideoCompositingLayout::backgroundColor
const char * backgroundColor
Definition: IAgoraRtcEngine.h:416
agora::rtc::IRtcEngine::getAudioMixingCurrentPosition
virtual int getAudioMixingCurrentPosition()=0
agora::rtc::LocalVideoStats::encodedBitrate
int encodedBitrate
Definition: IAgoraRtcEngine.h:285
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:1036
agora::rtc::SimulcastStreamConfig
Definition: AgoraBase.h:1855
agora::rtc::IAudioDeviceManager::startAudioDeviceLoopbackTest
virtual int startAudioDeviceLoopbackTest(int indicationInterval)=0
agora::rtc::IRtcEngine::setMixedAudioFrameParameters
virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall)=0
agora::rtc::IRtcEngine::getVolumeOfEffect
virtual int getVolumeOfEffect(int soundId)=0
agora::rtc::IMetadataObserver::getMaxMetadataSize
virtual int getMaxMetadataSize()
Definition: IAgoraRtcEngine.h:2629
agora::rtc::IRtcEngine::createDataStream
virtual int createDataStream(int *streamId, bool reliable, bool ordered, conn_id_t connectionId=agora::rtc::DEFAULT_CONNECTION_ID)=0
agora::rtc::IRtcEngine::enableEncryption
virtual int enableEncryption(bool enabled, const EncryptionConfig &config)=0
agora::rtc::IAudioDeviceManager::getPlaybackDevice
virtual int getPlaybackDevice(char deviceId[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::ChannelMediaOptions::publishTrancodedVideoTrack
Optional< bool > publishTrancodedVideoTrack
Definition: IAgoraRtcEngine.h:671
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStateChanged
virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed)
Definition: IAgoraRtcEngine.h:1602
agora::rtc::IRtcEngine::setDefaultMuteAllRemoteAudioStreams
virtual int setDefaultMuteAllRemoteAudioStreams(bool mute)=0
agora::rtc::IRtcEngine::adjustAudioMixingPublishVolume
virtual int adjustAudioMixingPublishVolume(int volume)=0
agora::rtc::IVideoDeviceCollection::getCount
virtual int getCount()=0
agora::rtc::IRtcEngineEventHandler::onUserMuteVideo
virtual void onUserMuteVideo(uid_t userId, bool muted)
Definition: IAgoraRtcEngine.h:1302
agora::rtc::IRtcEngine::getAudioMixingDuration
virtual int getAudioMixingDuration()=0
agora::rtc::IRtcEngineEventHandler::onVideoDeviceStateChanged
virtual void onVideoDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition: IAgoraRtcEngine.h:1054
agora::rtc::IMetadataObserver
Definition: IAgoraRtcEngine.h:2571
agora::rtc::VideoCompositingLayout::appData
const char * appData
Definition: IAgoraRtcEngine.h:426
agora::rtc::IRtcEngineEventHandler::onVideoPublishStateChanged
virtual void onVideoPublishStateChanged(const char *channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)
Definition: IAgoraRtcEngine.h:2002
agora::rtc::IRtcEngineEventHandler::onLocalVideoStateChanged
virtual void onLocalVideoStateChanged(LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_ERROR error)
Definition: IAgoraRtcEngine.h:1202
agora::rtc::IRtcEngineParameter::setParameters
virtual int setParameters(const char *parameters)=0
agora::rtc::IRtcEngine::registerMediaMetadataObserver
virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type)=0
agora::rtc::IRtcEngine::sendCustomReportMessage
virtual int sendCustomReportMessage(const char *id, const char *category, const char *event, const char *label, int value, conn_id_t connectionId=agora::rtc::DEFAULT_CONNECTION_ID)=0
agora::rtc::IRtcEngine::startChannelMediaRelay
virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration)=0
agora::rtc::IRtcEngineParameter::setObject
virtual int setObject(const char *key, const char *value)=0
agora::rtc::PublisherConfiguration::defaultLayout
int defaultLayout
Definition: IAgoraRtcEngine.h:524
agora::rtc::IRtcEngineEventHandler::onTranscodingUpdated
virtual void onTranscodingUpdated()
Definition: IAgoraRtcEngine.h:1740
agora::rtc::IRtcEngineEventHandler::onAudioMixingStateChanged
virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_ERROR_TYPE errorCode)
Definition: IAgoraRtcEngine.h:1454
agora::rtc::IRtcEngine::setVideoEncoderConfiguration
virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration &config, conn_id_t connectionId=DEFAULT_CONNECTION_ID)=0
agora::rtc::IRtcEngineEventHandler::onRequestToken
virtual void onRequestToken()
Definition: IAgoraRtcEngine.h:1542
agora::rtc::IRtcEngineEventHandler::onError
virtual void onError(int err, const char *msg)
Definition: IAgoraRtcEngine.h:908
agora::rtc::VideoCompositingLayout::regionCount
int regionCount
Definition: IAgoraRtcEngine.h:423
agora::rtc::PublisherConfiguration::height
int height
Definition: IAgoraRtcEngine.h:510
agora::rtc::AVideoDeviceManager
Definition: IAgoraRtcEngine.h:5897
agora::rtc::LocalVideoStats::codecType
VIDEO_CODEC_TYPE codecType
Definition: IAgoraRtcEngine.h:299
agora::rtc::LocalTranscoderConfiguration
Definition: AgoraBase.h:3327
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:1340
agora::rtc::InjectStreamConfig::audioBitrate
int audioBitrate
Definition: IAgoraRtcEngine.h:471
agora::rtc::IAudioDeviceCollection::getDevice
virtual int getDevice(int index, char deviceName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngine::resumeAudio
virtual int resumeAudio()=0
agora::rtc::IRtcEngineEventHandler::onAudioVolumeIndication
virtual void onAudioVolumeIndication(const AudioVolumeInfo *speakers, unsigned int speakerNumber, int totalVolume)
Definition: IAgoraRtcEngine.h:985
agora::rtc::IRtcEngine::getConnectionState
virtual CONNECTION_STATE_TYPE getConnectionState(conn_id_t connectionId=0)=0
agora::rtc::IRtcEngineEventHandler::onConnectionBanned
virtual void onConnectionBanned()
Definition: IAgoraRtcEngine.h:1483
agora::rtc::IPacketObserver
Definition: AgoraBase.h:2746
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:653
agora::rtc::VideoFormat
Definition: AgoraBase.h:2333
agora::rtc::RemoteVideoStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:309
agora::rtc::IRtcEngineEventHandler::onUserOffline
virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:1283
agora::rtc::IRtcEngine::sendStreamMessage
virtual int sendStreamMessage(int streamId, const char *data, size_t length, conn_id_t connectionId=agora::rtc::DEFAULT_CONNECTION_ID)=0
agora::rtc::DataStreamConfig
Definition: AgoraBase.h:1843
agora::rtc::VideoCompositingLayout::Region::y
double y
Definition: IAgoraRtcEngine.h:373
agora::rtc::IRtcEngine::stopAudioMixing
virtual int stopAudioMixing()=0
agora::rtc::PublisherConfiguration
Definition: IAgoraRtcEngine.h:502
agora::rtc::IRtcEngine::setLogLevel
virtual int setLogLevel(commons::LOG_LEVEL level)=0
agora::rtc::IAudioDeviceManager::getPlaybackDeviceMute
virtual int getPlaybackDeviceMute(bool *mute)=0
agora::rtc::RtcEngineContext::logConfig
commons::LogConfig logConfig
Definition: IAgoraRtcEngine.h:2559
agora::rtc::IRtcEngineEventHandler::onChannelMediaRelayEvent
virtual void onChannelMediaRelayEvent(int code)
Definition: IAgoraRtcEngine.h:1829
agora::rtc::IRtcEngine::setRemoteDefaultVideoStreamType
virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType)=0
agora::rtc::IRtcEngineEventHandler::onRemoteVideoStreamInfoUpdated
virtual void onRemoteVideoStreamInfoUpdated(const RemoteVideoStreamInfo &info)
Definition: IAgoraRtcEngine.h:1418
agora::rtc::IRtcEngine::setRemoteVideoStreamType
virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType)=0
agora::rtc::IRtcEngine::createDataStream
virtual int createDataStream(int *streamId, DataStreamConfig &config, conn_id_t connectionId=agora::rtc::DEFAULT_CONNECTION_ID)=0
agora::rtc::IRtcEngineEventHandler::onUserEnableVideo
virtual void onUserEnableVideo(uid_t uid, bool enabled)
Definition: IAgoraRtcEngine.h:1324
agora::rtc::InjectStreamConfig::height
int height
Definition: IAgoraRtcEngine.h:451
agora::rtc::IAudioDeviceManager::getPlaybackDeviceVolume
virtual int getPlaybackDeviceVolume(int *volume)=0
agora::rtc::IRtcEngineEventHandler::onStreamMessageError
virtual void onStreamMessageError(uid_t userId, int streamId, int code, int missed, int cached)
Definition: IAgoraRtcEngine.h:1520
agora::rtc::IRtcEngineEventHandler::onRtmpStreamingStateChanged
virtual void onRtmpStreamingStateChanged(const char *url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_ERROR errCode)
Definition: IAgoraRtcEngine.h:1668
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:408
agora::rtc::LeaveChannelOptions::stopMicrophoneRecording
bool stopMicrophoneRecording
Definition: IAgoraRtcEngine.h:838
agora::rtc::PublisherConfiguration::rawStreamUrl
const char * rawStreamUrl
Definition: IAgoraRtcEngine.h:549
agora::rtc::IRtcEngine::addVideoWatermark
virtual int addVideoWatermark(const char *watermarkUrl, const WatermarkOptions &options, conn_id_t connectionId=agora::rtc::DEFAULT_CONNECTION_ID)=0
agora::rtc::IRtcEngineParameter::setString
virtual int setString(const char *key, const char *value)=0
agora::rtc::IRtcEngineEventHandler::onRemoteVideoStats
virtual void onRemoteVideoStats(const RemoteVideoStats &stats)
Definition: IAgoraRtcEngine.h:1409
agora::rtc::IRtcEngineEventHandler::onTokenPrivilegeWillExpire
virtual void onTokenPrivilegeWillExpire(const char *token)
Definition: IAgoraRtcEngine.h:1558
agora::rtc::LocalVideoStats::targetFrameRate
int targetFrameRate
Definition: IAgoraRtcEngine.h:281
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:2533
agora::rtc::IRtcEngine::enableWebSdkInteroperability
virtual int enableWebSdkInteroperability(bool enabled)=0
agora::rtc::IRtcEngine::setLiveTranscoding
virtual int setLiveTranscoding(const LiveTranscoding &transcoding)=0
agora::rtc::IRtcEngineEventHandler::onAudioDeviceStateChanged
virtual void onAudioDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition: IAgoraRtcEngine.h:1023
agora::rtc::IAudioDeviceManager::setPlaybackDeviceVolume
virtual int setPlaybackDeviceVolume(int volume)=0
agora::rtc::IRtcEngine::removePublishStreamUrl
virtual int removePublishStreamUrl(const char *url)=0
agora::rtc::IRtcEngineEventHandler::onAudioQuality
virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay, unsigned short lost)
Definition: IAgoraRtcEngine.h:927
agora::rtc::LeaveChannelOptions
Definition: IAgoraRtcEngine.h:820
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoDecoded
virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed)
Definition: IAgoraRtcEngine.h:1177
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStats
virtual void onRemoteAudioStats(const RemoteAudioStats &stats)
Definition: IAgoraRtcEngine.h:1379
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:4050
agora::rtc::IVideoDeviceCollection
Definition: IAgoraRtcEngine.h:2013
agora::rtc::IRtcEngine::renewToken
virtual int renewToken(const char *token)=0
agora::rtc::IRtcEngine::setAudioProfile
virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile)=0
agora::rtc::IRtcEngine::getUserInfoByUid
virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo *userInfo, conn_id_t connectionId=agora::rtc::DEFAULT_CONNECTION_ID)=0
agora::rtc::ChannelMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition: IAgoraRtcEngine.h:641
agora::rtc::RemoteVideoStats::avSyncTimeMs
int avSyncTimeMs
Definition: IAgoraRtcEngine.h:360
agora::rtc::IAudioDeviceManager::enumerateRecordingDevices
virtual IAudioDeviceCollection * enumerateRecordingDevices()=0
agora::rtc::IRtcEngine::removeInjectStreamUrl
virtual int removeInjectStreamUrl(const char *url)=0
agora::rtc::RemoteVideoStats::decoderOutputFrameRate
int decoderOutputFrameRate
Definition: IAgoraRtcEngine.h:332
agora::rtc::RtcEngineContext::context
void * context
Definition: IAgoraRtcEngine.h:2520
agora::rtc::ChannelMediaOptions::publishCameraTrack
Optional< bool > publishCameraTrack
Definition: IAgoraRtcEngine.h:611
agora::rtc::ChannelMediaOptions::publishAudioTrack
Optional< bool > publishAudioTrack
Definition: IAgoraRtcEngine.h:623
agora::rtc::ChannelMediaOptions::clientRoleType
Optional< CLIENT_ROLE_TYPE > clientRoleType
Definition: IAgoraRtcEngine.h:700
agora::rtc::IRtcEngineEventHandler::onJoinChannelSuccess
virtual void onJoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:866
agora::rtc::ChannelMediaOptions::channelProfile
Optional< CHANNEL_PROFILE_TYPE > channelProfile
Definition: IAgoraRtcEngine.h:708
agora::rtc::IRtcEngineEventHandler::onStreamInjectedStatus
virtual void onStreamInjectedStatus(const char *url, uid_t uid, int status)
Definition: IAgoraRtcEngine.h:1748
agora::rtc::VideoCompositingLayout::Region::zOrder
int zOrder
Definition: IAgoraRtcEngine.h:383
agora::rtc::IRtcEngine::startPrimaryCustomAudioTrack
virtual int startPrimaryCustomAudioTrack(const AudioTrackConfig &config)=0
agora::rtc::IRtcEngineParameter::getArray
virtual int getArray(const char *key, agora::util::AString &value)=0
agora::rtc::IVideoDeviceManager
Definition: IAgoraRtcEngine.h:2057
agora::rtc::IAudioDeviceManager::getRecordingDeviceMute
virtual int getRecordingDeviceMute(bool *mute)=0
agora::rtc::RemoteVideoStats::frozenRate
int frozenRate
Definition: IAgoraRtcEngine.h:355
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:429
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:388
agora::rtc::IRtcEngine::release
virtual void release(bool sync=false)=0
agora::rtc::LocalVideoStats::encodedFrameHeight
int encodedFrameHeight
Definition: IAgoraRtcEngine.h:291
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:1585
agora::rtc::IRtcEngine::updateChannelMediaRelay
virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration)=0
agora::rtc::IRtcEngineEventHandler::onStreamMessage
virtual void onStreamMessage(uid_t userId, int streamId, const char *data, size_t length)
Definition: IAgoraRtcEngine.h:1500
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::PublisherConfiguration::width
int width
Definition: IAgoraRtcEngine.h:506
agora::rtc::VideoCompositingLayout::Region::width
double width
Definition: IAgoraRtcEngine.h:377
agora::rtc::IRtcEngine::joinChannelWithUserAccountEx
virtual int joinChannelWithUserAccountEx(const char *token, const char *channelId, const char *userAccount, const ChannelMediaOptions &options, IRtcEngineEventHandler *eventHandler, conn_id_t *connectionId=0)=0
agora::rtc::IRtcEngine::getEffectsVolume
virtual int getEffectsVolume()=0
agora::rtc::IRtcEngineEventHandler::onEncryptionError
virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType)
Definition: IAgoraRtcEngine.h:1907
agora::rtc::IRtcEngine::muteRemoteAudioStream
virtual int muteRemoteAudioStream(uid_t uid, bool mute, conn_id_t connectionId=DEFAULT_CONNECTION_ID)=0
agora::rtc::IAudioDeviceManager::enumeratePlaybackDevices
virtual IAudioDeviceCollection * enumeratePlaybackDevices()=0
agora::commons::LogConfig
Definition: IAgoraLog.h:66
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:1725
agora::rtc::LeaveChannelOptions::stopAllEffect
bool stopAllEffect
Definition: IAgoraRtcEngine.h:832
agora::rtc::ChannelMediaOptions::defaultVideoStreamType
Optional< VIDEO_STREAM_TYPE > defaultVideoStreamType
Definition: IAgoraRtcEngine.h:704
createAgoraRtcEngine
AGORA_API agora::rtc::IRtcEngine *AGORA_CALL createAgoraRtcEngine()
agora::rtc::LocalVideoStats
Definition: IAgoraRtcEngine.h:256
agora::rtc::IMetadataObserver::onMetadataReceived
virtual void onMetadataReceived(const Metadata &metadata)=0
agora::media::IAudioFrameObserver::AudioFrame
Definition: AgoraMediaBase.h:518
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:696
agora::rtc::IAudioDeviceManager::stopRecordingDeviceTest
virtual int stopRecordingDeviceTest()=0
agora::rtc::IRtcEngineEventHandler::onAudioSubscribeStateChanged
virtual void onAudioSubscribeStateChanged(const char *channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState)
Definition: IAgoraRtcEngine.h:1954
agora::rtc::IRtcEngine::startSecondaryCustomAudioTrack
virtual int startSecondaryCustomAudioTrack(const AudioTrackConfig &config)=0
agora::rtc::EncryptionConfig
Definition: AgoraBase.h:4137
agora::rtc::IAudioDeviceCollection::release
virtual void release()=0
agora::rtc::IRtcEngineParameter
Definition: IAgoraRtcEngine.h:5727
agora::rtc::IRtcEngineEventHandler::onClientRoleChanged
virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole)
Definition: IAgoraRtcEngine.h:1637
agora::rtc::IRtcEngine::setAudioMixingPosition
virtual int setAudioMixingPosition(int pos)=0
agora::rtc::IRtcEngine::enableAudioVolumeIndication
virtual int enableAudioVolumeIndication(int interval, int smooth)=0
agora::rtc::IAudioDeviceCollection::getCount
virtual int getCount()=0
agora::rtc::IRtcEngineParameter::setNumber
virtual int setNumber(const char *key, double value)=0
agora::rtc::ChannelMediaOptions::enableAudioRecordingOrPlayout
Optional< bool > enableAudioRecordingOrPlayout
Definition: IAgoraRtcEngine.h:691
agora::rtc::RemoteVideoStats::receivedBitrate
int receivedBitrate
Definition: IAgoraRtcEngine.h:329
agora::rtc::AudioFileRecordingConfig
Definition: AgoraBase.h:3738
agora::rtc::RemoteAudioStats
Definition: AgoraBase.h:2190
agora::rtc::IMetadataObserver::MAX_METADATA_SIZE_TYPE
MAX_METADATA_SIZE_TYPE
Definition: IAgoraRtcEngine.h:2590
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoFrame
virtual void onFirstRemoteVideoFrame(uid_t userId, int width, int height, int elapsed)
Definition: IAgoraRtcEngine.h:1239
agora::rtc::LocalVideoStats::encoderOutputFrameRate
int encoderOutputFrameRate
Definition: IAgoraRtcEngine.h:271
agora::rtc::IRtcEngineEventHandler::onLastmileProbeResult
virtual void onLastmileProbeResult(const LastmileProbeResult &result)
Definition: IAgoraRtcEngine.h:941
agora::rtc::IVideoDeviceManager::startDeviceTest
virtual int startDeviceTest(view_t hwnd)=0
agora::rtc::IAudioDeviceManager::setRecordingDevice
virtual int setRecordingDevice(const char deviceId[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngine::setLocalVideoMirrorMode
virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
agora::rtc::CameraCapturerConfiguration::cameraDirection
CAMERA_DIRECTION cameraDirection
Definition: IAgoraRtcEngine.h:585
agora::rtc::IRtcEngineEventHandler::onConnectionLost
virtual void onConnectionLost()
Definition: IAgoraRtcEngine.h:1466
agora::rtc::PublisherConfiguration::owner
bool owner
Definition: IAgoraRtcEngine.h:532
agora::rtc::IRtcEngine::setInEarMonitoringVolume
virtual int setInEarMonitoringVolume(int volume)=0
agora::rtc::VideoCompositingLayout::regions
const Region * regions
Definition: IAgoraRtcEngine.h:420
agora::rtc::ChannelMediaOptions::publishMediaPlayerVideoTrack
Optional< bool > publishMediaPlayerVideoTrack
Definition: IAgoraRtcEngine.h:665
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:1927
agora::rtc::LocalVideoStats::encodedFrameWidth
int encodedFrameWidth
Definition: IAgoraRtcEngine.h:288
agora::rtc::RtcStats
Definition: AgoraBase.h:1952
agora::rtc::IRtcEngineEventHandler::onWarning
virtual void onWarning(int warn, const char *msg)
Definition: IAgoraRtcEngine.h:898
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:1396
agora::rtc::IRtcEngine::adjustAudioMixingVolume
virtual int adjustAudioMixingVolume(int volume)=0
agora::rtc::WatermarkOptions
Definition: AgoraBase.h:1916
agora::rtc::LocalAudioStats
Definition: AgoraBase.h:2871
agora::rtc::IRtcEngineEventHandler::onAudioDeviceVolumeChanged
virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted)
Definition: IAgoraRtcEngine.h:1649
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:321
agora::rtc::IRtcEngineEventHandler::onMediaDeviceChanged
virtual void onMediaDeviceChanged(int deviceType)
Definition: IAgoraRtcEngine.h:1067
agora::rtc::RtcEngineContext::audioScenario
AUDIO_SCENARIO_TYPE audioScenario
Definition: IAgoraRtcEngine.h:2543
agora::rtc::RemoteVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition: IAgoraRtcEngine.h:335
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:278
agora::rtc::ChannelMediaOptions::publishSecondaryScreenTrack
Optional< bool > publishSecondaryScreenTrack
Definition: IAgoraRtcEngine.h:635
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:1710
agora::rtc::InjectStreamConfig
Definition: IAgoraRtcEngine.h:443
agora::rtc::IRtcEngine::playEffect
virtual int playEffect(int soundId, const char *filePath, int loopCount, double pitch, double pan, int gain, bool publish=false)=0
agora::rtc::IAudioDeviceCollection::getApplicationVolume
virtual int getApplicationVolume(int &volume)=0
agora::rtc::LocalVideoStats::encodedFrameCount
int encodedFrameCount
Definition: IAgoraRtcEngine.h:294
agora::rtc::PublisherConfiguration::bitrate
int bitrate
Definition: IAgoraRtcEngine.h:518
agora::rtc::RtcEngineContext
Definition: IAgoraRtcEngine.h:2502
agora::rtc::IRtcEngineEventHandler::onFirstLocalVideoFramePublished
virtual void onFirstLocalVideoFramePublished(int elapsed)
Definition: IAgoraRtcEngine.h:1152
agora::rtc::IRtcEngine::unloadAllEffects
virtual int unloadAllEffects()=0
agora::rtc::ChannelMediaOptions
Definition: IAgoraRtcEngine.h:605
agora::rtc::IRtcEngine
Definition: IAgoraRtcEngine.h:2663
agora::rtc::IRtcEngineEventHandler::onActiveSpeaker
virtual void onActiveSpeaker(uid_t userId)
Definition: IAgoraRtcEngine.h:1627
agora::rtc::ScreenCaptureConfiguration
Definition: IAgoraRtcEngine.h:591
agora::rtc::ChannelMediaOptions::autoSubscribeVideo
Optional< bool > autoSubscribeVideo
Definition: IAgoraRtcEngine.h:685
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:338
agora::rtc::IRtcEngine::setLocalVoicePitch
virtual int setLocalVoicePitch(double pitch)=0
agora::rtc::RemoteVideoStats::height
int height
Definition: IAgoraRtcEngine.h:325
agora::rtc::IRtcEngine::setRemoteRenderMode
virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode, conn_id_t connectionId=DEFAULT_CONNECTION_ID)=0
agora::rtc::IRtcEngine::stopEchoTest
virtual int stopEchoTest()=0
agora::rtc::IRtcEngine::startAudioRecording
virtual int startAudioRecording(const char *filePath, AUDIO_RECORDING_QUALITY_TYPE quality)=0
agora::rtc::IRtcEngine::setLocalVoiceEqualization
virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain)=0
agora::util::CopyableAutoPtr
Definition: AgoraBase.h:136
agora::rtc::AudioTrackConfig
Definition: IAgoraRtcEngine.h:570
agora::rtc::IAudioDeviceManager::setPlaybackDeviceMute
virtual int setPlaybackDeviceMute(bool mute)=0
agora::rtc::IAudioDeviceManager::getRecordingDeviceInfo
virtual int getRecordingDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngine::setLocalVoiceChanger
virtual int setLocalVoiceChanger(VOICE_CHANGER_PRESET voiceChanger)=0
agora::rtc::InjectStreamConfig::audioSampleRate
AUDIO_SAMPLE_RATE_TYPE audioSampleRate
Definition: IAgoraRtcEngine.h:467
agora::rtc::IRtcEngineEventHandler::onConnectionInterrupted
virtual void onConnectionInterrupted()
Definition: IAgoraRtcEngine.h:1479
agora::rtc::PublisherConfiguration::framerate
int framerate
Definition: IAgoraRtcEngine.h:514
agora::rtc::IRtcEngine::resumeEffect
virtual int resumeEffect(int soundId)=0
agora::rtc::PublisherConfiguration::injectStreamUrl
const char * injectStreamUrl
Definition: IAgoraRtcEngine.h:541
agora::rtc::ChannelMediaOptions::publishScreenTrack
Optional< bool > publishScreenTrack
Definition: IAgoraRtcEngine.h:629
agora::rtc::IRtcEngineEventHandler::onAudioRoutingChanged
virtual void onAudioRoutingChanged(int routing)
Definition: IAgoraRtcEngine.h:1767
agora::rtc::InjectStreamConfig::videoBitrate
int videoBitrate
Definition: IAgoraRtcEngine.h:463
agora::rtc::IAudioDeviceManager::stopPlaybackDeviceTest
virtual int stopPlaybackDeviceTest()=0
agora::rtc::IRtcEngineParameter::getObject
virtual int getObject(const char *key, agora::util::AString &value)=0
agora::rtc::IRtcEngine::enableVideo
virtual int enableVideo()=0
agora::rtc::IAudioDeviceManager::setRecordingDeviceMute
virtual int setRecordingDeviceMute(bool mute)=0
agora::rtc::IRtcEngine::setRemoteRenderMode
virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode, conn_id_t connectionId=DEFAULT_CONNECTION_ID)=0
agora::rtc::IRtcEngine::enableDualStreamMode
virtual int enableDualStreamMode(bool enabled)=0
agora::rtc::IMetadataObserver::UNKNOWN_METADATA
@ UNKNOWN_METADATA
Definition: IAgoraRtcEngine.h:2581
agora::rtc::RemoteVideoStats::delay
int delay
Definition: IAgoraRtcEngine.h:317
agora::rtc::IAudioDeviceCollection
Definition: IAgoraRtcEngine.h:2129
agora::rtc::IRtcEngine::getUserInfoByUserAccount
virtual int getUserInfoByUserAccount(const char *userAccount, rtc::UserInfo *userInfo, conn_id_t connectionId=agora::rtc::DEFAULT_CONNECTION_ID)=0
agora::rtc::IRtcEngine::startEchoTest
virtual int startEchoTest()=0
agora::rtc::IAudioDeviceManager::getRecordingDeviceVolume
virtual int getRecordingDeviceVolume(int *volume)=0
agora::rtc::ChannelMediaOptions::audioDelayMs
Optional< int > audioDelayMs
Definition: IAgoraRtcEngine.h:713
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:1080
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:364
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:1971
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:1218
agora::rtc::IRtcEngine::clearVideoWatermark
virtual int clearVideoWatermark(conn_id_t connectionId=agora::rtc::DEFAULT_CONNECTION_ID)=0
agora::rtc::PublisherConfiguration::injectStreamWidth
int injectStreamWidth
Definition: IAgoraRtcEngine.h:535
agora::rtc::RemoteVideoStats::rxStreamType
VIDEO_STREAM_TYPE rxStreamType
Definition: IAgoraRtcEngine.h:345
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:2604
agora::rtc::IRtcEngine::disableVideo
virtual int disableVideo()=0
agora::rtc::RemoteVideoStreamInfo
Definition: AgoraBase.h:2707
agora::rtc::InjectStreamConfig::videoGop
int videoGop
Definition: IAgoraRtcEngine.h:455
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:1915
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:1876
agora::rtc::IRtcEngine::joinChannelWithUserAccount
virtual int joinChannelWithUserAccount(const char *token, const char *channelId, const char *userAccount, const ChannelMediaOptions &options)=0
agora::rtc::IRtcEngine::stopSecondaryCustomAudioTrack
virtual int stopSecondaryCustomAudioTrack()=0
agora::rtc::IRtcEngine::disableAudio
virtual int disableAudio()=0
agora::rtc::IRtcEngine::leaveChannelEx
virtual int leaveChannelEx(const char *channelId, conn_id_t connectionId)=0
agora::rtc::IRtcEngineParameter::release
virtual void release()=0
agora::rtc::IRtcEngine::muteAllRemoteAudioStreams
virtual int muteAllRemoteAudioStreams(bool mute)=0
agora::rtc::IRtcEngineEventHandler::onRtcStats
virtual void onRtcStats(const RtcStats &stats)
Definition: IAgoraRtcEngine.h:1012
agora::rtc::IRtcEngine::muteRemoteVideoStream
virtual int muteRemoteVideoStream(uid_t uid, bool mute, conn_id_t connectionId=DEFAULT_CONNECTION_ID)=0
agora::rtc::IRtcEngineEventHandler::onUserJoined
virtual void onUserJoined(uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1264
agora::rtc::AAudioDeviceManager
Definition: IAgoraRtcEngine.h:5890
agora::rtc::IRtcEngine::setLocalVoiceReverbPreset
virtual int setLocalVoiceReverbPreset(AUDIO_REVERB_PRESET reverbPreset)=0
agora::rtc::IMetadataObserver::Metadata
Definition: IAgoraRtcEngine.h:2599
agora::rtc::RemoteVideoStats::packetLossRate
int packetLossRate
Definition: IAgoraRtcEngine.h:341
agora::base::IEngineBase
Definition: AgoraBase.h:4255
agora::rtc::LocalVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition: IAgoraRtcEngine.h:274
agora::rtc::IRtcEngineEventHandler::onDownlinkNetworkInfoUpdated
virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo &info)
Definition: IAgoraRtcEngine.h:1113
agora::rtc::IRtcEngine::startAudioRecording
virtual int startAudioRecording(const AudioFileRecordingConfig &config)=0
agora::rtc::IAudioDeviceManager::getPlaybackDeviceInfo
virtual int getPlaybackDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngine::setLocalRenderMode
virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
agora::rtc::RtcEngineContext::areaCode
unsigned int areaCode
Definition: IAgoraRtcEngine.h:2554
agora::rtc::IRtcEngine::setAudioProfile
virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario)=0
agora::rtc::CameraCapturerConfiguration
Definition: IAgoraRtcEngine.h:583
agora::rtc::IMetadataObserver::VIDEO_METADATA
@ VIDEO_METADATA
Definition: IAgoraRtcEngine.h:2584
agora::rtc::RemoteVideoStats
Definition: IAgoraRtcEngine.h:305
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:538
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:2607
agora::rtc::IRtcEngineParameter::getNumber
virtual int getNumber(const char *key, double &value)=0
agora::rtc::IRtcEngine::setRecordingAudioFrameParameters
virtual int setRecordingAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
agora::rtc::IAudioDeviceManager::setRecordingDeviceVolume
virtual int setRecordingDeviceVolume(int volume)=0
agora::rtc::IVideoDeviceManager::setDevice
virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngineEventHandler::onChannelMediaRelayStateChanged
virtual void onChannelMediaRelayStateChanged(int state, int code)
Definition: IAgoraRtcEngine.h:1801
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:1987
agora::rtc::VideoCanvas
Definition: AgoraBase.h:3567
agora::rtc::VideoCompositingLayout::Region::uid
uid_t uid
Definition: IAgoraRtcEngine.h:367
agora::rtc::IRtcEngineEventHandler::onConnectionStateChanged
virtual void onConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:1889
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:370