Agora C++ API Reference for All Platforms
Loading...
Searching...
No Matches
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
17namespace agora {
18namespace rtm {
19class IStreamChannel;
20}
21namespace rtc {
22
23template <typename T>
24static void SetFrom(Optional<T>* s, const Optional<T>& o) {
25 if (o) {
26 *s = o;
27 }
28}
29
30template <typename T>
31static void ReplaceBy(Optional<T>* s, const Optional<T>& o) {
32 *s = o;
33}
34
35//class IAudioDeviceManager;
36
74
89
111
161
207
233
259
268
269struct RtcConnection;
270
367
508
597
599 struct Region {
605 double x; // [0,1]
608 double y; // [0,1]
612 double width; // [0,1]
614 double height; // [0,1]
618 int zOrder; // optional, [0, 100] //0 (default): bottom most, 100: top most
619
623 double alpha;
624
625 media::base::RENDER_MODE_TYPE renderMode; // RENDER_MODE_HIDDEN: Crop, RENDER_MODE_FIT: Zoom to fit
626
628 : uid(0),
629 x(0),
630 y(0),
631 width(0),
632 height(0),
633 zOrder(0),
634 alpha(1.0),
635 renderMode(media::base::RENDER_MODE_HIDDEN) {}
636 };
637
650 const char* backgroundColor; // e.g. "#C0C0C0" in RGB
660 const char* appData;
664
666 : canvasWidth(0),
667 canvasHeight(0),
668 backgroundColor(OPTIONAL_NULLPTR),
669 regions(NULL),
670 regionCount(0),
671 appData(OPTIONAL_NULLPTR),
672 appDataLength(0) {}
673};
674
681 int width;
709
710 // width / height default set to 0 means pull the stream with its original
711 // resolution
721};
722
733
740 int width;
766 bool owner;
775 const char* injectStreamUrl;
779 const char* publishUrl;
783 const char* rawStreamUrl;
786 const char* extraInfo;
787
789 : width(640),
790 height(360),
791 framerate(15),
792 bitrate(500),
793 defaultLayout(1),
795 owner(true),
798 injectStreamUrl(NULL),
799 publishUrl(NULL),
800 rawStreamUrl(NULL),
801 extraInfo(NULL) {}
802};
803
813
826
828 TCP_PROXY = 2,
830};
831
835#if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) || defined(__OHOS__)
840
841 /*- CAMERA_FOCAL_LENGTH_TYPE.CAMERA_FOCAL_LENGTH_DEFAULT:
842 For iOS, if iPhone/iPad has 3 or 2 back camera, it means combination of triple (wide + ultra wide + telephoto) camera
843 or dual wide(wide + ultra wide) camera.In this situation, you can apply for ultra wide len by set smaller zoom fator
844 and bigger zoom fator for telephoto len.Otherwise, it always means wide back/front camera.
845
846 - CAMERA_FOCAL_LENGTH_TYPE.CAMERA_FOCAL_LENGTH_WIDE_ANGLE:wide camera
847 - CAMERA_FOCAL_LENGTH_TYPE.CAMERA_FOCAL_LENGTH_ULTRA_WIDE:ultra wide camera
848 - CAMERA_FOCAL_LENGTH_TYPE.CAMERA_FOCAL_LENGTH_TELEPHOTO:telephoto camera*/
850#else
853#endif
854
855#if defined(__ANDROID__)
860#endif
865};
866
875 bool isCaptureWindow; // true - capture window, false - capture display
879 int64_t displayId;
884 Rectangle screenRect; //Windows only
889 int64_t windowId;
902
904};
905
906#if (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)|| (defined(__linux__) && !defined(__ANDROID__) && !defined(__OHOS__))
909struct SIZE {
912 int width;
916
917 SIZE() : width(0), height(0) {}
918 SIZE(int ww, int hh) : width(ww), height(hh) {}
919};
920#endif
921
922#if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE) || (defined(__linux__) && !defined(__ANDROID__) && !defined(__OHOS__))
932 const char* buffer;
936 unsigned int length;
940 unsigned int width;
944 unsigned int height;
945 ThumbImageBuffer() : buffer(nullptr), length(0), width(0), height(0) {}
946};
947
960
1019
1023 protected:
1025
1026 public:
1032 virtual unsigned int getCount() = 0;
1042 virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index) = 0;
1049 virtual void release() = 0;
1050};
1051#endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
1064
1071
1111
1112 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(__OHOS__)
1125 #else
1150 #endif
1151
1297
1303
1318
1328
1338
1349
1352
1353 void SetAll(const ChannelMediaOptions& change) {
1354#define SET_FROM(X) SetFrom(&X, change.X)
1355
1356 SET_FROM(publishCameraTrack);
1358 SET_FROM(publishThirdCameraTrack);
1359 SET_FROM(publishFourthCameraTrack);
1360 SET_FROM(publishMicrophoneTrack);
1361#if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(__OHOS__)
1362 SET_FROM(publishScreenCaptureVideo);
1363 SET_FROM(publishScreenCaptureAudio);
1364#else
1365 SET_FROM(publishScreenTrack);
1367 SET_FROM(publishThirdScreenTrack);
1368 SET_FROM(publishFourthScreenTrack);
1369#endif
1371 SET_FROM(publishMixedAudioTrack);
1372 SET_FROM(publishLipSyncTrack);
1373 SET_FROM(publishCustomAudioTrack);
1374 SET_FROM(publishCustomAudioTrackId);
1375 SET_FROM(publishCustomVideoTrack);
1376 SET_FROM(publishEncodedVideoTrack);
1379 SET_FROM(autoSubscribeAudio);
1380 SET_FROM(autoSubscribeVideo);
1381 SET_FROM(publishMediaPlayerId);
1383 SET_FROM(clientRoleType);
1384 SET_FROM(audienceLatencyLevel);
1385 SET_FROM(defaultVideoStreamType);
1386 SET_FROM(channelProfile);
1387 SET_FROM(audioDelayMs);
1388 SET_FROM(mediaPlayerAudioDelayMs);
1389 SET_FROM(token);
1391 SET_FROM(publishRhythmPlayerTrack);
1392 SET_FROM(customVideoTrackId);
1393 SET_FROM(isAudioFilterable);
1394 SET_FROM(isInteractiveAudience);
1395 SET_FROM(parameters);
1396 SET_FROM(enableMultipath);
1397 SET_FROM(uplinkMultipathMode);
1398 SET_FROM(downlinkMultipathMode);
1399 SET_FROM(preferMultipathType);
1400#undef SET_FROM
1401 }
1402
1403 bool operator==(const ChannelMediaOptions& o) const {
1404#define BEGIN_COMPARE() bool b = true
1405#define ADD_COMPARE(X) b = (b && (X == o.X))
1406#define END_COMPARE()
1407
1408 BEGIN_COMPARE();
1409 ADD_COMPARE(publishCameraTrack);
1410 ADD_COMPARE(publishSecondaryCameraTrack);
1411 ADD_COMPARE(publishThirdCameraTrack);
1412 ADD_COMPARE(publishFourthCameraTrack);
1413 ADD_COMPARE(publishMicrophoneTrack);
1414#if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(__OHOS__)
1415 ADD_COMPARE(publishScreenCaptureVideo);
1416 ADD_COMPARE(publishScreenCaptureAudio);
1417#else
1418 ADD_COMPARE(publishScreenTrack);
1419 ADD_COMPARE(publishSecondaryScreenTrack);
1420 ADD_COMPARE(publishThirdScreenTrack);
1421 ADD_COMPARE(publishFourthScreenTrack);
1422#endif
1423 ADD_COMPARE(publishTranscodedVideoTrack);
1424 ADD_COMPARE(publishMixedAudioTrack);
1425 ADD_COMPARE(publishLipSyncTrack);
1426 ADD_COMPARE(publishCustomAudioTrack);
1427 ADD_COMPARE(publishCustomAudioTrackId);
1428 ADD_COMPARE(publishCustomVideoTrack);
1429 ADD_COMPARE(publishEncodedVideoTrack);
1430 ADD_COMPARE(publishMediaPlayerAudioTrack);
1431 ADD_COMPARE(publishMediaPlayerVideoTrack);
1432 ADD_COMPARE(autoSubscribeAudio);
1433 ADD_COMPARE(autoSubscribeVideo);
1434 ADD_COMPARE(publishMediaPlayerId);
1435 ADD_COMPARE(enableAudioRecordingOrPlayout);
1436 ADD_COMPARE(clientRoleType);
1437 ADD_COMPARE(audienceLatencyLevel);
1438 ADD_COMPARE(defaultVideoStreamType);
1439 ADD_COMPARE(channelProfile);
1440 ADD_COMPARE(audioDelayMs);
1441 ADD_COMPARE(mediaPlayerAudioDelayMs);
1442 ADD_COMPARE(token);
1443 ADD_COMPARE(enableBuiltInMediaEncryption);
1444 ADD_COMPARE(publishRhythmPlayerTrack);
1445 ADD_COMPARE(customVideoTrackId);
1446 ADD_COMPARE(isAudioFilterable);
1447 ADD_COMPARE(isInteractiveAudience);
1448 ADD_COMPARE(parameters);
1449 ADD_COMPARE(enableMultipath);
1450 ADD_COMPARE(uplinkMultipathMode);
1451 ADD_COMPARE(downlinkMultipathMode);
1452 ADD_COMPARE(preferMultipathType);
1453 END_COMPARE();
1454
1455#undef BEGIN_COMPARE
1456#undef ADD_COMPARE
1457#undef END_COMPARE
1458 return b;
1459 }
1460
1462 if (this != &replace) {
1463#define REPLACE_BY(X) ReplaceBy(&X, replace.X)
1464
1465 REPLACE_BY(publishCameraTrack);
1466 REPLACE_BY(publishSecondaryCameraTrack);
1467 REPLACE_BY(publishThirdCameraTrack);
1468 REPLACE_BY(publishFourthCameraTrack);
1469 REPLACE_BY(publishMicrophoneTrack);
1470#if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(__OHOS__)
1471 REPLACE_BY(publishScreenCaptureVideo);
1472 REPLACE_BY(publishScreenCaptureAudio);
1473#else
1474 REPLACE_BY(publishScreenTrack);
1475 REPLACE_BY(publishSecondaryScreenTrack);
1476 REPLACE_BY(publishThirdScreenTrack);
1477 REPLACE_BY(publishFourthScreenTrack);
1478#endif
1479 REPLACE_BY(publishTranscodedVideoTrack);
1480 REPLACE_BY(publishMixedAudioTrack);
1481 REPLACE_BY(publishLipSyncTrack);
1482 REPLACE_BY(publishCustomAudioTrack);
1483 REPLACE_BY(publishCustomAudioTrackId);
1484 REPLACE_BY(publishCustomVideoTrack);
1485 REPLACE_BY(publishEncodedVideoTrack);
1486 REPLACE_BY(publishMediaPlayerAudioTrack);
1487 REPLACE_BY(publishMediaPlayerVideoTrack);
1488 REPLACE_BY(autoSubscribeAudio);
1489 REPLACE_BY(autoSubscribeVideo);
1490 REPLACE_BY(publishMediaPlayerId);
1492 REPLACE_BY(clientRoleType);
1493 REPLACE_BY(audienceLatencyLevel);
1494 REPLACE_BY(defaultVideoStreamType);
1495 REPLACE_BY(channelProfile);
1496 REPLACE_BY(audioDelayMs);
1497 REPLACE_BY(mediaPlayerAudioDelayMs);
1498 REPLACE_BY(token);
1499 REPLACE_BY(enableBuiltInMediaEncryption);
1500 REPLACE_BY(publishRhythmPlayerTrack);
1501 REPLACE_BY(customVideoTrackId);
1502 REPLACE_BY(isAudioFilterable);
1503 REPLACE_BY(isInteractiveAudience);
1504 REPLACE_BY(parameters);
1505 REPLACE_BY(enableMultipath);
1506 REPLACE_BY(uplinkMultipathMode);
1507 REPLACE_BY(downlinkMultipathMode);
1508 REPLACE_BY(preferMultipathType);
1509#undef REPLACE_BY
1510 }
1511 return *this;
1512 }
1513};
1514
1538
1543
1569
1581 public:
1583
1584 virtual const char* eventHandlerType() const { return "event_handler"; }
1585
1595 virtual void onJoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1596 (void)channel;
1597 (void)uid;
1598 (void)elapsed;
1599 }
1600
1611 virtual void onRejoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1612 (void)channel;
1613 (void)uid;
1614 (void)elapsed;
1615 }
1616
1624 virtual void onProxyConnected(const char* channel, uid_t uid, PROXY_TYPE proxyType, const char* localProxyIp, int elapsed) {
1625 (void)channel;
1626 (void)uid;
1627 (void)proxyType;
1628 (void)localProxyIp;
1629 (void)elapsed;
1630 }
1631
1637 virtual void onError(int err, const char* msg) {
1638 (void)err;
1639 (void)msg;
1640 }
1641
1657 virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay, unsigned short lost) __deprecated {
1658 (void)uid;
1659 (void)quality;
1660 (void)delay;
1661 (void)lost;
1662 }
1663
1669 virtual void onLastmileProbeResult(const LastmileProbeResult& result) {
1670 (void)result;
1671 }
1672
1699 virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, unsigned int speakerNumber,
1700 int totalVolume) {
1701 (void)speakers;
1702 (void)speakerNumber;
1703 (void)totalVolume;
1704 }
1705
1714 virtual void onLeaveChannel(const RtcStats& stats) { (void)stats; }
1715
1723 virtual void onRtcStats(const RtcStats& stats) { (void)stats; }
1724
1738 virtual void onAudioDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1739 (void)deviceId;
1740 (void)deviceType;
1741 (void)deviceState;
1742 }
1743
1750 virtual void onAudioMixingPositionChanged(int64_t position) {}
1751
1759
1767 virtual void onAudioEffectFinished(int soundId) {}
1768
1778 virtual void onVideoDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
1779 (void)deviceId;
1780 (void)deviceType;
1781 (void)deviceState;
1782 }
1783
1806 virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) {
1807 (void)uid;
1808 (void)txQuality;
1809 (void)rxQuality;
1810 }
1811
1818 virtual void onIntraRequestReceived() {}
1819
1831 (void)info;
1832 }
1833
1846 virtual void onLastmileQuality(int quality) { (void)quality; }
1847
1858 virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed) {
1859 (void)source;
1860 (void)width;
1861 (void)height;
1862 (void)elapsed;
1863 }
1864
1875 virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed) {
1876 (void)source;
1877 (void)elapsed;
1878 }
1879
1896 virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) __deprecated {
1897 (void)uid;
1898 (void)width;
1899 (void)height;
1900 (void)elapsed;
1901 }
1902
1911 virtual void onVideoSizeChanged(VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation) {
1912 (void)uid;
1913 (void)width;
1914 (void)height;
1915 (void)rotation;
1916 }
1917
1945 (void)source;
1946 (void)state;
1947 (void)reason;
1948 }
1949
1961 virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) {
1962 (void)uid;
1963 (void)state;
1964 (void)reason;
1965 (void)elapsed;
1966 }
1967
1975 virtual void onFirstRemoteVideoFrame(uid_t uid, int width, int height, int elapsed) {
1976 (void)uid;
1977 (void)width;
1978 (void)height;
1979 (void)elapsed;
1980 }
1981
2001 virtual void onUserJoined(uid_t uid, int elapsed) {
2002 (void)uid;
2003 (void)elapsed;
2004 }
2005
2021 (void)uid;
2022 (void)reason;
2023 }
2024
2037 virtual void onUserMuteAudio(uid_t uid, bool muted) {
2038 (void)uid;
2039 (void)muted;
2040 }
2041
2056 virtual void onUserMuteVideo(uid_t uid, bool muted) {
2057 (void)uid;
2058 (void)muted;
2059 }
2060
2073 virtual void onUserEnableVideo(uid_t uid, bool enabled) {
2074 (void)uid;
2075 (void)enabled;
2076 }
2077
2083 virtual void onUserStateChanged(uid_t uid, REMOTE_USER_STATE state) {
2084 (void)uid;
2085 (void)state;
2086 }
2087
2098 virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) __deprecated {
2099 (void)uid;
2100 (void)enabled;
2101 }
2102
2110 virtual void onRemoteAudioStats(const RemoteAudioStats& stats) {
2111 (void)stats;
2112 }
2113
2121 virtual void onLocalAudioStats(const LocalAudioStats& stats) {
2122 (void)stats;
2123 }
2124
2138 virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats& stats) {
2139 (void)source;
2140 (void)stats;
2141 }
2142
2151 virtual void onRemoteVideoStats(const RemoteVideoStats& stats) {
2152 (void)stats;
2153 }
2154
2160 virtual void onCameraReady() __deprecated {}
2161
2172 virtual void onCameraFocusAreaChanged(int x, int y, int width, int height) {
2173 (void)x;
2174 (void)y;
2175 (void)width;
2176 (void)height;
2177 }
2178
2186 virtual void onCameraExposureAreaChanged(int x, int y, int width, int height) {
2187 (void)x;
2188 (void)y;
2189 (void)width;
2190 (void)height;
2191 }
2192#if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) || defined(__OHOS__)
2223 virtual void onFacePositionChanged(int imageWidth, int imageHeight,
2224 const Rectangle* vecRectangle, const int* vecDistance,
2225 int numFaces) {
2226 (void) imageWidth;
2227 (void) imageHeight;
2228 (void) vecRectangle;
2229 (void) vecDistance;
2230 (void) numFaces;
2231 }
2232#endif
2241
2250 (void)state;
2251 (void)reason;
2252 }
2253
2262 virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_REASON reason) {
2263 (void)state;
2264 (void)reason;
2265 }
2266
2275 virtual void onConnectionLost() {}
2276
2289
2294
2306 virtual void onStreamMessage(uid_t uid, int streamId, const char* data, size_t length, uint64_t sentTs) {
2307 (void)uid;
2308 (void)streamId;
2309 (void)data;
2310 (void)length;
2311 (void)sentTs;
2312 }
2313
2326 virtual void onStreamMessageError(uid_t uid, int streamId, int code, int missed, int cached) {
2327 (void)uid;
2328 (void)streamId;
2329 (void)code;
2330 (void)missed;
2331 (void)cached;
2332 }
2333
2347 virtual void onRdtMessage(uid_t userId, RdtStreamType type, const char *data, size_t length) {
2348 (void)userId;
2349 (void)type;
2350 (void)data;
2351 (void)length;
2352 };
2353
2362 virtual void onRdtStateChanged(uid_t userId, RdtState state) {
2363 (void)userId;
2364 (void)state;
2365 }
2366
2378 virtual void onMediaControlMessage(uid_t userId, const char* data, size_t length) {
2379 (void)userId;
2380 (void)data;
2381 (void)length;
2382 }
2383
2393 virtual void onRequestToken() {}
2394
2406 virtual void onTokenPrivilegeWillExpire(const char* token) {
2407 (void)token;
2408 }
2409
2416 (void)error;
2417 }
2418
2429 virtual void onFirstLocalAudioFramePublished(int elapsed) {
2430 (void)elapsed;
2431 }
2432
2449 virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) __deprecated {
2450 (void)uid;
2451 (void)elapsed;
2452 }
2453
2461 virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) __deprecated {
2462 (void)uid;
2463 (void)elapsed;
2464 }
2465
2481 (void)state;
2482 (void)reason;
2483 }
2484
2501 virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) {
2502 (void)uid;
2503 (void)state;
2504 (void)reason;
2505 (void)elapsed;
2506 }
2507
2521 virtual void onActiveSpeaker(uid_t uid) {
2522 (void)uid;
2523 }
2524
2529 virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result) { (void)result; }
2530
2548 virtual void onSnapshotTaken(uid_t uid, const char* filePath, int width, int height, int errCode) {
2549 (void)uid;
2550 (void)filePath;
2551 (void)width;
2552 (void)height;
2553 (void)errCode;
2554 }
2555
2563 virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions& newRoleOptions) {
2564 (void)oldRole;
2565 (void)newRole;
2566 (void)newRoleOptions;
2567 }
2568
2577 (void)reason;
2578 (void)currentRole;
2579 }
2580
2588 virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) {
2589 (void)deviceType;
2590 (void)volume;
2591 (void)muted;
2592 }
2593
2605 virtual void onRtmpStreamingStateChanged(const char* url, RTMP_STREAM_PUBLISH_STATE state,
2607 (void)url;
2608 (void)state;
2609 (void)reason;
2610 }
2611
2617 virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode) {
2618 (void)url;
2619 (void)eventCode;
2620 }
2621
2632 virtual void onTranscodingUpdated() {}
2633
2647 virtual void onAudioRoutingChanged(int routing) { (void)routing; }
2648
2680 virtual void onChannelMediaRelayStateChanged(int state, int code) {
2681 (void)state;
2682 (void)code;
2683 }
2684
2702 virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover) {
2703 (void)uid;
2704 (void)isFallbackOrRecover;
2705 }
2706
2721 virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated {
2722 (void)uid;
2723 (void)delay;
2724 (void)lost;
2725 (void)rxKBitRate;
2726 }
2727
2745 virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated {
2746 (void)uid;
2747 (void)delay;
2748 (void)lost;
2749 (void)rxKBitRate;
2750 }
2751
2762 (void)state;
2763 (void)reason;
2764 }
2765
2776 (void)type;
2777 }
2778
2787 (void)errorType;
2788 }
2789
2799 virtual void onPermissionError(PERMISSION_TYPE permissionType) {
2800 (void)permissionType;
2801 }
2802
2812 virtual void onLocalUserRegistered(uid_t uid, const char* userAccount) {
2813 (void)uid;
2814 (void)userAccount;
2815 }
2816
2825 virtual void onUserInfoUpdated(uid_t uid, const UserInfo& info) {
2826 (void)uid;
2827 (void)info;
2828 }
2829
2836 virtual void onUserAccountUpdated(uid_t uid, const char* userAccount){
2837 (void)uid;
2838 (void)userAccount;
2839 }
2840
2849 (void)uid;
2850 (void)currentEvent;
2851 (void)tracingInfo;
2852 }
2853
2861 (void)stream;
2862 (void)error;
2863 }
2864
2871 virtual void onUploadLogResult(const char* requestId, bool success, UPLOAD_ERROR_REASON reason) {
2872 (void)requestId;
2873 (void)success;
2874 (void)reason;
2875 }
2876
2886 virtual void onAudioSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
2887 (void)channel;
2888 (void)uid;
2889 (void)oldState;
2890 (void)newState;
2891 (void)elapseSinceLastState;
2892 }
2893
2903 virtual void onVideoSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
2904 (void)channel;
2905 (void)uid;
2906 (void)oldState;
2907 (void)newState;
2908 (void)elapseSinceLastState;
2909 }
2910
2919 virtual void onAudioPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
2920 (void)channel;
2921 (void)oldState;
2922 (void)newState;
2923 (void)elapseSinceLastState;
2924 }
2925
2935 virtual void onVideoPublishStateChanged(VIDEO_SOURCE_TYPE source, const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
2936 (void)source;
2937 (void)channel;
2938 (void)oldState;
2939 (void)newState;
2940 (void)elapseSinceLastState;
2941 }
2942
2952 virtual void onTranscodedStreamLayoutInfo(uid_t uid, int width, int height, int layoutCount,const VideoLayout* layoutlist) {
2953 (void)uid;
2954 (void)width;
2955 (void)height;
2956 (void)layoutCount;
2957 (void)layoutlist;
2958 }
2959
2968 virtual void onAudioMetadataReceived(uid_t uid, const char* metadata, size_t length) {
2969 (void)uid;
2970 (void)metadata;
2971 (void)length;
2972 }
2973
2983 virtual void onExtensionEventWithContext(const ExtensionContext &context, const char* key, const char* value) {
2984 (void)context;
2985 (void)key;
2986 (void)value;
2987 }
2988
2997 (void)context;
2998 }
2999
3008 (void)context;
3009 }
3010
3021 virtual void onExtensionErrorWithContext(const ExtensionContext &context, int error, const char* message) {
3022 (void)context;
3023 (void)error;
3024 (void)message;
3025 }
3026
3033 virtual void onSetRtmFlagResult(int code) {
3034 (void)code;
3035 }
3036
3045 */ virtual void onMultipathStats(const MultipathStats& stats) {
3046 (void)stats;
3047 }
3048
3061 virtual void onRenewTokenResult(const char* token, RENEW_TOKEN_ERROR_CODE code) {
3062 (void)token;
3063 (void)code;
3064 }
3065};
3066
3071 public:
3073
3079 virtual int getCount() = 0;
3080
3090 virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3091
3102 virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH],
3103 char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3104
3108 virtual void release() = 0;
3109};
3110
3115 public:
3129
3140 virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3141
3150 virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3151
3152#if defined(_WIN32) || (defined(__linux__) && !defined(__ANDROID__) && !defined(__OHOS__)) || \
3153 (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
3171 virtual int numberOfCapabilities(const char* deviceIdUTF8) = 0;
3172
3190 virtual int getCapability(const char* deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat& capability) = 0;
3191#endif
3205 virtual int startDeviceTest(view_t hwnd) = 0;
3206
3213 virtual int stopDeviceTest() = 0;
3214
3218 virtual void release() = 0;
3219};
3220
3227 public:
3229
3235 enum class VIDEO_EFFECT_NODE_ID : uint32_t {
3237 BEAUTY = 1U << 0,
3239 STYLE_MAKEUP = 1U << 1,
3241 FILTER = 1U << 2,
3242 };
3243
3251 SAVE = 1,
3254 };
3255
3280 virtual int addOrUpdateVideoEffect(uint32_t nodeId, const char* templateName) = 0;
3281
3293 virtual int removeVideoEffect(uint32_t nodeId) = 0;
3294
3307 virtual int performVideoEffectAction(uint32_t nodeId, VIDEO_EFFECT_ACTION actionId) = 0;
3308
3322 virtual int setVideoEffectFloatParam(const char* option, const char* key, float param) = 0;
3323
3337 virtual int setVideoEffectIntParam(const char* option, const char* key, int param) = 0;
3338
3354 virtual int setVideoEffectBoolParam(const char* option, const char* key, bool param) = 0;
3355
3368 virtual float getVideoEffectFloatParam(const char* option, const char* key) = 0;
3369
3382 virtual int getVideoEffectIntParam(const char* option, const char* key) = 0;
3383
3396 virtual bool getVideoEffectBoolParam(const char* option, const char* key) = 0;
3397
3398};
3399
3499
3503public:
3505
3519
3528
3532 {
3535 const char* channelId;
3540 unsigned int uid;
3543 unsigned int size;
3546 unsigned char *buffer;
3550 long long timeStampMs;
3551
3552 Metadata() : channelId(NULL), uid(0), size(0), buffer(NULL), timeStampMs(0) {}
3553 };
3554
3566
3577 virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type) = 0;
3578
3586 virtual void onMetadataReceived(const Metadata& metadata) = 0;
3587};
3588
3596 // No error occurs.
3598 // A general error occurs (no specified reason).
3600 // Audio publication error.
3602 // Video publication error.
3604
3606 // Already exist stream name.
3608};
3609
3628
3660
3668 public:
3670
3678 (void)state;
3679 (void)reason;
3680 (void)message;
3681 };
3682
3684 (void)stats;
3685 };
3686};
3687
3734
3737
3739#define SET_FROM(X) SetFrom(&X, change.X)
3740 SET_FROM(publishCameraTrack);
3741 SET_FROM(publishMicrophoneTrack);
3742 SET_FROM(publishCustomAudioTrack);
3743 SET_FROM(publishCustomVideoTrack);
3745 SET_FROM(publishMediaPlayerId);
3746 SET_FROM(customVideoTrackId);
3747#undef SET_FROM
3748 }
3749
3751#define BEGIN_COMPARE() bool b = true
3752#define ADD_COMPARE(X) b = (b && (X == o.X))
3753#define END_COMPARE()
3754
3755 BEGIN_COMPARE();
3756 ADD_COMPARE(publishCameraTrack);
3757 ADD_COMPARE(publishMicrophoneTrack);
3758 ADD_COMPARE(publishCustomAudioTrack);
3759 ADD_COMPARE(publishCustomVideoTrack);
3760 ADD_COMPARE(publishMediaPlayerAudioTrack);
3761 ADD_COMPARE(customVideoTrackId);
3762 ADD_COMPARE(publishMediaPlayerId);
3763 END_COMPARE();
3764
3765#undef BEGIN_COMPARE
3766#undef ADD_COMPARE
3767#undef END_COMPARE
3768 return b;
3769 }
3770
3772 if (this != &replace) {
3773#define REPLACE_BY(X) ReplaceBy(&X, replace.X)
3774
3775 REPLACE_BY(publishCameraTrack);
3776 REPLACE_BY(publishMicrophoneTrack);
3777 REPLACE_BY(publishCustomAudioTrack);
3778 REPLACE_BY(publishCustomVideoTrack);
3779 REPLACE_BY(publishMediaPlayerAudioTrack);
3780 REPLACE_BY(customVideoTrackId);
3781 REPLACE_BY(publishMediaPlayerId);
3782#undef REPLACE_BY
3783 }
3784 return *this;
3785 }
3786};
3787
3824
3825class IMediaPlayer;
3826class IMediaRecorder;
3827
3834
3842 public:
3867 AGORA_CPP_API static void release(RtcEngineReleaseCallback callback = nullptr);
3868
3885 virtual int initialize(const RtcEngineContext& context) = 0;
3886
3896 virtual int queryInterface(INTERFACE_ID_TYPE iid, void** inter) = 0;
3897
3898
3904 virtual const char* getVersion(int* build) = 0;
3905
3911 virtual const char* getErrorDescription(int code) = 0;
3912
3922 virtual int queryCodecCapability(CodecCapInfo* codecInfo, int& size) = 0;
3923
3933 virtual int queryDeviceScore() = 0;
3934
3972 virtual int preloadChannel(const char* token, const char* channelId, uid_t uid) = 0;
3973
4013 virtual int preloadChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount) = 0;
4014
4032 virtual int updatePreloadChannelToken(const char* token) = 0;
4033
4093 virtual int joinChannel(const char* token, const char* channelId, const char* info, uid_t uid) = 0;
4094
4162 virtual int joinChannel(const char* token, const char* channelId, uid_t uid, const ChannelMediaOptions& options) = 0;
4163
4172 virtual int updateChannelMediaOptions(const ChannelMediaOptions& options) = 0;
4173
4191 virtual int leaveChannel() = 0;
4192
4212 virtual int leaveChannel(const LeaveChannelOptions& options) = 0;
4213
4231 virtual int renewToken(const char* token) = 0;
4232
4252 virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile) = 0;
4253
4277 virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0;
4278
4301 virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0;
4302
4311 virtual int startEchoTest(const EchoTestConfiguration& config) = 0;
4312
4319 virtual int stopEchoTest() = 0;
4320
4321#if defined(__APPLE__) && TARGET_OS_IOS
4331 virtual int enableMultiCamera(bool enabled, const CameraCapturerConfiguration& config) = 0;
4332#endif
4348 virtual int enableVideo() = 0;
4349
4359 virtual int disableVideo() = 0;
4360
4372 virtual int startPreview() = 0;
4373
4381 virtual int startPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
4382
4390 virtual int stopPreview() = 0;
4391
4399 virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
4400
4434 virtual int startLastmileProbeTest(const LastmileProbeConfig& config) = 0;
4435
4437 virtual int stopLastmileProbeTest() = 0;
4438
4456
4484
4492
4501
4527
4528
4542
4543
4556
4638
4672
4695 virtual int setupRemoteVideo(const VideoCanvas& canvas) = 0;
4696
4713 virtual int setupLocalVideo(const VideoCanvas& canvas) = 0;
4714
4734
4753 virtual int setVideoQoEPreference(VIDEO_QOE_PREFERENCE_TYPE qoePreference) = 0;
4754
4768 virtual int enableAudio() = 0;
4769
4781 virtual int disableAudio() = 0;
4782
4805
4821 virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile) = 0;
4830 virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario) = 0;
4853 virtual int enableLocalAudio(bool enabled) = 0;
4854
4880 virtual int muteLocalAudioStream(bool mute) = 0;
4881
4923 virtual int muteAllRemoteAudioStreams(bool mute) = 0;
4924
4941 virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0;
4942
4954 virtual int muteLocalVideoStream(bool mute) = 0;
4955
4980 virtual int enableLocalVideo(bool enabled) = 0;
4981
5021 virtual int muteAllRemoteVideoStreams(bool mute) = 0;
5022
5033
5050 virtual int muteRemoteVideoStream(uid_t uid, bool mute) = 0;
5051
5069 virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0;
5070
5082
5097 virtual int setSubscribeAudioBlocklist(uid_t* uidList, int uidNumber) = 0;
5098
5115 virtual int setSubscribeAudioAllowlist(uid_t* uidList, int uidNumber) = 0;
5116
5131 virtual int setSubscribeVideoBlocklist(uid_t* uidList, int uidNumber) = 0;
5132
5149 virtual int setSubscribeVideoAllowlist(uid_t* uidList, int uidNumber) = 0;
5150
5177 virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad) = 0;
5178
5199 virtual int startAudioRecording(const char* filePath,
5200 AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
5222 virtual int startAudioRecording(const char* filePath,
5223 int sampleRate,
5224 AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
5225
5244 virtual int startAudioRecording(const AudioRecordingConfiguration& config) = 0;
5245
5252
5261 virtual int stopAudioRecording() = 0;
5262
5274
5286 virtual int destroyMediaPlayer(agora_refptr<IMediaPlayer> media_player) = 0;
5287
5299
5310
5352 virtual int startAudioMixing(const char* filePath, bool loopback, int cycle) = 0;
5353
5397 virtual int startAudioMixing(const char* filePath, bool loopback, int cycle, int startPos) = 0;
5398
5407 virtual int stopAudioMixing() = 0;
5408
5417 virtual int pauseAudioMixing() = 0;
5418
5427 virtual int resumeAudioMixing() = 0;
5428
5437 virtual int selectAudioTrack(int index) = 0;
5446 virtual int getAudioTrackCount() = 0;
5447
5462 virtual int adjustAudioMixingVolume(int volume) = 0;
5463
5471 virtual int adjustAudioMixingPublishVolume(int volume) = 0;
5472
5481
5489 virtual int adjustAudioMixingPlayoutVolume(int volume) = 0;
5490
5499
5508 virtual int getAudioMixingDuration() = 0;
5509
5520
5530 virtual int setAudioMixingPosition(int pos /*in ms*/) = 0;
5531
5543
5560 virtual int setAudioMixingPitch(int pitch) = 0;
5561
5577 virtual int setAudioMixingPlaybackSpeed(int speed) = 0;
5578
5586 virtual int getEffectsVolume() = 0;
5596 virtual int setEffectsVolume(int volume) = 0;
5620 virtual int preloadEffect(int soundId, const char* filePath, int startPos = 0) = 0;
5662 virtual int playEffect(int soundId, const char* filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0) = 0;
5693 virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false) = 0;
5694
5704 virtual int getVolumeOfEffect(int soundId) = 0;
5705
5716 virtual int setVolumeOfEffect(int soundId, int volume) = 0;
5725 virtual int pauseEffect(int soundId) = 0;
5732 virtual int pauseAllEffects() = 0;
5741 virtual int resumeEffect(int soundId) = 0;
5748 virtual int resumeAllEffects() = 0;
5757 virtual int stopEffect(int soundId) = 0;
5764 virtual int stopAllEffects() = 0;
5773 virtual int unloadEffect(int soundId) = 0;
5780 virtual int unloadAllEffects() = 0;
5799 virtual int getEffectDuration(const char* filePath) = 0;
5816 virtual int setEffectPosition(int soundId, int pos) = 0;
5831 virtual int getEffectCurrentPosition(int soundId) = 0;
5844 virtual int enableSoundPositionIndication(bool enabled) = 0;
5845
5866 virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0;
5867
5877 virtual int enableSpatialAudio(bool enabled) = 0;
5878
5889
5928
5967
6005
6081 virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2) = 0;
6082
6126 int param1, int param2) = 0;
6127
6141 int param1, int param2) = 0;
6142
6153 virtual int setLocalVoicePitch(double pitch) = 0;
6154
6165 virtual int setLocalVoiceFormant(double formantRatio) = 0;
6166
6178 virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain) = 0;
6179
6188 virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value) = 0;
6201
6211 virtual int setHeadphoneEQParameters(int lowGain, int highGain) = 0;
6212
6224 virtual int enableVoiceAITuner(bool enabled, VOICE_AI_TUNER_TYPE type) = 0;
6225
6241 virtual int setLogFile(const char* filePath) = 0;
6242
6265 virtual int setLogFilter(unsigned int filter) = 0;
6266
6283 virtual int setLogLevel(commons::LOG_LEVEL level) = 0;
6284
6299 virtual int setLogFileSize(unsigned int fileSizeInKBytes) = 0;
6300
6309 virtual int uploadLogFile(agora::util::AString& requestId) = 0;
6310
6326 virtual int writeLog(commons::LOG_LEVEL level, const char* fmt, ...) = 0;
6327
6347
6369 VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
6380 virtual int setLocalRenderTargetFps(VIDEO_SOURCE_TYPE sourceType, int targetFps) = 0;
6389 virtual int setRemoteRenderTargetFps(int targetFps) = 0;
6390 // The following APIs are either deprecated and going to deleted.
6391
6410
6423
6438 virtual int enableDualStreamMode(bool enabled) __deprecated = 0;
6439
6456 virtual int enableDualStreamMode(bool enabled, const SimulcastStreamConfig& streamConfig) __deprecated = 0;
6457
6458
6473
6496 virtual int setSimulcastConfig(const SimulcastConfig& simulcastConfig) = 0;
6497
6511 virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode, const SimulcastStreamConfig& streamConfig) = 0;
6512
6527 virtual int enableCustomAudioLocalPlayback(track_id_t trackId, bool enabled) = 0;
6528
6547 virtual int setRecordingAudioFrameParameters(int sampleRate, int channel,
6549 int samplesPerCall) = 0;
6550
6570 virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel,
6572 int samplesPerCall) = 0;
6573
6589 virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall) = 0;
6590
6610 virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel,
6612 int samplesPerCall) = 0;
6613
6629 virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel) = 0;
6630
6648 virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel, int samplesPerCall) = 0;
6649
6660 virtual int enableAudioSpectrumMonitor(int intervalInMS = 100) = 0;
6669
6695
6709 virtual int adjustRecordingSignalVolume(int volume) = 0;
6710
6722 virtual int muteRecordingSignal(bool mute) = 0;
6723
6737 virtual int adjustPlaybackSignalVolume(int volume) = 0;
6738
6739 /*
6740 * Adjust the playback volume of the user specified by uid.
6741 *
6742 * You can call this method to adjust the playback volume of the user specified by uid
6743 * in call. If you want to adjust playback volume of the multi user, you can call this
6744 * this method multi times.
6745 *
6746 * @note
6747 * Please call this method after join channel.
6748 * This method adjust the playback volume of specified user.
6749 *
6750 * @param uid Remote user ID.
6751 * @param volume The playback volume of the specified remote user. The value ranges between 0 and 400, including the following:
6752 * 0: Mute.
6753 * 100: (Default) Original volume.
6754 * 400: Four times the original volume with signal-clipping protection.
6755 * @return
6756 * - 0: Success.
6757 * - < 0: Failure.
6758 */
6759 virtual int adjustUserPlaybackSignalVolume(uid_t uid, int volume) = 0;
6760
6777
6791 virtual int setHighPriorityUserList(uid_t* uidList, int uidNum, STREAM_FALLBACK_OPTIONS option) = 0;
6792
6813 virtual int enableExtension(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, bool enable = true) = 0;
6814
6828 virtual int setExtensionProperty(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, const char* key, const char* value) = 0;
6829
6844 virtual int getExtensionProperty(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, const char* key, char* value, int buf_len) = 0;
6845
6864 virtual int enableLoopbackRecording(bool enabled, const char* deviceName = NULL) = 0;
6865
6866
6879 virtual int adjustLoopbackSignalVolume(int volume) = 0;
6880
6888
6900 virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters) = 0;
6901
6912 virtual int setInEarMonitoringVolume(int volume) = 0;
6913
6914#if defined(_WIN32) || defined(__linux__) || defined(__ANDROID__)
6915 virtual int loadExtensionProvider(const char* path, bool unload_after_use = false) = 0;
6916#endif
6917
6929 virtual int setExtensionProviderProperty(const char* provider, const char* key, const char* value) = 0;
6930
6943 virtual int registerExtension(const char* provider, const char* extension, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6944
6965 virtual int enableExtension(const char* provider, const char* extension, bool enable=true, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6966
6980 const char* provider, const char* extension,
6981 const char* key, const char* value, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6982
6997 const char* provider, const char* extension,
6998 const char* key, char* value, int buf_len, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
6999
7012
7021
7030
7039 virtual int destroyCustomVideoTrack(video_track_id_t video_track_id) = 0;
7040
7049 virtual int destroyCustomEncodedVideoTrack(video_track_id_t video_track_id) = 0;
7050
7051#if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) || defined(__OHOS__)
7060 virtual int switchCamera() = 0;
7061
7069 virtual bool isCameraZoomSupported() = 0;
7070
7079
7087 virtual bool isCameraTorchSupported() = 0;
7088
7096 virtual bool isCameraFocusSupported() = 0;
7097
7106
7116 virtual int setCameraZoomFactor(float factor) = 0;
7117
7126 virtual int enableFaceDetection(bool enabled) = 0;
7127
7132 virtual float getCameraMaxZoomFactor() = 0;
7133
7143 virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0;
7144
7152 virtual int setCameraTorchOn(bool isOn) = 0;
7153
7161 virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0;
7162
7175
7191 virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0;
7192
7205 virtual bool isCameraExposureSupported() = 0;
7206
7217 virtual int setCameraExposureFactor(float factor) = 0;
7218
7219#if defined(__APPLE__)
7228
7229
7237 virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0;
7238
7245#endif
7246
7280 virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0;
7281
7308 virtual int setEnableSpeakerphone(bool speakerOn) = 0;
7309
7317 virtual bool isSpeakerphoneEnabled() = 0;
7318
7325 virtual int setRouteInCommunicationMode(int route) = 0;
7326#endif // __ANDROID__ || (__APPLE__ && TARGET_OS_IOS) || __OHOS__
7327
7328#if defined(__APPLE__)
7337
7346 virtual int enableCameraCenterStage(bool enabled) = 0;
7347#endif
7348
7349#if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)|| (defined(__linux__) && !defined(__ANDROID__) && !defined(__OHOS__))
7360 virtual IScreenCaptureSourceList* getScreenCaptureSources(const SIZE& thumbSize, const SIZE& iconSize, const bool includeScreen) = 0;
7361#endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
7362#if (defined(__APPLE__) && TARGET_OS_IOS)
7388#endif // __APPLE__ && TARGET_OS_IOS
7389
7390#if defined(_WIN32) || (defined(__APPLE__) && !TARGET_OS_IPHONE && TARGET_OS_MAC) || (defined(__linux__) && !defined(__ANDROID__) && !defined(__OHOS__))
7391
7412 virtual int startScreenCaptureByDisplayId(int64_t displayId, const Rectangle& regionRect,
7413 const ScreenCaptureParameters& captureParams) = 0;
7414
7415#endif // __APPLE__ && TARGET_OS_MAC && !TARGET_OS_IPHONE
7416
7417#if defined(_WIN32)
7441 virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect,
7442 const Rectangle& regionRect,
7443 const ScreenCaptureParameters& captureParams) __deprecated = 0;
7444#endif
7445
7446#if defined(__ANDROID__)
7453 virtual int getAudioDeviceInfo(DeviceInfo& deviceInfo) = 0;
7454#endif // __ANDROID__
7455
7456#if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE) || (defined(__linux__) && !defined(__ANDROID__) && !defined(__OHOS__))
7457
7475 virtual int startScreenCaptureByWindowId(int64_t windowId, const Rectangle& regionRect,
7476 const ScreenCaptureParameters& captureParams) = 0;
7477
7494
7511 virtual int updateScreenCaptureRegion(const Rectangle& regionRect) = 0;
7512
7526 virtual int updateScreenCaptureParameters(const ScreenCaptureParameters& captureParams) = 0;
7527#endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
7528
7529#if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) || defined(__OHOS__)
7539 virtual int startScreenCapture(const ScreenCaptureParameters2& captureParams) = 0;
7540
7550 virtual int updateScreenCapture(const ScreenCaptureParameters2& captureParams) = 0;
7551
7564
7576 virtual int queryCameraFocalLengthCapability(agora::rtc::FocalLengthInfo* focalLengthInfos, int& size) = 0;
7577
7578#if defined(__ANDROID__)
7595 virtual int setExternalMediaProjection(void* mediaProjection) = 0;
7596#endif
7597#endif
7598
7599#if defined(_WIN32) || defined(__APPLE__) || defined(__ANDROID__) || (defined(__linux__) && !defined(__ANDROID__) && !defined (__OHOS__))
7616 virtual int setScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario) = 0;
7617
7625 virtual int stopScreenCapture() = 0;
7626#endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC) || __ANDROID__
7627
7644 virtual int getCallId(agora::util::AString& callId) = 0;
7645
7660 virtual int rate(const char* callId, int rating, const char* description) = 0; // 0~10
7661
7675 virtual int complain(const char* callId, const char* description) = 0;
7676
7697 virtual int startRtmpStreamWithoutTranscoding(const char* url) = 0;
7698
7720 virtual int startRtmpStreamWithTranscoding(const char* url, const LiveTranscoding& transcoding) = 0;
7721
7731 virtual int updateRtmpTranscoding(const LiveTranscoding& transcoding) = 0;
7732
7735
7754 virtual int stopRtmpStream(const char* url) = 0;
7755
7756 virtual int stopLocalVideoTranscoder() = 0;
7757
7768
7779
7789 virtual int stopLocalAudioMixer() = 0;
7790
7800 virtual int startCameraCapture(VIDEO_SOURCE_TYPE sourceType, const CameraCapturerConfiguration& config) = 0;
7801
7812 virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType) = 0;
7837
7847 virtual int startScreenCapture(VIDEO_SOURCE_TYPE sourceType, const ScreenCaptureConfiguration& config) = 0;
7848
7859 virtual int stopScreenCapture(VIDEO_SOURCE_TYPE sourceType) = 0;
7860
7866
7867 // The following APIs are not implemented yet.
7868 virtual bool registerEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
7869 virtual bool unregisterEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
7870 virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0;
7871
7883 virtual int registerPacketObserver(IPacketObserver* observer) = 0;
7884
7885
7907 virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0;
7908
7940 virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0;
7941
7951 virtual int createDataStream(int* streamId, const DataStreamConfig& config) = 0;
7952
7983 virtual int sendStreamMessage(int streamId, const char* data, size_t length) = 0;
7984
7998 virtual int sendRdtMessage(uid_t uid, RdtStreamType type, const char *data, size_t length) = 0;
7999
8012 virtual int sendMediaControlMessage(uid_t uid, const char* data, size_t length) = 0;
8013
8035 virtual int addVideoWatermark(const RtcImage& watermark) __deprecated = 0;
8036
8064 virtual int addVideoWatermark(const char* watermarkUrl, const WatermarkOptions& options) = 0;
8065
8079 virtual int addVideoWatermark(const WatermarkConfig& configs) = 0;
8080
8094 virtual int removeVideoWatermark(const char* id) = 0;
8095
8103 virtual int clearVideoWatermarks() = 0;
8104
8105 // The following APIs are either deprecated and going to deleted.
8106
8115 virtual int pauseAudio() __deprecated = 0;
8124 virtual int resumeAudio() __deprecated = 0;
8125
8143 virtual int enableWebSdkInteroperability(bool enabled) __deprecated = 0;
8144
8154 virtual int sendCustomReportMessage(const char* id, const char* category, const char* event, const char* label, int value) = 0;
8155
8177 virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0;
8178
8187 virtual int unregisterMediaMetadataObserver(IMetadataObserver* observer, IMetadataObserver::METADATA_TYPE type) = 0;
8188
8197 virtual int startAudioFrameDump(const char* channel_id, uid_t uid, const char* location, const char* uuid, const char* passwd, long duration_ms, bool auto_upload) = 0;
8198
8202 virtual int stopAudioFrameDump(const char* channel_id, uid_t uid, const char* location) = 0;
8203
8219 virtual int setAINSMode(bool enabled, AUDIO_AINS_MODE mode) = 0;
8220
8252 virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0;
8253
8284 virtual int joinChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount) = 0;
8285
8317 virtual int joinChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount, const ChannelMediaOptions& options) = 0;
8318
8351 virtual int joinChannelWithUserAccountEx(const char* token, const char* channelId,
8352 const char* userAccount, const ChannelMediaOptions& options,
8353 IRtcEngineEventHandler* eventHandler) = 0;
8354
8372 virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo) = 0;
8373
8391 virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo) = 0;
8392
8428
8457 virtual int stopChannelMediaRelay() = 0;
8458
8468 virtual int pauseAllChannelMediaRelay() = 0;
8469
8480
8496
8514
8531 const char* publishUrl, const DirectCdnStreamingMediaOptions& options) = 0;
8532
8544 virtual int stopDirectCdnStreaming() = 0;
8545
8560
8571 virtual int startRhythmPlayer(const char* sound1, const char* sound2, const AgoraRhythmPlayerConfig& config) = 0;
8572
8579 virtual int stopRhythmPlayer() = 0;
8580
8589 virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig& config) = 0;
8590
8620 virtual int takeSnapshot(uid_t uid, const char* filePath) = 0;
8621
8646 virtual int takeSnapshot(uid_t uid, const media::SnapshotConfig& config) = 0;
8647
8657 virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config) = 0;
8658 /*
8659 * Adjust the custom audio publish volume by track id.
8660 * @param trackId custom audio track id.
8661 * @param volume The volume, range is [0,100]:
8662 * 0: mute, 100: The original volume
8663 * @return
8664 * - 0: Success.
8665 * - < 0: Failure.
8666 */
8667 virtual int adjustCustomAudioPublishVolume(track_id_t trackId, int volume) = 0;
8668
8669 /*
8670 * Adjust the custom audio playout volume by track id.
8671 * @param trackId custom audio track id.
8672 * @param volume The volume, range is [0,100]:
8673 * 0: mute, 100: The original volume
8674 * @return
8675 * - 0: Success.
8676 * - < 0: Failure.
8677 */
8678 virtual int adjustCustomAudioPlayoutVolume(track_id_t trackId, int volume) = 0;
8679
8709 virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0;
8719
8727 virtual int setAdvancedAudioOptions(AdvancedAudioOptions& options, int sourceType = 0) = 0;
8728
8739 virtual int setAVSyncSource(const char* channelId, uid_t uid) = 0;
8740
8747 virtual int enableVideoImageSource(bool enable, const ImageTrackOptions& options) = 0;
8748
8749 /*
8750 * Get monotonic time in ms which can be used by capture time,
8751 * typical scenario is as follows:
8752 *
8753 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8754 * | // custom audio/video base capture time, e.g. the first audio/video capture time. |
8755 * | int64_t custom_capture_time_base; |
8756 * | |
8757 * | int64_t agora_monotonic_time = getCurrentMonotonicTimeInMs(); |
8758 * | |
8759 * | // offset is fixed once calculated in the begining. |
8760 * | const int64_t offset = agora_monotonic_time - custom_capture_time_base; |
8761 * | |
8762 * | // realtime_custom_audio/video_capture_time is the origin capture time that customer provided.|
8763 * | // actual_audio/video_capture_time is the actual capture time transfered to sdk. |
8764 * | int64_t actual_audio_capture_time = realtime_custom_audio_capture_time + offset; |
8765 * | int64_t actual_video_capture_time = realtime_custom_video_capture_time + offset; |
8766 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8767 *
8768 * @return
8769 * - >= 0: Success.
8770 * - < 0: Failure.
8771 */
8772 virtual int64_t getCurrentMonotonicTimeInMs() = 0;
8773
8787
8788 virtual int getNetworkType() = 0;
8789
8798 virtual int setParameters(const char* parameters) = 0;
8799
8815
8830
8834 virtual uint64_t getNtpWallTimeInMs() = 0;
8835
8845
8856 virtual int sendAudioMetadata(const char* metadata, size_t length) = 0;
8857
8869};
8870
8871// The following types are either deprecated or not implmented yet.
8880
8904
8905enum VIDEO_PROFILE_TYPE { // res fps
8955 VIDEO_PROFILE_LANDSCAPE_720P = 50, // 1280x720 15
8963 VIDEO_PROFILE_LANDSCAPE_1080P = 60, // 1920x1080 15
8969 VIDEO_PROFILE_LANDSCAPE_1440P = 66, // 2560x1440 30
8973 VIDEO_PROFILE_LANDSCAPE_4K = 70, // 3840x2160 30
8975 VIDEO_PROFILE_LANDSCAPE_4K_3 = 72, // 3840x2160 60
8977 VIDEO_PROFILE_PORTRAIT_120P = 1000, // 120x160 15
8979 VIDEO_PROFILE_PORTRAIT_120P_3 = 1002, // 120x120 15
8981 VIDEO_PROFILE_PORTRAIT_180P = 1010, // 180x320 15
8983 VIDEO_PROFILE_PORTRAIT_180P_3 = 1012, // 180x180 15
8985 VIDEO_PROFILE_PORTRAIT_180P_4 = 1013, // 180x240 15
8987 VIDEO_PROFILE_PORTRAIT_240P = 1020, // 240x320 15
8989 VIDEO_PROFILE_PORTRAIT_240P_3 = 1022, // 240x240 15
8991 VIDEO_PROFILE_PORTRAIT_240P_4 = 1023, // 240x424 15
8993 VIDEO_PROFILE_PORTRAIT_360P = 1030, // 360x640 15
8995 VIDEO_PROFILE_PORTRAIT_360P_3 = 1032, // 360x360 15
8997 VIDEO_PROFILE_PORTRAIT_360P_4 = 1033, // 360x640 30
8999 VIDEO_PROFILE_PORTRAIT_360P_6 = 1035, // 360x360 30
9001 VIDEO_PROFILE_PORTRAIT_360P_7 = 1036, // 360x480 15
9003 VIDEO_PROFILE_PORTRAIT_360P_8 = 1037, // 360x480 30
9005 VIDEO_PROFILE_PORTRAIT_360P_9 = 1038, // 360x640 15
9011 VIDEO_PROFILE_PORTRAIT_480P = 1040, // 480x640 15
9013 VIDEO_PROFILE_PORTRAIT_480P_3 = 1042, // 480x480 15
9015 VIDEO_PROFILE_PORTRAIT_480P_4 = 1043, // 480x640 30
9017 VIDEO_PROFILE_PORTRAIT_480P_6 = 1045, // 480x480 30
9019 VIDEO_PROFILE_PORTRAIT_480P_8 = 1047, // 480x848 15
9021 VIDEO_PROFILE_PORTRAIT_480P_9 = 1048, // 480x848 30
9025 VIDEO_PROFILE_PORTRAIT_720P = 1050, // 720x1280 15
9027 VIDEO_PROFILE_PORTRAIT_720P_3 = 1052, // 720x1280 30
9029 VIDEO_PROFILE_PORTRAIT_720P_5 = 1054, // 720x960 15
9031 VIDEO_PROFILE_PORTRAIT_720P_6 = 1055, // 720x960 30
9033 VIDEO_PROFILE_PORTRAIT_1080P = 1060, // 1080x1920 15
9035 VIDEO_PROFILE_PORTRAIT_1080P_3 = 1062, // 1080x1920 30
9037 VIDEO_PROFILE_PORTRAIT_1080P_5 = 1064, // 1080x1920 60
9039 VIDEO_PROFILE_PORTRAIT_1440P = 1066, // 1440x2560 30
9041 VIDEO_PROFILE_PORTRAIT_1440P_2 = 1067, // 1440x2560 60
9043 VIDEO_PROFILE_PORTRAIT_4K = 1070, // 2160x3840 30
9045 VIDEO_PROFILE_PORTRAIT_4K_3 = 1072, // 2160x3840 60
9048};
9049
9050class AAudioDeviceManager : public agora::util::AutoPtr<IAudioDeviceManager> {
9051 public:
9055};
9056
9057class AVideoDeviceManager : public agora::util::AutoPtr<IVideoDeviceManager> {
9058 public:
9062};
9063
9064} // namespace rtc
9065} // namespace agora
9066
9072#define getAgoraRtcEngineVersion getAgoraSdkVersion
9073
9075
9079
9085
9087
9089
9095#define getAgoraRtcEngineErrorDescription getAgoraSdkErrorDescription
9096#define setAgoraRtcEngineExternalSymbolLoader setAgoraSdkExternalSymbolLoader
Definition AgoraOptional.h:413
Definition AgoraRefPtr.h:31
Definition AgoraRefPtr.h:44
Definition AgoraBase.h:7473
Definition AgoraMediaBase.h:1598
AAudioDeviceManager(IRtcEngine *engine)
Definition IAgoraRtcEngine.h:9052
AVideoDeviceManager(IRtcEngine *engine)
Definition IAgoraRtcEngine.h:9059
Definition AgoraBase.h:6392
Definition IAgoraRtcEngine.h:3667
virtual void onDirectCdnStreamingStats(const DirectCdnStreamingStats &stats)
Definition IAgoraRtcEngine.h:3683
virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_REASON reason, const char *message)
Definition IAgoraRtcEngine.h:3677
virtual ~IDirectCdnStreamingEventHandler()
Definition IAgoraRtcEngine.h:3669
Definition IAgoraRtcEngine.h:3502
METADATA_TYPE
Definition IAgoraRtcEngine.h:3511
@ UNKNOWN_METADATA
Definition IAgoraRtcEngine.h:3514
@ VIDEO_METADATA
Definition IAgoraRtcEngine.h:3517
virtual ~IMetadataObserver()
Definition IAgoraRtcEngine.h:3504
virtual void onMetadataReceived(const Metadata &metadata)=0
virtual int getMaxMetadataSize()
Definition IAgoraRtcEngine.h:3565
MAX_METADATA_SIZE_TYPE
Definition IAgoraRtcEngine.h:3523
@ MAX_METADATA_SIZE_IN_BYTE
Definition IAgoraRtcEngine.h:3526
@ DEFAULT_METADATA_SIZE_IN_BYTE
Definition IAgoraRtcEngine.h:3525
@ INVALID_METADATA_SIZE_IN_BYTE
Definition IAgoraRtcEngine.h:3524
virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type)=0
Definition AgoraBase.h:3824
Definition IAgoraRtcEngine.h:1580
virtual void onUserMuteAudio(uid_t uid, bool muted)
Definition IAgoraRtcEngine.h:2037
virtual void onRtmpStreamingStateChanged(const char *url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_REASON reason)
Definition IAgoraRtcEngine.h:2605
virtual void onFirstLocalAudioFramePublished(int elapsed)
Definition IAgoraRtcEngine.h:2429
virtual void onTranscodingUpdated()
Definition IAgoraRtcEngine.h:2632
virtual void onStreamMessage(uid_t uid, int streamId, const char *data, size_t length, uint64_t sentTs)
Definition IAgoraRtcEngine.h:2306
virtual void onLocalAudioStats(const LocalAudioStats &stats)
Definition IAgoraRtcEngine.h:2121
virtual void onCameraFocusAreaChanged(int x, int y, int width, int height)
Definition IAgoraRtcEngine.h:2172
virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted)
Definition IAgoraRtcEngine.h:2588
virtual void onLocalVideoTranscoderError(const TranscodingVideoStream &stream, VIDEO_TRANSCODER_ERROR error)
Definition IAgoraRtcEngine.h:2860
virtual const char * eventHandlerType() const
Definition IAgoraRtcEngine.h:1584
virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed)
Definition IAgoraRtcEngine.h:1858
virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) __deprecated
Definition IAgoraRtcEngine.h:2461
virtual void onError(int err, const char *msg)
Definition IAgoraRtcEngine.h:1637
virtual void onExtensionStoppedWithContext(const ExtensionContext &context)
Definition IAgoraRtcEngine.h:3007
virtual void onChannelMediaRelayStateChanged(int state, int code)
Definition IAgoraRtcEngine.h:2680
virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) __deprecated
Definition IAgoraRtcEngine.h:2098
virtual void onFirstRemoteVideoFrame(uid_t uid, int width, int height, int elapsed)
Definition IAgoraRtcEngine.h:1975
virtual void onAudioMixingPositionChanged(int64_t position)
Reports current AudioMixing progress.
Definition IAgoraRtcEngine.h:1750
virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result)
Definition IAgoraRtcEngine.h:2529
virtual void onUserStateChanged(uid_t uid, REMOTE_USER_STATE state)
Definition IAgoraRtcEngine.h:2083
virtual void onIntraRequestReceived()
Definition IAgoraRtcEngine.h:1818
virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated
Definition IAgoraRtcEngine.h:2721
virtual void onCameraExposureAreaChanged(int x, int y, int width, int height)
Definition IAgoraRtcEngine.h:2186
virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_REASON reason)
Definition IAgoraRtcEngine.h:2480
virtual void onMultipathStats(const MultipathStats &stats)
Report the multipath transmission statistics.
Definition IAgoraRtcEngine.h:3045
virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats &stats)
Definition IAgoraRtcEngine.h:2138
virtual void onStreamMessageError(uid_t uid, int streamId, int code, int missed, int cached)
Definition IAgoraRtcEngine.h:2326
virtual void onVideoSizeChanged(VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation)
Definition IAgoraRtcEngine.h:1911
virtual void onLicenseValidationFailure(LICENSE_ERROR_TYPE error)
Definition IAgoraRtcEngine.h:2415
virtual void onLastmileProbeResult(const LastmileProbeResult &result)
Definition IAgoraRtcEngine.h:1669
virtual void onLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_REASON reason)
Definition IAgoraRtcEngine.h:1944
virtual void onAudioMetadataReceived(uid_t uid, const char *metadata, size_t length)
Definition IAgoraRtcEngine.h:2968
virtual void onTranscodedStreamLayoutInfo(uid_t uid, int width, int height, int layoutCount, const VideoLayout *layoutlist)
Definition IAgoraRtcEngine.h:2952
virtual void onVideoStopped() __deprecated
Definition IAgoraRtcEngine.h:2240
virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) __deprecated
Definition IAgoraRtcEngine.h:2449
virtual void onAudioRoutingChanged(int routing)
Definition IAgoraRtcEngine.h:2647
virtual void onUploadLogResult(const char *requestId, bool success, UPLOAD_ERROR_REASON reason)
Definition IAgoraRtcEngine.h:2871
virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions &newRoleOptions)
Definition IAgoraRtcEngine.h:2563
virtual void onCameraReady() __deprecated
Definition IAgoraRtcEngine.h:2160
virtual void onSnapshotTaken(uid_t uid, const char *filePath, int width, int height, int errCode)
Definition IAgoraRtcEngine.h:2548
virtual void onProxyConnected(const char *channel, uid_t uid, PROXY_TYPE proxyType, const char *localProxyIp, int elapsed)
Definition IAgoraRtcEngine.h:1624
virtual void onRemoteVideoStats(const RemoteVideoStats &stats)
Definition IAgoraRtcEngine.h:2151
virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed)
Definition IAgoraRtcEngine.h:1875
virtual void onRdtStateChanged(uid_t userId, RdtState state)
Occurs when the RDT tunnel state changed.
Definition IAgoraRtcEngine.h:2362
virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover)
Definition IAgoraRtcEngine.h:2702
virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole)
Definition IAgoraRtcEngine.h:2576
virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality)
Definition IAgoraRtcEngine.h:1806
virtual void onUserMuteVideo(uid_t uid, bool muted)
Definition IAgoraRtcEngine.h:2056
virtual void onMediaControlMessage(uid_t userId, const char *data, size_t length)
Occurs when the local user receives media control message sent by a remote user.
Definition IAgoraRtcEngine.h:2378
virtual void onAudioMixingFinished() __deprecated
Definition IAgoraRtcEngine.h:1758
virtual void onRejoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Definition IAgoraRtcEngine.h:1611
virtual void onExtensionErrorWithContext(const ExtensionContext &context, int error, const char *message)
Definition IAgoraRtcEngine.h:3021
virtual void onLocalUserRegistered(uid_t uid, const char *userAccount)
Definition IAgoraRtcEngine.h:2812
virtual void onUserEnableVideo(uid_t uid, bool enabled)
Definition IAgoraRtcEngine.h:2073
virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason)
Definition IAgoraRtcEngine.h:2020
virtual void onConnectionBanned() __deprecated
Definition IAgoraRtcEngine.h:2293
virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_REASON reason)
Definition IAgoraRtcEngine.h:2262
virtual void onUserJoined(uid_t uid, int elapsed)
Definition IAgoraRtcEngine.h:2001
virtual void onLeaveChannel(const RtcStats &stats)
Definition IAgoraRtcEngine.h:1714
virtual void onVideoDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition IAgoraRtcEngine.h:1778
virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed)
Definition IAgoraRtcEngine.h:2501
virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo &info)
Definition IAgoraRtcEngine.h:1830
virtual void onRtmpStreamingEvent(const char *url, RTMP_STREAMING_EVENT eventCode)
Definition IAgoraRtcEngine.h:2617
virtual void onRequestToken()
Definition IAgoraRtcEngine.h:2393
virtual void onAudioVolumeIndication(const AudioVolumeInfo *speakers, unsigned int speakerNumber, int totalVolume)
Definition IAgoraRtcEngine.h:1699
virtual ~IRtcEngineEventHandler()
Definition IAgoraRtcEngine.h:1582
virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated
Definition IAgoraRtcEngine.h:2745
virtual void onJoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Definition IAgoraRtcEngine.h:1595
virtual void onRenewTokenResult(const char *token, RENEW_TOKEN_ERROR_CODE code)
Reports the result of calling renewToken.
Definition IAgoraRtcEngine.h:3061
virtual void onAudioEffectFinished(int soundId)
Definition IAgoraRtcEngine.h:1767
virtual void onConnectionLost()
Definition IAgoraRtcEngine.h:2275
virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay, unsigned short lost) __deprecated
Definition IAgoraRtcEngine.h:1657
virtual void onRdtMessage(uid_t userId, RdtStreamType type, const char *data, size_t length)
Occurs when the local user receives data via Reliable Data Transmission (RDT) from a remote user.
Definition IAgoraRtcEngine.h:2347
virtual void onPermissionError(PERMISSION_TYPE permissionType)
Definition IAgoraRtcEngine.h:2799
virtual void onTokenPrivilegeWillExpire(const char *token)
Definition IAgoraRtcEngine.h:2406
virtual void onConnectionInterrupted() __deprecated
Definition IAgoraRtcEngine.h:2288
virtual void onLastmileQuality(int quality)
Definition IAgoraRtcEngine.h:1846
virtual void onUserAccountUpdated(uid_t uid, const char *userAccount)
Definition IAgoraRtcEngine.h:2836
virtual void onUserInfoUpdated(uid_t uid, const UserInfo &info)
Definition IAgoraRtcEngine.h:2825
virtual void onAudioDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Definition IAgoraRtcEngine.h:1738
virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType)
Definition IAgoraRtcEngine.h:2786
virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) __deprecated
Definition IAgoraRtcEngine.h:1896
virtual void onRtcStats(const RtcStats &stats)
Definition IAgoraRtcEngine.h:1723
virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason)
Definition IAgoraRtcEngine.h:2249
virtual void onAudioSubscribeStateChanged(const char *channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState)
Definition IAgoraRtcEngine.h:2886
virtual void onActiveSpeaker(uid_t uid)
Definition IAgoraRtcEngine.h:2521
virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed)
Definition IAgoraRtcEngine.h:1961
virtual void onVideoPublishStateChanged(VIDEO_SOURCE_TYPE source, const char *channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)
Definition IAgoraRtcEngine.h:2935
virtual void onExtensionEventWithContext(const ExtensionContext &context, const char *key, const char *value)
Definition IAgoraRtcEngine.h:2983
virtual void onVideoSubscribeStateChanged(const char *channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState)
Definition IAgoraRtcEngine.h:2903
virtual void onExtensionStartedWithContext(const ExtensionContext &context)
Definition IAgoraRtcEngine.h:2996
virtual void onFacePositionChanged(int imageWidth, int imageHeight, const Rectangle *vecRectangle, const int *vecDistance, int numFaces)
Definition IAgoraRtcEngine.h:2223
virtual void onSetRtmFlagResult(int code)
Definition IAgoraRtcEngine.h:3033
virtual void onVideoRenderingTracingResult(uid_t uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo)
Definition IAgoraRtcEngine.h:2848
virtual void onConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason)
Definition IAgoraRtcEngine.h:2760
virtual void onAudioPublishStateChanged(const char *channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)
Definition IAgoraRtcEngine.h:2919
virtual void onNetworkTypeChanged(NETWORK_TYPE type)
Definition IAgoraRtcEngine.h:2775
virtual void onRemoteAudioStats(const RemoteAudioStats &stats)
Definition IAgoraRtcEngine.h:2110
Definition IAgoraRtcEngine.h:3841
virtual int setLocalAccessPoint(const LocalAccessPointConfiguration &config)=0
virtual int muteRemoteVideoStream(uid_t uid, bool mute)=0
virtual int preloadEffect(int soundId, const char *filePath, int startPos=0)=0
virtual int setVolumeOfEffect(int soundId, int volume)=0
virtual int muteLocalAudioStream(bool mute)=0
virtual int startScreenCaptureByDisplayId(int64_t displayId, const Rectangle &regionRect, const ScreenCaptureParameters &captureParams)=0
virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint)=0
virtual int getFaceShapeAreaOptions(agora::rtc::FaceShapeAreaOptions::FACE_SHAPE_AREA shapeArea, FaceShapeAreaOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
virtual int updateScreenCapture(const ScreenCaptureParameters2 &captureParams)=0
virtual int registerLocalUserAccount(const char *appId, const char *userAccount)=0
virtual int getEffectsVolume()=0
virtual int startRtmpStreamWithTranscoding(const char *url, const LiveTranscoding &transcoding)=0
virtual int startScreenCaptureByWindowId(int64_t windowId, const Rectangle &regionRect, const ScreenCaptureParameters &captureParams)=0
virtual int joinChannelWithUserAccountEx(const char *token, const char *channelId, const char *userAccount, const ChannelMediaOptions &options, IRtcEngineEventHandler *eventHandler)=0
virtual int setCameraTorchOn(bool isOn)=0
virtual int setSubscribeAudioBlocklist(uid_t *uidList, int uidNumber)=0
virtual int enableCustomAudioLocalPlayback(track_id_t trackId, bool enabled)=0
virtual int setExternalMediaProjection(void *mediaProjection)=0
virtual int joinChannelWithUserAccount(const char *token, const char *channelId, const char *userAccount)=0
virtual int setAudioMixingPlaybackSpeed(int speed)=0
virtual int enableLocalVideo(bool enabled)=0
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
virtual int disableAudio()=0
virtual int setCameraAutoExposureFaceModeEnabled(bool enabled)=0
virtual int setScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario)=0
virtual int setSubscribeAudioAllowlist(uid_t *uidList, int uidNumber)=0
virtual int stopDirectCdnStreaming()=0
virtual int setLogFileSize(unsigned int fileSizeInKBytes)=0
virtual int selectAudioTrack(int index)=0
virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad)=0
virtual int updateLocalAudioMixerConfiguration(const LocalAudioMixerConfiguration &config)=0
virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
virtual int setAudioMixingPitch(int pitch)=0
virtual int stopAudioFrameDump(const char *channel_id, uid_t uid, const char *location)=0
virtual int startRhythmPlayer(const char *sound1, const char *sound2, const AgoraRhythmPlayerConfig &config)=0
virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType)=0
virtual bool isCameraZoomSupported()=0
virtual int setAINSMode(bool enabled, AUDIO_AINS_MODE mode)=0
virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
virtual int stopAudioMixing()=0
virtual int startAudioRecording(const char *filePath, AUDIO_RECORDING_QUALITY_TYPE quality)=0
virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode)=0
virtual int setRecordingAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
virtual int setEnableSpeakerphone(bool speakerOn)=0
virtual int setFaceShapeBeautyOptions(bool enabled, const FaceShapeBeautyOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
virtual int resumeAllEffects()=0
virtual agora_refptr< IVideoEffectObject > createVideoEffectObject(const char *bundlePath, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
Creates a video effect object and returns its pointer.
virtual int queryCodecCapability(CodecCapInfo *codecInfo, int &size)=0
virtual int uploadLogFile(agora::util::AString &requestId)=0
virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode, const SimulcastStreamConfig &streamConfig)=0
virtual int getFaceShapeBeautyOptions(FaceShapeBeautyOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
virtual const char * getVersion(int *build)=0
virtual int addVideoWatermark(const char *watermarkUrl, const WatermarkOptions &options)=0
virtual int setBeautyEffectOptions(bool enabled, const BeautyOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
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
virtual int setSimulcastConfig(const SimulcastConfig &simulcastConfig)=0
virtual int startEchoTest(const EchoTestConfiguration &config)=0
virtual int startLocalAudioMixer(const LocalAudioMixerConfiguration &config)=0
virtual int startAudioRecording(const char *filePath, int sampleRate, AUDIO_RECORDING_QUALITY_TYPE quality)=0
virtual int pauseEffect(int soundId)=0
virtual int setHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset)=0
virtual int muteRecordingSignal(bool mute)=0
virtual int muteRemoteAudioStream(uid_t uid, bool mute)=0
virtual int joinChannel(const char *token, const char *channelId, uid_t uid, const ChannelMediaOptions &options)=0
virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration &config)=0
virtual int enableDualStreamMode(bool enabled) __deprecated=0
virtual int setInEarMonitoringVolume(int volume)=0
virtual bool isCameraTorchSupported()=0
virtual int stopLocalVideoTranscoder()=0
virtual int updateChannelMediaOptions(const ChannelMediaOptions &options)=0
virtual int setColorEnhanceOptions(bool enabled, const ColorEnhanceOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
virtual int setLocalVoicePitch(double pitch)=0
virtual int queryDeviceScore()=0
virtual int enableCameraCenterStage(bool enabled)=0
virtual int switchCamera()=0
virtual int startMediaRenderingTracing()=0
Start tracing media rendering events.
virtual int setHeadphoneEQParameters(int lowGain, int highGain)=0
virtual int playEffect(int soundId, const char *filePath, int loopCount, double pitch, double pan, int gain, bool publish=false, int startPos=0)=0
virtual int setVoiceConversionParameters(VOICE_CONVERSION_PRESET preset, int param1, int param2)=0
virtual int addVideoWatermark(const RtcImage &watermark) __deprecated=0
virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value)=0
virtual int getEffectDuration(const char *filePath)=0
virtual int setAudioMixingDualMonoMode(media::AUDIO_MIXING_DUAL_MONO_MODE mode)=0
virtual bool isCameraCenterStageSupported()=0
virtual CONNECTION_STATE_TYPE getConnectionState()=0
virtual int setExtensionProviderProperty(const char *provider, const char *key, const char *value)=0
virtual int leaveChannel()=0
virtual int setLocalVoiceFormant(double formantRatio)=0
virtual int adjustAudioMixingVolume(int volume)=0
virtual int enableMultiCamera(bool enabled, const CameraCapturerConfiguration &config)=0
virtual int resumeAudio() __deprecated=0
virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset)=0
virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams &params)=0
virtual int createDataStream(int *streamId, bool reliable, bool ordered)=0
virtual int takeSnapshot(uid_t uid, const char *filePath)=0
virtual int resumeAudioMixing()=0
virtual int enableWebSdkInteroperability(bool enabled) __deprecated=0
virtual int destroyCustomVideoTrack(video_track_id_t video_track_id)=0
virtual int addVideoWatermark(const WatermarkConfig &configs)=0
Add a watermark image to the local video.
virtual int setFilterEffectOptions(bool enabled, const FilterEffectOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset)=0
virtual int setCameraExposureFactor(float factor)=0
virtual int resumeEffect(int soundId)=0
virtual int pauseAllChannelMediaRelay()=0
virtual int setCameraZoomFactor(float factor)=0
virtual int getAudioMixingDuration()=0
virtual int writeLog(commons::LOG_LEVEL level, const char *fmt,...)=0
virtual int enableExtension(const char *provider, const char *extension, bool enable=true, agora::media::MEDIA_SOURCE_TYPE type=agora::media::UNKNOWN_MEDIA_SOURCE)=0
virtual int setDirectCdnStreamingVideoConfiguration(const VideoEncoderConfiguration &config)=0
virtual int setAudioMixingPosition(int pos)=0
virtual int adjustCustomAudioPlayoutVolume(track_id_t trackId, int volume)=0
virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
virtual int setHighPriorityUserList(uid_t *uidList, int uidNum, STREAM_FALLBACK_OPTIONS option)=0
virtual int sendStreamMessage(int streamId, const char *data, size_t length)=0
virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration &config)=0
virtual int enableAudioSpectrumMonitor(int intervalInMS=100)=0
virtual int destroyMediaPlayer(agora_refptr< IMediaPlayer > media_player)=0
virtual int queryInterface(INTERFACE_ID_TYPE iid, void **inter)=0
virtual int setRemoteRenderTargetFps(int targetFps)=0
virtual int setupLocalVideo(const VideoCanvas &canvas)=0
virtual int rate(const char *callId, int rating, const char *description)=0
virtual int muteLocalVideoStream(bool mute)=0
virtual int pauseAudio() __deprecated=0
virtual int stopScreenCapture()=0
virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo *userInfo)=0
virtual const char * getErrorDescription(int code)=0
virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType)=0
virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) __deprecated=0
virtual int enableVideo()=0
virtual int getAudioTrackCount()=0
virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions &options)=0
virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker)=0
virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario)=0
virtual int startScreenCapture(const ScreenCaptureParameters2 &captureParams)=0
virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type)=0
virtual int destroyCustomEncodedVideoTrack(video_track_id_t video_track_id)=0
virtual int startScreenCaptureByScreenRect(const Rectangle &screenRect, const Rectangle &regionRect, const ScreenCaptureParameters &captureParams) __deprecated=0
virtual int adjustAudioMixingPlayoutVolume(int volume)=0
virtual int updateRtmpTranscoding(const LiveTranscoding &transcoding)=0
virtual int enableLoopbackRecording(bool enabled, const char *deviceName=NULL)=0
virtual int startAudioMixing(const char *filePath, bool loopback, int cycle)=0
virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) __deprecated=0
virtual int stopAllEffects()=0
virtual int startAudioMixing(const char *filePath, bool loopback, int cycle, int startPos)=0
virtual int preloadChannel(const char *token, const char *channelId, uid_t uid)=0
virtual int muteAllRemoteVideoStreams(bool mute)=0
virtual int setClientRole(CLIENT_ROLE_TYPE role)=0
virtual int getNetworkType()=0
virtual int preloadChannelWithUserAccount(const char *token, const char *channelId, const char *userAccount)=0
virtual int setFaceShapeAreaOptions(const FaceShapeAreaOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
virtual int queryHDRCapability(VIDEO_MODULE_TYPE videoModule, HDR_CAPABILITY &capability)=0
Queries the HDR capability of the video module.
virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain)=0
virtual int unloadAllEffects()=0
virtual int sendMediaControlMessage(uid_t uid, const char *data, size_t length)=0
Send media control message.
virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) __deprecated=0
virtual int renewToken(const char *token)=0
virtual bool isFeatureAvailableOnDevice(FeatureType type)=0
Whether the target feature is available for the device.
virtual bool isCameraAutoExposureFaceModeSupported()=0
virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel, int samplesPerCall)=0
virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig &config, IAudioEncodedFrameObserver *observer)=0
virtual int startDirectCdnStreaming(IDirectCdnStreamingEventHandler *eventHandler, const char *publishUrl, const DirectCdnStreamingMediaOptions &options)=0
virtual int resumeAllChannelMediaRelay()=0
virtual int stopScreenCapture(VIDEO_SOURCE_TYPE sourceType)=0
virtual video_track_id_t createCustomVideoTrack()=0
virtual int stopLastmileProbeTest()=0
virtual int registerPacketObserver(IPacketObserver *observer)=0
virtual int adjustLoopbackSignalVolume(int volume)=0
virtual int adjustPlaybackSignalVolume(int volume)=0
virtual int enableAudio()=0
virtual int setRemoteVideoSubscriptionOptions(uid_t uid, const VideoSubscriptionOptions &options)=0
virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration &config)=0
virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType)=0
virtual int enableDualStreamMode(bool enabled, const SimulcastStreamConfig &streamConfig) __deprecated=0
virtual int enableVoiceAITuner(bool enabled, VOICE_AI_TUNER_TYPE type)=0
virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2)=0
virtual int adjustAudioMixingPublishVolume(int volume)=0
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
virtual int setCameraFocusPositionInPreview(float positionX, float positionY)=0
virtual bool isCameraFocusSupported()=0
virtual int getExtensionProperty(const char *provider, const char *extension, const ExtensionInfo &extensionInfo, const char *key, char *value, int buf_len)=0
virtual int setCameraAutoFocusFaceModeEnabled(bool enabled)=0
virtual int unloadEffect(int soundId)=0
virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
virtual int enableLocalAudio(bool enabled)=0
virtual int getAudioMixingPublishVolume()=0
virtual int setAdvancedAudioOptions(AdvancedAudioOptions &options, int sourceType=0)=0
static AGORA_CPP_API void release(RtcEngineReleaseCallback callback=nullptr)
virtual IScreenCaptureSourceList * getScreenCaptureSources(const SIZE &thumbSize, const SIZE &iconSize, const bool includeScreen)=0
virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration &config)=0
virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile)=0
virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile)=0
virtual int startPreview()=0
virtual int adjustCustomAudioPublishVolume(track_id_t trackId, int volume)=0
virtual int getAudioMixingCurrentPosition()=0
virtual bool isSpeakerphoneEnabled()=0
virtual bool unregisterEventHandler(IRtcEngineEventHandler *eventHandler)=0
virtual int updateDirectCdnStreamingMediaOptions(const DirectCdnStreamingMediaOptions &options)=0
virtual int registerExtension(const char *provider, const char *extension, agora::media::MEDIA_SOURCE_TYPE type=agora::media::UNKNOWN_MEDIA_SOURCE)=0
virtual int disableAudioSpectrumMonitor()=0
virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation)=0
virtual int stopPreview()=0
virtual int setVideoDenoiserOptions(bool enabled, const VideoDenoiserOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
virtual int stopRhythmPlayer()=0
virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters)=0
virtual int enableInstantMediaRendering()=0
Enable instant media rendering.
virtual int stopChannelMediaRelay()=0
virtual int getVolumeOfEffect(int soundId)=0
virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig &config)=0
virtual int complain(const char *callId, const char *description)=0
virtual int pauseAudioMixing()=0
virtual int setAVSyncSource(const char *channelId, uid_t uid)=0
virtual int stopRtmpStream(const char *url)=0
virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish=false)=0
virtual bool isCameraExposurePositionSupported()=0
virtual int setLowlightEnhanceOptions(bool enabled, const LowlightEnhanceOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
virtual int setCameraStabilizationMode(CAMERA_STABILIZATION_MODE mode)=0
virtual int getEffectCurrentPosition(int soundId)=0
virtual int sendRdtMessage(uid_t uid, RdtStreamType type, const char *data, size_t length)=0
Send Reliable message to remote uid in channel.
virtual int destroyVideoEffectObject(agora_refptr< IVideoEffectObject > videoEffectObject)=0
Destroys a video effect object.
virtual int setRouteInCommunicationMode(int route)=0
virtual int adjustUserPlaybackSignalVolume(uid_t uid, int volume)=0
virtual int muteAllRemoteAudioStreams(bool mute)=0
virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config)=0
virtual int setupRemoteVideo(const VideoCanvas &canvas)=0
virtual int setSubscribeVideoBlocklist(uid_t *uidList, int uidNumber)=0
virtual int queryCameraFocalLengthCapability(agora::rtc::FocalLengthInfo *focalLengthInfos, int &size)=0
virtual int enableSoundPositionIndication(bool enabled)=0
virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType)=0
virtual int destroyMediaRecorder(agora_refptr< IMediaRecorder > mediaRecorder)=0
virtual int64_t getCurrentMonotonicTimeInMs()=0
virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain)=0
virtual int enableExtension(const char *provider, const char *extension, const ExtensionInfo &extensionInfo, bool enable=true)=0
virtual int enableSpatialAudio(bool enabled)=0
virtual int initialize(const RtcEngineContext &context)=0
virtual int disableVideo()=0
virtual int removeVideoWatermark(const char *id)=0
Remove a watermark image from the local video.
virtual int getLoopbackRecordingVolume()=0
virtual agora_refptr< IMediaRecorder > createMediaRecorder(const RecorderStreamInfo &info)=0
virtual bool isCameraAutoFocusFaceModeSupported()=0
virtual float getCameraMaxZoomFactor()=0
virtual int getUserInfoByUserAccount(const char *userAccount, rtc::UserInfo *userInfo)=0
virtual int startOrUpdateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration)=0
virtual int setEffectPosition(int soundId, int pos)=0
virtual int startAudioRecording(const AudioRecordingConfiguration &config)=0
virtual int unregisterMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type)=0
virtual int getAudioDeviceInfo(DeviceInfo &deviceInfo)=0
virtual int createDataStream(int *streamId, const DataStreamConfig &config)=0
virtual int adjustRecordingSignalVolume(int volume)=0
virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType)=0
virtual int setLogFilter(unsigned int filter)=0
virtual int startRtmpStreamWithoutTranscoding(const char *url)=0
virtual int startCameraCapture(VIDEO_SOURCE_TYPE sourceType, const CameraCapturerConfiguration &config)=0
virtual int startPreview(VIDEO_SOURCE_TYPE sourceType)=0
virtual int enableFaceDetection(bool enabled)=0
virtual bool isCameraFaceDetectSupported()=0
virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
virtual int queryScreenCaptureCapability()=0
virtual int leaveChannel(const LeaveChannelOptions &options)=0
virtual int enableEncryption(bool enabled, const EncryptionConfig &config)=0
virtual int updateScreenCaptureParameters(const ScreenCaptureParameters &captureParams)=0
virtual int pauseAllEffects()=0
virtual int stopEffect(int soundId)=0
virtual video_track_id_t createCustomEncodedVideoTrack(const SenderOptions &sender_option)=0
virtual int setCameraExposurePosition(float positionXinView, float positionYinView)=0
virtual int startScreenCapture(VIDEO_SOURCE_TYPE sourceType, const ScreenCaptureConfiguration &config)=0
virtual int stopAudioRecording()=0
virtual int startLastmileProbeTest(const LastmileProbeConfig &config)=0
virtual int joinChannel(const char *token, const char *channelId, const char *info, uid_t uid)=0
virtual int setVideoQoEPreference(VIDEO_QOE_PREFERENCE_TYPE qoePreference)=0
virtual int setEffectsVolume(int volume)=0
virtual int setScreenCaptureOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation)=0
virtual bool registerEventHandler(IRtcEngineEventHandler *eventHandler)=0
virtual int setLocalRenderTargetFps(VIDEO_SOURCE_TYPE sourceType, int targetFps)=0
virtual int loadExtensionProvider(const char *path, bool unload_after_use=false)=0
virtual int updateScreenCaptureRegion(const Rectangle &regionRect)=0
virtual int setSubscribeVideoAllowlist(uid_t *uidList, int uidNumber)=0
virtual int setParameters(const char *parameters)=0
virtual uint64_t getNtpWallTimeInMs()=0
virtual int setLogFile(const char *filePath)=0
virtual int stopEchoTest()=0
virtual int clearVideoWatermarks()=0
virtual int sendAudioMetadata(const char *metadata, size_t length)=0
send audio metadata
virtual agora_refptr< IMediaPlayer > createMediaPlayer()=0
virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority)=0
virtual int getAudioMixingPlayoutVolume()=0
virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset)=0
virtual int updatePreloadChannelToken(const char *token)=0
virtual bool isCameraExposureSupported()=0
virtual int startAudioFrameDump(const char *channel_id, uid_t uid, const char *location, const char *uuid, const char *passwd, long duration_ms, bool auto_upload)=0
virtual int setLogLevel(commons::LOG_LEVEL level)=0
virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction)=0
virtual int getCallId(agora::util::AString &callId)=0
virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel)=0
virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall)=0
virtual int sendCustomReportMessage(const char *id, const char *category, const char *event, const char *label, int value)=0
virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option)=0
virtual int setExtensionProperty(const char *provider, const char *extension, const ExtensionInfo &extensionInfo, const char *key, const char *value)=0
virtual int stopLocalAudioMixer()=0
virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2)=0
virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile)=0
virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType)=0
Definition IAgoraRtcEngine.h:1022
virtual unsigned int getCount()=0
virtual ~IScreenCaptureSourceList()
Definition IAgoraRtcEngine.h:1024
virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index)=0
Definition IAgoraRtcEngine.h:3070
virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH], char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
virtual ~IVideoDeviceCollection()
Definition IAgoraRtcEngine.h:3072
Definition IAgoraRtcEngine.h:3114
virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
virtual IVideoDeviceCollection * enumerateVideoDevices()=0
virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
virtual ~IVideoDeviceManager()
Definition IAgoraRtcEngine.h:3116
virtual int startDeviceTest(view_t hwnd)=0
virtual int getCapability(const char *deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat &capability)=0
virtual int numberOfCapabilities(const char *deviceIdUTF8)=0
Provides methods to manage and configure video effects, such as beauty, style makeup,...
Definition IAgoraRtcEngine.h:3226
VIDEO_EFFECT_NODE_ID
Types of video effect nodes that can be applied.
Definition IAgoraRtcEngine.h:3235
@ STYLE_MAKEUP
Definition IAgoraRtcEngine.h:3239
@ FILTER
Definition IAgoraRtcEngine.h:3241
@ BEAUTY
Definition IAgoraRtcEngine.h:3237
virtual int setVideoEffectFloatParam(const char *option, const char *key, float param)=0
Sets a float parameter for the video effect.
virtual float getVideoEffectFloatParam(const char *option, const char *key)=0
Gets a float parameter from the video effect.
virtual int removeVideoEffect(uint32_t nodeId)=0
Removes a video effect with specified node ID.
virtual int setVideoEffectIntParam(const char *option, const char *key, int param)=0
Sets an integer parameter for the video effect.
virtual ~IVideoEffectObject()
Definition IAgoraRtcEngine.h:3228
virtual bool getVideoEffectBoolParam(const char *option, const char *key)=0
Gets a boolean parameter from the video effect.
virtual int addOrUpdateVideoEffect(uint32_t nodeId, const char *templateName)=0
Adds or updates video effects with specified node ID and template.
VIDEO_EFFECT_ACTION
Actions that can be performed on video effect nodes.
Definition IAgoraRtcEngine.h:3249
@ SAVE
Definition IAgoraRtcEngine.h:3251
@ RESET
Definition IAgoraRtcEngine.h:3253
virtual int getVideoEffectIntParam(const char *option, const char *key)=0
Gets an integer parameter from the video effect.
virtual int performVideoEffectAction(uint32_t nodeId, VIDEO_EFFECT_ACTION actionId)=0
Performs an action on a specified video effect node.
virtual int setVideoEffectBoolParam(const char *option, const char *key, bool param)=0
Sets a boolean parameter for the video effect.
Definition AgoraBase.h:100
bool queryInterface(C1 *c, C2 iid)
Definition AgoraBase.h:138
AGORA_API agora::rtc::IRtcEngine *AGORA_CALL createAgoraRtcEngine()
Definition IAgoraService.h:72
Definition channel_capability_i.h:14
OPTIONAL_ENUM_CLASS LOG_LEVEL
Definition IAgoraLog.h:33
Definition builtin_extension_literal_def.h:10
RENDER_MODE_TYPE
Definition AgoraMediaBase.h:532
Definition content_inspect_i.h:15
MEDIA_SOURCE_TYPE
Definition AgoraMediaBase.h:247
@ PRIMARY_CAMERA_SOURCE
Definition AgoraMediaBase.h:259
@ UNKNOWN_MEDIA_SOURCE
Definition AgoraMediaBase.h:307
CONTENT_INSPECT_RESULT
Definition AgoraMediaBase.h:1154
AUDIO_MIXING_DUAL_MONO_MODE
Definition IAgoraMediaEngine.h:17
Definition AgoraExtensions.h:5
unsigned int video_track_id_t
Definition AgoraMediaBase.h:31
MEDIA_DEVICE_STATE_TYPE
Definition IAgoraRtcEngine.h:8882
@ MEDIA_DEVICE_STATE_IDLE
Definition IAgoraRtcEngine.h:8885
@ MEDIA_DEVICE_STATE_DISABLED
Definition IAgoraRtcEngine.h:8891
@ MEDIA_DEVICE_STATE_PLUGGED_IN
Definition IAgoraRtcEngine.h:8895
@ MEDIA_DEVICE_STATE_ACTIVE
Definition IAgoraRtcEngine.h:8888
@ MEDIA_DEVICE_STATE_NOT_PRESENT
Definition IAgoraRtcEngine.h:8899
@ MEDIA_DEVICE_STATE_UNPLUGGED
Definition IAgoraRtcEngine.h:8902
FeatureType
Definition IAgoraRtcEngine.h:1539
@ VIDEO_BEAUTY_EFFECT
Definition IAgoraRtcEngine.h:1541
@ VIDEO_VIRTUAL_BACKGROUND
Definition IAgoraRtcEngine.h:1540
MEDIA_TRACE_EVENT
Definition AgoraBase.h:7230
SIMULCAST_STREAM_MODE
Definition AgoraBase.h:2157
AUDIO_EFFECT_PRESET
Definition AgoraBase.h:5859
LOCAL_AUDIO_STREAM_STATE
Definition AgoraBase.h:3266
VOICE_BEAUTIFIER_PRESET
Definition AgoraBase.h:5768
DIRECT_CDN_STREAMING_REASON
Definition IAgoraRtcEngine.h:3595
@ DIRECT_CDN_STREAMING_REASON_OK
Definition IAgoraRtcEngine.h:3597
@ DIRECT_CDN_STREAMING_REASON_BAD_NAME
Definition IAgoraRtcEngine.h:3607
@ DIRECT_CDN_STREAMING_REASON_FAILED
Definition IAgoraRtcEngine.h:3599
@ DIRECT_CDN_STREAMING_REASON_VIDEO_PUBLICATION
Definition IAgoraRtcEngine.h:3603
@ DIRECT_CDN_STREAMING_REASON_AUDIO_PUBLICATION
Definition IAgoraRtcEngine.h:3601
@ DIRECT_CDN_STREAMING_REASON_NET_CONNECT
Definition IAgoraRtcEngine.h:3605
AUDIO_SCENARIO_TYPE
Definition AgoraBase.h:3042
@ AUDIO_SCENARIO_DEFAULT
Definition AgoraBase.h:3047
VIDEO_QOE_PREFERENCE_TYPE
Definition AgoraBase.h:3202
AUDIO_EQUALIZATION_BAND_FREQUENCY
Definition IAgoraRtcEngine.h:165
@ AUDIO_EQUALIZATION_BAND_1K
Definition IAgoraRtcEngine.h:189
@ AUDIO_EQUALIZATION_BAND_16K
Definition IAgoraRtcEngine.h:205
@ AUDIO_EQUALIZATION_BAND_31
Definition IAgoraRtcEngine.h:169
@ AUDIO_EQUALIZATION_BAND_250
Definition IAgoraRtcEngine.h:181
@ AUDIO_EQUALIZATION_BAND_125
Definition IAgoraRtcEngine.h:177
@ AUDIO_EQUALIZATION_BAND_2K
Definition IAgoraRtcEngine.h:193
@ AUDIO_EQUALIZATION_BAND_62
Definition IAgoraRtcEngine.h:173
@ AUDIO_EQUALIZATION_BAND_500
Definition IAgoraRtcEngine.h:185
@ AUDIO_EQUALIZATION_BAND_8K
Definition IAgoraRtcEngine.h:201
@ AUDIO_EQUALIZATION_BAND_4K
Definition IAgoraRtcEngine.h:197
CONNECTION_CHANGED_REASON_TYPE
Definition AgoraBase.h:4782
ENCRYPTION_ERROR_TYPE
Definition AgoraBase.h:6871
PROXY_TYPE
Definition IAgoraRtcEngine.h:1515
@ TCP_PROXY_AUTO_FALLBACK_TYPE
Definition IAgoraRtcEngine.h:1530
@ HTTPS_PROXY_TYPE
Definition IAgoraRtcEngine.h:1536
@ NONE_PROXY_TYPE
Definition IAgoraRtcEngine.h:1518
@ TCP_PROXY_TYPE
Definition IAgoraRtcEngine.h:1524
@ UDP_PROXY_TYPE
Definition IAgoraRtcEngine.h:1521
@ LOCAL_PROXY_TYPE
Definition IAgoraRtcEngine.h:1527
@ HTTP_PROXY_TYPE
Definition IAgoraRtcEngine.h:1533
MEDIA_DEVICE_TYPE
Definition IAgoraRtcEngine.h:40
@ VIDEO_CAPTURE_DEVICE
Definition IAgoraRtcEngine.h:60
@ AUDIO_VIRTUAL_PLAYOUT_DEVICE
Definition IAgoraRtcEngine.h:68
@ AUDIO_VIRTUAL_RECORDING_DEVICE
Definition IAgoraRtcEngine.h:72
@ AUDIO_PLAYOUT_DEVICE
Definition IAgoraRtcEngine.h:48
@ VIDEO_RENDER_DEVICE
Definition IAgoraRtcEngine.h:56
@ AUDIO_RECORDING_DEVICE
Definition IAgoraRtcEngine.h:52
@ AUDIO_APPLICATION_PLAYOUT_DEVICE
Definition IAgoraRtcEngine.h:64
@ UNKNOWN_AUDIO_DEVICE
Definition IAgoraRtcEngine.h:44
VIDEO_CONTENT_HINT
Definition AgoraBase.h:3130
CLIENT_ROLE_TYPE
Definition AgoraBase.h:2879
CONNECTION_STATE_TYPE
Definition AgoraBase.h:4215
AUDIO_SAMPLE_RATE_TYPE
Definition AgoraBase.h:3881
@ AUDIO_SAMPLE_RATE_48000
Definition AgoraBase.h:3893
PERMISSION_TYPE
Definition AgoraBase.h:6953
void(*)() RtcEngineReleaseCallback
Occurs when the IRtcEngine is released.
Definition IAgoraRtcEngine.h:3833
REMOTE_AUDIO_STATE_REASON
Definition AgoraBase.h:3530
USER_OFFLINE_REASON_TYPE
Definition AgoraBase.h:888
STREAM_PUBLISH_STATE
Definition AgoraBase.h:7001
CAMERA_DIRECTION
Definition IAgoraRtcEngine.h:807
@ CAMERA_FRONT
Definition IAgoraRtcEngine.h:811
@ CAMERA_REAR
Definition IAgoraRtcEngine.h:809
VIDEO_STREAM_TYPE
Definition AgoraBase.h:1613
LOCAL_AUDIO_STREAM_REASON
Definition AgoraBase.h:3288
DIRECT_CDN_STREAMING_STATE
Definition IAgoraRtcEngine.h:3616
@ DIRECT_CDN_STREAMING_STATE_FAILED
Definition IAgoraRtcEngine.h:3624
@ DIRECT_CDN_STREAMING_STATE_RECOVERING
Definition IAgoraRtcEngine.h:3626
@ DIRECT_CDN_STREAMING_STATE_RUNNING
Definition IAgoraRtcEngine.h:3620
@ DIRECT_CDN_STREAMING_STATE_STOPPED
Definition IAgoraRtcEngine.h:3622
@ DIRECT_CDN_STREAMING_STATE_IDLE
Definition IAgoraRtcEngine.h:3618
AUDIO_AINS_MODE
Definition AgoraBase.h:2977
unsigned int track_id_t
Definition AgoraMediaBase.h:29
AUDIO_PROFILE_TYPE
Definition AgoraBase.h:2995
VIDEO_CODEC_TYPE
Definition AgoraBase.h:1209
LOCAL_VIDEO_STREAM_STATE
Definition AgoraBase.h:3337
REMOTE_VIDEO_STATE
Definition AgoraBase.h:3580
AUDIO_MIXING_REASON_TYPE
Definition IAgoraRtcEngine.h:93
@ AUDIO_MIXING_REASON_INTERRUPTED_EOF
Definition IAgoraRtcEngine.h:99
@ AUDIO_MIXING_REASON_RESUMED_BY_USER
Definition IAgoraRtcEngine.h:107
@ AUDIO_MIXING_REASON_STOPPED_BY_USER
Definition IAgoraRtcEngine.h:105
@ AUDIO_MIXING_REASON_OK
Definition IAgoraRtcEngine.h:109
@ AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED
Definition IAgoraRtcEngine.h:103
@ AUDIO_MIXING_REASON_CAN_NOT_OPEN
Definition IAgoraRtcEngine.h:95
@ AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED
Definition IAgoraRtcEngine.h:101
@ AUDIO_MIXING_REASON_TOO_FREQUENT_CALL
Definition IAgoraRtcEngine.h:97
RTMP_STREAMING_EVENT
Definition AgoraBase.h:4118
@ AREA_CODE_GLOB
Definition AgoraBase.h:6472
static void SetFrom(Optional< T > *s, const Optional< T > &o)
Definition IAgoraRtcEngine.h:24
SCREEN_SCENARIO_TYPE
Definition AgoraBase.h:3152
CLOUD_PROXY_TYPE
Definition IAgoraRtcEngine.h:818
@ UDP_PROXY
Definition IAgoraRtcEngine.h:824
@ NONE_PROXY
Definition IAgoraRtcEngine.h:821
RENEW_TOKEN_ERROR_CODE
Definition AgoraBase.h:6908
VIDEO_MIRROR_MODE_TYPE
Definition AgoraBase.h:1858
@ VIDEO_MIRROR_MODE_DISABLED
Definition AgoraBase.h:1870
AUDIO_RECORDING_QUALITY_TYPE
Definition AgoraBase.h:6234
RdtState
Reliable Data Transmission tunnel state.
Definition AgoraBase.h:7442
PRIORITY_TYPE
Definition IAgoraRtcEngine.h:260
@ PRIORITY_HIGH
Definition IAgoraRtcEngine.h:263
@ PRIORITY_NORMAL
Definition IAgoraRtcEngine.h:266
RTMP_STREAM_PUBLISH_REASON
Definition AgoraBase.h:4035
RdtStreamType
Reliable Data Transmission Tunnel message stream type.
Definition AgoraBase.h:7418
RTMP_STREAM_PUBLISH_STATE
Definition AgoraBase.h:3992
LOCAL_VIDEO_STREAM_REASON
Definition AgoraBase.h:3360
CLIENT_ROLE_CHANGE_FAILED_REASON
Definition AgoraBase.h:4903
@ __deprecated
Definition AgoraBase.h:930
INJECT_STREAM_STATUS
Definition IAgoraRtcEngine.h:115
@ INJECT_STREAM_STATUS_STOP_SUCCESS
Definition IAgoraRtcEngine.h:139
@ INJECT_STREAM_STATUS_START_FAILED
Definition IAgoraRtcEngine.h:135
@ INJECT_STREAM_STATUS_STOP_TIMEDOUT
Definition IAgoraRtcEngine.h:151
@ INJECT_STREAM_STATUS_STOP_FAILED
Definition IAgoraRtcEngine.h:155
@ INJECT_STREAM_STATUS_START_SUCCESS
Definition IAgoraRtcEngine.h:119
@ INJECT_STREAM_STATUS_BROKEN
Definition IAgoraRtcEngine.h:159
@ INJECT_STREAM_STATUS_STOP_NOT_FOUND
Definition IAgoraRtcEngine.h:143
@ INJECT_STREAM_STATUS_START_TIMEDOUT
Definition IAgoraRtcEngine.h:131
@ INJECT_STREAM_STATUS_START_UNAUTHORIZED
Definition IAgoraRtcEngine.h:127
@ INJECT_STREAM_STATUS_START_ALREADY_EXISTS
Definition IAgoraRtcEngine.h:123
@ INJECT_STREAM_STATUS_STOP_UNAUTHORIZED
Definition IAgoraRtcEngine.h:147
VIDEO_MODULE_TYPE
Definition AgoraBase.h:1885
VIDEO_PROFILE_TYPE
Definition IAgoraRtcEngine.h:8905
@ VIDEO_PROFILE_LANDSCAPE_480P
Definition IAgoraRtcEngine.h:8941
@ VIDEO_PROFILE_PORTRAIT_180P
Definition IAgoraRtcEngine.h:8981
@ VIDEO_PROFILE_PORTRAIT_180P_4
Definition IAgoraRtcEngine.h:8985
@ VIDEO_PROFILE_LANDSCAPE_360P_7
Definition IAgoraRtcEngine.h:8931
@ VIDEO_PROFILE_LANDSCAPE_480P_8
Definition IAgoraRtcEngine.h:8949
@ VIDEO_PROFILE_LANDSCAPE_360P
Definition IAgoraRtcEngine.h:8923
@ VIDEO_PROFILE_PORTRAIT_240P
Definition IAgoraRtcEngine.h:8987
@ VIDEO_PROFILE_PORTRAIT_480P_3
Definition IAgoraRtcEngine.h:9013
@ VIDEO_PROFILE_PORTRAIT_360P_6
Definition IAgoraRtcEngine.h:8999
@ VIDEO_PROFILE_LANDSCAPE_1080P_3
Definition IAgoraRtcEngine.h:8965
@ VIDEO_PROFILE_LANDSCAPE_240P
Definition IAgoraRtcEngine.h:8917
@ VIDEO_PROFILE_PORTRAIT_480P
Definition IAgoraRtcEngine.h:9011
@ VIDEO_PROFILE_LANDSCAPE_720P_3
Definition IAgoraRtcEngine.h:8957
@ VIDEO_PROFILE_LANDSCAPE_360P_6
Definition IAgoraRtcEngine.h:8929
@ VIDEO_PROFILE_LANDSCAPE_480P_4
Definition IAgoraRtcEngine.h:8945
@ VIDEO_PROFILE_PORTRAIT_360P_10
Definition IAgoraRtcEngine.h:9007
@ VIDEO_PROFILE_DEFAULT
Definition IAgoraRtcEngine.h:9047
@ VIDEO_PROFILE_LANDSCAPE_1440P
Definition IAgoraRtcEngine.h:8969
@ VIDEO_PROFILE_PORTRAIT_480P_9
Definition IAgoraRtcEngine.h:9021
@ VIDEO_PROFILE_PORTRAIT_480P_4
Definition IAgoraRtcEngine.h:9015
@ VIDEO_PROFILE_LANDSCAPE_480P_9
Definition IAgoraRtcEngine.h:8951
@ VIDEO_PROFILE_PORTRAIT_4K_3
Definition IAgoraRtcEngine.h:9045
@ VIDEO_PROFILE_PORTRAIT_360P_7
Definition IAgoraRtcEngine.h:9001
@ VIDEO_PROFILE_PORTRAIT_240P_4
Definition IAgoraRtcEngine.h:8991
@ VIDEO_PROFILE_LANDSCAPE_360P_4
Definition IAgoraRtcEngine.h:8927
@ VIDEO_PROFILE_LANDSCAPE_180P
Definition IAgoraRtcEngine.h:8911
@ VIDEO_PROFILE_LANDSCAPE_180P_4
Definition IAgoraRtcEngine.h:8915
@ VIDEO_PROFILE_PORTRAIT_4K
Definition IAgoraRtcEngine.h:9043
@ VIDEO_PROFILE_LANDSCAPE_120P_3
Definition IAgoraRtcEngine.h:8909
@ VIDEO_PROFILE_PORTRAIT_480P_6
Definition IAgoraRtcEngine.h:9017
@ VIDEO_PROFILE_LANDSCAPE_480P_6
Definition IAgoraRtcEngine.h:8947
@ VIDEO_PROFILE_LANDSCAPE_120P
Definition IAgoraRtcEngine.h:8907
@ VIDEO_PROFILE_PORTRAIT_360P_3
Definition IAgoraRtcEngine.h:8995
@ VIDEO_PROFILE_LANDSCAPE_1080P_5
Definition IAgoraRtcEngine.h:8967
@ VIDEO_PROFILE_PORTRAIT_120P
Definition IAgoraRtcEngine.h:8977
@ VIDEO_PROFILE_LANDSCAPE_720P_6
Definition IAgoraRtcEngine.h:8961
@ VIDEO_PROFILE_PORTRAIT_120P_3
Definition IAgoraRtcEngine.h:8979
@ VIDEO_PROFILE_LANDSCAPE_480P_10
Definition IAgoraRtcEngine.h:8953
@ VIDEO_PROFILE_LANDSCAPE_480P_3
Definition IAgoraRtcEngine.h:8943
@ VIDEO_PROFILE_PORTRAIT_1440P
Definition IAgoraRtcEngine.h:9039
@ VIDEO_PROFILE_PORTRAIT_480P_8
Definition IAgoraRtcEngine.h:9019
@ VIDEO_PROFILE_LANDSCAPE_1440P_2
Definition IAgoraRtcEngine.h:8971
@ VIDEO_PROFILE_PORTRAIT_720P_6
Definition IAgoraRtcEngine.h:9031
@ VIDEO_PROFILE_PORTRAIT_360P_9
Definition IAgoraRtcEngine.h:9005
@ VIDEO_PROFILE_LANDSCAPE_360P_9
Definition IAgoraRtcEngine.h:8935
@ VIDEO_PROFILE_LANDSCAPE_240P_4
Definition IAgoraRtcEngine.h:8921
@ VIDEO_PROFILE_LANDSCAPE_720P_5
Definition IAgoraRtcEngine.h:8959
@ VIDEO_PROFILE_PORTRAIT_360P_8
Definition IAgoraRtcEngine.h:9003
@ VIDEO_PROFILE_LANDSCAPE_180P_3
Definition IAgoraRtcEngine.h:8913
@ VIDEO_PROFILE_PORTRAIT_720P_5
Definition IAgoraRtcEngine.h:9029
@ VIDEO_PROFILE_PORTRAIT_720P_3
Definition IAgoraRtcEngine.h:9027
@ VIDEO_PROFILE_PORTRAIT_360P
Definition IAgoraRtcEngine.h:8993
@ VIDEO_PROFILE_PORTRAIT_1080P_3
Definition IAgoraRtcEngine.h:9035
@ VIDEO_PROFILE_PORTRAIT_1080P
Definition IAgoraRtcEngine.h:9033
@ VIDEO_PROFILE_PORTRAIT_360P_4
Definition IAgoraRtcEngine.h:8997
@ VIDEO_PROFILE_LANDSCAPE_1080P
Definition IAgoraRtcEngine.h:8963
@ VIDEO_PROFILE_PORTRAIT_1440P_2
Definition IAgoraRtcEngine.h:9041
@ VIDEO_PROFILE_LANDSCAPE_360P_3
Definition IAgoraRtcEngine.h:8925
@ VIDEO_PROFILE_PORTRAIT_480P_10
Definition IAgoraRtcEngine.h:9023
@ VIDEO_PROFILE_LANDSCAPE_720P
Definition IAgoraRtcEngine.h:8955
@ VIDEO_PROFILE_LANDSCAPE_240P_3
Definition IAgoraRtcEngine.h:8919
@ VIDEO_PROFILE_PORTRAIT_720P
Definition IAgoraRtcEngine.h:9025
@ VIDEO_PROFILE_LANDSCAPE_4K
Definition IAgoraRtcEngine.h:8973
@ VIDEO_PROFILE_LANDSCAPE_360P_11
Definition IAgoraRtcEngine.h:8939
@ VIDEO_PROFILE_PORTRAIT_240P_3
Definition IAgoraRtcEngine.h:8989
@ VIDEO_PROFILE_LANDSCAPE_360P_8
Definition IAgoraRtcEngine.h:8933
@ VIDEO_PROFILE_LANDSCAPE_360P_10
Definition IAgoraRtcEngine.h:8937
@ VIDEO_PROFILE_PORTRAIT_360P_11
Definition IAgoraRtcEngine.h:9009
@ VIDEO_PROFILE_PORTRAIT_1080P_5
Definition IAgoraRtcEngine.h:9037
@ VIDEO_PROFILE_PORTRAIT_180P_3
Definition IAgoraRtcEngine.h:8983
@ VIDEO_PROFILE_LANDSCAPE_4K_3
Definition IAgoraRtcEngine.h:8975
REMOTE_AUDIO_STATE
Definition AgoraBase.h:3496
HEADPHONE_EQUALIZER_PRESET
Definition AgoraBase.h:6043
AUDIO_MIXING_STATE_TYPE
Definition IAgoraRtcEngine.h:78
@ AUDIO_MIXING_STATE_FAILED
Definition IAgoraRtcEngine.h:87
@ AUDIO_MIXING_STATE_PAUSED
Definition IAgoraRtcEngine.h:82
@ AUDIO_MIXING_STATE_STOPPED
Definition IAgoraRtcEngine.h:84
@ AUDIO_MIXING_STATE_PLAYING
Definition IAgoraRtcEngine.h:80
NETWORK_TYPE
Definition AgoraBase.h:4927
unsigned int uid_t
Definition AgoraMediaBase.h:28
QUALITY_ADAPT_INDICATION
Definition AgoraBase.h:2894
VOICE_AI_TUNER_TYPE
Definition AgoraBase.h:6057
HDR_CAPABILITY
Definition AgoraBase.h:1900
ScreenCaptureSourceType
Definition IAgoraRtcEngine.h:950
@ ScreenCaptureSourceType_Screen
Definition IAgoraRtcEngine.h:956
@ ScreenCaptureSourceType_Window
Definition IAgoraRtcEngine.h:954
@ ScreenCaptureSourceType_Unknown
Definition IAgoraRtcEngine.h:952
@ ScreenCaptureSourceType_Custom
Definition IAgoraRtcEngine.h:958
REMOTE_USER_STATE
Definition AgoraBase.h:3671
VIDEO_APPLICATION_SCENARIO_TYPE
Definition AgoraBase.h:3180
CAMERA_STABILIZATION_MODE
Definition AgoraBase.h:3242
STREAM_SUBSCRIBE_STATE
Definition AgoraBase.h:6969
VIDEO_SOURCE_TYPE
Definition AgoraMediaBase.h:68
STREAM_FALLBACK_OPTIONS
Definition IAgoraRtcEngine.h:234
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_1
Definition IAgoraRtcEngine.h:252
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_4
Definition IAgoraRtcEngine.h:255
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_3
Definition IAgoraRtcEngine.h:254
@ STREAM_FALLBACK_OPTION_AUDIO_ONLY
Definition IAgoraRtcEngine.h:247
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW
Definition IAgoraRtcEngine.h:243
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_5
Definition IAgoraRtcEngine.h:256
@ STREAM_FALLBACK_OPTION_DISABLED
Definition IAgoraRtcEngine.h:239
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_2
Definition IAgoraRtcEngine.h:253
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_6
Definition IAgoraRtcEngine.h:257
RTMP_STREAM_LIFE_CYCLE_TYPE
Definition IAgoraRtcEngine.h:725
@ RTMP_STREAM_LIFE_CYCLE_BIND2OWNER
Definition IAgoraRtcEngine.h:731
@ RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL
Definition IAgoraRtcEngine.h:728
static void ReplaceBy(Optional< T > *s, const Optional< T > &o)
Definition IAgoraRtcEngine.h:31
CAPTURE_BRIGHTNESS_LEVEL_TYPE
Definition AgoraBase.h:3225
AUDIO_REVERB_TYPE
Definition IAgoraRtcEngine.h:211
@ AUDIO_REVERB_WET_DELAY
Definition IAgoraRtcEngine.h:227
@ AUDIO_REVERB_ROOM_SIZE
Definition IAgoraRtcEngine.h:223
@ AUDIO_REVERB_DRY_LEVEL
Definition IAgoraRtcEngine.h:215
@ AUDIO_REVERB_STRENGTH
Definition IAgoraRtcEngine.h:231
@ AUDIO_REVERB_WET_LEVEL
Definition IAgoraRtcEngine.h:219
UPLOAD_ERROR_REASON
Definition AgoraBase.h:6896
VIDEO_TRANSCODER_ERROR
Definition AgoraBase.h:4587
REMOTE_VIDEO_STATE_REASON
Definition AgoraBase.h:3611
RAW_AUDIO_FRAME_OP_MODE_TYPE
Definition AgoraMediaBase.h:228
INTERFACE_ID_TYPE
Definition AgoraBase.h:905
@ AGORA_IID_AUDIO_DEVICE_MANAGER
Definition AgoraBase.h:906
@ AGORA_IID_VIDEO_DEVICE_MANAGER
Definition AgoraBase.h:907
VIDEO_ORIENTATION
Definition AgoraBase.h:987
VOICE_CONVERSION_PRESET
Definition AgoraBase.h:5985
QUALITY_REPORT_FORMAT_TYPE
Definition IAgoraRtcEngine.h:8872
@ QUALITY_REPORT_HTML
Definition IAgoraRtcEngine.h:8878
@ QUALITY_REPORT_JSON
Definition IAgoraRtcEngine.h:8875
Definition IAgoraRtmService.h:14
CopyableAutoPtr< IString > AString
Definition AgoraBase.h:182
Definition AgoraAtomicOps.h:21
AUDIO_SESSION_OPERATION_RESTRICTION
Definition AgoraBase.h:828
void * view_t
Definition AgoraBase.h:854
CHANNEL_PROFILE_TYPE
Definition AgoraBase.h:267
@ CHANNEL_PROFILE_LIVE_BROADCASTING
Definition AgoraBase.h:279
LICENSE_ERROR_TYPE
Definition AgoraBase.h:798
Definition video_node_i.h:28
Definition AgoraBase.h:7507
Definition AgoraBase.h:7544
Definition IAgoraLog.h:83
Definition IAgoraRtcEngine.h:1055
Optional< int > audioProcessingChannels
Definition IAgoraRtcEngine.h:1059
~AdvancedAudioOptions()
Definition IAgoraRtcEngine.h:1062
AdvancedAudioOptions()
Definition IAgoraRtcEngine.h:1061
Definition AgoraBase.h:6295
Definition AgoraBase.h:3772
Definition AgoraBase.h:5111
Definition IAgoraRtcEngine.h:833
CameraCapturerConfiguration()
Definition IAgoraRtcEngine.h:864
Optional< CAMERA_DIRECTION > cameraDirection
Definition IAgoraRtcEngine.h:839
Optional< CAMERA_FOCAL_LENGTH_TYPE > cameraFocalLengthType
Definition IAgoraRtcEngine.h:849
VideoFormat format
Definition IAgoraRtcEngine.h:863
Optional< const char * > cameraId
Definition IAgoraRtcEngine.h:859
Optional< bool > followEncodeDimensionRatio
Definition IAgoraRtcEngine.h:861
Optional< const char * > deviceId
Definition IAgoraRtcEngine.h:852
Definition IAgoraRtcEngine.h:1080
Optional< bool > publishThirdScreenTrack
Definition IAgoraRtcEngine.h:1143
Optional< int > audioDelayMs
Definition IAgoraRtcEngine.h:1249
Optional< bool > enableMultipath
Definition IAgoraRtcEngine.h:1317
Optional< bool > publishCustomVideoTrack
Definition IAgoraRtcEngine.h:1167
Optional< video_track_id_t > customVideoTrackId
Definition IAgoraRtcEngine.h:1290
Optional< bool > enableBuiltInMediaEncryption
Definition IAgoraRtcEngine.h:1271
Optional< int > publishCustomAudioTrackId
Definition IAgoraRtcEngine.h:1161
Optional< bool > publishSecondaryScreenTrack
Definition IAgoraRtcEngine.h:1137
Optional< const char * > token
Definition IAgoraRtcEngine.h:1263
Optional< int > mediaPlayerAudioDelayMs
Definition IAgoraRtcEngine.h:1254
bool operator==(const ChannelMediaOptions &o) const
Definition IAgoraRtcEngine.h:1403
Optional< int > publishMediaPlayerId
Definition IAgoraRtcEngine.h:1225
void SetAll(const ChannelMediaOptions &change)
Definition IAgoraRtcEngine.h:1353
~ChannelMediaOptions()
Definition IAgoraRtcEngine.h:1351
Optional< bool > publishTranscodedVideoTrack
Definition IAgoraRtcEngine.h:1191
Optional< bool > publishCameraTrack
Definition IAgoraRtcEngine.h:1086
Optional< CHANNEL_PROFILE_TYPE > channelProfile
Definition IAgoraRtcEngine.h:1244
Optional< bool > publishScreenTrack
Definition IAgoraRtcEngine.h:1131
Optional< bool > publishFourthCameraTrack
Definition IAgoraRtcEngine.h:1104
Optional< bool > enableAudioRecordingOrPlayout
Definition IAgoraRtcEngine.h:1221
Optional< bool > publishMicrophoneTrack
Definition IAgoraRtcEngine.h:1110
Optional< bool > publishFourthScreenTrack
Definition IAgoraRtcEngine.h:1149
Optional< MultipathType > preferMultipathType
Definition IAgoraRtcEngine.h:1348
Optional< bool > publishScreenCaptureVideo
Definition IAgoraRtcEngine.h:1118
ChannelMediaOptions & operator=(const ChannelMediaOptions &replace)
Definition IAgoraRtcEngine.h:1461
Optional< bool > publishMixedAudioTrack
Definition IAgoraRtcEngine.h:1197
Optional< bool > autoSubscribeVideo
Definition IAgoraRtcEngine.h:1215
Optional< bool > publishCustomAudioTrack
Definition IAgoraRtcEngine.h:1157
Optional< const char * > parameters
Definition IAgoraRtcEngine.h:1302
Optional< CLIENT_ROLE_TYPE > clientRoleType
Definition IAgoraRtcEngine.h:1230
Optional< bool > publishLipSyncTrack
Definition IAgoraRtcEngine.h:1203
Optional< VIDEO_STREAM_TYPE > defaultVideoStreamType
Definition IAgoraRtcEngine.h:1239
Optional< bool > publishEncodedVideoTrack
Definition IAgoraRtcEngine.h:1173
Optional< AUDIENCE_LATENCY_LEVEL_TYPE > audienceLatencyLevel
Definition IAgoraRtcEngine.h:1234
Optional< bool > publishMediaPlayerVideoTrack
Definition IAgoraRtcEngine.h:1185
Optional< MultipathMode > downlinkMultipathMode
Definition IAgoraRtcEngine.h:1337
Optional< bool > isAudioFilterable
Definition IAgoraRtcEngine.h:1296
Optional< bool > publishScreenCaptureAudio
Definition IAgoraRtcEngine.h:1124
Optional< MultipathMode > uplinkMultipathMode
Definition IAgoraRtcEngine.h:1327
Optional< bool > publishThirdCameraTrack
Definition IAgoraRtcEngine.h:1098
Optional< bool > isInteractiveAudience
Definition IAgoraRtcEngine.h:1285
Optional< bool > publishSecondaryCameraTrack
Definition IAgoraRtcEngine.h:1092
Optional< bool > publishMediaPlayerAudioTrack
Definition IAgoraRtcEngine.h:1179
Optional< bool > autoSubscribeAudio
Definition IAgoraRtcEngine.h:1209
Optional< bool > publishRhythmPlayerTrack
Definition IAgoraRtcEngine.h:1277
ChannelMediaOptions()
Definition IAgoraRtcEngine.h:1350
Definition AgoraBase.h:2927
Definition AgoraBase.h:1937
Definition AgoraBase.h:5551
Definition AgoraBase.h:2130
Definition AgoraBase.h:3810
Definition IAgoraRtcEngine.h:3693
Optional< bool > publishMediaPlayerAudioTrack
Definition IAgoraRtcEngine.h:3723
Optional< bool > publishCustomVideoTrack
Definition IAgoraRtcEngine.h:3717
DirectCdnStreamingMediaOptions()
Definition IAgoraRtcEngine.h:3735
Optional< int > publishMediaPlayerId
Definition IAgoraRtcEngine.h:3728
Optional< bool > publishCameraTrack
Definition IAgoraRtcEngine.h:3699
void SetAll(const DirectCdnStreamingMediaOptions &change)
Definition IAgoraRtcEngine.h:3738
~DirectCdnStreamingMediaOptions()
Definition IAgoraRtcEngine.h:3736
bool operator==(const DirectCdnStreamingMediaOptions &o) const
Definition IAgoraRtcEngine.h:3750
DirectCdnStreamingMediaOptions & operator=(const DirectCdnStreamingMediaOptions &replace)
Definition IAgoraRtcEngine.h:3771
Optional< bool > publishCustomAudioTrack
Definition IAgoraRtcEngine.h:3711
Optional< bool > publishMicrophoneTrack
Definition IAgoraRtcEngine.h:3705
Optional< video_track_id_t > customVideoTrackId
Definition IAgoraRtcEngine.h:3733
Definition IAgoraRtcEngine.h:3634
int videoBitrate
Definition IAgoraRtcEngine.h:3653
int audioBitrate
Definition IAgoraRtcEngine.h:3658
int videoWidth
Definition IAgoraRtcEngine.h:3638
int videoHeight
Definition IAgoraRtcEngine.h:3643
int fps
Definition IAgoraRtcEngine.h:3648
Definition AgoraBase.h:7030
Definition AgoraBase.h:6811
Definition AgoraMediaBase.h:41
Definition IAgoraRtcEngine.h:3791
agora::media::MEDIA_SOURCE_TYPE mediaSourceType
Definition IAgoraRtcEngine.h:3795
const char * channelId
Definition IAgoraRtcEngine.h:3815
ExtensionInfo()
Definition IAgoraRtcEngine.h:3822
uid_t remoteUid
Definition IAgoraRtcEngine.h:3802
uid_t localUid
Definition IAgoraRtcEngine.h:3820
Face shape area options. This structure defines options for facial adjustments on different facial ar...
Definition AgoraBase.h:5168
FACE_SHAPE_AREA
The specific facial area to be adjusted.
Definition AgoraBase.h:5174
Face shape beauty options. This structure defines options for facial adjustments of different facial ...
Definition AgoraBase.h:5389
Definition AgoraBase.h:5428
Definition AgoraBase.h:1950
Definition IAgoraRtcEngine.h:3532
long long timeStampMs
Definition IAgoraRtcEngine.h:3550
unsigned int size
Definition IAgoraRtcEngine.h:3543
unsigned int uid
Definition IAgoraRtcEngine.h:3540
Metadata()
Definition IAgoraRtcEngine.h:3552
const char * channelId
Definition IAgoraRtcEngine.h:3535
unsigned char * buffer
Definition IAgoraRtcEngine.h:3546
Definition IAgoraRtcEngine.h:1065
int fps
Definition IAgoraRtcEngine.h:1067
ImageTrackOptions()
Definition IAgoraRtcEngine.h:1069
const char * imageUrl
Definition IAgoraRtcEngine.h:1066
VIDEO_MIRROR_MODE_TYPE mirrorMode
Definition IAgoraRtcEngine.h:1068
InjectStreamConfig()
Definition IAgoraRtcEngine.h:712
int audioChannels
Definition IAgoraRtcEngine.h:708
int audioBitrate
Definition IAgoraRtcEngine.h:705
int height
Definition IAgoraRtcEngine.h:685
int videoFramerate
Definition IAgoraRtcEngine.h:693
AUDIO_SAMPLE_RATE_TYPE audioSampleRate
Definition IAgoraRtcEngine.h:701
int videoGop
Definition IAgoraRtcEngine.h:689
int videoBitrate
Definition IAgoraRtcEngine.h:697
int width
Definition IAgoraRtcEngine.h:681
Definition AgoraBase.h:4688
Definition AgoraBase.h:4758
Definition IAgoraRtcEngine.h:1547
bool stopMicrophoneRecording
Definition IAgoraRtcEngine.h:1565
bool stopAudioMixing
Definition IAgoraRtcEngine.h:1553
LeaveChannelOptions()
Definition IAgoraRtcEngine.h:1567
bool stopAllEffect
Definition IAgoraRtcEngine.h:1559
Definition AgoraBase.h:4332
Definition AgoraBase.h:4665
Definition AgoraBase.h:3949
Definition AgoraBase.h:4556
Definition IAgoraRtcEngine.h:274
int hwEncoderAccelerating
Definition IAgoraRtcEngine.h:355
int encodedFrameCount
Definition IAgoraRtcEngine.h:336
int targetBitrate
Definition IAgoraRtcEngine.h:322
int regulatedCaptureFrameRate
Definition IAgoraRtcEngine.h:299
int captureFrameHeight
Definition IAgoraRtcEngine.h:295
int captureFrameWidth
Definition IAgoraRtcEngine.h:292
bool dualStreamEnabled
Definition IAgoraRtcEngine.h:350
int encodedBitrate
Definition IAgoraRtcEngine.h:333
VideoDimensions simulcastDimensions[SimulcastConfig::STREAM_LAYER_COUNT_MAX]
Definition IAgoraRtcEngine.h:358
int encodedFrameHeight
Definition IAgoraRtcEngine.h:316
int encodedFrameWidth
Definition IAgoraRtcEngine.h:313
CAPTURE_BRIGHTNESS_LEVEL_TYPE captureBrightnessLevel
Definition IAgoraRtcEngine.h:346
QUALITY_ADAPT_INDICATION qualityAdaptIndication
Definition IAgoraRtcEngine.h:329
int regulatedCaptureFrameHeight
Definition IAgoraRtcEngine.h:307
int captureFrameRate
Definition IAgoraRtcEngine.h:289
int sentFrameRate
Definition IAgoraRtcEngine.h:286
int rendererOutputFrameRate
Definition IAgoraRtcEngine.h:319
int encoderOutputFrameRate
Definition IAgoraRtcEngine.h:310
int targetFrameRate
Definition IAgoraRtcEngine.h:325
int encodedFrameDepth
Definition IAgoraRtcEngine.h:365
uid_t uid
Definition IAgoraRtcEngine.h:278
unsigned short txPacketLossRate
Definition IAgoraRtcEngine.h:343
int sentBitrate
Definition IAgoraRtcEngine.h:282
VIDEO_CODEC_TYPE codecType
Definition IAgoraRtcEngine.h:339
int regulatedCaptureFrameWidth
Definition IAgoraRtcEngine.h:303
Definition AgoraBase.h:5455
Aggregates statistics for all network paths used in multipath transmission.
Definition AgoraBase.h:2625
int width
Definition IAgoraRtcEngine.h:740
int injectStreamWidth
Definition IAgoraRtcEngine.h:769
int bitrate
Definition IAgoraRtcEngine.h:752
int height
Definition IAgoraRtcEngine.h:744
bool owner
Definition IAgoraRtcEngine.h:766
int framerate
Definition IAgoraRtcEngine.h:748
PublisherConfiguration()
Definition IAgoraRtcEngine.h:788
int injectStreamHeight
Definition IAgoraRtcEngine.h:772
const char * injectStreamUrl
Definition IAgoraRtcEngine.h:775
const char * extraInfo
Definition IAgoraRtcEngine.h:786
const char * publishUrl
Definition IAgoraRtcEngine.h:779
const char * rawStreamUrl
Definition IAgoraRtcEngine.h:783
int defaultLayout
Definition IAgoraRtcEngine.h:758
int lifecycle
Definition IAgoraRtcEngine.h:761
Definition AgoraBase.h:7393
Definition AgoraBase.h:2281
Definition IAgoraRtcEngine.h:372
int audioLossRate
Definition IAgoraRtcEngine.h:394
int networkTransportDelay
Definition IAgoraRtcEngine.h:384
uint32_t frozenCntByCustom
Definition IAgoraRtcEngine.h:451
int qoeQuality
Definition IAgoraRtcEngine.h:471
int jitterBufferDelay
Definition IAgoraRtcEngine.h:390
uint32_t frozenRateByCustomPlcCount
Definition IAgoraRtcEngine.h:441
int receivedSampleRate
Definition IAgoraRtcEngine.h:402
int e2eDelay
Definition IAgoraRtcEngine.h:483
uint32_t frozenTimeByCustom
Definition IAgoraRtcEngine.h:457
int publishDuration
Definition IAgoraRtcEngine.h:467
uint32_t plcCount
Definition IAgoraRtcEngine.h:445
unsigned int rxAudioBytes
Definition IAgoraRtcEngine.h:479
RemoteAudioStats()
Definition IAgoraRtcEngine.h:485
int frozenRate
Definition IAgoraRtcEngine.h:419
int receivedBitrate
Definition IAgoraRtcEngine.h:407
uid_t uid
Definition IAgoraRtcEngine.h:376
int totalFrozenTime
Definition IAgoraRtcEngine.h:414
int quality
Definition IAgoraRtcEngine.h:380
int qualityChangedReason
Definition IAgoraRtcEngine.h:475
int mosValue
Definition IAgoraRtcEngine.h:436
int totalActiveTime
Definition IAgoraRtcEngine.h:463
int numChannels
Definition IAgoraRtcEngine.h:398
Definition IAgoraRtcEngine.h:512
VIDEO_STREAM_TYPE rxStreamType
Definition IAgoraRtcEngine.h:559
int avSyncTimeMs
Definition IAgoraRtcEngine.h:574
int delay __deprecated
Definition IAgoraRtcEngine.h:524
int mosValue
Definition IAgoraRtcEngine.h:591
int decoderOutputFrameRate
Definition IAgoraRtcEngine.h:546
int totalActiveTime
Definition IAgoraRtcEngine.h:579
int e2eDelay
Definition IAgoraRtcEngine.h:528
int rendererOutputFrameRate
Definition IAgoraRtcEngine.h:549
int packetLossRate
Definition IAgoraRtcEngine.h:555
int frozenRate
Definition IAgoraRtcEngine.h:569
int publishDuration
Definition IAgoraRtcEngine.h:583
int width
Definition IAgoraRtcEngine.h:532
int decoderInputFrameRate
Definition IAgoraRtcEngine.h:543
int receivedBitrate
Definition IAgoraRtcEngine.h:540
uid_t uid
Definition IAgoraRtcEngine.h:516
int height
Definition IAgoraRtcEngine.h:536
int totalFrozenTime
Definition IAgoraRtcEngine.h:565
unsigned int rxVideoBytes
Definition IAgoraRtcEngine.h:595
int frameLossRate
Definition IAgoraRtcEngine.h:552
Definition IAgoraRtcEngine.h:3403
RtcEngineContext()
Definition IAgoraRtcEngine.h:3494
AUDIO_SCENARIO_TYPE audioScenario
Definition IAgoraRtcEngine.h:3438
unsigned int areaCode
Definition IAgoraRtcEngine.h:3447
IRtcEngineEventHandler * eventHandler
Definition IAgoraRtcEngine.h:3407
commons::LogConfig logConfig
Definition IAgoraRtcEngine.h:3464
CHANNEL_PROFILE_TYPE channelProfile
Definition IAgoraRtcEngine.h:3424
const char * appId
Definition IAgoraRtcEngine.h:3414
bool domainLimit
Definition IAgoraRtcEngine.h:3485
bool autoRegisterAgoraExtensions
Definition IAgoraRtcEngine.h:3492
void * context
Definition IAgoraRtcEngine.h:3420
const char * license
Definition IAgoraRtcEngine.h:3429
bool useExternalEglContext
Definition IAgoraRtcEngine.h:3478
Optional< THREAD_PRIORITY_TYPE > threadPriority
Definition IAgoraRtcEngine.h:3469
Definition AgoraBase.h:4142
Definition AgoraBase.h:2672
Definition IAgoraRtcEngine.h:909
SIZE()
Definition IAgoraRtcEngine.h:917
int width
Definition IAgoraRtcEngine.h:912
SIZE(int ww, int hh)
Definition IAgoraRtcEngine.h:918
int height
Definition IAgoraRtcEngine.h:915
Definition IAgoraRtcEngine.h:869
Rectangle screenRect
Definition IAgoraRtcEngine.h:884
ScreenCaptureConfiguration()
Definition IAgoraRtcEngine.h:903
int64_t displayId
Definition IAgoraRtcEngine.h:879
ScreenCaptureParameters params
Definition IAgoraRtcEngine.h:893
bool isCaptureWindow
Definition IAgoraRtcEngine.h:875
Rectangle regionRect
Definition IAgoraRtcEngine.h:901
int64_t windowId
Definition IAgoraRtcEngine.h:889
Definition AgoraBase.h:7195
Definition AgoraBase.h:6093
Definition IAgoraRtcEngine.h:961
bool minimizeWindow
Definition IAgoraRtcEngine.h:1005
const char * sourceName
Definition IAgoraRtcEngine.h:973
bool primaryMonitor
Definition IAgoraRtcEngine.h:995
bool isOccluded
Definition IAgoraRtcEngine.h:996
const char * processPath
Definition IAgoraRtcEngine.h:985
ScreenCaptureSourceInfo()
Definition IAgoraRtcEngine.h:1013
ThumbImageBuffer iconImage
Definition IAgoraRtcEngine.h:981
ScreenCaptureSourceType type
Definition IAgoraRtcEngine.h:965
ThumbImageBuffer thumbImage
Definition IAgoraRtcEngine.h:977
const char * sourceTitle
Definition IAgoraRtcEngine.h:989
int64_t sourceDisplayId
Definition IAgoraRtcEngine.h:1012
int64_t sourceId
Definition IAgoraRtcEngine.h:969
Rectangle position
Definition IAgoraRtcEngine.h:1000
Definition AgoraBase.h:5658
Definition AgoraBase.h:1293
Definition AgoraBase.h:2200
@ STREAM_LAYER_COUNT_MAX
Definition AgoraBase.h:2236
Definition AgoraBase.h:2175
Definition IAgoraRtcEngine.h:928
unsigned int width
Definition IAgoraRtcEngine.h:940
unsigned int height
Definition IAgoraRtcEngine.h:944
const char * buffer
Definition IAgoraRtcEngine.h:932
unsigned int length
Definition IAgoraRtcEngine.h:936
ThumbImageBuffer()
Definition IAgoraRtcEngine.h:945
Definition AgoraBase.h:4480
Definition AgoraBase.h:7053
Definition AgoraBase.h:4983
Definition IAgoraRtcEngine.h:599
double y
Definition IAgoraRtcEngine.h:608
double alpha
Definition IAgoraRtcEngine.h:623
int zOrder
Definition IAgoraRtcEngine.h:618
double height
Definition IAgoraRtcEngine.h:614
media::base::RENDER_MODE_TYPE renderMode
Definition IAgoraRtcEngine.h:625
uid_t uid
Definition IAgoraRtcEngine.h:602
double x
Definition IAgoraRtcEngine.h:605
double width
Definition IAgoraRtcEngine.h:612
Region()
Definition IAgoraRtcEngine.h:627
VideoCompositingLayout()
Definition IAgoraRtcEngine.h:665
const char * appData
Definition IAgoraRtcEngine.h:660
int appDataLength
Definition IAgoraRtcEngine.h:663
int canvasHeight
Definition IAgoraRtcEngine.h:647
const char * backgroundColor
Definition IAgoraRtcEngine.h:650
const Region * regions
Definition IAgoraRtcEngine.h:654
int regionCount
Definition IAgoraRtcEngine.h:657
int canvasWidth
Definition IAgoraRtcEngine.h:642
Definition AgoraBase.h:5503
Definition AgoraBase.h:1139
Definition AgoraBase.h:1960
Definition AgoraBase.h:3087
Definition AgoraBase.h:7244
Definition AgoraBase.h:1649
Definition AgoraBase.h:5577
Defines the configuration for a watermark.
Definition AgoraBase.h:2515
Definition AgoraBase.h:2341