Agora Java API Reference for Android
IAgoraRtcEngine.h
1 //
2 // Agora Rtc Engine SDK
3 //
4 // Copyright (c) 2018 Agora.io. All rights reserved.
5 //
6 #pragma once
7 
8 #include "AgoraBase.h"
9 #include "AgoraMediaBase.h"
10 #include "IAgoraLog.h"
11 #include "AgoraOptional.h"
12 #include "IAudioDeviceManager.h"
13 #include "IAgoraRhythmPlayer.h"
14 #include "IAgoraMediaEngine.h"
15 #include "IAgoraH265Transcoder.h"
16 
17 namespace agora {
18 namespace rtc {
19 
20 template <typename T>
21 static void SetFrom(Optional<T>* s, const Optional<T>& o) {
22  if (o) {
23  *s = o;
24  }
25 }
26 
27 template <typename T>
28 static void ReplaceBy(Optional<T>* s, const Optional<T>& o) {
29  *s = o;
30 }
31 
32 //class IAudioDeviceManager;
33 
37 enum MEDIA_DEVICE_TYPE {
41  UNKNOWN_AUDIO_DEVICE = -1,
45  AUDIO_PLAYOUT_DEVICE = 0,
49  AUDIO_RECORDING_DEVICE = 1,
53  VIDEO_RENDER_DEVICE = 2,
57  VIDEO_CAPTURE_DEVICE = 3,
61  AUDIO_APPLICATION_PLAYOUT_DEVICE = 4,
65  AUDIO_VIRTUAL_PLAYOUT_DEVICE = 5,
69  AUDIO_VIRTUAL_RECORDING_DEVICE = 6,
70 };
71 
75 enum AUDIO_MIXING_STATE_TYPE {
77  AUDIO_MIXING_STATE_PLAYING = 710,
79  AUDIO_MIXING_STATE_PAUSED = 711,
81  AUDIO_MIXING_STATE_STOPPED = 713,
84  AUDIO_MIXING_STATE_FAILED = 714,
85 };
86 
90 enum AUDIO_MIXING_REASON_TYPE {
92  AUDIO_MIXING_REASON_CAN_NOT_OPEN = 701,
94  AUDIO_MIXING_REASON_TOO_FREQUENT_CALL = 702,
96  AUDIO_MIXING_REASON_INTERRUPTED_EOF = 703,
98  AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED = 721,
100  AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED = 723,
102  AUDIO_MIXING_REASON_STOPPED_BY_USER = 724,
104  AUDIO_MIXING_REASON_OK = 0,
105 };
106 
110 enum INJECT_STREAM_STATUS {
114  INJECT_STREAM_STATUS_START_SUCCESS = 0,
118  INJECT_STREAM_STATUS_START_ALREADY_EXISTS = 1,
122  INJECT_STREAM_STATUS_START_UNAUTHORIZED = 2,
126  INJECT_STREAM_STATUS_START_TIMEDOUT = 3,
130  INJECT_STREAM_STATUS_START_FAILED = 4,
134  INJECT_STREAM_STATUS_STOP_SUCCESS = 5,
138  INJECT_STREAM_STATUS_STOP_NOT_FOUND = 6,
142  INJECT_STREAM_STATUS_STOP_UNAUTHORIZED = 7,
146  INJECT_STREAM_STATUS_STOP_TIMEDOUT = 8,
150  INJECT_STREAM_STATUS_STOP_FAILED = 9,
154  INJECT_STREAM_STATUS_BROKEN = 10,
155 };
156 
160 enum AUDIO_EQUALIZATION_BAND_FREQUENCY {
164  AUDIO_EQUALIZATION_BAND_31 = 0,
168  AUDIO_EQUALIZATION_BAND_62 = 1,
172  AUDIO_EQUALIZATION_BAND_125 = 2,
176  AUDIO_EQUALIZATION_BAND_250 = 3,
180  AUDIO_EQUALIZATION_BAND_500 = 4,
184  AUDIO_EQUALIZATION_BAND_1K = 5,
188  AUDIO_EQUALIZATION_BAND_2K = 6,
192  AUDIO_EQUALIZATION_BAND_4K = 7,
196  AUDIO_EQUALIZATION_BAND_8K = 8,
200  AUDIO_EQUALIZATION_BAND_16K = 9,
201 };
202 
206 enum AUDIO_REVERB_TYPE {
210  AUDIO_REVERB_DRY_LEVEL = 0,
214  AUDIO_REVERB_WET_LEVEL = 1,
218  AUDIO_REVERB_ROOM_SIZE = 2,
222  AUDIO_REVERB_WET_DELAY = 3,
226  AUDIO_REVERB_STRENGTH = 4,
227 };
228 
229 enum STREAM_FALLBACK_OPTIONS {
233  STREAM_FALLBACK_OPTION_DISABLED = 0,
238  STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW = 1,
242  STREAM_FALLBACK_OPTION_AUDIO_ONLY = 2,
243 };
244 
245 enum PRIORITY_TYPE {
248  PRIORITY_HIGH = 50,
251  PRIORITY_NORMAL = 100,
252 };
253 
254 struct RtcConnection;
255 
259 {
263  uid_t uid;
314  QUALITY_ADAPT_INDICATION qualityAdaptIndication;
324  VIDEO_CODEC_TYPE codecType;
328  unsigned short txPacketLossRate;
331  CAPTURE_BRIGHTNESS_LEVEL_TYPE captureBrightnessLevel;
341 };
342 
347 {
351  uid_t uid;
355  int quality;
411  int mosValue;
420  uint32_t plcCount;
421 
442  unsigned int rxAudioBytes;
443 
444  RemoteAudioStats() :
445  uid(0),
446  quality(0),
449  audioLossRate(0),
450  numChannels(0),
452  receivedBitrate(0),
453  totalFrozenTime(0),
454  frozenRate(0),
455  mosValue(0),
457  plcCount(0),
458  totalActiveTime(0),
459  publishDuration(0),
460  qoeQuality(0),
462  rxAudioBytes(0) {}
463 };
464 
472  uid_t uid;
480  int delay __deprecated;
484  int e2eDelay;
488  int width;
492  int height;
512  VIDEO_STREAM_TYPE rxStreamType;
544  int mosValue;
548  unsigned int rxVideoBytes;
549 };
550 
552  struct Region {
555  uid_t uid;
558  double x; // [0,1]
561  double y; // [0,1]
565  double width; // [0,1]
567  double height; // [0,1]
571  int zOrder; // optional, [0, 100] //0 (default): bottom most, 100: top most
572 
576  double alpha;
577 
578  media::base::RENDER_MODE_TYPE
579  renderMode; // RENDER_MODE_HIDDEN: Crop, RENDER_MODE_FIT: Zoom to fit
580 
581  Region()
582  : uid(0),
583  x(0),
584  y(0),
585  width(0),
586  height(0),
587  zOrder(0),
588  alpha(1.0),
589  renderMode(media::base::RENDER_MODE_HIDDEN) {}
590  };
591 
604  const char* backgroundColor; // e.g. "#C0C0C0" in RGB
608  const Region* regions;
614  const char* appData;
618 
620  : canvasWidth(0),
621  canvasHeight(0),
622  backgroundColor(NULL),
623  regions(NULL),
624  regionCount(0),
625  appData(NULL),
626  appDataLength(0) {}
627 };
628 
635  int width;
639  int height;
643  int videoGop;
655  AUDIO_SAMPLE_RATE_TYPE audioSampleRate;
663 
664  // width / height default set to 0 means pull the stream with its original
665  // resolution
667  : width(0),
668  height(0),
669  videoGop(30),
670  videoFramerate(15),
671  videoBitrate(400),
672  audioSampleRate(AUDIO_SAMPLE_RATE_48000),
673  audioBitrate(48),
674  audioChannels(1) {}
675 };
676 
679 enum RTMP_STREAM_LIFE_CYCLE_TYPE {
682  RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL = 1,
685  RTMP_STREAM_LIFE_CYCLE_BIND2OWNER = 2,
686 };
687 
694  int width;
698  int height;
706  int bitrate;
720  bool owner;
729  const char* injectStreamUrl;
733  const char* publishUrl;
737  const char* rawStreamUrl;
740  const char* extraInfo;
741 
743  : width(640),
744  height(360),
745  framerate(15),
746  bitrate(500),
747  defaultLayout(1),
748  lifecycle(RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL),
749  owner(true),
752  injectStreamUrl(NULL),
753  publishUrl(NULL),
754  rawStreamUrl(NULL),
755  extraInfo(NULL) {}
756 };
757 
761 enum CAMERA_DIRECTION {
763  CAMERA_REAR = 0,
765  CAMERA_FRONT = 1,
766 };
767 
772 enum CLOUD_PROXY_TYPE {
775  NONE_PROXY = 0,
778  UDP_PROXY = 1,
780 
782  TCP_PROXY = 2,
784 };
785 
789 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
790 
793  CAMERA_DIRECTION cameraDirection;
794 #else
795 
796  char deviceId[MAX_DEVICE_ID_LENGTH];
797 #endif
798 
799 #if defined(__ANDROID__)
800 
803  char cameraId[MAX_DEVICE_ID_LENGTH];
804 #endif
805 
807  bool followEncodeDimensionRatio;
808  CameraCapturerConfiguration() : followEncodeDimensionRatio(true) {
809 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
810  cameraDirection = CAMERA_REAR;
811 
812 #else
813  memset(deviceId, 0, sizeof(deviceId));
814 #endif
815 
816 #if defined(__ANDROID__)
817  memset(cameraId, 0, sizeof(cameraId));
818 #endif
819  }
820 };
830  bool isCaptureWindow; // true - capture window, false - capture display
834  uint32_t displayId;
839  Rectangle screenRect; //Windows only
844  view_t windowId;
857 
859 };
860 
861 #if (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
862 
864 struct SIZE {
867  int width;
870  int height;
871 
872  SIZE() : width(0), height(0) {}
873  SIZE(int ww, int hh) : width(ww), height(hh) {}
874 };
875 #endif
876 
877 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
878 
883 struct ThumbImageBuffer {
887  const char* buffer;
891  unsigned int length;
895  unsigned int width;
899  unsigned int height;
900  ThumbImageBuffer() : buffer(nullptr), length(0), width(0), height(0) {}
901 };
905 enum ScreenCaptureSourceType {
907  ScreenCaptureSourceType_Unknown = -1,
909  ScreenCaptureSourceType_Window = 0,
911  ScreenCaptureSourceType_Screen = 1,
913  ScreenCaptureSourceType_Custom = 2,
914 };
916 struct ScreenCaptureSourceInfo {
920  ScreenCaptureSourceType type;
924  view_t sourceId;
928  const char* sourceName;
932  ThumbImageBuffer thumbImage;
936  ThumbImageBuffer iconImage;
940  const char* processPath;
944  const char* sourceTitle;
950  bool primaryMonitor;
951  bool isOccluded;
955  Rectangle position;
956 #if defined(_WIN32)
957 
960  bool minimizeWindow;
967  view_t sourceDisplayId;
968  ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(nullptr), sourceName(nullptr),
969  processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false), minimizeWindow(false), sourceDisplayId((view_t)-2) {}
970 #else
971  ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(nullptr), sourceName(nullptr), processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false) {}
972 #endif
973 };
977 class IScreenCaptureSourceList {
978  protected:
979  virtual ~IScreenCaptureSourceList(){};
980 
981  public:
987  virtual unsigned int getCount() = 0;
997  virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index) = 0;
1004  virtual void release() = 0;
1005 };
1006 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
1007 
1015 
1017  ~AdvancedAudioOptions() {}
1018 };
1019 
1021  const char* imageUrl;
1022  int fps;
1023  VIDEO_MIRROR_MODE_TYPE mirrorMode;
1024  ImageTrackOptions() : imageUrl(NULL), fps(1), mirrorMode(VIDEO_MIRROR_MODE_DISABLED) {}
1025 };
1026 
1066 
1067  #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1068 
1073  Optional<bool> publishScreenCaptureVideo;
1079  Optional<bool> publishScreenCaptureAudio;
1080  #else
1081 
1105  #endif
1106 
1272 
1277 
1278  ChannelMediaOptions() {}
1279  ~ChannelMediaOptions() {}
1280 
1281  void SetAll(const ChannelMediaOptions& change) {
1282 #define SET_FROM(X) SetFrom(&X, change.X)
1283 
1284  SET_FROM(publishCameraTrack);
1285  SET_FROM(publishSecondaryCameraTrack);
1286  SET_FROM(publishThirdCameraTrack);
1287  SET_FROM(publishFourthCameraTrack);
1288  SET_FROM(publishMicrophoneTrack);
1289 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1290  SET_FROM(publishScreenCaptureVideo);
1291  SET_FROM(publishScreenCaptureAudio);
1292 #else
1293  SET_FROM(publishScreenTrack);
1294  SET_FROM(publishSecondaryScreenTrack);
1295  SET_FROM(publishThirdScreenTrack);
1296  SET_FROM(publishFourthScreenTrack);
1297 #endif
1298  SET_FROM(publishTranscodedVideoTrack);
1299  SET_FROM(publishMixedAudioTrack);
1300  SET_FROM(mixPolicyForMixedTrack);
1301  SET_FROM(publishLipSyncTrack);
1302  SET_FROM(publishCustomAudioTrack);
1303  SET_FROM(publishCustomAudioTrackId);
1304  SET_FROM(publishCustomVideoTrack);
1305  SET_FROM(publishEncodedVideoTrack);
1306  SET_FROM(publishMediaPlayerAudioTrack);
1307  SET_FROM(publishMediaPlayerVideoTrack);
1308  SET_FROM(autoSubscribeAudio);
1309  SET_FROM(autoSubscribeVideo);
1310  SET_FROM(publishMediaPlayerId);
1312  SET_FROM(clientRoleType);
1313  SET_FROM(audienceLatencyLevel);
1314  SET_FROM(defaultVideoStreamType);
1315  SET_FROM(channelProfile);
1316  SET_FROM(audioDelayMs);
1317  SET_FROM(mediaPlayerAudioDelayMs);
1318  SET_FROM(token);
1319  SET_FROM(enableBuiltInMediaEncryption);
1320  SET_FROM(publishRhythmPlayerTrack);
1321  SET_FROM(customVideoTrackId);
1322  SET_FROM(isAudioFilterable);
1323  SET_FROM(isInteractiveAudience);
1324  SET_FROM(parameters);
1325 #undef SET_FROM
1326  }
1327 
1328  bool operator==(const ChannelMediaOptions& o) const {
1329 #define BEGIN_COMPARE() bool b = true
1330 #define ADD_COMPARE(X) b = (b && (X == o.X))
1331 #define END_COMPARE()
1332 
1333  BEGIN_COMPARE();
1334  ADD_COMPARE(publishCameraTrack);
1335  ADD_COMPARE(publishSecondaryCameraTrack);
1336  ADD_COMPARE(publishThirdCameraTrack);
1337  ADD_COMPARE(publishFourthCameraTrack);
1338  ADD_COMPARE(publishMicrophoneTrack);
1339 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1340  ADD_COMPARE(publishScreenCaptureVideo);
1341  ADD_COMPARE(publishScreenCaptureAudio);
1342 #else
1343  ADD_COMPARE(publishScreenTrack);
1344  ADD_COMPARE(publishSecondaryScreenTrack);
1345  ADD_COMPARE(publishThirdScreenTrack);
1346  ADD_COMPARE(publishFourthScreenTrack);
1347 #endif
1348  ADD_COMPARE(publishTranscodedVideoTrack);
1349  ADD_COMPARE(publishMixedAudioTrack);
1350  ADD_COMPARE(mixPolicyForMixedTrack);
1351  ADD_COMPARE(publishLipSyncTrack);
1352  ADD_COMPARE(publishCustomAudioTrack);
1353  ADD_COMPARE(publishCustomAudioTrackId);
1354  ADD_COMPARE(publishCustomVideoTrack);
1355  ADD_COMPARE(publishEncodedVideoTrack);
1356  ADD_COMPARE(publishMediaPlayerAudioTrack);
1357  ADD_COMPARE(publishMediaPlayerVideoTrack);
1358  ADD_COMPARE(autoSubscribeAudio);
1359  ADD_COMPARE(autoSubscribeVideo);
1360  ADD_COMPARE(publishMediaPlayerId);
1361  ADD_COMPARE(enableAudioRecordingOrPlayout);
1362  ADD_COMPARE(clientRoleType);
1363  ADD_COMPARE(audienceLatencyLevel);
1364  ADD_COMPARE(defaultVideoStreamType);
1365  ADD_COMPARE(channelProfile);
1366  ADD_COMPARE(audioDelayMs);
1367  ADD_COMPARE(mediaPlayerAudioDelayMs);
1368  ADD_COMPARE(token);
1369  ADD_COMPARE(enableBuiltInMediaEncryption);
1370  ADD_COMPARE(publishRhythmPlayerTrack);
1371  ADD_COMPARE(customVideoTrackId);
1372  ADD_COMPARE(isAudioFilterable);
1373  ADD_COMPARE(isInteractiveAudience);
1374  ADD_COMPARE(parameters);
1375  END_COMPARE();
1376 
1377 #undef BEGIN_COMPARE
1378 #undef ADD_COMPARE
1379 #undef END_COMPARE
1380  return b;
1381  }
1382 
1383  ChannelMediaOptions& operator=(const ChannelMediaOptions& replace) {
1384  if (this != &replace) {
1385 #define REPLACE_BY(X) ReplaceBy(&X, replace.X)
1386 
1387  REPLACE_BY(publishCameraTrack);
1388  REPLACE_BY(publishSecondaryCameraTrack);
1389  REPLACE_BY(publishThirdCameraTrack);
1390  REPLACE_BY(publishFourthCameraTrack);
1391  REPLACE_BY(publishMicrophoneTrack);
1392 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
1393  REPLACE_BY(publishScreenCaptureVideo);
1394  REPLACE_BY(publishScreenCaptureAudio);
1395 #else
1396  REPLACE_BY(publishScreenTrack);
1397  REPLACE_BY(publishSecondaryScreenTrack);
1398  REPLACE_BY(publishThirdScreenTrack);
1399  REPLACE_BY(publishFourthScreenTrack);
1400 #endif
1401  REPLACE_BY(publishTranscodedVideoTrack);
1402  REPLACE_BY(publishMixedAudioTrack);
1403  REPLACE_BY(mixPolicyForMixedTrack);
1404  REPLACE_BY(publishLipSyncTrack);
1405  REPLACE_BY(publishCustomAudioTrack);
1406  REPLACE_BY(publishCustomAudioTrackId);
1407  REPLACE_BY(publishCustomVideoTrack);
1408  REPLACE_BY(publishEncodedVideoTrack);
1409  REPLACE_BY(publishMediaPlayerAudioTrack);
1410  REPLACE_BY(publishMediaPlayerVideoTrack);
1411  REPLACE_BY(autoSubscribeAudio);
1412  REPLACE_BY(autoSubscribeVideo);
1413  REPLACE_BY(publishMediaPlayerId);
1414  REPLACE_BY(enableAudioRecordingOrPlayout);
1415  REPLACE_BY(clientRoleType);
1416  REPLACE_BY(audienceLatencyLevel);
1417  REPLACE_BY(defaultVideoStreamType);
1418  REPLACE_BY(channelProfile);
1419  REPLACE_BY(audioDelayMs);
1420  REPLACE_BY(mediaPlayerAudioDelayMs);
1421  REPLACE_BY(token);
1422  REPLACE_BY(enableBuiltInMediaEncryption);
1423  REPLACE_BY(publishRhythmPlayerTrack);
1424  REPLACE_BY(customVideoTrackId);
1425  REPLACE_BY(isAudioFilterable);
1426  REPLACE_BY(isInteractiveAudience);
1427  REPLACE_BY(parameters);
1428 #undef REPLACE_BY
1429  }
1430  return *this;
1431  }
1432 };
1433 
1434 enum PROXY_TYPE {
1437  NONE_PROXY_TYPE = 0,
1440  UDP_PROXY_TYPE = 1,
1443  TCP_PROXY_TYPE = 2,
1446  LOCAL_PROXY_TYPE = 3,
1449  TCP_PROXY_AUTO_FALLBACK_TYPE = 4,
1452  HTTP_PROXY_TYPE = 5,
1455  HTTPS_PROXY_TYPE = 6,
1456 };
1457 
1458 enum FeatureType {
1459  VIDEO_VIRTUAL_BACKGROUND = 1,
1460  VIDEO_BEAUTY_EFFECT = 2,
1461 };
1462 
1485 
1487 };
1488 
1500  public:
1501  virtual ~IRtcEngineEventHandler() {}
1502 
1503  virtual const char* eventHandlerType() const { return "event_handler"; }
1504 
1514  virtual void onJoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1515  (void)channel;
1516  (void)uid;
1517  (void)elapsed;
1518  }
1519 
1530  virtual void onRejoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1531  (void)channel;
1532  (void)uid;
1533  (void)elapsed;
1534  }
1535 
1543  virtual void onProxyConnected(const char* channel, uid_t uid, PROXY_TYPE proxyType, const char* localProxyIp, int elapsed) {
1544  (void)channel;
1545  (void)uid;
1546  (void)proxyType;
1547  (void)localProxyIp;
1548  (void)elapsed;
1549  }
1550 
1556  virtual void onError(int err, const char* msg) {
1557  (void)err;
1558  (void)msg;
1559  }
1560 
1576  virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay,
1577  unsigned short lost) __deprecated {
1578  (void)uid;
1579  (void)quality;
1580  (void)delay;
1581  (void)lost;
1582  }
1583 
1589  virtual void onLastmileProbeResult(const LastmileProbeResult& result) {
1590  (void)result;
1591  }
1592 
1619  virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, unsigned int speakerNumber,
1620  int totalVolume) {
1621  (void)speakers;
1622  (void)speakerNumber;
1623  (void)totalVolume;
1624  }
1625 
1634  virtual void onLeaveChannel(const RtcStats& stats) { (void)stats; }
1635 
1643  virtual void onRtcStats(const RtcStats& stats) { (void)stats; }
1644 
1658  virtual void onAudioDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1659  (void)deviceId;
1660  (void)deviceType;
1661  (void)deviceState;
1662  }
1663 
1670  virtual void onAudioMixingPositionChanged(int64_t position) {}
1671 
1678  virtual void onAudioMixingFinished() __deprecated {}
1686  virtual void onAudioEffectFinished(int soundId) {}
1687 
1697  virtual void onVideoDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1698  (void)deviceId;
1699  (void)deviceType;
1700  (void)deviceState;
1701  }
1702 
1725  virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) {
1726  (void)uid;
1727  (void)txQuality;
1728  (void)rxQuality;
1729  }
1730 
1737  virtual void onIntraRequestReceived() {}
1738 
1749  virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo& info) {
1750  (void)info;
1751  }
1752 
1761  (void)info;
1762  }
1763 
1776  virtual void onLastmileQuality(int quality) { (void)quality; }
1777 
1788  virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed) {
1789  (void)source;
1790  (void)width;
1791  (void)height;
1792  (void)elapsed;
1793  }
1794 
1805  virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed) {
1806  (void)source;
1807  (void)elapsed;
1808  }
1809 
1826  virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) __deprecated {
1827  (void)uid;
1828  (void)width;
1829  (void)height;
1830  (void)elapsed;
1831  }
1832 
1841  virtual void onVideoSizeChanged(VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation) {
1842  (void)uid;
1843  (void)width;
1844  (void)height;
1845  (void)rotation;
1846  }
1847 
1874  virtual void onLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_ERROR error) {
1875  (void)source;
1876  (void)state;
1877  (void)error;
1878  }
1879 
1891  virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) {
1892  (void)uid;
1893  (void)state;
1894  (void)reason;
1895  (void)elapsed;
1896  }
1897 
1905  virtual void onFirstRemoteVideoFrame(uid_t userId, int width, int height, int elapsed) {
1906  (void)userId;
1907  (void)width;
1908  (void)height;
1909  (void)elapsed;
1910  }
1911 
1931  virtual void onUserJoined(uid_t uid, int elapsed) {
1932  (void)uid;
1933  (void)elapsed;
1934  }
1935 
1950  virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) {
1951  (void)uid;
1952  (void)reason;
1953  }
1954 
1967  virtual void onUserMuteAudio(uid_t uid, bool muted) {
1968  (void)uid;
1969  (void)muted;
1970  }
1971 
1986  virtual void onUserMuteVideo(uid_t userId, bool muted) {
1987  (void)userId;
1988  (void)muted;
1989  }
1990 
2003  virtual void onUserEnableVideo(uid_t uid, bool enabled) {
2004  (void)uid;
2005  (void)enabled;
2006  }
2007 
2013  virtual void onUserStateChanged(uid_t uid, uint32_t state) {
2014  (void)uid;
2015  (void)state;
2016  }
2017 
2028  virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) __deprecated {
2029  (void)uid;
2030  (void)enabled;
2031  }
2032 
2040  virtual void onLocalAudioStats(const LocalAudioStats& stats) {
2041  (void)stats;
2042  }
2043 
2051  virtual void onRemoteAudioStats(const RemoteAudioStats& stats) {
2052  (void)stats;
2053  }
2054 
2068  virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats& stats) {
2069  (void)source;
2070  (void)stats;
2071  }
2072 
2081  virtual void onRemoteVideoStats(const RemoteVideoStats& stats) {
2082  (void)stats;
2083  }
2089  virtual void onCameraReady() __deprecated {}
2100  virtual void onCameraFocusAreaChanged(int x, int y, int width, int height) {
2101  (void)x;
2102  (void)y;
2103  (void)width;
2104  (void)height;
2105  }
2114  virtual void onCameraExposureAreaChanged(int x, int y, int width, int height) {
2115  (void)x;
2116  (void)y;
2117  (void)width;
2118  (void)height;
2119  }
2120 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
2121 
2151  virtual void onFacePositionChanged(int imageWidth, int imageHeight,
2152  const Rectangle* vecRectangle, const int* vecDistance,
2153  int numFaces) {
2154  (void) imageWidth;
2155  (void) imageHeight;
2156  (void) vecRectangle;
2157  (void) vecDistance;
2158  (void) numFaces;
2159  }
2160 #endif
2161 
2168  virtual void onVideoStopped() __deprecated {}
2169 
2177  virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) {
2178  (void)state;
2179  (void)reason;
2180  }
2181 
2190  virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_ERROR_TYPE errorCode) {
2191  (void)state;
2192  (void)errorCode;
2193  }
2194 
2203  virtual void onConnectionLost() {}
2204 
2216  virtual void onConnectionInterrupted() __deprecated {}
2217 
2221  virtual void onConnectionBanned() __deprecated {}
2222 
2234  virtual void onStreamMessage(uid_t userId, int streamId, const char* data, size_t length, uint64_t sentTs) {
2235  (void)userId;
2236  (void)streamId;
2237  (void)data;
2238  (void)length;
2239  (void)sentTs;
2240  }
2241 
2254  virtual void onStreamMessageError(uid_t userId, int streamId, int code, int missed, int cached) {
2255  (void)userId;
2256  (void)streamId;
2257  (void)code;
2258  (void)missed;
2259  (void)cached;
2260  }
2261 
2271  virtual void onRequestToken() {}
2272 
2284  virtual void onTokenPrivilegeWillExpire(const char* token) {
2285  (void)token;
2286  }
2287 
2293  virtual void onLicenseValidationFailure(LICENSE_ERROR_TYPE error) {
2294  (void)error;
2295  }
2296 
2307  virtual void onFirstLocalAudioFramePublished(int elapsed) {
2308  (void)elapsed;
2309  }
2310 
2318  virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) __deprecated {
2319  (void)uid;
2320  (void)elapsed;
2321  }
2322 
2339  virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) __deprecated {
2340  (void)uid;
2341  (void)elapsed;
2342  }
2343 
2358  virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error) {
2359  (void)state;
2360  (void)error;
2361  }
2362 
2379  virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) {
2380  (void)uid;
2381  (void)state;
2382  (void)reason;
2383  (void)elapsed;
2384  }
2385 
2399  virtual void onActiveSpeaker(uid_t userId) { (void)userId; }
2404  virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result) { (void)result; }
2422  virtual void onSnapshotTaken(uid_t uid, const char* filePath, int width, int height, int errCode) {
2423  (void)uid;
2424  (void)filePath;
2425  (void)width;
2426  (void)height;
2427  (void)errCode;
2428  }
2436  virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions& newRoleOptions) {
2437  (void)oldRole;
2438  (void)newRole;
2439  (void)newRoleOptions;
2440  }
2448  virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole) {
2449  (void)reason;
2450  (void)currentRole;
2451  }
2459  virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) {
2460  (void)deviceType;
2461  (void)volume;
2462  (void)muted;
2463  }
2464 
2476  virtual void onRtmpStreamingStateChanged(const char* url, RTMP_STREAM_PUBLISH_STATE state,
2477  RTMP_STREAM_PUBLISH_ERROR_TYPE errCode) {
2478  (void)url;
2479  (void)state;
2480  (void)errCode;
2481  }
2482 
2488  virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode) {
2489  (void)url;
2490  (void)eventCode;
2491  }
2492 
2503  virtual void onTranscodingUpdated() {}
2504 
2520  virtual void onAudioRoutingChanged(int routing) __deprecated { (void)routing; }
2521 
2530  virtual void onAudioRoutingChanged(int deviceType, int routing) {
2531  (void)deviceType;
2532  (void)routing;
2533  }
2565  virtual void onChannelMediaRelayStateChanged(int state, int code) {
2566  (void)state;
2567  (void)code;
2568  }
2569 
2593  virtual void onChannelMediaRelayEvent(int code) __deprecated {
2594  (void)code;
2595  }
2609  virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) {
2610  (void)isFallbackOrRecover;
2611  }
2629  virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover) {
2630  (void)uid;
2631  (void)isFallbackOrRecover;
2632  }
2633 
2648  virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost,
2649  unsigned short rxKBitRate) __deprecated {
2650  (void)uid;
2651  (void)delay;
2652  (void)lost;
2653  (void)rxKBitRate;
2654  }
2655 
2673  virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost,
2674  unsigned short rxKBitRate) __deprecated {
2675  (void)uid;
2676  (void)delay;
2677  (void)lost;
2678  (void)rxKBitRate;
2679  }
2680 
2690  CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) {
2691  (void)state;
2692  (void)reason;
2693  }
2694 
2701  virtual void onWlAccMessage(WLACC_MESSAGE_REASON reason, WLACC_SUGGEST_ACTION action, const char* wlAccMsg) {
2702  (void)reason;
2703  (void)action;
2704  (void)wlAccMsg;
2705  }
2706 
2712  virtual void onWlAccStats(WlAccStats currentStats, WlAccStats averageStats) {
2713  (void)currentStats;
2714  (void)averageStats;
2715  }
2716 
2726  virtual void onNetworkTypeChanged(NETWORK_TYPE type) {
2727  (void)type;
2728  }
2729 
2737  virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) {
2738  (void)errorType;
2739  }
2740 
2750  virtual void onPermissionError(PERMISSION_TYPE permissionType) {
2751  (void)permissionType;
2752  }
2753 
2754 #if defined(__ANDROID__)
2755 
2759  virtual void onPermissionGranted(agora::rtc::PERMISSION_TYPE permissionType) {}
2760 #endif
2761 
2771  virtual void onLocalUserRegistered(uid_t uid, const char* userAccount) {
2772  (void)uid;
2773  (void)userAccount;
2774  }
2775 
2784  virtual void onUserInfoUpdated(uid_t uid, const UserInfo& info) {
2785  (void)uid;
2786  (void)info;
2787  }
2794  virtual void onUploadLogResult(const char* requestId, bool success, UPLOAD_ERROR_REASON reason) {
2795  (void)requestId;
2796  (void)success;
2797  (void)reason;
2798  }
2799 
2809  virtual void onAudioSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
2810  (void)channel;
2811  (void)uid;
2812  (void)oldState;
2813  (void)newState;
2814  (void)elapseSinceLastState;
2815  }
2816 
2826  virtual void onVideoSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
2827  (void)channel;
2828  (void)uid;
2829  (void)oldState;
2830  (void)newState;
2831  (void)elapseSinceLastState;
2832  }
2833 
2842  virtual void onAudioPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
2843  (void)channel;
2844  (void)oldState;
2845  (void)newState;
2846  (void)elapseSinceLastState;
2847  }
2848 
2858  virtual void onVideoPublishStateChanged(VIDEO_SOURCE_TYPE source, const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
2859  (void)source;
2860  (void)channel;
2861  (void)oldState;
2862  (void)newState;
2863  (void)elapseSinceLastState;
2864  }
2875  virtual void onExtensionEvent(const char* provider, const char* extension, const char* key, const char* value) {
2876  (void)provider;
2877  (void)extension;
2878  (void)key;
2879  (void)value;
2880  }
2889  virtual void onExtensionStarted(const char* provider, const char* extension) {
2890  (void)provider;
2891  (void)extension;
2892  }
2901  virtual void onExtensionStopped(const char* provider, const char* extension) {
2902  (void)provider;
2903  (void)extension;
2904  }
2916  virtual void onExtensionError(const char* provider, const char* extension, int error, const char* message) {
2917  (void)provider;
2918  (void)extension;
2919  (void)error;
2920  (void)message;
2921  }
2928  virtual void onUserAccountUpdated(uid_t uid, const char* userAccount){
2929  (void)uid;
2930  (void)userAccount;
2931  }
2932 
2939  virtual void onLocalVideoTranscoderError(const TranscodingVideoStream& stream, VIDEO_TRANSCODER_ERROR error){
2940  (void)stream;
2941  (void)error;
2942  }
2943 
2951  virtual void onVideoRenderingTracingResult(uid_t uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo) {
2952  (void)uid;
2953  (void)currentEvent;
2954  (void)tracingInfo;
2955  }
2956 };
2957 
2962  public:
2963  virtual ~IVideoDeviceCollection() {}
2964 
2970  virtual int getCount() = 0;
2971 
2981  virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2982 
2993  virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH],
2994  char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
2995 
2999  virtual void release() = 0;
3000 };
3001 
3006  public:
3007  virtual ~IVideoDeviceManager() {}
3020 
3031  virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3032 
3041  virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3042 
3043 #if defined(_WIN32) || (defined(__linux__) && !defined(__ANDROID__)) || \
3044  (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
3045 
3062  virtual int numberOfCapabilities(const char* deviceIdUTF8) = 0;
3063 
3081  virtual int getCapability(const char* deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat& capability) = 0;
3082 #endif
3083 
3096  virtual int startDeviceTest(view_t hwnd) = 0;
3097 
3104  virtual int stopDeviceTest() = 0;
3105 
3109  virtual void release() = 0;
3110 };
3111 
3112 
3128  const char* appId;
3134  void* context;
3138  CHANNEL_PROFILE_TYPE channelProfile;
3139 
3143  const char* license;
3144 
3152  AUDIO_SCENARIO_TYPE audioScenario;
3161  unsigned int areaCode;
3162 
3179 
3184 
3193 
3200 
3207 
3209  : eventHandler(NULL), appId(NULL), context(NULL),
3210  channelProfile(CHANNEL_PROFILE_LIVE_BROADCASTING),
3211  license(NULL),
3212  audioScenario(AUDIO_SCENARIO_DEFAULT),
3213  areaCode(AREA_CODE_GLOB),
3215 };
3216 
3220 public:
3226  {
3233  };
3238  {
3239  INVALID_METADATA_SIZE_IN_BYTE = -1,
3240  DEFAULT_METADATA_SIZE_IN_BYTE = 512,
3241  MAX_METADATA_SIZE_IN_BYTE = 1024
3242  };
3243 
3246  struct Metadata
3247  {
3252  unsigned int uid;
3255  unsigned int size;
3258  unsigned char *buffer;
3262  long long timeStampMs;
3263  };
3264 
3265  virtual ~IMetadataObserver() {}
3266 
3277  virtual int getMaxMetadataSize() { return DEFAULT_METADATA_SIZE_IN_BYTE; }
3278 
3289  virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type) = 0;
3290 
3298  virtual void onMetadataReceived(const Metadata &metadata) = 0;
3299 };
3300 
3301 // The error codes for media streaming
3302 // GENERATED_JAVA_ENUM_PACKAGE: io.agora.streaming
3303 enum DIRECT_CDN_STREAMING_ERROR {
3304  // No error occurs.
3305  DIRECT_CDN_STREAMING_ERROR_OK = 0,
3306  // A general error occurs (no specified reason).
3307  DIRECT_CDN_STREAMING_ERROR_FAILED = 1,
3308  // Audio publication error.
3309  DIRECT_CDN_STREAMING_ERROR_AUDIO_PUBLICATION = 2,
3310  // Video publication error.
3311  DIRECT_CDN_STREAMING_ERROR_VIDEO_PUBLICATION = 3,
3312 
3313  DIRECT_CDN_STREAMING_ERROR_NET_CONNECT = 4,
3314  // Already exist stream name.
3315  DIRECT_CDN_STREAMING_ERROR_BAD_NAME = 5,
3316 };
3317 
3318 // The connection state of media streaming
3319 // GENERATED_JAVA_ENUM_PACKAGE: io.agora.streaming
3320 enum DIRECT_CDN_STREAMING_STATE {
3321 
3322  DIRECT_CDN_STREAMING_STATE_IDLE = 0,
3323 
3324  DIRECT_CDN_STREAMING_STATE_RUNNING = 1,
3325 
3326  DIRECT_CDN_STREAMING_STATE_STOPPED = 2,
3327 
3328  DIRECT_CDN_STREAMING_STATE_FAILED = 3,
3329 
3330  DIRECT_CDN_STREAMING_STATE_RECOVERING = 4,
3331 };
3332 
3341 
3346 
3350  int fps;
3351 
3356 
3361 };
3362 
3368  public:
3369  virtual ~IDirectCdnStreamingEventHandler() {}
3370 
3377  virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_ERROR error, const char* message) {
3378  (void)state;
3379  (void)error;
3380  (void)message;
3381  };
3382 
3383  virtual void onDirectCdnStreamingStats(const DirectCdnStreamingStats& stats) {
3384  (void)stats;
3385  };
3386 };
3387 
3432 
3433 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
3434 
3440  Optional<bool> publishScreenTrack;
3447  Optional<bool> publishSecondaryScreenTrack;
3454  Optional<bool> publishThirdScreenTrack;
3461  Optional<bool> publishFourthScreenTrack;
3462 
3469  Optional<bool> publishLoopbackAudioTrack;
3470 
3477  Optional<const char*> publishLoopbackDeviceName;
3478 #endif
3479 
3482 
3483  void SetAll(const DirectCdnStreamingMediaOptions& change) {
3484 #define SET_FROM(X) SetFrom(&X, change.X)
3485  SET_FROM(publishCameraTrack);
3486  SET_FROM(publishMicrophoneTrack);
3487  SET_FROM(publishCustomAudioTrack);
3488  SET_FROM(publishCustomVideoTrack);
3489  SET_FROM(publishMediaPlayerAudioTrack);
3490  SET_FROM(publishMediaPlayerId);
3491  SET_FROM(customVideoTrackId);
3492 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
3493  SET_FROM(publishScreenTrack);
3494  SET_FROM(publishSecondaryScreenTrack);
3495  SET_FROM(publishThirdScreenTrack);
3496  SET_FROM(publishFourthScreenTrack);
3497  SET_FROM(publishLoopbackAudioTrack);
3498  SET_FROM(publishLoopbackDeviceName);
3499 #endif
3500 #undef SET_FROM
3501  }
3502 
3503  bool operator==(const DirectCdnStreamingMediaOptions& o) const {
3504 #define BEGIN_COMPARE() bool b = true
3505 #define ADD_COMPARE(X) b = (b && (X == o.X))
3506 #define END_COMPARE()
3507 
3508  BEGIN_COMPARE();
3509  ADD_COMPARE(publishCameraTrack);
3510  ADD_COMPARE(publishMicrophoneTrack);
3511  ADD_COMPARE(publishCustomAudioTrack);
3512  ADD_COMPARE(publishCustomVideoTrack);
3513  ADD_COMPARE(publishMediaPlayerAudioTrack);
3514  ADD_COMPARE(customVideoTrackId);
3515  ADD_COMPARE(publishMediaPlayerId);
3516 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
3517  ADD_COMPARE(publishScreenTrack);
3518  ADD_COMPARE(publishSecondaryScreenTrack);
3519  ADD_COMPARE(publishThirdScreenTrack);
3520  ADD_COMPARE(publishFourthScreenTrack);
3521  ADD_COMPARE(publishLoopbackAudioTrack);
3522  ADD_COMPARE(publishLoopbackDeviceName);
3523 #endif
3524  END_COMPARE();
3525 
3526 #undef BEGIN_COMPARE
3527 #undef ADD_COMPARE
3528 #undef END_COMPARE
3529  return b;
3530  }
3531 
3532  DirectCdnStreamingMediaOptions& operator=(const DirectCdnStreamingMediaOptions& replace) {
3533  if (this != &replace) {
3534 #define REPLACE_BY(X) ReplaceBy(&X, replace.X)
3535 
3536  REPLACE_BY(publishCameraTrack);
3537  REPLACE_BY(publishMicrophoneTrack);
3538  REPLACE_BY(publishCustomAudioTrack);
3539  REPLACE_BY(publishCustomVideoTrack);
3540  REPLACE_BY(publishMediaPlayerAudioTrack);
3541  REPLACE_BY(customVideoTrackId);
3542  REPLACE_BY(publishMediaPlayerId);
3543 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
3544  REPLACE_BY(publishScreenTrack);
3545  REPLACE_BY(publishSecondaryScreenTrack);
3546  REPLACE_BY(publishThirdScreenTrack);
3547  REPLACE_BY(publishFourthScreenTrack);
3548  REPLACE_BY(publishLoopbackAudioTrack);
3549  REPLACE_BY(publishLoopbackDeviceName);
3550 #endif
3551 #undef REPLACE_BY
3552  }
3553  return *this;
3554  }
3555 };
3556 
3564  agora::media::MEDIA_SOURCE_TYPE mediaSourceType;
3565 
3571  uid_t remoteUid;
3572 
3584  const char* channelId;
3585 
3589  uid_t localUid;
3590 
3591  ExtensionInfo()
3592  : mediaSourceType(agora::media::UNKNOWN_MEDIA_SOURCE),
3593  remoteUid(0),
3594  channelId(NULL),
3595  localUid(0) {}
3596 };
3597 
3598 class IMediaPlayer;
3599 class IMediaRecorder;
3600 
3609  public:
3634  virtual void release(bool sync = false) = 0;
3635 
3652  virtual int initialize(const RtcEngineContext& context) = 0;
3653 
3663  virtual int queryInterface(INTERFACE_ID_TYPE iid, void** inter) = 0;
3664 
3665 
3671  virtual const char* getVersion(int* build) = 0;
3672 
3678  virtual const char* getErrorDescription(int code) = 0;
3679 
3689  virtual int queryCodecCapability(CodecCapInfo* codecInfo, int& size) = 0;
3690 
3700  virtual int queryDeviceScore() = 0;
3701 
3740  virtual int preloadChannel(const char* token, const char* channelId, uid_t uid) = 0;
3741 
3782  virtual int preloadChannel(const char* token, const char* channelId, const char* userAccount) = 0;
3783 
3803  virtual int updatePreloadChannelToken(const char* token) = 0;
3804 
3864  virtual int joinChannel(const char* token, const char* channelId, const char* info,
3865  uid_t uid) = 0;
3866 
3934  virtual int joinChannel(const char* token, const char* channelId, uid_t uid,
3935  const ChannelMediaOptions& options) = 0;
3936 
3945  virtual int updateChannelMediaOptions(const ChannelMediaOptions& options) = 0;
3946 
3964  virtual int leaveChannel() = 0;
3965 
3985  virtual int leaveChannel(const LeaveChannelOptions& options) = 0;
3986 
4003  virtual int renewToken(const char* token) = 0;
4004 
4023  virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile) = 0;
4024 
4048  virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0;
4049 
4071  virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0;
4072 
4092  virtual int startEchoTest() = 0;
4093 
4110  virtual int startEchoTest(int intervalInSeconds) = 0;
4111 
4120  virtual int startEchoTest(const EchoTestConfiguration& config) = 0;
4121 
4128  virtual int stopEchoTest() = 0;
4129 
4130 #if defined(__APPLE__) && TARGET_OS_IOS
4131 
4140  virtual int enableMultiCamera(bool enabled, const CameraCapturerConfiguration& config) = 0;
4141 #endif
4142 
4157  virtual int enableVideo() = 0;
4158 
4168  virtual int disableVideo() = 0;
4169 
4181  virtual int startPreview() = 0;
4182 
4190  virtual int startPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
4191 
4199  virtual int stopPreview() = 0;
4200 
4208  virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
4209 
4243  virtual int startLastmileProbeTest(const LastmileProbeConfig& config) = 0;
4244 
4246  virtual int stopLastmileProbeTest() = 0;
4247 
4265 
4275  virtual int setBeautyEffectOptions(bool enabled, const BeautyOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4302  virtual int setLowlightEnhanceOptions(bool enabled, const LowlightEnhanceOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4329  virtual int setVideoDenoiserOptions(bool enabled, const VideoDenoiserOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4356  virtual int setColorEnhanceOptions(bool enabled, const ColorEnhanceOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4357 
4390  virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0;
4391 
4414  virtual int setupRemoteVideo(const VideoCanvas& canvas) = 0;
4415 
4432  virtual int setupLocalVideo(const VideoCanvas& canvas) = 0;
4433 
4452  virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType) = 0;
4453 
4467  virtual int enableAudio() = 0;
4468 
4480  virtual int disableAudio() = 0;
4481 
4503  virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) __deprecated = 0;
4504 
4520  virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile) = 0;
4529  virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario) = 0;
4552  virtual int enableLocalAudio(bool enabled) = 0;
4553 
4579  virtual int muteLocalAudioStream(bool mute) = 0;
4580 
4622  virtual int muteAllRemoteAudioStreams(bool mute) = 0;
4623 
4645  virtual int setDefaultMuteAllRemoteAudioStreams(bool mute) __deprecated = 0;
4646 
4663  virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0;
4664 
4676  virtual int muteLocalVideoStream(bool mute) = 0;
4677 
4702  virtual int enableLocalVideo(bool enabled) = 0;
4703 
4743  virtual int muteAllRemoteVideoStreams(bool mute) = 0;
4744 
4766  virtual int setDefaultMuteAllRemoteVideoStreams(bool mute) __deprecated = 0;
4767 
4784  virtual int muteRemoteVideoStream(uid_t uid, bool mute) = 0;
4785 
4803  virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0;
4804 
4815  virtual int setRemoteVideoSubscriptionOptions(uid_t uid, const VideoSubscriptionOptions &options) = 0;
4816 
4826  virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType) = 0;
4827 
4842  virtual int setSubscribeAudioBlocklist(uid_t* uidList, int uidNumber) = 0;
4843 
4860  virtual int setSubscribeAudioAllowlist(uid_t* uidList, int uidNumber) = 0;
4861 
4876  virtual int setSubscribeVideoBlocklist(uid_t* uidList, int uidNumber) = 0;
4877 
4894  virtual int setSubscribeVideoAllowlist(uid_t* uidList, int uidNumber) = 0;
4895 
4922  virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad) = 0;
4923 
4944  virtual int startAudioRecording(const char* filePath,
4945  AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
4967  virtual int startAudioRecording(const char* filePath,
4968  int sampleRate,
4969  AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
4970 
4989  virtual int startAudioRecording(const AudioRecordingConfiguration& config) = 0;
4990 
4997 
5006  virtual int stopAudioRecording() = 0;
5007 
5019 
5031  virtual int destroyMediaPlayer(agora_refptr<IMediaPlayer> media_player) = 0;
5032 
5044 
5054  virtual int destroyMediaRecorder(agora_refptr<IMediaRecorder> mediaRecorder) = 0;
5055 
5097  virtual int startAudioMixing(const char* filePath, bool loopback, int cycle) = 0;
5098 
5142  virtual int startAudioMixing(const char* filePath, bool loopback, int cycle, int startPos) = 0;
5143 
5152  virtual int stopAudioMixing() = 0;
5153 
5162  virtual int pauseAudioMixing() = 0;
5163 
5172  virtual int resumeAudioMixing() = 0;
5173 
5182  virtual int selectAudioTrack(int index) = 0;
5191  virtual int getAudioTrackCount() = 0;
5192 
5207  virtual int adjustAudioMixingVolume(int volume) = 0;
5208 
5216  virtual int adjustAudioMixingPublishVolume(int volume) = 0;
5217 
5225  virtual int getAudioMixingPublishVolume() = 0;
5226 
5234  virtual int adjustAudioMixingPlayoutVolume(int volume) = 0;
5235 
5243  virtual int getAudioMixingPlayoutVolume() = 0;
5244 
5253  virtual int getAudioMixingDuration() = 0;
5254 
5265 
5275  virtual int setAudioMixingPosition(int pos /*in ms*/) = 0;
5276 
5287  virtual int setAudioMixingDualMonoMode(media::AUDIO_MIXING_DUAL_MONO_MODE mode) = 0;
5288 
5305  virtual int setAudioMixingPitch(int pitch) = 0;
5313  virtual int getEffectsVolume() = 0;
5323  virtual int setEffectsVolume(int volume) = 0;
5351  virtual int preloadEffect(int soundId, const char* filePath, int startPos = 0) = 0;
5397  virtual int playEffect(int soundId, const char* filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0) = 0;
5428  virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false) = 0;
5429 
5439  virtual int getVolumeOfEffect(int soundId) = 0;
5440 
5451  virtual int setVolumeOfEffect(int soundId, int volume) = 0;
5460  virtual int pauseEffect(int soundId) = 0;
5467  virtual int pauseAllEffects() = 0;
5476  virtual int resumeEffect(int soundId) = 0;
5483  virtual int resumeAllEffects() = 0;
5492  virtual int stopEffect(int soundId) = 0;
5499  virtual int stopAllEffects() = 0;
5508  virtual int unloadEffect(int soundId) = 0;
5515  virtual int unloadAllEffects() = 0;
5534  virtual int getEffectDuration(const char* filePath) = 0;
5551  virtual int setEffectPosition(int soundId, int pos) = 0;
5566  virtual int getEffectCurrentPosition(int soundId) = 0;
5579  virtual int enableSoundPositionIndication(bool enabled) = 0;
5600  virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0;
5601 
5611  virtual int enableSpatialAudio(bool enabled) = 0;
5612 
5622  virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams& params) = 0;
5623 
5661  virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset) = 0;
5662 
5700  virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset) = 0;
5701 
5738  virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset) = 0;
5739 
5815  virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2) = 0;
5816 
5859  virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset,
5860  int param1, int param2) = 0;
5861 
5874  virtual int setVoiceConversionParameters(VOICE_CONVERSION_PRESET preset,
5875  int param1, int param2) = 0;
5876 
5887  virtual int setLocalVoicePitch(double pitch) = 0;
5888 
5899  virtual int setLocalVoiceFormant(double formantRatio) = 0;
5900 
5912  virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency,
5913  int bandGain) = 0;
5914 
5923  virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value) = 0;
5935  virtual int setHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset) = 0;
5945  virtual int setHeadphoneEQParameters(int lowGain, int highGain) = 0;
5946 
5962  virtual int setLogFile(const char* filePath) = 0;
5963 
5986  virtual int setLogFilter(unsigned int filter) = 0;
5987 
6004  virtual int setLogLevel(commons::LOG_LEVEL level) = 0;
6005 
6020  virtual int setLogFileSize(unsigned int fileSizeInKBytes) = 0;
6021 
6030  virtual int uploadLogFile(agora::util::AString& requestId) = 0;
6031 
6047  virtual int writeLog(commons::LOG_LEVEL level, const char* fmt, ...) = 0;
6048 
6067  virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
6088  virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode,
6089  VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
6090 
6091  // The following APIs are either deprecated and going to deleted.
6092 
6110  virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) = 0;
6111 
6123  virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
6124 
6141  virtual int enableDualStreamMode(bool enabled) __deprecated = 0;
6142 
6161  virtual int enableDualStreamMode(bool enabled, const SimulcastStreamConfig& streamConfig) __deprecated = 0;
6162 
6163 
6177  virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode) = 0;
6178 
6192  virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode,
6193  const SimulcastStreamConfig& streamConfig) = 0;
6194 
6209  virtual int enableCustomAudioLocalPlayback(track_id_t trackId, bool enabled) = 0;
6210 
6229  virtual int setRecordingAudioFrameParameters(int sampleRate, int channel,
6230  RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
6231  int samplesPerCall) = 0;
6232 
6252  virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel,
6253  RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
6254  int samplesPerCall) = 0;
6255 
6271  virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall) = 0;
6272 
6292  virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel,
6293  RAW_AUDIO_FRAME_OP_MODE_TYPE mode,
6294  int samplesPerCall) = 0;
6295 
6311  virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel) = 0;
6312 
6323  virtual int enableAudioSpectrumMonitor(int intervalInMS = 100) = 0;
6331  virtual int disableAudioSpectrumMonitor() = 0;
6332 
6358 
6372  virtual int adjustRecordingSignalVolume(int volume) = 0;
6373 
6385  virtual int muteRecordingSignal(bool mute) = 0;
6386 
6400  virtual int adjustPlaybackSignalVolume(int volume) = 0;
6401 
6402  /*
6403  * Adjust the playback volume of the user specified by uid.
6404  *
6405  * You can call this method to adjust the playback volume of the user specified by uid
6406  * in call. If you want to adjust playback volume of the multi user, you can call this
6407  * this method multi times.
6408  *
6409  * @note
6410  * Please call this method after join channel.
6411  * This method adjust the playback volume of specified user.
6412  *
6413  * @param uid Remote user ID.
6414  * @param volume The playback volume of the specified remote user. The value ranges between 0 and 400, including the following:
6415  * 0: Mute.
6416  * 100: (Default) Original volume.
6417  * 400: Four times the original volume with signal-clipping protection.
6418  * @return
6419  * - 0: Success.
6420  * - < 0: Failure.
6421  */
6422  virtual int adjustUserPlaybackSignalVolume(unsigned int uid, int volume) = 0;
6423 
6445  virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0;
6446 
6462  virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0;
6463 
6477  virtual int setHighPriorityUserList(uid_t* uidList, int uidNum, STREAM_FALLBACK_OPTIONS option) = 0;
6478 
6497  virtual int enableLoopbackRecording(bool enabled, const char* deviceName = NULL) = 0;
6498 
6499 
6512  virtual int adjustLoopbackSignalVolume(int volume) = 0;
6513 
6520  virtual int getLoopbackRecordingVolume() = 0;
6521 
6533  virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters) = 0;
6534 
6545  virtual int setInEarMonitoringVolume(int volume) = 0;
6546 
6547 #if defined (_WIN32) || defined(__linux__) || defined(__ANDROID__)
6548  virtual int loadExtensionProvider(const char* path, bool unload_after_use = false) = 0;
6549 #endif
6550 
6563  const char* provider, const char* key, const char* value) = 0;
6564 
6577  virtual int registerExtension(const char* provider, const char* extension,
6578  agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6579 
6600  virtual int enableExtension(
6601  const char* provider, const char* extension, bool enable=true, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6602 
6623  virtual int enableExtension(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, bool enable = true) = 0;
6624 
6638  const char* provider, const char* extension,
6639  const char* key, const char* value, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6640 
6655  const char* provider, const char* extension,
6656  const char* key, char* value, int buf_len, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6657 
6671  virtual int setExtensionProperty(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, const char* key, const char* value) = 0;
6672 
6687  virtual int getExtensionProperty(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, const char* key, char* value, int buf_len) = 0;
6688 
6701 
6702 
6710  virtual video_track_id_t createCustomVideoTrack() = 0;
6711 
6719  virtual video_track_id_t createCustomEncodedVideoTrack(const SenderOptions& sender_option) = 0;
6720 
6729  virtual int destroyCustomVideoTrack(video_track_id_t video_track_id) = 0;
6730 
6739  virtual int destroyCustomEncodedVideoTrack(video_track_id_t video_track_id) = 0;
6740 
6741 
6742 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
6743 
6752  virtual int switchCamera() = 0;
6753 
6761  virtual bool isCameraZoomSupported() = 0;
6762 
6770  virtual bool isCameraFaceDetectSupported() = 0;
6771 
6779  virtual bool isCameraTorchSupported() = 0;
6780 
6788  virtual bool isCameraFocusSupported() = 0;
6789 
6797  virtual bool isCameraAutoFocusFaceModeSupported() = 0;
6798 
6808  virtual int setCameraZoomFactor(float factor) = 0;
6809 
6818  virtual int enableFaceDetection(bool enabled) = 0;
6819 
6824  virtual float getCameraMaxZoomFactor() = 0;
6825 
6835  virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0;
6836 
6844  virtual int setCameraTorchOn(bool isOn) = 0;
6845 
6853  virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0;
6854 
6866  virtual bool isCameraExposurePositionSupported() = 0;
6867 
6883  virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0;
6884 
6897  virtual bool isCameraExposureSupported() = 0;
6898 
6909  virtual int setCameraExposureFactor(float factor) = 0;
6910 
6911 #if defined(__APPLE__)
6912 
6919  virtual bool isCameraAutoExposureFaceModeSupported() = 0;
6920 
6921 
6929  virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0;
6930 
6936  virtual int setCameraStabilizationMode(CAMERA_STABILIZATION_MODE mode) = 0;
6937 #endif
6938 
6972  virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0;
6973 
7000  virtual int setEnableSpeakerphone(bool speakerOn) = 0;
7001 
7009  virtual bool isSpeakerphoneEnabled() = 0;
7010 
7018  virtual int setRouteInCommunicationMode(int route) = 0;
7019 
7020 #endif // __ANDROID__ || (__APPLE__ && TARGET_OS_IOS)
7021 
7022 #if defined(__APPLE__)
7023 
7030  virtual bool isSupportPortraitCenterStage() = 0;
7031 
7040  virtual int enablePortraitCenterStage(bool enabled) = 0;
7041 #endif
7042 
7043 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
7044 
7054  virtual IScreenCaptureSourceList* getScreenCaptureSources(const SIZE& thumbSize, const SIZE& iconSize, const bool includeScreen) = 0;
7055 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
7056 #if (defined(__APPLE__) && TARGET_OS_IOS)
7057 
7081  virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction) = 0;
7082 #endif // __APPLE__ && TARGET_OS_IOS
7083 
7084 #if defined(_WIN32) || (defined(__APPLE__) && !TARGET_OS_IPHONE && TARGET_OS_MAC)
7085 
7106  virtual int startScreenCaptureByDisplayId(uint32_t displayId, const Rectangle& regionRect,
7107  const ScreenCaptureParameters& captureParams) = 0;
7108 
7109 #endif // __APPLE__ && TARGET_OS_MAC && !TARGET_OS_IPHONE
7110 
7111 #if defined(_WIN32)
7112 
7136  virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect,
7137  const Rectangle& regionRect,
7138  const ScreenCaptureParameters& captureParams) __deprecated = 0;
7139 
7140 
7141 #endif // _WIN32
7142 
7143 #if defined(__ANDROID__)
7144 
7150  virtual int getAudioDeviceInfo(DeviceInfo& deviceInfo) = 0;
7151 #endif // __ANDROID__
7152 
7166  virtual int setRemoteRenderRotation(uid_t uid, VIDEO_ORIENTATION rotation) = 0;
7167 
7168 #if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
7169 
7187  virtual int startScreenCaptureByWindowId(view_t windowId, const Rectangle& regionRect,
7188  const ScreenCaptureParameters& captureParams) = 0;
7189 
7205  virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint) = 0;
7206 
7223  virtual int updateScreenCaptureRegion(const Rectangle& regionRect) = 0;
7224 
7238  virtual int updateScreenCaptureParameters(const ScreenCaptureParameters& captureParams) = 0;
7239 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
7240 
7241 #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
7242 
7251  virtual int startScreenCapture(const ScreenCaptureParameters2& captureParams) = 0;
7252 
7262  virtual int updateScreenCapture(const ScreenCaptureParameters2& captureParams) = 0;
7263 
7275  virtual int queryScreenCaptureCapability() = 0;
7276 #endif
7277 
7278 #if defined(_WIN32) || defined(__APPLE__) || defined(__ANDROID__)
7279 
7295  virtual int setScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario) = 0;
7296 
7304  virtual int stopScreenCapture() = 0;
7305 #endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC) || __ANDROID__
7306 
7323  virtual int getCallId(agora::util::AString& callId) = 0;
7324 
7339  virtual int rate(const char* callId, int rating,
7340  const char* description) = 0; // 0~10
7341 
7355  virtual int complain(const char* callId, const char* description) = 0;
7356 
7377  virtual int startRtmpStreamWithoutTranscoding(const char* url) = 0;
7378 
7400  virtual int startRtmpStreamWithTranscoding(const char* url, const LiveTranscoding& transcoding) = 0;
7401 
7411  virtual int updateRtmpTranscoding(const LiveTranscoding& transcoding) = 0;
7430  virtual int stopRtmpStream(const char* url) = 0;
7431 
7432 
7433  virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration& config) = 0;
7434  virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration& config) = 0;
7435  virtual int stopLocalVideoTranscoder() = 0;
7445  virtual int startCameraCapture(VIDEO_SOURCE_TYPE sourceType, const CameraCapturerConfiguration& config) = 0;
7446 
7457  virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType) = 0;
7469  virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
7481  virtual int setScreenCaptureOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;
7482 
7492  virtual int startScreenCapture(VIDEO_SOURCE_TYPE sourceType, const ScreenCaptureConfiguration& config) = 0;
7493 
7504  virtual int stopScreenCapture(VIDEO_SOURCE_TYPE sourceType) = 0;
7505 
7510  virtual CONNECTION_STATE_TYPE getConnectionState() = 0;
7511 
7512  // The following APIs are not implemented yet.
7513  virtual bool registerEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
7514  virtual bool unregisterEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
7515  virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0;
7516 
7528  virtual int registerPacketObserver(IPacketObserver* observer) = 0;
7529 
7552  virtual int setEncryptionMode(const char* encryptionMode) __deprecated = 0;
7553 
7570  virtual int setEncryptionSecret(const char* secret) __deprecated = 0;
7571 
7593  virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0;
7594 
7626  virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0;
7627 
7637  virtual int createDataStream(int* streamId, DataStreamConfig& config) = 0;
7638 
7669  virtual int sendStreamMessage(int streamId, const char* data, size_t length) = 0;
7670 
7692  virtual int addVideoWatermark(const RtcImage& watermark) = 0;
7693 
7719  virtual int addVideoWatermark(const char* watermarkUrl, const WatermarkOptions& options) = 0;
7720 
7728  virtual int clearVideoWatermarks() = 0;
7729 
7730  // The following APIs are either deprecated and going to deleted.
7731 
7740  virtual int pauseAudio() __deprecated = 0;
7749  virtual int resumeAudio() __deprecated = 0;
7750 
7768  virtual int enableWebSdkInteroperability(bool enabled) __deprecated = 0;
7769 
7780  const char* id, const char* category, const char* event, const char* label, int value) = 0;
7781 
7803  virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0;
7804 
7813  virtual int unregisterMediaMetadataObserver(IMetadataObserver* observer, IMetadataObserver::METADATA_TYPE type) = 0;
7814 
7824  virtual int startAudioFrameDump(const char* channel_id, uid_t user_id, const char* location,
7825  const char* uuid, const char* passwd, long duration_ms, bool auto_upload) = 0;
7829  virtual int stopAudioFrameDump(const char* channel_id, uid_t user_id, const char* location) = 0;
7830 
7846  virtual int setAINSMode(bool enabled, AUDIO_AINS_MODE mode) = 0;
7847 
7879  virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0;
7880 
7911  virtual int joinChannelWithUserAccount(const char* token, const char* channelId,
7912  const char* userAccount) = 0;
7913 
7945  virtual int joinChannelWithUserAccount(const char* token, const char* channelId,
7946  const char* userAccount, const ChannelMediaOptions& options) = 0;
7947 
7980  virtual int joinChannelWithUserAccountEx(const char* token, const char* channelId,
7981  const char* userAccount, const ChannelMediaOptions& options,
7982  IRtcEngineEventHandler* eventHandler) = 0;
7983 
8001  virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo) = 0;
8002 
8020  virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo) = 0;
8063 
8109  virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) __deprecated = 0;
8110 
8139  virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) __deprecated = 0;
8140 
8169  virtual int stopChannelMediaRelay() = 0;
8170 
8171 
8181  virtual int pauseAllChannelMediaRelay() = 0;
8182 
8192  virtual int resumeAllChannelMediaRelay() = 0;
8193 
8206  virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile) = 0;
8207 
8223 
8238  const char* publishUrl, const DirectCdnStreamingMediaOptions& options) = 0;
8239 
8249  virtual int stopDirectCdnStreaming() = 0;
8250 
8263 
8274  virtual int startRhythmPlayer(const char* sound1, const char* sound2, const AgoraRhythmPlayerConfig& config) = 0;
8275 
8282  virtual int stopRhythmPlayer() = 0;
8283 
8292  virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig& config) = 0;
8322  virtual int takeSnapshot(uid_t uid, const char* filePath) = 0;
8332  virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config) = 0;
8333  /*
8334  * Adjust the custom audio publish volume by track id.
8335  * @param trackId custom audio track id.
8336  * @param volume The volume, range is [0,100]:
8337  * 0: mute, 100: The original volume
8338  * @return
8339  * - 0: Success.
8340  * - < 0: Failure.
8341  */
8342  virtual int adjustCustomAudioPublishVolume(track_id_t trackId, int volume) = 0;
8343 
8344  /*
8345  * Adjust the custom audio playout volume by track id.
8346  * @param trackId custom audio track id.
8347  * @param volume The volume, range is [0,100]:
8348  * 0: mute, 100: The original volume
8349  * @return
8350  * - 0: Success.
8351  * - < 0: Failure.
8352  */
8353  virtual int adjustCustomAudioPlayoutVolume(track_id_t trackId, int volume) = 0;
8354 
8384  virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0;
8393  virtual int setLocalAccessPoint(const LocalAccessPointConfiguration& config) = 0;
8394 
8402  virtual int setAdvancedAudioOptions(AdvancedAudioOptions &options, int sourceType = 0) = 0;
8403 
8414  virtual int setAVSyncSource(const char* channelId, uid_t uid) = 0;
8415 
8422  virtual int enableVideoImageSource(bool enable, const ImageTrackOptions& options) = 0;
8423 
8424  /*
8425  * Get monotonic time in ms which can be used by capture time,
8426  * typical scenario is as follows:
8427  *
8428  * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8429  * | // custom audio/video base capture time, e.g. the first audio/video capture time. |
8430  * | int64_t custom_capture_time_base; |
8431  * | |
8432  * | int64_t agora_monotonic_time = getCurrentMonotonicTimeInMs(); |
8433  * | |
8434  * | // offset is fixed once calculated in the begining. |
8435  * | const int64_t offset = agora_monotonic_time - custom_capture_time_base; |
8436  * | |
8437  * | // realtime_custom_audio/video_capture_time is the origin capture time that customer provided.|
8438  * | // actual_audio/video_capture_time is the actual capture time transfered to sdk. |
8439  * | int64_t actual_audio_capture_time = realtime_custom_audio_capture_time + offset; |
8440  * | int64_t actual_video_capture_time = realtime_custom_video_capture_time + offset; |
8441  * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8442  *
8443  * @return
8444  * - >= 0: Success.
8445  * - < 0: Failure.
8446  */
8447  virtual int64_t getCurrentMonotonicTimeInMs() = 0;
8448 
8464  virtual int enableWirelessAccelerate(bool enabled) = 0;
8465 
8480  virtual int getNetworkType() = 0;
8481 
8490  virtual int setParameters(const char* parameters) = 0;
8491 
8506  virtual int startMediaRenderingTracing() = 0;
8507 
8521  virtual int enableInstantMediaRendering() = 0;
8522 
8526  virtual uint64_t getNtpWallTimeInMs() = 0;
8527 
8536  virtual bool isFeatureAvailableOnDevice(FeatureType type) = 0;
8537 
8538 };
8539 
8540 class AAudioDeviceManager : public agora::util::AutoPtr<IAudioDeviceManager> {
8541  public:
8542  AAudioDeviceManager(IRtcEngine* engine) {
8543  queryInterface(engine, AGORA_IID_AUDIO_DEVICE_MANAGER);
8544  }
8545 };
8546 
8547 class AVideoDeviceManager : public agora::util::AutoPtr<IVideoDeviceManager> {
8548  public:
8549  AVideoDeviceManager(IRtcEngine* engine) {
8550  queryInterface(engine, AGORA_IID_VIDEO_DEVICE_MANAGER);
8551  }
8552 };
8553 
8554 // The following types are either deprecated or not implmented yet.
8555 enum QUALITY_REPORT_FORMAT_TYPE {
8558  QUALITY_REPORT_JSON = 0,
8561  QUALITY_REPORT_HTML = 1,
8562 };
8563 
8565 enum MEDIA_DEVICE_STATE_TYPE {
8568  MEDIA_DEVICE_STATE_IDLE = 0,
8571  MEDIA_DEVICE_STATE_ACTIVE = 1,
8574  MEDIA_DEVICE_STATE_DISABLED = 2,
8577  MEDIA_DEVICE_STATE_NOT_PRESENT = 4,
8580  MEDIA_DEVICE_STATE_UNPLUGGED = 8,
8583  MEDIA_DEVICE_STATE_DEFAULT_DEVICE_CHANGED_READY = 9,
8584 };
8585 
8586 enum VIDEO_PROFILE_TYPE { // res fps
8588  VIDEO_PROFILE_LANDSCAPE_120P = 0, // 160x120 15
8590  VIDEO_PROFILE_LANDSCAPE_120P_3 = 2, // 120x120 15
8592  VIDEO_PROFILE_LANDSCAPE_180P = 10, // 320x180 15
8594  VIDEO_PROFILE_LANDSCAPE_180P_3 = 12, // 180x180 15
8596  VIDEO_PROFILE_LANDSCAPE_180P_4 = 13, // 240x180 15
8598  VIDEO_PROFILE_LANDSCAPE_240P = 20, // 320x240 15
8600  VIDEO_PROFILE_LANDSCAPE_240P_3 = 22, // 240x240 15
8602  VIDEO_PROFILE_LANDSCAPE_240P_4 = 23, // 424x240 15
8604  VIDEO_PROFILE_LANDSCAPE_360P = 30, // 640x360 15
8606  VIDEO_PROFILE_LANDSCAPE_360P_3 = 32, // 360x360 15
8608  VIDEO_PROFILE_LANDSCAPE_360P_4 = 33, // 640x360 30
8610  VIDEO_PROFILE_LANDSCAPE_360P_6 = 35, // 360x360 30
8612  VIDEO_PROFILE_LANDSCAPE_360P_7 = 36, // 480x360 15
8614  VIDEO_PROFILE_LANDSCAPE_360P_8 = 37, // 480x360 30
8616  VIDEO_PROFILE_LANDSCAPE_360P_9 = 38, // 640x360 15
8618  VIDEO_PROFILE_LANDSCAPE_360P_10 = 39, // 640x360 24
8620  VIDEO_PROFILE_LANDSCAPE_360P_11 = 100, // 640x360 24
8622  VIDEO_PROFILE_LANDSCAPE_480P = 40, // 640x480 15
8624  VIDEO_PROFILE_LANDSCAPE_480P_3 = 42, // 480x480 15
8626  VIDEO_PROFILE_LANDSCAPE_480P_4 = 43, // 640x480 30
8628  VIDEO_PROFILE_LANDSCAPE_480P_6 = 45, // 480x480 30
8630  VIDEO_PROFILE_LANDSCAPE_480P_8 = 47, // 848x480 15
8632  VIDEO_PROFILE_LANDSCAPE_480P_9 = 48, // 848x480 30
8634  VIDEO_PROFILE_LANDSCAPE_480P_10 = 49, // 640x480 10
8636  VIDEO_PROFILE_LANDSCAPE_720P = 50, // 1280x720 15
8638  VIDEO_PROFILE_LANDSCAPE_720P_3 = 52, // 1280x720 30
8640  VIDEO_PROFILE_LANDSCAPE_720P_5 = 54, // 960x720 15
8642  VIDEO_PROFILE_LANDSCAPE_720P_6 = 55, // 960x720 30
8644  VIDEO_PROFILE_LANDSCAPE_1080P = 60, // 1920x1080 15
8646  VIDEO_PROFILE_LANDSCAPE_1080P_3 = 62, // 1920x1080 30
8648  VIDEO_PROFILE_LANDSCAPE_1080P_5 = 64, // 1920x1080 60
8650  VIDEO_PROFILE_LANDSCAPE_1440P = 66, // 2560x1440 30
8652  VIDEO_PROFILE_LANDSCAPE_1440P_2 = 67, // 2560x1440 60
8654  VIDEO_PROFILE_LANDSCAPE_4K = 70, // 3840x2160 30
8656  VIDEO_PROFILE_LANDSCAPE_4K_3 = 72, // 3840x2160 60
8658  VIDEO_PROFILE_PORTRAIT_120P = 1000, // 120x160 15
8660  VIDEO_PROFILE_PORTRAIT_120P_3 = 1002, // 120x120 15
8662  VIDEO_PROFILE_PORTRAIT_180P = 1010, // 180x320 15
8664  VIDEO_PROFILE_PORTRAIT_180P_3 = 1012, // 180x180 15
8666  VIDEO_PROFILE_PORTRAIT_180P_4 = 1013, // 180x240 15
8668  VIDEO_PROFILE_PORTRAIT_240P = 1020, // 240x320 15
8670  VIDEO_PROFILE_PORTRAIT_240P_3 = 1022, // 240x240 15
8672  VIDEO_PROFILE_PORTRAIT_240P_4 = 1023, // 240x424 15
8674  VIDEO_PROFILE_PORTRAIT_360P = 1030, // 360x640 15
8676  VIDEO_PROFILE_PORTRAIT_360P_3 = 1032, // 360x360 15
8678  VIDEO_PROFILE_PORTRAIT_360P_4 = 1033, // 360x640 30
8680  VIDEO_PROFILE_PORTRAIT_360P_6 = 1035, // 360x360 30
8682  VIDEO_PROFILE_PORTRAIT_360P_7 = 1036, // 360x480 15
8684  VIDEO_PROFILE_PORTRAIT_360P_8 = 1037, // 360x480 30
8686  VIDEO_PROFILE_PORTRAIT_360P_9 = 1038, // 360x640 15
8688  VIDEO_PROFILE_PORTRAIT_360P_10 = 1039, // 360x640 24
8690  VIDEO_PROFILE_PORTRAIT_360P_11 = 1100, // 360x640 24
8692  VIDEO_PROFILE_PORTRAIT_480P = 1040, // 480x640 15
8694  VIDEO_PROFILE_PORTRAIT_480P_3 = 1042, // 480x480 15
8696  VIDEO_PROFILE_PORTRAIT_480P_4 = 1043, // 480x640 30
8698  VIDEO_PROFILE_PORTRAIT_480P_6 = 1045, // 480x480 30
8700  VIDEO_PROFILE_PORTRAIT_480P_8 = 1047, // 480x848 15
8702  VIDEO_PROFILE_PORTRAIT_480P_9 = 1048, // 480x848 30
8704  VIDEO_PROFILE_PORTRAIT_480P_10 = 1049, // 480x640 10
8706  VIDEO_PROFILE_PORTRAIT_720P = 1050, // 720x1280 15
8708  VIDEO_PROFILE_PORTRAIT_720P_3 = 1052, // 720x1280 30
8710  VIDEO_PROFILE_PORTRAIT_720P_5 = 1054, // 720x960 15
8712  VIDEO_PROFILE_PORTRAIT_720P_6 = 1055, // 720x960 30
8714  VIDEO_PROFILE_PORTRAIT_1080P = 1060, // 1080x1920 15
8716  VIDEO_PROFILE_PORTRAIT_1080P_3 = 1062, // 1080x1920 30
8718  VIDEO_PROFILE_PORTRAIT_1080P_5 = 1064, // 1080x1920 60
8720  VIDEO_PROFILE_PORTRAIT_1440P = 1066, // 1440x2560 30
8722  VIDEO_PROFILE_PORTRAIT_1440P_2 = 1067, // 1440x2560 60
8724  VIDEO_PROFILE_PORTRAIT_4K = 1070, // 2160x3840 30
8726  VIDEO_PROFILE_PORTRAIT_4K_3 = 1072, // 2160x3840 60
8728  VIDEO_PROFILE_DEFAULT = VIDEO_PROFILE_LANDSCAPE_360P,
8729 };
8730 
8731 } // namespace rtc
8732 } // namespace agora
8733 
8739 #define getAgoraRtcEngineVersion getAgoraSdkVersion
8740 
8742 
8745 
8752 
8754 
8755 
8762 #define getAgoraRtcEngineErrorDescription getAgoraSdkErrorDescription
8763 #define setAgoraRtcEngineExternalSymbolLoader setAgoraSdkExternalSymbolLoader
agora::rtc::IRtcEngine::setDirectCdnStreamingAudioConfiguration
virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile)=0
agora::rtc::IRtcEngine::getErrorDescription
virtual const char * getErrorDescription(int code)=0
agora::rtc::IRtcEngine::enableAudioSpectrumMonitor
virtual int enableAudioSpectrumMonitor(int intervalInMS=100)=0
agora::rtc::IRtcEngine::setSubscribeVideoAllowlist
virtual int setSubscribeVideoAllowlist(uid_t *uidList, int uidNumber)=0
agora::rtc::ScreenCaptureConfiguration::windowId
view_t windowId
Definition: IAgoraRtcEngine.h:844
agora::rtc::IRtcEngine::adjustRecordingSignalVolume
virtual int adjustRecordingSignalVolume(int volume)=0
agora::rtc::IRtcEngine::enableWebSdkInteroperability
virtual int enableWebSdkInteroperability(bool enabled) __deprecated=0
agora::rtc::IRtcEngine::enableSpatialAudio
virtual int enableSpatialAudio(bool enabled)=0
agora::rtc::ChannelMediaOptions::publishMediaPlayerAudioTrack
Optional< bool > publishMediaPlayerAudioTrack
Definition: IAgoraRtcEngine.h:1144
agora::rtc::PublisherConfiguration::extraInfo
const char * extraInfo
Definition: IAgoraRtcEngine.h:740
agora::rtc::IRtcEngine::setAVSyncSource
virtual int setAVSyncSource(const char *channelId, uid_t uid)=0
agora::rtc::IRtcEngine::setRemoteRenderRotation
virtual int setRemoteRenderRotation(uid_t uid, VIDEO_ORIENTATION rotation)=0
agora::rtc::RtcEngineContext::appId
const char * appId
Definition: IAgoraRtcEngine.h:3128
agora::rtc::IRtcEngine::setSubscribeAudioBlocklist
virtual int setSubscribeAudioBlocklist(uid_t *uidList, int uidNumber)=0
agora::rtc::IRtcEngineEventHandler::onUserAccountUpdated
virtual void onUserAccountUpdated(uid_t uid, const char *userAccount)
Definition: IAgoraRtcEngine.h:2928
agora::rtc::IRtcEngine::enableInEarMonitoring
virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters)=0
agora::rtc::IRtcEngineEventHandler::onRtmpStreamingEvent
virtual void onRtmpStreamingEvent(const char *url, RTMP_STREAMING_EVENT eventCode)
Definition: IAgoraRtcEngine.h:2488
agora::rtc::LocalVideoStats::regulatedCaptureFrameHeight
int regulatedCaptureFrameHeight
Definition: IAgoraRtcEngine.h:292
agora::rtc::IRtcEngine::setEffectPosition
virtual int setEffectPosition(int soundId, int pos)=0
agora::rtc::UserInfo
Definition: AgoraBase.h:5767
agora::rtc::RemoteVideoStats::publishDuration
int publishDuration
Definition: IAgoraRtcEngine.h:536
agora::rtc::IRtcEngine::stopDirectCdnStreaming
virtual int stopDirectCdnStreaming()=0
agora::rtc::LastmileProbeResult
Definition: AgoraBase.h:3954
agora::rtc::IRtcEngine::setEncryptionSecret
virtual int setEncryptionSecret(const char *secret) __deprecated=0
agora::rtc::AudioEncodedFrameObserverConfig
Definition: AgoraBase.h:5106
agora::rtc::ScreenCaptureParameters
Definition: AgoraBase.h:4889
agora::rtc::IRtcEngine::muteAllRemoteVideoStreams
virtual int muteAllRemoteVideoStreams(bool mute)=0
agora::rtc::IRtcEngine::setRemoteVideoSubscriptionOptions
virtual int setRemoteVideoSubscriptionOptions(uid_t uid, const VideoSubscriptionOptions &options)=0
agora::rtc::AudioVolumeInfo
Definition: AgoraBase.h:3137
agora::rtc::RemoteVideoStats::e2eDelay
int e2eDelay
Definition: IAgoraRtcEngine.h:484
agora::rtc::InjectStreamConfig::audioChannels
int audioChannels
Definition: IAgoraRtcEngine.h:662
agora::rtc::LocalVideoStats::regulatedCaptureFrameWidth
int regulatedCaptureFrameWidth
Definition: IAgoraRtcEngine.h:288
agora::rtc::IRtcEngine::pauseEffect
virtual int pauseEffect(int soundId)=0
agora::rtc::BeautyOptions
Definition: AgoraBase.h:4297
agora::rtc::ChannelMediaOptions::publishSecondaryCameraTrack
Optional< bool > publishSecondaryCameraTrack
Definition: IAgoraRtcEngine.h:1047
agora::rtc::SenderOptions
Definition: AgoraBase.h:1205
agora::rtc::IRtcEngine::muteLocalVideoStream
virtual int muteLocalVideoStream(bool mute)=0
agora::rtc::RtcEngineContext::eventHandler
IRtcEngineEventHandler * eventHandler
Definition: IAgoraRtcEngine.h:3121
agora::rtc::IRtcEngine::stopPreview
virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType)=0
agora::rtc::IRtcEngine::startScreenCapture
virtual int startScreenCapture(VIDEO_SOURCE_TYPE sourceType, const ScreenCaptureConfiguration &config)=0
agora::rtc::IRtcEngine::setLocalRenderMode
virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode)=0
agora::rtc::IRtcEngineEventHandler::onIntraRequestReceived
virtual void onIntraRequestReceived()
Definition: IAgoraRtcEngine.h:1737
agora::rtc::VideoCompositingLayout
Definition: IAgoraRtcEngine.h:551
agora::rtc::VideoCompositingLayout::canvasHeight
int canvasHeight
Definition: IAgoraRtcEngine.h:601
agora::rtc::IRtcEngine::setVoiceConversionPreset
virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset)=0
agora::rtc::DirectCdnStreamingStats::videoHeight
int videoHeight
Definition: IAgoraRtcEngine.h:3345
agora::rtc::LastmileProbeConfig
Definition: AgoraBase.h:3886
agora::rtc::ChannelMediaOptions::mixPolicyForMixedTrack
Optional< int > mixPolicyForMixedTrack
Definition: IAgoraRtcEngine.h:1172
agora::rtc::IRtcEngine::enableLocalVideo
virtual int enableLocalVideo(bool enabled)=0
agora::rtc::IRtcEngineEventHandler::onLeaveChannel
virtual void onLeaveChannel(const RtcStats &stats)
Definition: IAgoraRtcEngine.h:1634
agora::rtc::IRtcEngine::joinChannel
virtual int joinChannel(const char *token, const char *channelId, uid_t uid, const ChannelMediaOptions &options)=0
agora::rtc::IRtcEngine::stopAudioFrameDump
virtual int stopAudioFrameDump(const char *channel_id, uid_t user_id, const char *location)=0
agora::rtc::IRtcEngine::getAudioTrackCount
virtual int getAudioTrackCount()=0
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoDecoded
virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) __deprecated
Definition: IAgoraRtcEngine.h:1826
agora::rtc::IRtcEngine::createDataStream
virtual int createDataStream(int *streamId, DataStreamConfig &config)=0
agora::rtc::LocalVideoStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:263
agora::rtc::IRtcEngine::stopChannelMediaRelay
virtual int stopChannelMediaRelay()=0
agora::rtc::IRtcEngineEventHandler::onAudioEffectFinished
virtual void onAudioEffectFinished(int soundId)
Definition: IAgoraRtcEngine.h:1686
agora::rtc::RtcEngineContext::threadPriority
Optional< THREAD_PRIORITY_TYPE > threadPriority
Definition: IAgoraRtcEngine.h:3183
agora::rtc::IRtcEngine::registerAudioEncodedFrameObserver
virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig &config, IAudioEncodedFrameObserver *observer)=0
agora::rtc::ChannelMediaOptions::enableBuiltInMediaEncryption
Optional< bool > enableBuiltInMediaEncryption
Definition: IAgoraRtcEngine.h:1246
agora::rtc::IRtcEngine::resumeAllEffects
virtual int resumeAllEffects()=0
agora::rtc::IRtcEngine::joinChannelWithUserAccountEx
virtual int joinChannelWithUserAccountEx(const char *token, const char *channelId, const char *userAccount, const ChannelMediaOptions &options, IRtcEngineEventHandler *eventHandler)=0
agora::rtc::InjectStreamConfig::width
int width
Definition: IAgoraRtcEngine.h:635
agora::rtc::IRtcEngine::pauseAudioMixing
virtual int pauseAudioMixing()=0
agora::rtc::IRtcEngine::setPlaybackAudioFrameBeforeMixingParameters
virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel)=0
agora::rtc::IRtcEngineEventHandler::onRemoteAudioTransportStats
virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated
Definition: IAgoraRtcEngine.h:2648
agora::rtc::RemoteAudioStats::totalActiveTime
int totalActiveTime
Definition: IAgoraRtcEngine.h:426
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::IRtcEngineEventHandler::onFirstRemoteAudioFrame
virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) __deprecated
Definition: IAgoraRtcEngine.h:2318
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:1472
agora::rtc::IRtcEngine::getVersion
virtual const char * getVersion(int *build)=0
agora::rtc::RemoteVideoStats::totalActiveTime
int totalActiveTime
Definition: IAgoraRtcEngine.h:532
agora::rtc::IRtcEngine::setAudioMixingPitch
virtual int setAudioMixingPitch(int pitch)=0
agora::rtc::ChannelMediaOptions::publishRhythmPlayerTrack
Optional< bool > publishRhythmPlayerTrack
Definition: IAgoraRtcEngine.h:1252
agora::rtc::ChannelMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition: IAgoraRtcEngine.h:1132
agora::media::IAudioSpectrumObserver
Definition: AgoraMediaBase.h:1320
agora::rtc::DirectCdnStreamingStats::videoWidth
int videoWidth
Definition: IAgoraRtcEngine.h:3340
agora::rtc::IMetadataObserver::Metadata::buffer
unsigned char * buffer
Definition: IAgoraRtcEngine.h:3258
agora::rtc::PublisherConfiguration::publishUrl
const char * publishUrl
Definition: IAgoraRtcEngine.h:733
agora::rtc::ExtensionInfo
Definition: IAgoraRtcEngine.h:3560
agora::rtc::IRtcEngineEventHandler::onVideoRenderingTracingResult
virtual void onVideoRenderingTracingResult(uid_t uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo)
Definition: IAgoraRtcEngine.h:2951
agora::rtc::ExtensionInfo::remoteUid
uid_t remoteUid
Definition: IAgoraRtcEngine.h:3571
agora::rtc::PublisherConfiguration::lifecycle
int lifecycle
Definition: IAgoraRtcEngine.h:715
agora::rtc::IRtcEngine::startPreview
virtual int startPreview()=0
agora::rtc::IMetadataObserver::Metadata::timeStampMs
long long timeStampMs
Definition: IAgoraRtcEngine.h:3262
agora::rtc::IRtcEngineEventHandler::onLocalAudioStats
virtual void onLocalAudioStats(const LocalAudioStats &stats)
Definition: IAgoraRtcEngine.h:2040
agora::rtc::IRtcEngine::setAINSMode
virtual int setAINSMode(bool enabled, AUDIO_AINS_MODE mode)=0
agora::rtc::ChannelMediaOptions::autoSubscribeAudio
Optional< bool > autoSubscribeAudio
Definition: IAgoraRtcEngine.h:1184
agora::rtc::IRtcEngineEventHandler::onCameraExposureAreaChanged
virtual void onCameraExposureAreaChanged(int x, int y, int width, int height)
Definition: IAgoraRtcEngine.h:2114
agora::rtc::LocalAccessPointConfiguration
Definition: AgoraBase.h:6075
agora::rtc::IRtcEngineEventHandler::onClientRoleChangeFailed
virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole)
Definition: IAgoraRtcEngine.h:2448
agora::rtc::IVideoDeviceCollection::getDevice
virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH], char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::DirectCdnStreamingStats::videoBitrate
int videoBitrate
Definition: IAgoraRtcEngine.h:3355
agora::rtc::IRtcEngineEventHandler::onLastmileQuality
virtual void onLastmileQuality(int quality)
Definition: IAgoraRtcEngine.h:1776
agora::rtc::IRtcEngine::enableInstantMediaRendering
virtual int enableInstantMediaRendering()=0
Enable instant media rendering.
agora::rtc::CameraCapturerConfiguration::deviceId
char deviceId[MAX_DEVICE_ID_LENGTH]
Definition: IAgoraRtcEngine.h:796
agora::rtc::IRtcEngine::setRemoteRenderMode
virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
agora::rtc::ChannelMediaOptions::isAudioFilterable
Optional< bool > isAudioFilterable
Definition: IAgoraRtcEngine.h:1271
agora::rtc::LiveTranscoding
Definition: AgoraBase.h:3648
agora::rtc::ChannelMediaOptions::audienceLatencyLevel
Optional< AUDIENCE_LATENCY_LEVEL_TYPE > audienceLatencyLevel
Definition: IAgoraRtcEngine.h:1209
agora::rtc::IRtcEngineEventHandler::onRemoteVideoTransportStats
virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated
Definition: IAgoraRtcEngine.h:2673
agora::rtc::LocalVideoStats::sentFrameRate
int sentFrameRate
Definition: IAgoraRtcEngine.h:271
agora::rtc::Rectangle
Definition: AgoraBase.h:2008
agora::rtc::IRtcEngine::setDirectCdnStreamingVideoConfiguration
virtual int setDirectCdnStreamingVideoConfiguration(const VideoEncoderConfiguration &config)=0
agora::rtc::IRtcEngine::createDataStream
virtual int createDataStream(int *streamId, bool reliable, bool ordered)=0
agora::rtc::IVideoDeviceManager::release
virtual void release()=0
agora::rtc::ChannelMediaOptions::publishLoopbackAudioTrackId
Optional< int > publishLoopbackAudioTrackId
Definition: IAgoraRtcEngine.h:1126
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:2784
agora::rtc::IRtcEngineEventHandler::onNetworkTypeChanged
virtual void onNetworkTypeChanged(NETWORK_TYPE type)
Definition: IAgoraRtcEngine.h:2726
agora::rtc::IRtcEngineEventHandler::onFirstRemoteAudioDecoded
virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) __deprecated
Definition: IAgoraRtcEngine.h:2339
agora::rtc::InjectStreamConfig::videoFramerate
int videoFramerate
Definition: IAgoraRtcEngine.h:647
agora::rtc::IRtcEngine::setDualStreamMode
virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode, const SimulcastStreamConfig &streamConfig)=0
agora::rtc::IRtcEngine::enableAudioVolumeIndication
virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad)=0
agora::rtc::ChannelMediaOptions::mediaPlayerAudioDelayMs
Optional< int > mediaPlayerAudioDelayMs
Definition: IAgoraRtcEngine.h:1229
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::RemoteAudioStats::networkTransportDelay
int networkTransportDelay
Definition: IAgoraRtcEngine.h:359
agora::rtc::IRtcEngine::unregisterMediaMetadataObserver
virtual int unregisterMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type)=0
agora::rtc::IRtcEngineEventHandler::onLocalVideoTranscoderError
virtual void onLocalVideoTranscoderError(const TranscodingVideoStream &stream, VIDEO_TRANSCODER_ERROR error)
Definition: IAgoraRtcEngine.h:2939
agora::rtc::IRtcEngine::getUserInfoByUid
virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo *userInfo)=0
agora::rtc::IRtcEngine::pauseAllEffects
virtual int pauseAllEffects()=0
agora::rtc::IRtcEngine::disableAudioSpectrumMonitor
virtual int disableAudioSpectrumMonitor()=0
agora::rtc::IRtcEngineEventHandlerEx
Definition: IAgoraRtcEngineEx.h:42
agora::rtc::IRtcEngineEventHandler::onFirstLocalAudioFramePublished
virtual void onFirstLocalAudioFramePublished(int elapsed)
Definition: IAgoraRtcEngine.h:2307
agora::util::AutoPtr
Definition: AgoraBase.h:89
agora::rtc::LocalVideoStats::sentBitrate
int sentBitrate
Definition: IAgoraRtcEngine.h:267
agora::rtc::IRtcEngineEventHandler::onExtensionStopped
virtual void onExtensionStopped(const char *provider, const char *extension)
Definition: IAgoraRtcEngine.h:2901
agora::rtc::IRtcEngine::getAudioMixingPublishVolume
virtual int getAudioMixingPublishVolume()=0
agora::rtc::IRtcEngine::addVideoWatermark
virtual int addVideoWatermark(const char *watermarkUrl, const WatermarkOptions &options)=0
agora::rtc::IRtcEngineEventHandler::onRejoinChannelSuccess
virtual void onRejoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1530
agora::rtc::RemoteVideoStats::totalFrozenTime
int totalFrozenTime
Definition: IAgoraRtcEngine.h:518
agora::rtc::IMetadataObserver::METADATA_TYPE
METADATA_TYPE
Definition: IAgoraRtcEngine.h:3226
agora::rtc::IRtcEngine::setCloudProxy
virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType)=0
agora::rtc::RemoteAudioStats::receivedBitrate
int receivedBitrate
Definition: IAgoraRtcEngine.h:382
agora::rtc::VideoEncoderConfiguration
Definition: AgoraBase.h:1775
agora::rtc::IRtcEngineEventHandler
Definition: IAgoraRtcEngine.h:1499
agora::rtc::VideoCompositingLayout::Region::height
double height
Definition: IAgoraRtcEngine.h:567
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::startAudioMixing
virtual int startAudioMixing(const char *filePath, bool loopback, int cycle, int startPos)=0
agora::rtc::IRtcEngineEventHandler::onUserMuteAudio
virtual void onUserMuteAudio(uid_t uid, bool muted)
Definition: IAgoraRtcEngine.h:1967
agora::rtc::ChannelMediaOptions::publishCustomAudioTrackId
Optional< int > publishCustomAudioTrackId
Definition: IAgoraRtcEngine.h:1116
agora::rtc::VideoSubscriptionOptions
Definition: AgoraBase.h:1544
agora::rtc::IRtcEngineEventHandler::onAudioRoutingChanged
virtual void onAudioRoutingChanged(int routing) __deprecated
Definition: IAgoraRtcEngine.h:2520
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:1749
agora::rtc::DirectCdnStreamingMediaOptions::publishMicrophoneTrack
Optional< bool > publishMicrophoneTrack
Definition: IAgoraRtcEngine.h:3403
agora::rtc::EchoTestConfiguration
Definition: AgoraBase.h:5749
agora::rtc::RtcImage
Definition: AgoraBase.h:3470
agora::rtc::VideoCompositingLayout::backgroundColor
const char * backgroundColor
Definition: IAgoraRtcEngine.h:604
agora::rtc::IRtcEngine::getAudioMixingCurrentPosition
virtual int getAudioMixingCurrentPosition()=0
agora::rtc::IRtcEngine::startDirectCdnStreaming
virtual int startDirectCdnStreaming(IDirectCdnStreamingEventHandler *eventHandler, const char *publishUrl, const DirectCdnStreamingMediaOptions &options)=0
agora::rtc::IRtcEngine::registerAudioSpectrumObserver
virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
agora::rtc::LocalVideoStats::encodedBitrate
int encodedBitrate
Definition: IAgoraRtcEngine.h:318
agora::rtc::IRtcEngine::startEchoTest
virtual int startEchoTest(int intervalInSeconds)=0
agora::rtc::LocalVideoStats::qualityAdaptIndication
QUALITY_ADAPT_INDICATION qualityAdaptIndication
Definition: IAgoraRtcEngine.h:314
agora::rtc::IRtcEngine::enableDualStreamMode
virtual int enableDualStreamMode(bool enabled, const SimulcastStreamConfig &streamConfig) __deprecated=0
agora::rtc::ChannelMediaOptions::customVideoTrackId
Optional< video_track_id_t > customVideoTrackId
Definition: IAgoraRtcEngine.h:1265
agora::rtc::SimulcastStreamConfig
Definition: AgoraBase.h:1985
agora::rtc::IRtcEngineEventHandler::onConnectionInterrupted
virtual void onConnectionInterrupted() __deprecated
Definition: IAgoraRtcEngine.h:2216
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:3277
agora::rtc::IRtcEngine::setSubscribeAudioAllowlist
virtual int setSubscribeAudioAllowlist(uid_t *uidList, int uidNumber)=0
agora::rtc::IRtcEngine::getConnectionState
virtual CONNECTION_STATE_TYPE getConnectionState()=0
agora::rtc::ExtensionInfo::channelId
const char * channelId
Definition: IAgoraRtcEngine.h:3584
agora::rtc::IRtcEngineEventHandler::onChannelMediaRelayEvent
virtual void onChannelMediaRelayEvent(int code) __deprecated
Definition: IAgoraRtcEngine.h:2593
agora::rtc::IRtcEngine::isFeatureAvailableOnDevice
virtual bool isFeatureAvailableOnDevice(FeatureType type)=0
Whether the target feature is available for the device.
agora::rtc::IRtcEngine::setExtensionProperty
virtual int setExtensionProperty(const char *provider, const char *extension, const char *key, const char *value, agora::media::MEDIA_SOURCE_TYPE type=agora::media::UNKNOWN_MEDIA_SOURCE)=0
agora::rtc::IRtcEngine::enableEncryption
virtual int enableEncryption(bool enabled, const EncryptionConfig &config)=0
agora::rtc::IRtcEngine::enableContentInspect
virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config)=0
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStateChanged
virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed)
Definition: IAgoraRtcEngine.h:2379
agora::rtc::IRtcEngine::startRhythmPlayer
virtual int startRhythmPlayer(const char *sound1, const char *sound2, const AgoraRhythmPlayerConfig &config)=0
agora::rtc::IRtcEngine::configRhythmPlayer
virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig &config)=0
agora::rtc::IRtcEngine::adjustAudioMixingPublishVolume
virtual int adjustAudioMixingPublishVolume(int volume)=0
agora::rtc::DirectCdnStreamingMediaOptions::publishCameraTrack
Optional< bool > publishCameraTrack
Definition: IAgoraRtcEngine.h:3397
agora::rtc::IVideoDeviceCollection::getCount
virtual int getCount()=0
agora::rtc::IRtcEngineEventHandler::onUserMuteVideo
virtual void onUserMuteVideo(uid_t userId, bool muted)
Definition: IAgoraRtcEngine.h:1986
agora::rtc::IRtcEngine::getAudioMixingDuration
virtual int getAudioMixingDuration()=0
agora::rtc::IRtcEngine::destroyMediaRecorder
virtual int destroyMediaRecorder(agora_refptr< IMediaRecorder > mediaRecorder)=0
agora::rtc::RemoteAudioStats::frozenRateByCustomPlcCount
uint32_t frozenRateByCustomPlcCount
Definition: IAgoraRtcEngine.h:416
agora::rtc::ScreenCaptureConfiguration::params
ScreenCaptureParameters params
Definition: IAgoraRtcEngine.h:848
agora::rtc::IRtcEngineEventHandler::onVideoDeviceStateChanged
virtual void onVideoDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition: IAgoraRtcEngine.h:1697
agora::rtc::IMetadataObserver
Definition: IAgoraRtcEngine.h:3219
agora::rtc::VideoCompositingLayout::appData
const char * appData
Definition: IAgoraRtcEngine.h:614
agora::rtc::RemoteAudioStats::totalFrozenTime
int totalFrozenTime
Definition: IAgoraRtcEngine.h:389
agora::rtc::IRtcEngineEventHandler::onAudioMixingPositionChanged
virtual void onAudioMixingPositionChanged(int64_t position)
Reports current AudioMixing progress.
Definition: IAgoraRtcEngine.h:1670
agora::rtc::IRtcEngine::setRemoteVoicePosition
virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain)=0
agora::rtc::IRtcEngine::registerMediaMetadataObserver
virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type)=0
agora::rtc::IRtcEngineEventHandler::onRhythmPlayerStateChanged
virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_ERROR_TYPE errorCode)
Definition: IAgoraRtcEngine.h:2190
agora::rtc::ColorEnhanceOptions
Definition: AgoraBase.h:4421
agora::rtc::PublisherConfiguration::defaultLayout
int defaultLayout
Definition: IAgoraRtcEngine.h:712
agora::rtc::IRtcEngineEventHandler::onTranscodingUpdated
virtual void onTranscodingUpdated()
Definition: IAgoraRtcEngine.h:2503
agora::rtc::IRtcEngine::updateRtmpTranscoding
virtual int updateRtmpTranscoding(const LiveTranscoding &transcoding)=0
agora::rtc::RemoteAudioStats::publishDuration
int publishDuration
Definition: IAgoraRtcEngine.h:430
agora::rtc::IRtcEngineEventHandler::onWlAccMessage
virtual void onWlAccMessage(WLACC_MESSAGE_REASON reason, WLACC_SUGGEST_ACTION action, const char *wlAccMsg)
Definition: IAgoraRtcEngine.h:2701
agora::rtc::IRtcEngineEventHandler::onRequestToken
virtual void onRequestToken()
Definition: IAgoraRtcEngine.h:2271
agora::rtc::IRtcEngineEventHandler::onError
virtual void onError(int err, const char *msg)
Definition: IAgoraRtcEngine.h:1556
agora::rtc::IRtcEngine::getNtpWallTimeInMs
virtual uint64_t getNtpWallTimeInMs()=0
agora::rtc::IRtcEngine::startRtmpStreamWithoutTranscoding
virtual int startRtmpStreamWithoutTranscoding(const char *url)=0
agora::rtc::VideoCompositingLayout::regionCount
int regionCount
Definition: IAgoraRtcEngine.h:611
agora::rtc::ExtensionInfo::mediaSourceType
agora::media::MEDIA_SOURCE_TYPE mediaSourceType
Definition: IAgoraRtcEngine.h:3564
agora::rtc::IRtcEngineEventHandler::onProxyConnected
virtual void onProxyConnected(const char *channel, uid_t uid, PROXY_TYPE proxyType, const char *localProxyIp, int elapsed)
Definition: IAgoraRtcEngine.h:1543
agora::rtc::IRtcEngineEventHandler::onLocalPublishFallbackToAudioOnly
virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover)
Definition: IAgoraRtcEngine.h:2609
agora::rtc::IRtcEngine::enableExtension
virtual int enableExtension(const char *provider, const char *extension, bool enable=true, agora::media::MEDIA_SOURCE_TYPE type=agora::media::UNKNOWN_MEDIA_SOURCE)=0
agora::rtc::PublisherConfiguration::height
int height
Definition: IAgoraRtcEngine.h:698
agora::rtc::IRtcEngineEventHandler::onAudioMixingFinished
virtual void onAudioMixingFinished() __deprecated
Definition: IAgoraRtcEngine.h:1678
agora::rtc::AVideoDeviceManager
Definition: IAgoraRtcEngine.h:8547
agora::rtc::IRtcEngine::preloadChannel
virtual int preloadChannel(const char *token, const char *channelId, const char *userAccount)=0
agora::rtc::LocalVideoStats::codecType
VIDEO_CODEC_TYPE codecType
Definition: IAgoraRtcEngine.h:324
agora::rtc::ExtensionInfo::localUid
uid_t localUid
Definition: IAgoraRtcEngine.h:3589
agora::rtc::ChannelMediaOptions::publishLoopbackAudioTrack
Optional< bool > publishLoopbackAudioTrack
Definition: IAgoraRtcEngine.h:1122
agora::rtc::IRtcEngine::setSubscribeVideoBlocklist
virtual int setSubscribeVideoBlocklist(uid_t *uidList, int uidNumber)=0
agora::rtc::LocalTranscoderConfiguration
Definition: AgoraBase.h:3829
agora::rtc::IRtcEngine::adjustAudioMixingPlayoutVolume
virtual int adjustAudioMixingPlayoutVolume(int volume)=0
agora::rtc::InjectStreamConfig::audioBitrate
int audioBitrate
Definition: IAgoraRtcEngine.h:659
agora::rtc::IDirectCdnStreamingEventHandler::onDirectCdnStreamingStateChanged
virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_ERROR error, const char *message)
Definition: IAgoraRtcEngine.h:3377
agora::rtc::IRtcEngine::setCameraDeviceOrientation
virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation)=0
agora::rtc::IRtcEngineEventHandler::onAudioVolumeIndication
virtual void onAudioVolumeIndication(const AudioVolumeInfo *speakers, unsigned int speakerNumber, int totalVolume)
Definition: IAgoraRtcEngine.h:1619
agora::rtc::IPacketObserver
Definition: AgoraBase.h:3188
agora::rtc::IRtcEngine::setLocalPublishFallbackOption
virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option)=0
agora::rtc::LocalVideoStats::dualStreamEnabled
bool dualStreamEnabled
Definition: IAgoraRtcEngine.h:335
agora::rtc::IRtcEngine::writeLog
virtual int writeLog(commons::LOG_LEVEL level, const char *fmt,...)=0
agora::rtc::RemoteAudioStats::rxAudioBytes
unsigned int rxAudioBytes
Definition: IAgoraRtcEngine.h:442
agora::rtc::ChannelMediaOptions::publishEncodedVideoTrack
Optional< bool > publishEncodedVideoTrack
Definition: IAgoraRtcEngine.h:1138
agora::rtc::IRtcEngine::setDualStreamMode
virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode)=0
agora::rtc::DirectCdnStreamingStats
Definition: IAgoraRtcEngine.h:3336
agora::rtc::VideoFormat
Definition: AgoraBase.h:2496
agora::rtc::RemoteVideoStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:472
agora::rtc::IRtcEngineEventHandler::onUserOffline
virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:1950
agora::rtc::IRtcEngine::registerExtension
virtual int registerExtension(const char *provider, const char *extension, agora::media::MEDIA_SOURCE_TYPE type=agora::media::UNKNOWN_MEDIA_SOURCE)=0
agora::rtc::IRtcEngine::stopRtmpStream
virtual int stopRtmpStream(const char *url)=0
agora::rtc::DataStreamConfig
Definition: AgoraBase.h:1941
agora::rtc::IRtcEngineEventHandler::onCameraFocusAreaChanged
virtual void onCameraFocusAreaChanged(int x, int y, int width, int height)
Definition: IAgoraRtcEngine.h:2100
agora::rtc::VideoCompositingLayout::Region::y
double y
Definition: IAgoraRtcEngine.h:561
agora::rtc::IRtcEngine::stopAudioMixing
virtual int stopAudioMixing()=0
agora::rtc::PublisherConfiguration
Definition: IAgoraRtcEngine.h:690
agora::rtc::IRtcEngine::setLogLevel
virtual int setLogLevel(commons::LOG_LEVEL level)=0
agora::rtc::RtcEngineContext::logConfig
commons::LogConfig logConfig
Definition: IAgoraRtcEngine.h:3178
agora::rtc::IRtcEngine::setRemoteDefaultVideoStreamType
virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType)=0
agora::rtc::IRtcEngine::setRemoteVideoStreamType
virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType)=0
agora::rtc::IRtcEngineEventHandler::onUserEnableVideo
virtual void onUserEnableVideo(uid_t uid, bool enabled)
Definition: IAgoraRtcEngine.h:2003
agora::rtc::InjectStreamConfig::height
int height
Definition: IAgoraRtcEngine.h:639
agora::rtc::ChannelMediaOptions::publishFourthCameraTrack
Optional< bool > publishFourthCameraTrack
Definition: IAgoraRtcEngine.h:1059
agora::rtc::IRtcEngine::startRtmpStreamWithTranscoding
virtual int startRtmpStreamWithTranscoding(const char *url, const LiveTranscoding &transcoding)=0
agora::rtc::DirectCdnStreamingMediaOptions
Definition: IAgoraRtcEngine.h:3391
agora::rtc::IRtcEngineEventHandler::onStreamMessageError
virtual void onStreamMessageError(uid_t userId, int streamId, int code, int missed, int cached)
Definition: IAgoraRtcEngine.h:2254
agora::rtc::IRtcEngine::setVideoEncoderConfiguration
virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration &config)=0
agora::rtc::AdvancedAudioOptions
Definition: IAgoraRtcEngine.h:1010
agora::rtc::IRtcEngine::queryCodecCapability
virtual int queryCodecCapability(CodecCapInfo *codecInfo, int &size)=0
agora::rtc::IRtcEngine::stopAllEffects
virtual int stopAllEffects()=0
agora::rtc::IRtcEngine::pauseAllChannelMediaRelay
virtual int pauseAllChannelMediaRelay()=0
agora::rtc::LocalVideoStats::captureFrameHeight
int captureFrameHeight
Definition: IAgoraRtcEngine.h:280
agora::rtc::IRtcEngineEventHandler::onAudioQuality
virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay, unsigned short lost) __deprecated
Definition: IAgoraRtcEngine.h:1576
agora::rtc::IRtcEngine::startAudioMixing
virtual int startAudioMixing(const char *filePath, bool loopback, int cycle)=0
agora::rtc::IRtcEngine::adjustLoopbackSignalVolume
virtual int adjustLoopbackSignalVolume(int volume)=0
agora::rtc::IRtcEngine::takeSnapshot
virtual int takeSnapshot(uid_t uid, const char *filePath)=0
agora::rtc::RtcEngineContext::license
const char * license
Definition: IAgoraRtcEngine.h:3143
agora::rtc::ScreenCaptureConfiguration::regionRect
Rectangle regionRect
Definition: IAgoraRtcEngine.h:856
agora::rtc::VideoCompositingLayout::canvasWidth
int canvasWidth
Definition: IAgoraRtcEngine.h:596
agora::rtc::LeaveChannelOptions::stopMicrophoneRecording
bool stopMicrophoneRecording
Definition: IAgoraRtcEngine.h:1484
agora::rtc::PublisherConfiguration::rawStreamUrl
const char * rawStreamUrl
Definition: IAgoraRtcEngine.h:737
agora::rtc::RemoteAudioStats::mosValue
int mosValue
Definition: IAgoraRtcEngine.h:411
agora::rtc::IRtcEngineEventHandler::onRemoteVideoStats
virtual void onRemoteVideoStats(const RemoteVideoStats &stats)
Definition: IAgoraRtcEngine.h:2081
agora::rtc::IRtcEngine::setAudioEffectParameters
virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2)=0
agora::rtc::IRtcEngine::setColorEnhanceOptions
virtual int setColorEnhanceOptions(bool enabled, const ColorEnhanceOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IRtcEngineEventHandler::onTokenPrivilegeWillExpire
virtual void onTokenPrivilegeWillExpire(const char *token)
Definition: IAgoraRtcEngine.h:2284
agora::rtc::LocalVideoStats::targetFrameRate
int targetFrameRate
Definition: IAgoraRtcEngine.h:310
agora::rtc::DirectCdnStreamingStats::audioBitrate
int audioBitrate
Definition: IAgoraRtcEngine.h:3360
agora::rtc::IRtcEngine::setRemoteSubscribeFallbackOption
virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option)=0
agora::rtc::IRtcEngine::getExtensionProperty
virtual int getExtensionProperty(const char *provider, const char *extension, const ExtensionInfo &extensionInfo, const char *key, char *value, int buf_len)=0
agora::rtc::RtcEngineContext::channelProfile
CHANNEL_PROFILE_TYPE channelProfile
Definition: IAgoraRtcEngine.h:3138
agora::rtc::IRtcEngineEventHandler::onRemoteSubscribeFallbackToAudioOnly
virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover)
Definition: IAgoraRtcEngine.h:2629
agora::rtc::IRtcEngine::setEarMonitoringAudioFrameParameters
virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
agora::rtc::IRtcEngineEventHandler::onContentInspectResult
virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result)
Definition: IAgoraRtcEngine.h:2404
agora::rtc::IRtcEngineEventHandler::onAudioDeviceStateChanged
virtual void onAudioDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition: IAgoraRtcEngine.h:1658
agora::rtc::IAudioEncodedFrameObserver
Definition: AgoraBase.h:5124
agora::rtc::ChannelMediaOptions::token
Optional< const char * > token
Definition: IAgoraRtcEngine.h:1238
agora::rtc::ChannelMediaOptions::parameters
Optional< const char * > parameters
Definition: IAgoraRtcEngine.h:1276
agora::rtc::LeaveChannelOptions
Definition: IAgoraRtcEngine.h:1466
agora::rtc::IRtcEngineEventHandler::onRemoteAudioStats
virtual void onRemoteAudioStats(const RemoteAudioStats &stats)
Definition: IAgoraRtcEngine.h:2051
agora::rtc::IRtcEngine::setEffectsVolume
virtual int setEffectsVolume(int volume)=0
agora::rtc::IRtcEngine::playAllEffects
virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish=false)=0
agora::rtc::DirectCdnStreamingStats::fps
int fps
Definition: IAgoraRtcEngine.h:3350
agora::rtc::IRtcEngine::stopLastmileProbeTest
virtual int stopLastmileProbeTest()=0
agora::rtc::ChannelMediaRelayConfiguration
Definition: AgoraBase.h:5373
agora::rtc::IRtcEngine::setAdvancedAudioOptions
virtual int setAdvancedAudioOptions(AdvancedAudioOptions &options, int sourceType=0)=0
agora::rtc::IRtcEngine::createMediaPlayer
virtual agora_refptr< IMediaPlayer > createMediaPlayer()=0
agora::rtc::IRtcEngine::queryInterface
virtual int queryInterface(INTERFACE_ID_TYPE iid, void **inter)=0
agora::rtc::IVideoDeviceCollection
Definition: IAgoraRtcEngine.h:2961
agora::rtc::IRtcEngineEventHandler::onRtmpStreamingStateChanged
virtual void onRtmpStreamingStateChanged(const char *url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_ERROR_TYPE errCode)
Definition: IAgoraRtcEngine.h:2476
agora::rtc::IRtcEngine::renewToken
virtual int renewToken(const char *token)=0
agora::rtc::IRtcEngine::pauseAudio
virtual int pauseAudio() __deprecated=0
agora::rtc::IRtcEngine::setAudioProfile
virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile)=0
agora::rtc::IRtcEngine::sendStreamMessage
virtual int sendStreamMessage(int streamId, const char *data, size_t length)=0
agora::rtc::LocalVideoStats::txPacketLossRate
unsigned short txPacketLossRate
Definition: IAgoraRtcEngine.h:328
agora::rtc::IRtcEngineEventHandler::onLocalVideoStats
virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats &stats)
Definition: IAgoraRtcEngine.h:2068
agora::rtc::ChannelMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition: IAgoraRtcEngine.h:1112
agora::rtc::RemoteVideoStats::avSyncTimeMs
int avSyncTimeMs
Definition: IAgoraRtcEngine.h:527
agora::rtc::RtcEngineContext::domainLimit
bool domainLimit
Definition: IAgoraRtcEngine.h:3199
agora::rtc::VideoDenoiserOptions
Definition: AgoraBase.h:4374
agora::rtc::IRtcEngineEventHandler::onStreamMessage
virtual void onStreamMessage(uid_t userId, int streamId, const char *data, size_t length, uint64_t sentTs)
Definition: IAgoraRtcEngine.h:2234
agora::rtc::RemoteVideoStats::decoderOutputFrameRate
int decoderOutputFrameRate
Definition: IAgoraRtcEngine.h:499
agora::rtc::RtcEngineContext::context
void * context
Definition: IAgoraRtcEngine.h:3134
agora::rtc::ChannelMediaOptions::publishCameraTrack
Optional< bool > publishCameraTrack
Definition: IAgoraRtcEngine.h:1041
agora::rtc::IRtcEngineEventHandler::onFirstLocalVideoFrame
virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed)
Definition: IAgoraRtcEngine.h:1788
agora::rtc::ChannelMediaOptions::clientRoleType
Optional< CLIENT_ROLE_TYPE > clientRoleType
Definition: IAgoraRtcEngine.h:1205
agora::rtc::ChannelMediaOptions::publishThirdCameraTrack
Optional< bool > publishThirdCameraTrack
Definition: IAgoraRtcEngine.h:1053
agora::rtc::IRtcEngineEventHandler::onJoinChannelSuccess
virtual void onJoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1514
agora::rtc::DirectCdnStreamingMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition: IAgoraRtcEngine.h:3426
agora::rtc::ChannelMediaOptions::channelProfile
Optional< CHANNEL_PROFILE_TYPE > channelProfile
Definition: IAgoraRtcEngine.h:1219
agora::rtc::RemoteAudioStats::audioLossRate
int audioLossRate
Definition: IAgoraRtcEngine.h:369
agora::rtc::IRtcEngine::setEncryptionMode
virtual int setEncryptionMode(const char *encryptionMode) __deprecated=0
agora::rtc::VideoCompositingLayout::Region::zOrder
int zOrder
Definition: IAgoraRtcEngine.h:571
agora::rtc::IRtcEngine::queryDeviceScore
virtual int queryDeviceScore()=0
agora::rtc::LocalVideoStats::captureFrameRate
int captureFrameRate
Definition: IAgoraRtcEngine.h:274
agora::rtc::VirtualBackgroundSource
Definition: AgoraBase.h:4440
agora::rtc::IRtcEngine::setParameters
virtual int setParameters(const char *parameters)=0
agora::rtc::IRtcEngine::muteRemoteVideoStream
virtual int muteRemoteVideoStream(uid_t uid, bool mute)=0
agora::rtc::IRtcEngine::setLowlightEnhanceOptions
virtual int setLowlightEnhanceOptions(bool enabled, const LowlightEnhanceOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IVideoDeviceManager
Definition: IAgoraRtcEngine.h:3005
agora::rtc::RemoteVideoStats::frozenRate
int frozenRate
Definition: IAgoraRtcEngine.h:522
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:617
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:576
agora::rtc::IRtcEngine::release
virtual void release(bool sync=false)=0
agora::rtc::IRtcEngine::enableCustomAudioLocalPlayback
virtual int enableCustomAudioLocalPlayback(track_id_t trackId, bool enabled)=0
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomVideoTrack
Optional< bool > publishCustomVideoTrack
Definition: IAgoraRtcEngine.h:3415
agora::rtc::ScreenCaptureConfiguration::isCaptureWindow
bool isCaptureWindow
Definition: IAgoraRtcEngine.h:830
agora::rtc::LocalVideoStats::encodedFrameHeight
int encodedFrameHeight
Definition: IAgoraRtcEngine.h:301
agora::rtc::IRtcEngine::setLocalVoiceFormant
virtual int setLocalVoiceFormant(double formantRatio)=0
agora::rtc::AdvancedAudioOptions::audioProcessingChannels
Optional< int > audioProcessingChannels
Definition: IAgoraRtcEngine.h:1014
agora::rtc::IRtcEngineEventHandler::onLocalAudioStateChanged
virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error)
Definition: IAgoraRtcEngine.h:2358
agora::rtc::IRtcEngine::getUserInfoByUserAccount
virtual int getUserInfoByUserAccount(const char *userAccount, rtc::UserInfo *userInfo)=0
agora::rtc::WlAccStats
Definition: AgoraBase.h:4142
agora::rtc::IRtcEngine::setDefaultMuteAllRemoteAudioStreams
virtual int setDefaultMuteAllRemoteAudioStreams(bool mute) __deprecated=0
agora::rtc::IRtcEngine::updateChannelMediaRelay
virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) __deprecated=0
agora::rtc::IRtcEngine::setLogFile
virtual int setLogFile(const char *filePath)=0
agora::rtc::IRtcEngine::enableVirtualBackground
virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IVideoDeviceCollection::setDevice
virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngine::setCameraCapturerConfiguration
virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration &config)=0
agora::rtc::RemoteVideoStats::__deprecated
int delay __deprecated
Definition: IAgoraRtcEngine.h:480
agora::rtc::RemoteAudioStats::quality
int quality
Definition: IAgoraRtcEngine.h:355
agora::rtc::PublisherConfiguration::width
int width
Definition: IAgoraRtcEngine.h:694
agora::rtc::VideoCompositingLayout::Region::width
double width
Definition: IAgoraRtcEngine.h:565
agora::rtc::IRtcEngine::startEchoTest
virtual int startEchoTest(const EchoTestConfiguration &config)=0
agora::rtc::IRtcEngine::startOrUpdateChannelMediaRelay
virtual int startOrUpdateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration)=0
agora::rtc::IRtcEngineEventHandler::onConnectionBanned
virtual void onConnectionBanned() __deprecated
Definition: IAgoraRtcEngine.h:2221
agora::rtc::IRtcEngine::getEffectsVolume
virtual int getEffectsVolume()=0
agora::rtc::IRtcEngineEventHandler::onEncryptionError
virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType)
Definition: IAgoraRtcEngine.h:2737
agora::rtc::IRtcEngineEventHandler::onCameraReady
virtual void onCameraReady() __deprecated
Definition: IAgoraRtcEngine.h:2089
agora::rtc::IRtcEngine::getEffectDuration
virtual int getEffectDuration(const char *filePath)=0
agora::rtc::CodecCapInfo
Definition: AgoraBase.h:1763
agora::commons::LogConfig
Definition: IAgoraLog.h:82
agora::rtc::IRtcEngineEventHandler::onLocalVideoStateChanged
virtual void onLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_ERROR error)
Definition: IAgoraRtcEngine.h:1874
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::onAudioRoutingChanged
virtual void onAudioRoutingChanged(int deviceType, int routing)
Definition: IAgoraRtcEngine.h:2530
agora::rtc::LeaveChannelOptions::stopAllEffect
bool stopAllEffect
Definition: IAgoraRtcEngine.h:1478
agora::rtc::ChannelMediaOptions::defaultVideoStreamType
Optional< VIDEO_STREAM_TYPE > defaultVideoStreamType
Definition: IAgoraRtcEngine.h:1214
agora::rtc::RemoteVideoStats::rxVideoBytes
unsigned int rxVideoBytes
Definition: IAgoraRtcEngine.h:548
createAgoraRtcEngine
AGORA_API agora::rtc::IRtcEngine *AGORA_CALL createAgoraRtcEngine()
agora::rtc::IRtcEngine::setBeautyEffectOptions
virtual int setBeautyEffectOptions(bool enabled, const BeautyOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IRtcEngine::startAudioRecording
virtual int startAudioRecording(const AudioRecordingConfiguration &config)=0
agora::rtc::RtcEngineContext::autoRegisterAgoraExtensions
bool autoRegisterAgoraExtensions
Definition: IAgoraRtcEngine.h:3206
agora::rtc::LocalVideoStats
Definition: IAgoraRtcEngine.h:259
agora::rtc::IMetadataObserver::onMetadataReceived
virtual void onMetadataReceived(const Metadata &metadata)=0
agora::rtc::IRtcEngine::startAudioFrameDump
virtual int startAudioFrameDump(const char *channel_id, uid_t user_id, const char *location, const char *uuid, const char *passwd, long duration_ms, bool auto_upload)=0
agora::rtc::IRtcEngine::resumeAllChannelMediaRelay
virtual int resumeAllChannelMediaRelay()=0
agora::rtc::IRtcEngine::setExtensionProperty
virtual int setExtensionProperty(const char *provider, const char *extension, const ExtensionInfo &extensionInfo, const char *key, const char *value)=0
agora::rtc::IRtcEngineEventHandler::onUserStateChanged
virtual void onUserStateChanged(uid_t uid, uint32_t state)
Definition: IAgoraRtcEngine.h:2013
agora::rtc::ChannelMediaOptions::publishMediaPlayerId
Optional< int > publishMediaPlayerId
Definition: IAgoraRtcEngine.h:1200
agora::rtc::IDirectCdnStreamingEventHandler
Definition: IAgoraRtcEngine.h:3367
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:2809
agora::rtc::IRtcEngineEventHandler::onVideoStopped
virtual void onVideoStopped() __deprecated
Definition: IAgoraRtcEngine.h:2168
agora::rtc::EncryptionConfig
Definition: AgoraBase.h:5576
agora::rtc::IRtcEngineEventHandler::onWlAccStats
virtual void onWlAccStats(WlAccStats currentStats, WlAccStats averageStats)
Definition: IAgoraRtcEngine.h:2712
agora::rtc::IRtcEngine::destroyMediaPlayer
virtual int destroyMediaPlayer(agora_refptr< IMediaPlayer > media_player)=0
agora::rtc::IRtcEngine::setAudioMixingPosition
virtual int setAudioMixingPosition(int pos)=0
agora::rtc::ChannelMediaOptions::publishTranscodedVideoTrack
Optional< bool > publishTranscodedVideoTrack
Definition: IAgoraRtcEngine.h:1156
agora::rtc::ScreenCaptureConfiguration::displayId
uint32_t displayId
Definition: IAgoraRtcEngine.h:834
agora::rtc::ChannelMediaOptions::enableAudioRecordingOrPlayout
Optional< bool > enableAudioRecordingOrPlayout
Definition: IAgoraRtcEngine.h:1196
agora::rtc::IRtcEngineEventHandler::onVideoPublishStateChanged
virtual void onVideoPublishStateChanged(VIDEO_SOURCE_TYPE source, const char *channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)
Definition: IAgoraRtcEngine.h:2858
agora::rtc::RemoteVideoStats::receivedBitrate
int receivedBitrate
Definition: IAgoraRtcEngine.h:496
agora::rtc::RemoteAudioStats
Definition: IAgoraRtcEngine.h:347
agora::rtc::TranscodingVideoStream
Definition: AgoraBase.h:3759
agora::rtc::IMetadataObserver::MAX_METADATA_SIZE_TYPE
MAX_METADATA_SIZE_TYPE
Definition: IAgoraRtcEngine.h:3238
agora::rtc::IRtcEngine::enableVideoImageSource
virtual int enableVideoImageSource(bool enable, const ImageTrackOptions &options)=0
enable or disable video image source to replace the current video source published or resume it
agora::rtc::IRtcEngineEventHandler::onFirstRemoteVideoFrame
virtual void onFirstRemoteVideoFrame(uid_t userId, int width, int height, int elapsed)
Definition: IAgoraRtcEngine.h:1905
agora::rtc::LocalVideoStats::encoderOutputFrameRate
int encoderOutputFrameRate
Definition: IAgoraRtcEngine.h:295
agora::rtc::IRtcEngine::unregisterAudioSpectrumObserver
virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
agora::rtc::IRtcEngine::setupRemoteVideo
virtual int setupRemoteVideo(const VideoCanvas &canvas)=0
agora::rtc::IRtcEngineEventHandler::onLastmileProbeResult
virtual void onLastmileProbeResult(const LastmileProbeResult &result)
Definition: IAgoraRtcEngine.h:1589
agora::rtc::IVideoDeviceManager::startDeviceTest
virtual int startDeviceTest(view_t hwnd)=0
agora::rtc::IRtcEngine::setLocalVideoMirrorMode
virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
agora::rtc::IRtcEngineEventHandler::onConnectionLost
virtual void onConnectionLost()
Definition: IAgoraRtcEngine.h:2203
agora::rtc::PublisherConfiguration::owner
bool owner
Definition: IAgoraRtcEngine.h:720
agora::rtc::IRtcEngine::setInEarMonitoringVolume
virtual int setInEarMonitoringVolume(int volume)=0
agora::rtc::IRtcEngine::setDefaultMuteAllRemoteVideoStreams
virtual int setDefaultMuteAllRemoteVideoStreams(bool mute) __deprecated=0
agora::rtc::IRtcEngine::enableSoundPositionIndication
virtual int enableSoundPositionIndication(bool enabled)=0
agora::rtc::VideoCompositingLayout::regions
const Region * regions
Definition: IAgoraRtcEngine.h:608
agora::rtc::IRtcEngine::stopCameraCapture
virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType)=0
agora::rtc::ChannelMediaOptions::publishMediaPlayerVideoTrack
Optional< bool > publishMediaPlayerVideoTrack
Definition: IAgoraRtcEngine.h:1150
agora::rtc::IRtcEngine::stopPreview
virtual int stopPreview()=0
agora::rtc::RemoteVideoStats::mosValue
int mosValue
Definition: IAgoraRtcEngine.h:544
agora::rtc::IRtcEngine::destroyCustomEncodedVideoTrack
virtual int destroyCustomEncodedVideoTrack(video_track_id_t video_track_id)=0
agora::rtc::DirectCdnStreamingMediaOptions::customVideoTrackId
Optional< video_track_id_t > customVideoTrackId
Definition: IAgoraRtcEngine.h:3431
agora::rtc::IRtcEngineEventHandler::onVideoSizeChanged
virtual void onVideoSizeChanged(VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation)
Definition: IAgoraRtcEngine.h:1841
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:2771
agora::rtc::LocalVideoStats::encodedFrameWidth
int encodedFrameWidth
Definition: IAgoraRtcEngine.h:298
agora::rtc::RtcStats
Definition: AgoraBase.h:2102
agora::rtc::LowlightEnhanceOptions
Definition: AgoraBase.h:4333
agora::rtc::IRtcEngine::setVoiceBeautifierParameters
virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2)=0
agora::rtc::IRtcEngine::muteRemoteAudioStream
virtual int muteRemoteAudioStream(uid_t uid, bool mute)=0
agora::rtc::IRtcEngine::setVideoDenoiserOptions
virtual int setVideoDenoiserOptions(bool enabled, const VideoDenoiserOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
agora::rtc::IRtcEngineEventHandler::onSnapshotTaken
virtual void onSnapshotTaken(uid_t uid, const char *filePath, int width, int height, int errCode)
Definition: IAgoraRtcEngine.h:2422
agora::rtc::IRtcEngine::startChannelMediaRelay
virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) __deprecated=0
agora::rtc::IRtcEngine::destroyCustomVideoTrack
virtual int destroyCustomVideoTrack(video_track_id_t video_track_id)=0
agora::rtc::IRtcEngine::setVoiceConversionParameters
virtual int setVoiceConversionParameters(VOICE_CONVERSION_PRESET preset, int param1, int param2)=0
agora::rtc::ChannelMediaOptions::publishLipSyncTrack
Optional< bool > publishLipSyncTrack
Definition: IAgoraRtcEngine.h:1178
agora::rtc::IRtcEngine::adjustAudioMixingVolume
virtual int adjustAudioMixingVolume(int volume)=0
agora::rtc::WatermarkOptions
Definition: AgoraBase.h:2065
agora::rtc::LocalAudioStats
Definition: AgoraBase.h:3314
agora::rtc::RecorderStreamInfo
Definition: AgoraBase.h:6025
agora::rtc::ChannelMediaOptions::publishThirdScreenTrack
Optional< bool > publishThirdScreenTrack
Definition: IAgoraRtcEngine.h:1098
agora::rtc::IRtcEngineEventHandler::onAudioDeviceVolumeChanged
virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted)
Definition: IAgoraRtcEngine.h:2459
agora::rtc::IRtcEngine::leaveChannel
virtual int leaveChannel()=0
agora::rtc::IRtcEngine::setAudioScenario
virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario)=0
agora::rtc::IRtcEngine::setClientRole
virtual int setClientRole(CLIENT_ROLE_TYPE role)=0
agora::rtc::IRtcEngine::preloadChannel
virtual int preloadChannel(const char *token, const char *channelId, uid_t uid)=0
agora::rtc::IRtcEngineEventHandler::onClientRoleChanged
virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions &newRoleOptions)
Definition: IAgoraRtcEngine.h:2436
agora::rtc::IRtcEngineEventHandler::onExtensionError
virtual void onExtensionError(const char *provider, const char *extension, int error, const char *message)
Definition: IAgoraRtcEngine.h:2916
agora::rtc::RemoteVideoStats::width
int width
Definition: IAgoraRtcEngine.h:488
agora::rtc::RtcEngineContext::audioScenario
AUDIO_SCENARIO_TYPE audioScenario
Definition: IAgoraRtcEngine.h:3152
agora::rtc::RemoteVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition: IAgoraRtcEngine.h:502
agora::rtc::IRtcEngine::setVoiceBeautifierPreset
virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset)=0
agora::rtc::IRtcEngine::rate
virtual int rate(const char *callId, int rating, const char *description)=0
agora::rtc::LocalVideoStats::targetBitrate
int targetBitrate
Definition: IAgoraRtcEngine.h:307
agora::rtc::ChannelMediaOptions::publishSecondaryScreenTrack
Optional< bool > publishSecondaryScreenTrack
Definition: IAgoraRtcEngine.h:1092
agora::rtc::RemoteAudioStats::qualityChangedReason
int qualityChangedReason
Definition: IAgoraRtcEngine.h:438
agora::rtc::IRtcEngine::getCallId
virtual int getCallId(agora::util::AString &callId)=0
agora::rtc::InjectStreamConfig
Definition: IAgoraRtcEngine.h:631
agora::rtc::IRtcEngine::uploadLogFile
virtual int uploadLogFile(agora::util::AString &requestId)=0
agora::rtc::IRtcEngine::startMediaRenderingTracing
virtual int startMediaRenderingTracing()=0
Start tracing media rendering events.
agora::rtc::CameraCapturerConfiguration::format
VideoFormat format
Definition: IAgoraRtcEngine.h:806
agora::rtc::LocalVideoStats::encodedFrameCount
int encodedFrameCount
Definition: IAgoraRtcEngine.h:321
agora::rtc::PublisherConfiguration::bitrate
int bitrate
Definition: IAgoraRtcEngine.h:706
agora::rtc::LocalVideoStats::regulatedCaptureFrameRate
int regulatedCaptureFrameRate
Definition: IAgoraRtcEngine.h:284
agora::rtc::IRtcEngine::enableWirelessAccelerate
virtual int enableWirelessAccelerate(bool enabled)=0
agora::rtc::IRtcEngine::createCustomEncodedVideoTrack
virtual video_track_id_t createCustomEncodedVideoTrack(const SenderOptions &sender_option)=0
agora::rtc::RtcEngineContext
Definition: IAgoraRtcEngine.h:3117
agora::rtc::IRtcEngine::unloadAllEffects
virtual int unloadAllEffects()=0
agora::rtc::ChannelMediaOptions
Definition: IAgoraRtcEngine.h:1035
agora::rtc::IRtcEngine
Definition: IAgoraRtcEngine.h:3608
agora::rtc::IRtcEngine::setClientRole
virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions &options)=0
agora::rtc::IRtcEngine::enableLoopbackRecording
virtual int enableLoopbackRecording(bool enabled, const char *deviceName=NULL)=0
agora::rtc::IRtcEngineEventHandler::onActiveSpeaker
virtual void onActiveSpeaker(uid_t userId)
Definition: IAgoraRtcEngine.h:2399
agora::rtc::IRtcEngine::createMediaRecorder
virtual agora_refptr< IMediaRecorder > createMediaRecorder(const RecorderStreamInfo &info)=0
agora::rtc::ScreenCaptureConfiguration
Definition: IAgoraRtcEngine.h:824
agora::rtc::IRtcEngine::setAudioMixingDualMonoMode
virtual int setAudioMixingDualMonoMode(media::AUDIO_MIXING_DUAL_MONO_MODE mode)=0
agora::rtc::ChannelMediaOptions::autoSubscribeVideo
Optional< bool > autoSubscribeVideo
Definition: IAgoraRtcEngine.h:1190
agora::rtc::AudioRecordingConfiguration
Definition: AgoraBase.h:5031
agora::rtc::IRtcEngine::getEffectCurrentPosition
virtual int getEffectCurrentPosition(int soundId)=0
agora::rtc::ChannelMediaOptions::publishMicrophoneTrack
Optional< bool > publishMicrophoneTrack
Definition: IAgoraRtcEngine.h:1065
agora::rtc::IRtcEngine::updatePreloadChannelToken
virtual int updatePreloadChannelToken(const char *token)=0
agora::rtc::IRtcEngine::resumeAudio
virtual int resumeAudio() __deprecated=0
agora::rtc::IRtcEngine::muteLocalAudioStream
virtual int muteLocalAudioStream(bool mute)=0
agora::rtc::IRtcEngine::joinChannelWithUserAccount
virtual int joinChannelWithUserAccount(const char *token, const char *channelId, const char *userAccount)=0
agora::rtc::IRtcEngine::setChannelProfile
virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile)=0
agora::rtc::RemoteVideoStats::frameLossRate
int frameLossRate
Definition: IAgoraRtcEngine.h:505
agora::rtc::IRtcEngine::updateDirectCdnStreamingMediaOptions
virtual int updateDirectCdnStreamingMediaOptions(const DirectCdnStreamingMediaOptions &options)=0
agora::rtc::IRtcEngine::setLocalVoicePitch
virtual int setLocalVoicePitch(double pitch)=0
agora::rtc::RemoteVideoStats::height
int height
Definition: IAgoraRtcEngine.h:492
agora::rtc::LocalVideoStats::captureFrameWidth
int captureFrameWidth
Definition: IAgoraRtcEngine.h:277
agora::rtc::IRtcEngine::setAudioEffectPreset
virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset)=0
agora::rtc::IRtcEngineEventHandler::onExtensionEvent
virtual void onExtensionEvent(const char *provider, const char *extension, const char *key, const char *value)
Definition: IAgoraRtcEngine.h:2875
agora::rtc::RtcEngineContext::useExternalEglContext
bool useExternalEglContext
Definition: IAgoraRtcEngine.h:3192
agora::rtc::IRtcEngine::preloadEffect
virtual int preloadEffect(int soundId, const char *filePath, int startPos=0)=0
agora::rtc::RemoteAudioStats::frozenRate
int frozenRate
Definition: IAgoraRtcEngine.h:394
agora::rtc::IRtcEngine::setVideoScenario
virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType)=0
agora::rtc::RemoteAudioStats::plcCount
uint32_t plcCount
Definition: IAgoraRtcEngine.h:420
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::rtc::DirectCdnStreamingMediaOptions::publishMediaPlayerAudioTrack
Optional< bool > publishMediaPlayerAudioTrack
Definition: IAgoraRtcEngine.h:3421
agora::util::CopyableAutoPtr
Definition: AgoraBase.h:145
agora::rtc::IRtcEngine::getNetworkType
virtual int getNetworkType()=0
agora::rtc::InjectStreamConfig::audioSampleRate
AUDIO_SAMPLE_RATE_TYPE audioSampleRate
Definition: IAgoraRtcEngine.h:655
agora::rtc::IRtcEngine::enableExtension
virtual int enableExtension(const char *provider, const char *extension, const ExtensionInfo &extensionInfo, bool enable=true)=0
agora::rtc::PublisherConfiguration::framerate
int framerate
Definition: IAgoraRtcEngine.h:702
agora::rtc::IRtcEngine::resumeEffect
virtual int resumeEffect(int soundId)=0
agora::rtc::PublisherConfiguration::injectStreamUrl
const char * injectStreamUrl
Definition: IAgoraRtcEngine.h:729
agora::rtc::ChannelMediaOptions::publishScreenTrack
Optional< bool > publishScreenTrack
Definition: IAgoraRtcEngine.h:1086
agora::rtc::IRtcEngine::playEffect
virtual int playEffect(int soundId, const char *filePath, int loopCount, double pitch, double pan, int gain, bool publish=false, int startPos=0)=0
agora::rtc::InjectStreamConfig::videoBitrate
int videoBitrate
Definition: IAgoraRtcEngine.h:651
agora::rtc::LocalVideoStats::captureBrightnessLevel
CAPTURE_BRIGHTNESS_LEVEL_TYPE captureBrightnessLevel
Definition: IAgoraRtcEngine.h:331
agora::rtc::IRtcEngine::enableVideo
virtual int enableVideo()=0
agora::rtc::IRtcEngine::setRemoteUserSpatialAudioParams
virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams &params)=0
agora::rtc::IRtcEngine::setHeadphoneEQParameters
virtual int setHeadphoneEQParameters(int lowGain, int highGain)=0
agora::rtc::IMetadataObserver::UNKNOWN_METADATA
@ UNKNOWN_METADATA
Definition: IAgoraRtcEngine.h:3229
agora::rtc::IRtcEngineEventHandler::onFirstLocalVideoFramePublished
virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed)
Definition: IAgoraRtcEngine.h:1805
agora::rtc::IRtcEngine::startEchoTest
virtual int startEchoTest()=0
agora::rtc::IRtcEngine::stopScreenCapture
virtual int stopScreenCapture(VIDEO_SOURCE_TYPE sourceType)=0
agora::rtc::IRtcEngine::updateChannelMediaOptions
virtual int updateChannelMediaOptions(const ChannelMediaOptions &options)=0
agora::rtc::RemoteAudioStats::numChannels
int numChannels
Definition: IAgoraRtcEngine.h:373
agora::rtc::ChannelMediaOptions::audioDelayMs
Optional< int > audioDelayMs
Definition: IAgoraRtcEngine.h:1224
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:1725
agora::rtc::IRtcEngine::resumeAudioMixing
virtual int resumeAudioMixing()=0
agora::rtc::ImageTrackOptions
Definition: IAgoraRtcEngine.h:1020
agora::rtc::IRtcEngine::unloadEffect
virtual int unloadEffect(int soundId)=0
agora::rtc::VideoCompositingLayout::Region
Definition: IAgoraRtcEngine.h:552
agora::rtc::IRtcEngine::stopRhythmPlayer
virtual int stopRhythmPlayer()=0
agora::rtc::IRtcEngine::getAudioMixingPlayoutVolume
virtual int getAudioMixingPlayoutVolume()=0
agora::rtc::IRtcEngine::startLastmileProbeTest
virtual int startLastmileProbeTest(const LastmileProbeConfig &config)=0
agora::rtc::IRtcEngineEventHandler::onVideoSubscribeStateChanged
virtual void onVideoSubscribeStateChanged(const char *channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState)
Definition: IAgoraRtcEngine.h:2826
agora::rtc::IRtcEngine::getExtensionProperty
virtual int getExtensionProperty(const char *provider, const char *extension, const char *key, char *value, int buf_len, agora::media::MEDIA_SOURCE_TYPE type=agora::media::UNKNOWN_MEDIA_SOURCE)=0
agora::rtc::ChannelMediaOptions::publishFourthScreenTrack
Optional< bool > publishFourthScreenTrack
Definition: IAgoraRtcEngine.h:1104
agora::rtc::RemoteAudioStats::jitterBufferDelay
int jitterBufferDelay
Definition: IAgoraRtcEngine.h:365
agora::rtc::IRtcEngine::adjustPlaybackSignalVolume
virtual int adjustPlaybackSignalVolume(int volume)=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:1891
agora::rtc::IRtcEngine::setExtensionProviderProperty
virtual int setExtensionProviderProperty(const char *provider, const char *key, const char *value)=0
agora::rtc::PublisherConfiguration::injectStreamWidth
int injectStreamWidth
Definition: IAgoraRtcEngine.h:723
agora::rtc::ChannelMediaOptions::publishMixedAudioTrack
Optional< bool > publishMixedAudioTrack
Definition: IAgoraRtcEngine.h:1162
agora::rtc::RemoteVideoStats::rxStreamType
VIDEO_STREAM_TYPE rxStreamType
Definition: IAgoraRtcEngine.h:512
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:3252
agora::rtc::RemoteAudioStats::uid
uid_t uid
Definition: IAgoraRtcEngine.h:351
agora::rtc::IRtcEngine::disableVideo
virtual int disableVideo()=0
agora::rtc::IRtcEngine::enableDualStreamMode
virtual int enableDualStreamMode(bool enabled) __deprecated=0
agora::rtc::InjectStreamConfig::videoGop
int videoGop
Definition: IAgoraRtcEngine.h:643
agora::rtc::ChannelMediaOptions::isInteractiveAudience
Optional< bool > isInteractiveAudience
Definition: IAgoraRtcEngine.h:1260
agora::SpatialAudioParams
Definition: AgoraBase.h:6140
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:2750
agora::rtc::IRtcEngineEventHandler::onUploadLogResult
virtual void onUploadLogResult(const char *requestId, bool success, UPLOAD_ERROR_REASON reason)
Definition: IAgoraRtcEngine.h:2794
agora::rtc::RemoteAudioStats::qoeQuality
int qoeQuality
Definition: IAgoraRtcEngine.h:434
agora::rtc::IRtcEngine::addVideoWatermark
virtual int addVideoWatermark(const RtcImage &watermark)=0
agora::rtc::IRtcEngine::setHeadphoneEQPreset
virtual int setHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset)=0
agora::rtc::IRtcEngine::startCameraCapture
virtual int startCameraCapture(VIDEO_SOURCE_TYPE sourceType, const CameraCapturerConfiguration &config)=0
agora::rtc::IRtcEngine::setLocalAccessPoint
virtual int setLocalAccessPoint(const LocalAccessPointConfiguration &config)=0
agora::rtc::IRtcEngine::createCustomVideoTrack
virtual video_track_id_t createCustomVideoTrack()=0
agora::rtc::IRtcEngine::disableAudio
virtual int disableAudio()=0
agora::rtc::IRtcEngine::muteAllRemoteAudioStreams
virtual int muteAllRemoteAudioStreams(bool mute)=0
agora::rtc::IRtcEngineEventHandler::onRtcStats
virtual void onRtcStats(const RtcStats &stats)
Definition: IAgoraRtcEngine.h:1643
agora::rtc::IRtcEngineEventHandler::onUserJoined
virtual void onUserJoined(uid_t uid, int elapsed)
Definition: IAgoraRtcEngine.h:1931
agora::rtc::AAudioDeviceManager
Definition: IAgoraRtcEngine.h:8540
agora::rtc::IMetadataObserver::Metadata
Definition: IAgoraRtcEngine.h:3247
agora::rtc::IRtcEngine::sendCustomReportMessage
virtual int sendCustomReportMessage(const char *id, const char *category, const char *event, const char *label, int value)=0
agora::rtc::RemoteVideoStats::packetLossRate
int packetLossRate
Definition: IAgoraRtcEngine.h:508
agora::rtc::LocalVideoStats::hwEncoderAccelerating
int hwEncoderAccelerating
Definition: IAgoraRtcEngine.h:340
agora::rtc::DeviceInfo
Definition: AgoraBase.h:3174
agora::base::IEngineBase
Definition: AgoraBase.h:6106
agora::rtc::LocalVideoStats::rendererOutputFrameRate
int rendererOutputFrameRate
Definition: IAgoraRtcEngine.h:304
agora::rtc::IRtcEngineEventHandler::onDownlinkNetworkInfoUpdated
virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo &info)
Definition: IAgoraRtcEngine.h:1760
agora::rtc::DirectCdnStreamingMediaOptions::publishCustomAudioTrack
Optional< bool > publishCustomAudioTrack
Definition: IAgoraRtcEngine.h:3409
agora::rtc::VideoRenderingTracingInfo
Definition: AgoraBase.h:5958
agora::rtc::IRtcEngineEventHandler::onAudioMixingStateChanged
virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:2177
agora::rtc::IRtcEngine::setLocalRenderMode
virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
agora::rtc::IRtcEngine::setAudioProfile
virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) __deprecated=0
agora::rtc::RtcEngineContext::areaCode
unsigned int areaCode
Definition: IAgoraRtcEngine.h:3161
agora::rtc::IRtcEngineEventHandler::onLicenseValidationFailure
virtual void onLicenseValidationFailure(LICENSE_ERROR_TYPE error)
Definition: IAgoraRtcEngine.h:2293
agora::rtc::CameraCapturerConfiguration
Definition: IAgoraRtcEngine.h:787
agora::rtc::IMetadataObserver::VIDEO_METADATA
@ VIDEO_METADATA
Definition: IAgoraRtcEngine.h:3232
agora::rtc::IRtcEngine::selectAudioTrack
virtual int selectAudioTrack(int index)=0
agora::rtc::RemoteVideoStats
Definition: IAgoraRtcEngine.h:468
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:726
agora::Optional< int >
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:3255
agora::rtc::ClientRoleOptions
Definition: AgoraBase.h:2347
agora::rtc::IRtcEngine::setRecordingAudioFrameParameters
virtual int setRecordingAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
agora::rtc::ScreenCaptureConfiguration::screenRect
Rectangle screenRect
Definition: IAgoraRtcEngine.h:839
agora::rtc::IRtcEngineEventHandler::onUserEnableLocalVideo
virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) __deprecated
Definition: IAgoraRtcEngine.h:2028
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:2565
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:2842
agora::rtc::IRtcEngine::setHighPriorityUserList
virtual int setHighPriorityUserList(uid_t *uidList, int uidNum, STREAM_FALLBACK_OPTIONS option)=0
agora::rtc::IRtcEngine::setScreenCaptureOrientation
virtual int setScreenCaptureOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation)=0
agora::rtc::RemoteAudioStats::receivedSampleRate
int receivedSampleRate
Definition: IAgoraRtcEngine.h:377
agora::rtc::IRtcEngine::startPreview
virtual int startPreview(VIDEO_SOURCE_TYPE sourceType)=0
agora::rtc::VideoCanvas
Definition: AgoraBase.h:4216
agora::rtc::VideoCompositingLayout::Region::uid
uid_t uid
Definition: IAgoraRtcEngine.h:555
agora::rtc::IRtcEngineEventHandler::onConnectionStateChanged
virtual void onConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason)
Definition: IAgoraRtcEngine.h:2689
agora::rtc::SegmentationProperty
Definition: AgoraBase.h:4507
agora::rtc::VideoCompositingLayout::Region::x
double x
Definition: IAgoraRtcEngine.h:558
agora::rtc::IRtcEngineEventHandler::onExtensionStarted
virtual void onExtensionStarted(const char *provider, const char *extension)
Definition: IAgoraRtcEngine.h:2889