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
103
142
192
238
264
295
304
305struct RtcConnection;
306
430
572
669
671 struct Region {
677 double x; // [0,1]
680 double y; // [0,1]
684 double width; // [0,1]
686 double height; // [0,1]
690 int zOrder; // optional, [0, 100] //0 (default): bottom most, 100: top most
691
695 double alpha;
696
697 media::base::RENDER_MODE_TYPE renderMode; // RENDER_MODE_HIDDEN: Crop, RENDER_MODE_FIT: Zoom to fit
698
700 : uid(0),
701 x(0),
702 y(0),
703 width(0),
704 height(0),
705 zOrder(0),
706 alpha(1.0),
707 renderMode(media::base::RENDER_MODE_HIDDEN) {}
708 };
709
722 const char* backgroundColor; // e.g. "#C0C0C0" in RGB
732 const char* appData;
736
738 : canvasWidth(0),
739 canvasHeight(0),
740 backgroundColor(OPTIONAL_NULLPTR),
741 regions(NULL),
742 regionCount(0),
743 appData(OPTIONAL_NULLPTR),
744 appDataLength(0) {}
745};
746
753 int width;
781
782 // width / height default set to 0 means pull the stream with its original
783 // resolution
793};
794
810
817 int width;
843 bool owner;
852 const char* injectStreamUrl;
856 const char* publishUrl;
860 const char* rawStreamUrl;
863 const char* extraInfo;
864
866 : width(640),
867 height(360),
868 framerate(15),
869 bitrate(500),
870 defaultLayout(1),
872 owner(true),
875 injectStreamUrl(NULL),
876 publishUrl(NULL),
877 rawStreamUrl(NULL),
878 extraInfo(NULL) {}
879};
880
894
912
916 TCP_PROXY = 2,
918};
919
990
999 bool isCaptureWindow; // true - capture window, false - capture display
1004 int64_t displayId;
1009 Rectangle screenRect; //Windows only
1014 int64_t windowId;
1026
1028};
1029
1030#if (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)|| (defined(__linux__) && !defined(__ANDROID__) && !defined(__OHOS__))
1033struct SIZE {
1040
1041 SIZE() : width(0), height(0) {}
1042 SIZE(int ww, int hh) : width(ww), height(hh) {}
1043};
1044#endif
1045
1046#if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE) || (defined(__linux__) && !defined(__ANDROID__) && !defined(__OHOS__))
1058 const char* buffer;
1062 unsigned int length;
1066 unsigned int width;
1070 unsigned int height;
1071 ThumbImageBuffer() : buffer(nullptr), length(0), width(0), height(0) {}
1072};
1073
1094
1159
1163 protected:
1165
1166 public:
1175 virtual unsigned int getCount() = 0;
1192 virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index) = 0;
1203 virtual void release() = 0;
1204};
1205#endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
1220
1239
1287 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(TARGET_OS_MAC) || defined(__OHOS__)
1294 #endif
1295 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(__OHOS__)
1303
1304 #else
1332 #endif
1333
1496
1502
1513
1520
1527
1534
1537
1538 void SetAll(const ChannelMediaOptions& change) {
1539#define SET_FROM(X) SetFrom(&X, change.X)
1540
1541 SET_FROM(publishCameraTrack);
1543 SET_FROM(publishThirdCameraTrack);
1544 SET_FROM(publishFourthCameraTrack);
1545 SET_FROM(publishMicrophoneTrack);
1546#if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(TARGET_OS_MAC) || defined(__OHOS__)
1547 SET_FROM(publishScreenCaptureAudio);
1548#endif
1549#if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(__OHOS__)
1550 SET_FROM(publishScreenCaptureVideo);
1551#else
1552 SET_FROM(publishScreenTrack);
1554 SET_FROM(publishThirdScreenTrack);
1555 SET_FROM(publishFourthScreenTrack);
1556#endif
1558 SET_FROM(publishMixedAudioTrack);
1559 SET_FROM(publishLipSyncTrack);
1560 SET_FROM(publishCustomAudioTrack);
1561 SET_FROM(publishCustomAudioTrackId);
1562 SET_FROM(publishCustomVideoTrack);
1563 SET_FROM(publishEncodedVideoTrack);
1566 SET_FROM(autoSubscribeAudio);
1567 SET_FROM(autoSubscribeVideo);
1568 SET_FROM(publishMediaPlayerId);
1570 SET_FROM(clientRoleType);
1571 SET_FROM(audienceLatencyLevel);
1572 SET_FROM(defaultVideoStreamType);
1573 SET_FROM(channelProfile);
1574 SET_FROM(audioDelayMs);
1575 SET_FROM(mediaPlayerAudioDelayMs);
1576 SET_FROM(token);
1578 SET_FROM(publishRhythmPlayerTrack);
1579 SET_FROM(customVideoTrackId);
1580 SET_FROM(isAudioFilterable);
1581 SET_FROM(isInteractiveAudience);
1582 SET_FROM(parameters);
1583 SET_FROM(enableMultipath);
1584 SET_FROM(uplinkMultipathMode);
1585 SET_FROM(downlinkMultipathMode);
1586 SET_FROM(preferMultipathType);
1587#undef SET_FROM
1588 }
1589
1590 bool operator==(const ChannelMediaOptions& o) const {
1591#define BEGIN_COMPARE() bool b = true
1592#define ADD_COMPARE(X) b = (b && (X == o.X))
1593#define END_COMPARE()
1594
1595 BEGIN_COMPARE();
1596 ADD_COMPARE(publishCameraTrack);
1597 ADD_COMPARE(publishSecondaryCameraTrack);
1598 ADD_COMPARE(publishThirdCameraTrack);
1599 ADD_COMPARE(publishFourthCameraTrack);
1600 ADD_COMPARE(publishMicrophoneTrack);
1601#if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(TARGET_OS_MAC) || defined(__OHOS__)
1602 ADD_COMPARE(publishScreenCaptureAudio);
1603#endif
1604#if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(__OHOS__)
1605 ADD_COMPARE(publishScreenCaptureVideo);
1606#else
1607 ADD_COMPARE(publishScreenTrack);
1608 ADD_COMPARE(publishSecondaryScreenTrack);
1609 ADD_COMPARE(publishThirdScreenTrack);
1610 ADD_COMPARE(publishFourthScreenTrack);
1611#endif
1612 ADD_COMPARE(publishTranscodedVideoTrack);
1613 ADD_COMPARE(publishMixedAudioTrack);
1614 ADD_COMPARE(publishLipSyncTrack);
1615 ADD_COMPARE(publishCustomAudioTrack);
1616 ADD_COMPARE(publishCustomAudioTrackId);
1617 ADD_COMPARE(publishCustomVideoTrack);
1618 ADD_COMPARE(publishEncodedVideoTrack);
1619 ADD_COMPARE(publishMediaPlayerAudioTrack);
1620 ADD_COMPARE(publishMediaPlayerVideoTrack);
1621 ADD_COMPARE(autoSubscribeAudio);
1622 ADD_COMPARE(autoSubscribeVideo);
1623 ADD_COMPARE(publishMediaPlayerId);
1624 ADD_COMPARE(enableAudioRecordingOrPlayout);
1625 ADD_COMPARE(clientRoleType);
1626 ADD_COMPARE(audienceLatencyLevel);
1627 ADD_COMPARE(defaultVideoStreamType);
1628 ADD_COMPARE(channelProfile);
1629 ADD_COMPARE(audioDelayMs);
1630 ADD_COMPARE(mediaPlayerAudioDelayMs);
1631 ADD_COMPARE(token);
1632 ADD_COMPARE(enableBuiltInMediaEncryption);
1633 ADD_COMPARE(publishRhythmPlayerTrack);
1634 ADD_COMPARE(customVideoTrackId);
1635 ADD_COMPARE(isAudioFilterable);
1636 ADD_COMPARE(isInteractiveAudience);
1637 ADD_COMPARE(parameters);
1638 ADD_COMPARE(enableMultipath);
1639 ADD_COMPARE(uplinkMultipathMode);
1640 ADD_COMPARE(downlinkMultipathMode);
1641 ADD_COMPARE(preferMultipathType);
1642 END_COMPARE();
1643
1644#undef BEGIN_COMPARE
1645#undef ADD_COMPARE
1646#undef END_COMPARE
1647 return b;
1648 }
1649
1651 if (this != &replace) {
1652#define REPLACE_BY(X) ReplaceBy(&X, replace.X)
1653
1654 REPLACE_BY(publishCameraTrack);
1655 REPLACE_BY(publishSecondaryCameraTrack);
1656 REPLACE_BY(publishThirdCameraTrack);
1657 REPLACE_BY(publishFourthCameraTrack);
1658 REPLACE_BY(publishMicrophoneTrack);
1659#if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(TARGET_OS_MAC) || defined(__OHOS__)
1660 REPLACE_BY(publishScreenCaptureAudio);
1661#endif
1662#if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(__OHOS__)
1663 REPLACE_BY(publishScreenCaptureVideo);
1664#else
1665 REPLACE_BY(publishScreenTrack);
1666 REPLACE_BY(publishSecondaryScreenTrack);
1667 REPLACE_BY(publishThirdScreenTrack);
1668 REPLACE_BY(publishFourthScreenTrack);
1669#endif
1670 REPLACE_BY(publishTranscodedVideoTrack);
1671 REPLACE_BY(publishMixedAudioTrack);
1672 REPLACE_BY(publishLipSyncTrack);
1673 REPLACE_BY(publishCustomAudioTrack);
1674 REPLACE_BY(publishCustomAudioTrackId);
1675 REPLACE_BY(publishCustomVideoTrack);
1676 REPLACE_BY(publishEncodedVideoTrack);
1677 REPLACE_BY(publishMediaPlayerAudioTrack);
1678 REPLACE_BY(publishMediaPlayerVideoTrack);
1679 REPLACE_BY(autoSubscribeAudio);
1680 REPLACE_BY(autoSubscribeVideo);
1681 REPLACE_BY(publishMediaPlayerId);
1683 REPLACE_BY(clientRoleType);
1684 REPLACE_BY(audienceLatencyLevel);
1685 REPLACE_BY(defaultVideoStreamType);
1686 REPLACE_BY(channelProfile);
1687 REPLACE_BY(audioDelayMs);
1688 REPLACE_BY(mediaPlayerAudioDelayMs);
1689 REPLACE_BY(token);
1690 REPLACE_BY(enableBuiltInMediaEncryption);
1691 REPLACE_BY(publishRhythmPlayerTrack);
1692 REPLACE_BY(customVideoTrackId);
1693 REPLACE_BY(isAudioFilterable);
1694 REPLACE_BY(isInteractiveAudience);
1695 REPLACE_BY(parameters);
1696 REPLACE_BY(enableMultipath);
1697 REPLACE_BY(uplinkMultipathMode);
1698 REPLACE_BY(downlinkMultipathMode);
1699 REPLACE_BY(preferMultipathType);
1700#undef REPLACE_BY
1701 }
1702 return *this;
1703 }
1704};
1705
1740
1754
1780
1792 public:
1794
1795 virtual const char* eventHandlerType() const { return "event_handler"; }
1796
1817 virtual void onJoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1818 (void)channel;
1819 (void)uid;
1820 (void)elapsed;
1821 }
1822
1837 virtual void onRejoinChannelSuccess(const char* channel, uid_t uid, int elapsed) {
1838 (void)channel;
1839 (void)uid;
1840 (void)elapsed;
1841 }
1842
1862 virtual void onProxyConnected(const char* channel, uid_t uid, PROXY_TYPE proxyType, const char* localProxyIp, int elapsed) {
1863 (void)channel;
1864 (void)uid;
1865 (void)proxyType;
1866 (void)localProxyIp;
1867 (void)elapsed;
1868 }
1869
1882 virtual void onError(int err, const char* msg) {
1883 (void)err;
1884 (void)msg;
1885 }
1886
1905 virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay, unsigned short lost) __deprecated {
1906 (void)uid;
1907 (void)quality;
1908 (void)delay;
1909 (void)lost;
1910 }
1911
1922 virtual void onLastmileProbeResult(const LastmileProbeResult& result) {
1923 (void)result;
1924 }
1925
1962 virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, unsigned int speakerNumber,
1963 int totalVolume) {
1964 (void)speakers;
1965 (void)speakerNumber;
1966 (void)totalVolume;
1967 }
1968
1983 virtual void onLeaveChannel(const RtcStats& stats) { (void)stats; }
1984
1995 virtual void onRtcStats(const RtcStats& stats) { (void)stats; }
1996
2011 virtual void onAudioDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
2012 (void)deviceId;
2013 (void)deviceType;
2014 (void)deviceState;
2015 }
2016
2031 virtual void onAudioMixingPositionChanged(int64_t position) {}
2032
2047
2057 virtual void onAudioEffectFinished(int soundId) {}
2058
2074 virtual void onVideoDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) {
2075 (void)deviceId;
2076 (void)deviceType;
2077 (void)deviceState;
2078 }
2079
2110 virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) {
2111 (void)uid;
2112 (void)txQuality;
2113 (void)rxQuality;
2114 }
2115
2122 virtual void onIntraRequestReceived() {}
2123
2137 (void)info;
2138 }
2139
2153 virtual void onLastmileQuality(int quality) { (void)quality; }
2154
2176 virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed) {
2177 (void)source;
2178 (void)width;
2179 (void)height;
2180 (void)elapsed;
2181 }
2182
2204 virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed) {
2205 (void)source;
2206 (void)elapsed;
2207 }
2208
2230 virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) __deprecated {
2231 (void)uid;
2232 (void)width;
2233 (void)height;
2234 (void)elapsed;
2235 }
2236
2249 virtual void onVideoSizeChanged(VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation) {
2250 (void)uid;
2251 (void)width;
2252 (void)height;
2253 (void)rotation;
2254 }
2255
2269 (void)source;
2270 (void)event;
2271 }
2272
2325 (void)source;
2326 (void)state;
2327 (void)reason;
2328 }
2329
2344 virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) {
2345 (void)uid;
2346 (void)state;
2347 (void)reason;
2348 (void)elapsed;
2349 }
2350
2367 virtual void onFirstRemoteVideoFrame(uid_t uid, int width, int height, int elapsed) {
2368 (void)uid;
2369 (void)width;
2370 (void)height;
2371 (void)elapsed;
2372 }
2373
2398 virtual void onUserJoined(uid_t uid, int elapsed) {
2399 (void)uid;
2400 (void)elapsed;
2401 }
2402
2423 (void)uid;
2424 (void)reason;
2425 }
2426
2444 virtual void onUserMuteAudio(uid_t uid, bool muted) {
2445 (void)uid;
2446 (void)muted;
2447 }
2448
2466 virtual void onUserMuteVideo(uid_t uid, bool muted) {
2467 (void)uid;
2468 (void)muted;
2469 }
2470
2486 virtual void onUserEnableVideo(uid_t uid, bool enabled) {
2487 (void)uid;
2488 (void)enabled;
2489 }
2490
2496 virtual void onUserStateChanged(uid_t uid, REMOTE_USER_STATE state) {
2497 (void)uid;
2498 (void)state;
2499 }
2500
2517 virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) __deprecated {
2518 (void)uid;
2519 (void)enabled;
2520 }
2521
2533 virtual void onRemoteAudioStats(const RemoteAudioStats& stats) {
2534 (void)stats;
2535 }
2536
2546 virtual void onLocalAudioStats(const LocalAudioStats& stats) {
2547 (void)stats;
2548 }
2549
2561 virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats& stats) {
2562 (void)source;
2563 (void)stats;
2564 }
2565
2577 virtual void onRemoteVideoStats(const RemoteVideoStats& stats) {
2578 (void)stats;
2579 }
2580
2591 virtual void onCameraReady() __deprecated {}
2592
2604 virtual void onCameraFocusAreaChanged(int x, int y, int width, int height) {
2605 (void)x;
2606 (void)y;
2607 (void)width;
2608 (void)height;
2609 }
2610
2625 virtual void onCameraExposureAreaChanged(int x, int y, int width, int height) {
2626 (void)x;
2627 (void)y;
2628 (void)width;
2629 (void)height;
2630 }
2631#if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) || defined(__OHOS__)
2670 virtual void onFacePositionChanged(int imageWidth, int imageHeight,
2671 const Rectangle* vecRectangle, const int* vecDistance,
2672 int numFaces) {
2673 (void) imageWidth;
2674 (void) imageHeight;
2675 (void) vecRectangle;
2676 (void) vecDistance;
2677 (void) numFaces;
2678 }
2679#endif
2692
2705 (void)state;
2706 (void)reason;
2707 }
2708
2724 virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_REASON reason) {
2725 (void)state;
2726 (void)reason;
2727 }
2728
2741 virtual void onConnectionLost() {}
2742
2762
2769
2787 virtual void onStreamMessage(uid_t uid, int streamId, const char* data, size_t length, uint64_t sentTs) {
2788 (void)uid;
2789 (void)streamId;
2790 (void)data;
2791 (void)length;
2792 (void)sentTs;
2793 }
2794
2812 virtual void onStreamMessageError(uid_t uid, int streamId, int code, int missed, int cached) {
2813 (void)uid;
2814 (void)streamId;
2815 (void)code;
2816 (void)missed;
2817 (void)cached;
2818 }
2819
2833 virtual void onRdtMessage(uid_t userId, RdtStreamType type, const char *data, size_t length) {
2834 (void)userId;
2835 (void)type;
2836 (void)data;
2837 (void)length;
2838 };
2839
2848 virtual void onRdtStateChanged(uid_t userId, RdtState state) {
2849 (void)userId;
2850 (void)state;
2851 }
2852
2864 virtual void onMediaControlMessage(uid_t userId, const char* data, size_t length) {
2865 (void)userId;
2866 (void)data;
2867 (void)length;
2868 }
2869
2887 virtual void onRequestToken() {}
2888
2909 virtual void onTokenPrivilegeWillExpire(const char* token) {
2910 (void)token;
2911 }
2912
2919 (void)error;
2920 }
2921
2939 virtual void onFirstLocalAudioFramePublished(int elapsed) {
2940 (void)elapsed;
2941 }
2942
2964 virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) __deprecated {
2965 (void)uid;
2966 (void)elapsed;
2967 }
2968
2980 virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) __deprecated {
2981 (void)uid;
2982 (void)elapsed;
2983 }
2984
3002 (void)state;
3003 (void)reason;
3004 }
3005
3025 virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) {
3026 (void)uid;
3027 (void)state;
3028 (void)reason;
3029 (void)elapsed;
3030 }
3031
3049 virtual void onActiveSpeaker(uid_t uid) {
3050 (void)uid;
3051 }
3052
3057 virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result) { (void)result; }
3058
3083 virtual void onSnapshotTaken(uid_t uid, const char* filePath, int width, int height, int errCode) {
3084 (void)uid;
3085 (void)filePath;
3086 (void)width;
3087 (void)height;
3088 (void)errCode;
3089 }
3090
3114 virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions& newRoleOptions) {
3115 (void)oldRole;
3116 (void)newRole;
3117 (void)newRoleOptions;
3118 }
3119
3135 (void)reason;
3136 (void)currentRole;
3137 }
3138
3155 virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) {
3156 (void)deviceType;
3157 (void)volume;
3158 (void)muted;
3159 }
3160
3175 virtual void onRtmpStreamingStateChanged(const char* url, RTMP_STREAM_PUBLISH_STATE state,
3177 (void)url;
3178 (void)state;
3179 (void)reason;
3180 }
3181
3189 virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode) {
3190 (void)url;
3191 (void)eventCode;
3192 }
3193
3205 virtual void onTranscodingUpdated() {}
3206
3215 virtual void onAudioRoutingChanged(int routing) { (void)routing; }
3216
3227 virtual void onChannelMediaRelayStateChanged(int state, int code) {
3228 (void)state;
3229 (void)code;
3230 }
3231
3255 virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover) {
3256 (void)uid;
3257 (void)isFallbackOrRecover;
3258 }
3259
3278 virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated {
3279 (void)uid;
3280 (void)delay;
3281 (void)lost;
3282 (void)rxKBitRate;
3283 }
3284
3302 virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated {
3303 (void)uid;
3304 (void)delay;
3305 (void)lost;
3306 (void)rxKBitRate;
3307 }
3308
3322 (void)state;
3323 (void)reason;
3324 }
3325
3339 (void)type;
3340 }
3341
3353 (void)errorType;
3354 }
3355
3366 virtual void onPermissionError(PERMISSION_TYPE permissionType) {
3367 (void)permissionType;
3368 }
3369
3370#if defined(__ANDROID__)
3375 virtual void onPermissionGranted(agora::rtc::PERMISSION_TYPE permissionType) {}
3376#endif
3377
3392 virtual void onLocalUserRegistered(uid_t uid, const char* userAccount) {
3393 (void)uid;
3394 (void)userAccount;
3395 }
3396
3409 virtual void onUserInfoUpdated(uid_t uid, const UserInfo& info) {
3410 (void)uid;
3411 (void)info;
3412 }
3413
3420 virtual void onUserAccountUpdated(uid_t uid, const char* userAccount){
3421 (void)uid;
3422 (void)userAccount;
3423 }
3424
3442 (void)uid;
3443 (void)currentEvent;
3444 (void)tracingInfo;
3445 }
3446
3460 (void)stream;
3461 (void)error;
3462 }
3463
3470 virtual void onUploadLogResult(const char* requestId, bool success, UPLOAD_ERROR_REASON reason) {
3471 (void)requestId;
3472 (void)success;
3473 (void)reason;
3474 }
3475
3486 virtual void onAudioSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
3487 (void)channel;
3488 (void)uid;
3489 (void)oldState;
3490 (void)newState;
3491 (void)elapseSinceLastState;
3492 }
3493
3504 virtual void onVideoSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {
3505 (void)channel;
3506 (void)uid;
3507 (void)oldState;
3508 (void)newState;
3509 (void)elapseSinceLastState;
3510 }
3511
3521 virtual void onAudioPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
3522 (void)channel;
3523 (void)oldState;
3524 (void)newState;
3525 (void)elapseSinceLastState;
3526 }
3527
3538 virtual void onVideoPublishStateChanged(VIDEO_SOURCE_TYPE source, const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {
3539 (void)source;
3540 (void)channel;
3541 (void)oldState;
3542 (void)newState;
3543 (void)elapseSinceLastState;
3544 }
3545
3565 virtual void onTranscodedStreamLayoutInfo(uid_t uid, int width, int height, int layoutCount,const VideoLayout* layoutlist) {
3566 (void)uid;
3567 (void)width;
3568 (void)height;
3569 (void)layoutCount;
3570 (void)layoutlist;
3571 }
3572
3581 virtual void onAudioMetadataReceived(uid_t uid, const char* metadata, size_t length) {
3582 (void)uid;
3583 (void)metadata;
3584 (void)length;
3585 }
3586
3598 virtual void onExtensionEventWithContext(const ExtensionContext &context, const char* key, const char* value) {
3599 (void)context;
3600 (void)key;
3601 (void)value;
3602 }
3603
3614 (void)context;
3615 }
3616
3627 (void)context;
3628 }
3629
3644 virtual void onExtensionErrorWithContext(const ExtensionContext &context, int error, const char* message) {
3645 (void)context;
3646 (void)error;
3647 (void)message;
3648 }
3649
3656 virtual void onSetRtmFlagResult(int code) {
3657 (void)code;
3658 }
3659
3668 */ virtual void onMultipathStats(const MultipathStats& stats) {
3669 (void)stats;
3670 }
3671
3685 virtual void onRenewTokenResult(const char* token, RENEW_TOKEN_ERROR_CODE code) {
3686 (void)token;
3687 (void)code;
3688 }
3689};
3690
3695 public:
3697
3704 virtual int getCount() = 0;
3705
3715 virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3716
3727 virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH],
3728 char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3729
3733 virtual void release() = 0;
3734};
3735
3740 public:
3756
3767 virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3768
3781 virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
3782
3783#if defined(_WIN32) || (defined(__linux__) && !defined(__ANDROID__) && !defined(__OHOS__)) || \
3784 (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
3804 virtual int numberOfCapabilities(const char* deviceIdUTF8) = 0;
3805
3827 virtual int getCapability(const char* deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat& capability) = 0;
3828#endif
3842 virtual int startDeviceTest(view_t hwnd) = 0;
3843
3850 virtual int stopDeviceTest() = 0;
3851
3858 virtual void release() = 0;
3859};
3860
3867 public:
3869
3875 enum class VIDEO_EFFECT_NODE_ID : uint32_t {
3879 BEAUTY = 1U << 0,
3883 STYLE_MAKEUP = 1U << 1,
3887 FILTER = 1U << 2,
3888 };
3889
3899 SAVE = 1,
3904 };
3905
3934 virtual int addOrUpdateVideoEffect(uint32_t nodeId, const char* templateName) = 0;
3935
3948 virtual int removeVideoEffect(uint32_t nodeId) = 0;
3949
3962 virtual int performVideoEffectAction(uint32_t nodeId, VIDEO_EFFECT_ACTION actionId) = 0;
3963
3977 virtual int setVideoEffectFloatParam(const char* option, const char* key, float param) = 0;
3978
3992 virtual int setVideoEffectIntParam(const char* option, const char* key, int param) = 0;
3993
4009 virtual int setVideoEffectBoolParam(const char* option, const char* key, bool param) = 0;
4010
4027 virtual float getVideoEffectFloatParam(const char* option, const char* key) = 0;
4028
4044 virtual int getVideoEffectIntParam(const char* option, const char* key) = 0;
4045
4058 virtual bool getVideoEffectBoolParam(const char* option, const char* key) = 0;
4059
4060};
4061
4163
4167public:
4169
4184
4193
4198 {
4202 const char* channelId;
4208 unsigned int uid;
4212 unsigned int size;
4216 unsigned char *buffer;
4220 long long timeStampMs;
4221
4222 Metadata() : channelId(NULL), uid(0), size(0), buffer(NULL), timeStampMs(0) {}
4223 };
4224
4238
4255 virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type) = 0;
4256
4263 virtual void onMetadataReceived(const Metadata& metadata) = 0;
4264};
4265
4272 // No error occurs.
4277 // A general error occurs (no specified reason).
4282 // Audio publication error.
4288 // Video publication error.
4294
4299 // Already exist stream name.
4304};
4305
4343
4375
4383 public:
4385
4401 (void)state;
4402 (void)reason;
4403 (void)message;
4404 };
4405
4417 (void)stats;
4418 };
4419};
4420
4467
4470
4472#define SET_FROM(X) SetFrom(&X, change.X)
4473 SET_FROM(publishCameraTrack);
4474 SET_FROM(publishMicrophoneTrack);
4475 SET_FROM(publishCustomAudioTrack);
4476 SET_FROM(publishCustomVideoTrack);
4478 SET_FROM(publishMediaPlayerId);
4479 SET_FROM(customVideoTrackId);
4480#undef SET_FROM
4481 }
4482
4484#define BEGIN_COMPARE() bool b = true
4485#define ADD_COMPARE(X) b = (b && (X == o.X))
4486#define END_COMPARE()
4487
4488 BEGIN_COMPARE();
4489 ADD_COMPARE(publishCameraTrack);
4490 ADD_COMPARE(publishMicrophoneTrack);
4491 ADD_COMPARE(publishCustomAudioTrack);
4492 ADD_COMPARE(publishCustomVideoTrack);
4493 ADD_COMPARE(publishMediaPlayerAudioTrack);
4494 ADD_COMPARE(customVideoTrackId);
4495 ADD_COMPARE(publishMediaPlayerId);
4496 END_COMPARE();
4497
4498#undef BEGIN_COMPARE
4499#undef ADD_COMPARE
4500#undef END_COMPARE
4501 return b;
4502 }
4503
4505 if (this != &replace) {
4506#define REPLACE_BY(X) ReplaceBy(&X, replace.X)
4507
4508 REPLACE_BY(publishCameraTrack);
4509 REPLACE_BY(publishMicrophoneTrack);
4510 REPLACE_BY(publishCustomAudioTrack);
4511 REPLACE_BY(publishCustomVideoTrack);
4512 REPLACE_BY(publishMediaPlayerAudioTrack);
4513 REPLACE_BY(customVideoTrackId);
4514 REPLACE_BY(publishMediaPlayerId);
4515#undef REPLACE_BY
4516 }
4517 return *this;
4518 }
4519};
4520
4557
4558class IMediaPlayer;
4559class IMediaRecorder;
4560
4574
4582 public:
4607 AGORA_CPP_API static void release(RtcEngineReleaseCallback callback = nullptr);
4608
4633 virtual int initialize(const RtcEngineContext& context) = 0;
4634
4645 virtual int queryInterface(INTERFACE_ID_TYPE iid, void** inter) = 0;
4646
4647
4656 virtual const char* getVersion(int* build) = 0;
4657
4666 virtual const char* getErrorDescription(int code) = 0;
4667
4685 virtual int queryCodecCapability(CodecCapInfo* codecInfo, int& size) = 0;
4686
4703 virtual int queryDeviceScore() = 0;
4704
4763 virtual int preloadChannel(const char* token, const char* channelId, uid_t uid) = 0;
4764
4830 virtual int preloadChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount) = 0;
4831
4853 virtual int updatePreloadChannelToken(const char* token) = 0;
4854
4926 virtual int joinChannel(const char* token, const char* channelId, const char* info, uid_t uid) = 0;
4927
5003 virtual int joinChannel(const char* token, const char* channelId, uid_t uid, const ChannelMediaOptions& options) = 0;
5004
5024 virtual int updateChannelMediaOptions(const ChannelMediaOptions& options) = 0;
5025
5055 virtual int leaveChannel() = 0;
5056
5084 virtual int leaveChannel(const LeaveChannelOptions& options) = 0;
5085
5113 virtual int renewToken(const char* token) = 0;
5114
5139 virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile) = 0;
5140
5182 virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0;
5183
5234 virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0;
5235
5262 virtual int startEchoTest(const EchoTestConfiguration& config) = 0;
5263
5276 virtual int stopEchoTest() = 0;
5277
5278#if defined(__APPLE__) && TARGET_OS_IOS
5321 virtual int enableMultiCamera(bool enabled, const CameraCapturerConfiguration& config) = 0;
5322#endif
5351 virtual int enableVideo() = 0;
5352
5379 virtual int disableVideo() = 0;
5380
5397 virtual int startPreview() = 0;
5398
5418 virtual int startPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
5419
5432 virtual int stopPreview() = 0;
5433
5449 virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType) = 0;
5450
5475 virtual int startLastmileProbeTest(const LastmileProbeConfig& config) = 0;
5476
5484 virtual int stopLastmileProbeTest() = 0;
5485
5512
5617
5640
5664
5695
5696
5713
5714
5727
5858
5920
5948 virtual int setupRemoteVideo(const VideoCanvas& canvas) = 0;
5949
5982 virtual int setupLocalVideo(const VideoCanvas& canvas) = 0;
5983
6052
6071 virtual int setVideoQoEPreference(VIDEO_QOE_PREFERENCE_TYPE qoePreference) = 0;
6072
6097 virtual int enableAudio() = 0;
6098
6120 virtual int disableAudio() = 0;
6121
6151
6170 virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile) = 0;
6192 virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario) = 0;
6224 virtual int enableLocalAudio(bool enabled) = 0;
6225
6246 virtual int muteLocalAudioStream(bool mute) = 0;
6247
6315 virtual int muteAllRemoteAudioStreams(bool mute) = 0;
6316
6334 virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0;
6335
6358 virtual int muteLocalVideoStream(bool mute) = 0;
6359
6389 virtual int enableLocalVideo(bool enabled) = 0;
6390
6456 virtual int muteAllRemoteVideoStreams(bool mute) = 0;
6457
6496
6514 virtual int muteRemoteVideoStream(uid_t uid, bool mute) = 0;
6515
6554 virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0;
6555
6581
6609 virtual int setSubscribeAudioBlocklist(uid_t* uidList, int uidNumber) = 0;
6610
6637 virtual int setSubscribeAudioAllowlist(uid_t* uidList, int uidNumber) = 0;
6638
6666 virtual int setSubscribeVideoBlocklist(uid_t* uidList, int uidNumber) = 0;
6667
6694 virtual int setSubscribeVideoAllowlist(uid_t* uidList, int uidNumber) = 0;
6695
6728 virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad) = 0;
6729
6750 virtual int startAudioRecording(const char* filePath,
6751 AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
6786 virtual int startAudioRecording(const char* filePath,
6787 int sampleRate,
6788 AUDIO_RECORDING_QUALITY_TYPE quality) = 0;
6789
6808 virtual int startAudioRecording(const AudioRecordingConfiguration& config) = 0;
6809
6827
6835 virtual int stopAudioRecording() = 0;
6836
6851
6861 virtual int destroyMediaPlayer(agora_refptr<IMediaPlayer> media_player) = 0;
6862
6884
6900
6993 virtual int startAudioMixing(const char* filePath, bool loopback, int cycle) = 0;
6994
7093 virtual int startAudioMixing(const char* filePath, bool loopback, int cycle, int startPos) = 0;
7094
7108 virtual int stopAudioMixing() = 0;
7109
7123 virtual int pauseAudioMixing() = 0;
7124
7137 virtual int resumeAudioMixing() = 0;
7138
7161 virtual int selectAudioTrack(int index) = 0;
7173 virtual int getAudioTrackCount() = 0;
7174
7192 virtual int adjustAudioMixingVolume(int volume) = 0;
7193
7210 virtual int adjustAudioMixingPublishVolume(int volume) = 0;
7211
7227
7243 virtual int adjustAudioMixingPlayoutVolume(int volume) = 0;
7244
7260
7274 virtual int getAudioMixingDuration() = 0;
7275
7295
7312 virtual int setAudioMixingPosition(int pos /*in ms*/) = 0;
7313
7341
7361 virtual int setAudioMixingPitch(int pitch) = 0;
7362
7381 virtual int setAudioMixingPlaybackSpeed(int speed) = 0;
7382
7396 virtual int getEffectsVolume() = 0;
7410 virtual int setEffectsVolume(int volume) = 0;
7442 virtual int preloadEffect(int soundId, const char* filePath, int startPos = 0) = 0;
7495 virtual int playEffect(int soundId, const char* filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0) = 0;
7526 virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false) = 0;
7527
7538 virtual int getVolumeOfEffect(int soundId) = 0;
7539
7554 virtual int setVolumeOfEffect(int soundId, int volume) = 0;
7564 virtual int pauseEffect(int soundId) = 0;
7572 virtual int pauseAllEffects() = 0;
7582 virtual int resumeEffect(int soundId) = 0;
7595 virtual int resumeAllEffects() = 0;
7610 virtual int stopEffect(int soundId) = 0;
7623 virtual int stopAllEffects() = 0;
7638 virtual int unloadEffect(int soundId) = 0;
7646 virtual int unloadAllEffects() = 0;
7666 virtual int getEffectDuration(const char* filePath) = 0;
7682 virtual int setEffectPosition(int soundId, int pos) = 0;
7694 virtual int getEffectCurrentPosition(int soundId) = 0;
7711 virtual int enableSoundPositionIndication(bool enabled) = 0;
7712
7742 virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0;
7743
7764 virtual int enableSpatialAudio(bool enabled) = 0;
7765
7782
7824
7866
7910
7985 virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2) = 0;
7986
8036 int param1, int param2) = 0;
8037
8051 int param1, int param2) = 0;
8052
8066 virtual int setLocalVoicePitch(double pitch) = 0;
8067
8088 virtual int setLocalVoiceFormant(double formantRatio) = 0;
8089
8106 virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain) = 0;
8107
8125 virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value) = 0;
8144
8163 virtual int setHeadphoneEQParameters(int lowGain, int highGain) = 0;
8164
8183 virtual int enableVoiceAITuner(bool enabled, VOICE_AI_TUNER_TYPE type) = 0;
8184
8201 virtual int setLogFile(const char* filePath) = 0;
8202
8220 virtual int setLogFilter(unsigned int filter) = 0;
8221
8234 virtual int setLogLevel(commons::LOG_LEVEL level) = 0;
8235
8269 virtual int setLogFileSize(unsigned int fileSizeInKBytes) = 0;
8270
8279 virtual int uploadLogFile(agora::util::AString& requestId) = 0;
8280
8296 virtual int writeLog(commons::LOG_LEVEL level, const char* fmt, ...) = 0;
8297
8324
8347 VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0;
8368 virtual int setLocalRenderTargetFps(VIDEO_SOURCE_TYPE sourceType, int targetFps) = 0;
8388 virtual int setRemoteRenderTargetFps(int targetFps) = 0;
8389 // The following APIs are either deprecated and going to deleted.
8390
8409
8420
8446 virtual int enableDualStreamMode(bool enabled) __deprecated = 0;
8447
8477 virtual int enableDualStreamMode(bool enabled, const SimulcastStreamConfig& streamConfig) __deprecated = 0;
8478
8479
8512
8531 virtual int setSimulcastConfig(const SimulcastConfig& simulcastConfig) = 0;
8532
8573 virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode, const SimulcastStreamConfig& streamConfig) = 0;
8574
8597 virtual int enableCustomAudioLocalPlayback(track_id_t trackId, bool enabled) = 0;
8598
8621 virtual int setRecordingAudioFrameParameters(int sampleRate, int channel,
8623 int samplesPerCall) = 0;
8624
8647 virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel,
8649 int samplesPerCall) = 0;
8650
8672 virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall) = 0;
8673
8703 virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel,
8705 int samplesPerCall) = 0;
8706
8725 virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel) = 0;
8726
8748 virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel, int samplesPerCall) = 0;
8749
8768 virtual int enableAudioSpectrumMonitor(int intervalInMS = 100) = 0;
8783
8818
8836 virtual int adjustRecordingSignalVolume(int volume) = 0;
8837
8857 virtual int muteRecordingSignal(bool mute) = 0;
8858
8877 virtual int adjustPlaybackSignalVolume(int volume) = 0;
8878
8898 virtual int adjustUserPlaybackSignalVolume(uid_t uid, int volume) = 0;
8899
8922
8936 virtual int setHighPriorityUserList(uid_t* uidList, int uidNum, STREAM_FALLBACK_OPTIONS option) = 0;
8937
8958 virtual int enableExtension(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, bool enable = true) = 0;
8959
8973 virtual int setExtensionProperty(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, const char* key, const char* value) = 0;
8974
8989 virtual int getExtensionProperty(const char* provider, const char* extension, const ExtensionInfo& extensionInfo, const char* key, char* value, int buf_len) = 0;
8990
9019 virtual int enableLoopbackRecording(bool enabled, const char* deviceName = NULL) = 0;
9020
9021
9036 virtual int adjustLoopbackSignalVolume(int volume) = 0;
9037
9045
9066 virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters) = 0;
9067
9085 virtual int setInEarMonitoringVolume(int volume) = 0;
9086
9087#if defined(_WIN32) || defined(__linux__) || defined(__ANDROID__)
9111 virtual int loadExtensionProvider(const char* path, bool unload_after_use = false) = 0;
9112#endif
9113
9133 virtual int setExtensionProviderProperty(const char* provider, const char* key, const char* value) = 0;
9134
9166 virtual int registerExtension(const char* provider, const char* extension, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
9167
9193 virtual int enableExtension(const char* provider, const char* extension, bool enable=true, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
9194
9218 const char* provider, const char* extension,
9219 const char* key, const char* value, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
9220
9240 const char* provider, const char* extension,
9241 const char* key, char* value, int buf_len, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0;
9242
9266
9286
9295
9305 virtual int destroyCustomVideoTrack(video_track_id_t video_track_id) = 0;
9306
9315 virtual int destroyCustomEncodedVideoTrack(video_track_id_t video_track_id) = 0;
9316
9317#if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) || defined(__OHOS__)
9338 virtual int switchCamera() = 0;
9339
9353 virtual bool isCameraZoomSupported() = 0;
9354
9368
9386 virtual bool isCameraTorchSupported() = 0;
9387
9400 virtual bool isCameraFocusSupported() = 0;
9401
9415
9442 virtual int setCameraZoomFactor(float factor) = 0;
9443
9466 virtual int enableFaceDetection(bool enabled) = 0;
9467
9479 virtual float getCameraMaxZoomFactor() = 0;
9480
9498 virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0;
9499
9517 virtual int setCameraTorchOn(bool isOn) = 0;
9518
9538 virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0;
9539
9555
9575 virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0;
9576
9595 virtual bool isCameraExposureSupported() = 0;
9596
9629 virtual int setCameraExposureFactor(float factor) = 0;
9630
9631#if defined(__APPLE__)
9645
9646
9664 virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0;
9665
9693#endif
9694
9725 virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0;
9726
9755 virtual int setEnableSpeakerphone(bool speakerOn) = 0;
9756
9770 virtual bool isSpeakerphoneEnabled() = 0;
9771
9800 virtual int setRouteInCommunicationMode(int route) = 0;
9801#endif // __ANDROID__ || (__APPLE__ && TARGET_OS_IOS) || __OHOS__
9802
9803#if defined(__APPLE__)
9821
9859 virtual int enableCameraCenterStage(bool enabled) = 0;
9860#endif
9861
9862#if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)|| (defined(__linux__) && !defined(__ANDROID__) && !defined(__OHOS__))
9895 virtual IScreenCaptureSourceList* getScreenCaptureSources(const SIZE& thumbSize, const SIZE& iconSize, const bool includeScreen) = 0;
9896#endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
9897#if (defined(__APPLE__) && TARGET_OS_IOS)
9922#endif // __APPLE__ && TARGET_OS_IOS
9923
9924#if defined(_WIN32) || (defined(__APPLE__) && !TARGET_OS_IPHONE && TARGET_OS_MAC) || (defined(__linux__) && !defined(__ANDROID__) && !defined(__OHOS__))
9925
9962 virtual int startScreenCaptureByDisplayId(int64_t displayId, const Rectangle& regionRect,
9963 const ScreenCaptureParameters& captureParams) = 0;
9964
9965#endif // __APPLE__ && TARGET_OS_MAC && !TARGET_OS_IPHONE
9966
9967#if defined(_WIN32)
10007 virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect,
10008 const Rectangle& regionRect,
10009 const ScreenCaptureParameters& captureParams) __deprecated = 0;
10010#endif
10011
10012#if defined(__ANDROID__)
10033 virtual int getAudioDeviceInfo(DeviceInfo& deviceInfo) = 0;
10034#endif // __ANDROID__
10035
10036#if defined(_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE) || (defined(__linux__) && !defined(__ANDROID__) && !defined(__OHOS__))
10037
10108 virtual int startScreenCaptureByWindowId(int64_t windowId, const Rectangle& regionRect,
10109 const ScreenCaptureParameters& captureParams) = 0;
10110
10132
10151 virtual int updateScreenCaptureRegion(const Rectangle& regionRect) = 0;
10152
10172 virtual int updateScreenCaptureParameters(const ScreenCaptureParameters& captureParams) = 0;
10173#endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC)
10174
10175#if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) || defined(__OHOS__)
10231 virtual int startScreenCapture(const ScreenCaptureParameters2& captureParams) = 0;
10232
10257 virtual int updateScreenCapture(const ScreenCaptureParameters2& captureParams) = 0;
10258
10280
10308 virtual int queryCameraFocalLengthCapability(agora::rtc::FocalLengthInfo* focalLengthInfos, int& size) = 0;
10309
10310#if defined(__ANDROID__)
10342 virtual int setExternalMediaProjection(void* mediaProjection) = 0;
10343#endif
10344#endif
10345
10346#if defined(_WIN32) || defined(__APPLE__) || defined(__ANDROID__) || (defined(__linux__) && !defined(__ANDROID__) && !defined (__OHOS__))
10363 virtual int setScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario) = 0;
10364
10379 virtual int stopScreenCapture() = 0;
10380#endif // _WIN32 || (__APPLE__ && !TARGET_OS_IPHONE && TARGET_OS_MAC) || __ANDROID__
10381
10397 virtual int getCallId(agora::util::AString& callId) = 0;
10398
10415 virtual int rate(const char* callId, int rating, const char* description) = 0; // 0~10
10416
10435 virtual int complain(const char* callId, const char* description) = 0;
10436
10467 virtual int startRtmpStreamWithoutTranscoding(const char* url) = 0;
10468
10502 virtual int startRtmpStreamWithTranscoding(const char* url, const LiveTranscoding& transcoding) = 0;
10503
10520 virtual int updateRtmpTranscoding(const LiveTranscoding& transcoding) = 0;
10521
10597
10617 virtual int stopRtmpStream(const char* url) = 0;
10618
10630 virtual int stopLocalVideoTranscoder() = 0;
10631
10665
10686
10701 virtual int stopLocalAudioMixer() = 0;
10702
10728 virtual int startCameraCapture(VIDEO_SOURCE_TYPE sourceType, const CameraCapturerConfiguration& config) = 0;
10729
10750 virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType) = 0;
10782
10822 virtual int startScreenCapture(VIDEO_SOURCE_TYPE sourceType, const ScreenCaptureConfiguration& config) = 0;
10823
10842 virtual int stopScreenCapture(VIDEO_SOURCE_TYPE sourceType) = 0;
10843
10854
10855 // The following APIs are not implemented yet.
10856 virtual bool registerEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
10857 virtual bool unregisterEventHandler(IRtcEngineEventHandler* eventHandler) = 0;
10858 virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0;
10859
10883 virtual int registerPacketObserver(IPacketObserver* observer) = 0;
10884
10885
10914 virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0;
10915
10952 virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0;
10953
10978 virtual int createDataStream(int* streamId, const DataStreamConfig& config) = 0;
10979
11013 virtual int sendStreamMessage(int streamId, const char* data, size_t length) = 0;
11014
11028 virtual int sendRdtMessage(uid_t uid, RdtStreamType type, const char *data, size_t length) = 0;
11029
11042 virtual int sendMediaControlMessage(uid_t uid, const char* data, size_t length) = 0;
11043
11070 virtual int addVideoWatermark(const RtcImage& watermark) __deprecated = 0;
11071
11119 virtual int addVideoWatermark(const char* watermarkUrl, const WatermarkOptions& options) = 0;
11120
11136 virtual int addVideoWatermark(const WatermarkConfig& configs) = 0;
11137
11154 virtual int removeVideoWatermark(const char* id) = 0;
11155
11163 virtual int clearVideoWatermarks() = 0;
11164
11165 // The following APIs are either deprecated and going to deleted.
11166
11175 virtual int pauseAudio() __deprecated = 0;
11184 virtual int resumeAudio() __deprecated = 0;
11185
11207 virtual int enableWebSdkInteroperability(bool enabled) __deprecated = 0;
11208
11220 virtual int sendCustomReportMessage(const char* id, const char* category, const char* event, const char* label, int value) = 0;
11221
11242 virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0;
11243
11255 virtual int unregisterMediaMetadataObserver(IMetadataObserver* observer, IMetadataObserver::METADATA_TYPE type) = 0;
11256
11265 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;
11266
11270 virtual int stopAudioFrameDump(const char* channel_id, uid_t uid, const char* location) = 0;
11271
11309 virtual int setAINSMode(bool enabled, AUDIO_AINS_MODE mode) = 0;
11310
11364 virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0;
11365
11449 virtual int joinChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount) = 0;
11450
11538 virtual int joinChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount, const ChannelMediaOptions& options) = 0;
11539
11628 virtual int joinChannelWithUserAccountEx(const char* token, const char* channelId,
11629 const char* userAccount, const ChannelMediaOptions& options,
11630 IRtcEngineEventHandler* eventHandler) = 0;
11631
11653 virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo) = 0;
11654
11676 virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo) = 0;
11677
11714
11735 virtual int stopChannelMediaRelay() = 0;
11736
11752 virtual int pauseAllChannelMediaRelay() = 0;
11753
11769
11788
11813
11847 const char* publishUrl, const DirectCdnStreamingMediaOptions& options) = 0;
11848
11858 virtual int stopDirectCdnStreaming() = 0;
11859
11874
11908 virtual int startRhythmPlayer(const char* sound1, const char* sound2, const AgoraRhythmPlayerConfig& config) = 0;
11909
11922 virtual int stopRhythmPlayer() = 0;
11923
11948 virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig& config) = 0;
11949
11981 virtual int takeSnapshot(uid_t uid, const char* filePath) = 0;
11982
12007 virtual int takeSnapshot(uid_t uid, const media::SnapshotConfig& config) = 0;
12008
12037 virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config) = 0;
12057 virtual int adjustCustomAudioPublishVolume(track_id_t trackId, int volume) = 0;
12058
12078 virtual int adjustCustomAudioPlayoutVolume(track_id_t trackId, int volume) = 0;
12079
12113 virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0;
12133
12150 virtual int setAdvancedAudioOptions(AdvancedAudioOptions& options, int sourceType = 0) = 0;
12151
12172 virtual int setAVSyncSource(const char* channelId, uid_t uid) = 0;
12173
12194 virtual int enableVideoImageSource(bool enable, const ImageTrackOptions& options) = 0;
12195
12213 virtual int64_t getCurrentMonotonicTimeInMs() = 0;
12214
12235 virtual int getNetworkType() = 0;
12236
12250 virtual int setParameters(const char* parameters) = 0;
12251
12282
12307
12320 virtual uint64_t getNtpWallTimeInMs() = 0;
12321
12343
12354 virtual int sendAudioMetadata(const char* metadata, size_t length) = 0;
12355
12367};
12368
12369// The following types are either deprecated or not implmented yet.
12378
12410
12411enum VIDEO_PROFILE_TYPE { // res fps
12461 VIDEO_PROFILE_LANDSCAPE_720P = 50, // 1280x720 15
12469 VIDEO_PROFILE_LANDSCAPE_1080P = 60, // 1920x1080 15
12475 VIDEO_PROFILE_LANDSCAPE_1440P = 66, // 2560x1440 30
12479 VIDEO_PROFILE_LANDSCAPE_4K = 70, // 3840x2160 30
12481 VIDEO_PROFILE_LANDSCAPE_4K_3 = 72, // 3840x2160 60
12483 VIDEO_PROFILE_PORTRAIT_120P = 1000, // 120x160 15
12485 VIDEO_PROFILE_PORTRAIT_120P_3 = 1002, // 120x120 15
12487 VIDEO_PROFILE_PORTRAIT_180P = 1010, // 180x320 15
12489 VIDEO_PROFILE_PORTRAIT_180P_3 = 1012, // 180x180 15
12491 VIDEO_PROFILE_PORTRAIT_180P_4 = 1013, // 180x240 15
12493 VIDEO_PROFILE_PORTRAIT_240P = 1020, // 240x320 15
12495 VIDEO_PROFILE_PORTRAIT_240P_3 = 1022, // 240x240 15
12497 VIDEO_PROFILE_PORTRAIT_240P_4 = 1023, // 240x424 15
12499 VIDEO_PROFILE_PORTRAIT_360P = 1030, // 360x640 15
12501 VIDEO_PROFILE_PORTRAIT_360P_3 = 1032, // 360x360 15
12503 VIDEO_PROFILE_PORTRAIT_360P_4 = 1033, // 360x640 30
12505 VIDEO_PROFILE_PORTRAIT_360P_6 = 1035, // 360x360 30
12507 VIDEO_PROFILE_PORTRAIT_360P_7 = 1036, // 360x480 15
12509 VIDEO_PROFILE_PORTRAIT_360P_8 = 1037, // 360x480 30
12511 VIDEO_PROFILE_PORTRAIT_360P_9 = 1038, // 360x640 15
12517 VIDEO_PROFILE_PORTRAIT_480P = 1040, // 480x640 15
12519 VIDEO_PROFILE_PORTRAIT_480P_3 = 1042, // 480x480 15
12521 VIDEO_PROFILE_PORTRAIT_480P_4 = 1043, // 480x640 30
12523 VIDEO_PROFILE_PORTRAIT_480P_6 = 1045, // 480x480 30
12525 VIDEO_PROFILE_PORTRAIT_480P_8 = 1047, // 480x848 15
12527 VIDEO_PROFILE_PORTRAIT_480P_9 = 1048, // 480x848 30
12531 VIDEO_PROFILE_PORTRAIT_720P = 1050, // 720x1280 15
12533 VIDEO_PROFILE_PORTRAIT_720P_3 = 1052, // 720x1280 30
12535 VIDEO_PROFILE_PORTRAIT_720P_5 = 1054, // 720x960 15
12537 VIDEO_PROFILE_PORTRAIT_720P_6 = 1055, // 720x960 30
12539 VIDEO_PROFILE_PORTRAIT_1080P = 1060, // 1080x1920 15
12541 VIDEO_PROFILE_PORTRAIT_1080P_3 = 1062, // 1080x1920 30
12543 VIDEO_PROFILE_PORTRAIT_1080P_5 = 1064, // 1080x1920 60
12545 VIDEO_PROFILE_PORTRAIT_1440P = 1066, // 1440x2560 30
12547 VIDEO_PROFILE_PORTRAIT_1440P_2 = 1067, // 1440x2560 60
12549 VIDEO_PROFILE_PORTRAIT_4K = 1070, // 2160x3840 30
12551 VIDEO_PROFILE_PORTRAIT_4K_3 = 1072, // 2160x3840 60
12554};
12555
12556class AAudioDeviceManager : public agora::util::AutoPtr<IAudioDeviceManager> {
12557 public:
12561};
12562
12563class AVideoDeviceManager : public agora::util::AutoPtr<IVideoDeviceManager> {
12564 public:
12568};
12569
12570} // namespace rtc
12571} // namespace agora
12572
12578#define getAgoraRtcEngineVersion getAgoraSdkVersion
12579
12581
12585
12596
12598
12600
12606#define getAgoraRtcEngineErrorDescription getAgoraSdkErrorDescription
12607#define setAgoraRtcEngineExternalSymbolLoader setAgoraSdkExternalSymbolLoader
Definition AgoraOptional.h:413
Definition AgoraRefPtr.h:31
Definition AgoraRefPtr.h:44
Definition AgoraBase.h:8021
Definition AgoraMediaBase.h:1873
AAudioDeviceManager(IRtcEngine *engine)
Definition IAgoraRtcEngine.h:12558
AVideoDeviceManager(IRtcEngine *engine)
Definition IAgoraRtcEngine.h:12565
Definition AgoraBase.h:6825
Definition IAgoraRtcEngine.h:4382
virtual void onDirectCdnStreamingStats(const DirectCdnStreamingStats &stats)
Reports the CDN streaming statistics.
Definition IAgoraRtcEngine.h:4416
virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_REASON reason, const char *message)
Occurs when the CDN streaming state changes.
Definition IAgoraRtcEngine.h:4400
virtual ~IDirectCdnStreamingEventHandler()
Definition IAgoraRtcEngine.h:4384
Definition IAgoraRtcEngine.h:4166
METADATA_TYPE
Metadata type of the observer. We only support video metadata for now.
Definition IAgoraRtcEngine.h:4174
@ UNKNOWN_METADATA
Definition IAgoraRtcEngine.h:4178
@ VIDEO_METADATA
Definition IAgoraRtcEngine.h:4182
virtual ~IMetadataObserver()
Definition IAgoraRtcEngine.h:4168
virtual void onMetadataReceived(const Metadata &metadata)=0
Occurs when the local user receives the metadata.
virtual int getMaxMetadataSize()
Occurs when the SDK requests the maximum size of the metadata.
Definition IAgoraRtcEngine.h:4237
MAX_METADATA_SIZE_TYPE
Definition IAgoraRtcEngine.h:4188
@ MAX_METADATA_SIZE_IN_BYTE
Definition IAgoraRtcEngine.h:4191
@ DEFAULT_METADATA_SIZE_IN_BYTE
Definition IAgoraRtcEngine.h:4190
@ INVALID_METADATA_SIZE_IN_BYTE
Definition IAgoraRtcEngine.h:4189
virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type)=0
Occurs when the SDK is ready to send metadata.
Definition AgoraBase.h:4031
Definition IAgoraRtcEngine.h:1791
virtual void onUserMuteAudio(uid_t uid, bool muted)
Occurs when a remote user (in the communication profile) or a host (in the live streaming profile) st...
Definition IAgoraRtcEngine.h:2444
virtual void onRtmpStreamingStateChanged(const char *url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_REASON reason)
Occurs when the state of Media Push changes.
Definition IAgoraRtcEngine.h:3175
virtual void onFirstLocalAudioFramePublished(int elapsed)
Occurs when the first audio frame is published.
Definition IAgoraRtcEngine.h:2939
virtual void onTranscodingUpdated()
Occurs when the publisher's transcoding is updated.
Definition IAgoraRtcEngine.h:3205
virtual void onStreamMessage(uid_t uid, int streamId, const char *data, size_t length, uint64_t sentTs)
Occurs when the local user receives the data stream from the remote user.
Definition IAgoraRtcEngine.h:2787
virtual void onLocalAudioStats(const LocalAudioStats &stats)
Reports the statistics of the local audio stream.
Definition IAgoraRtcEngine.h:2546
virtual void onCameraFocusAreaChanged(int x, int y, int width, int height)
Occurs when the camera focus area changes.
Definition IAgoraRtcEngine.h:2604
virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted)
Reports the volume change of the audio device or app.
Definition IAgoraRtcEngine.h:3155
virtual void onLocalVideoTranscoderError(const TranscodingVideoStream &stream, VIDEO_TRANSCODER_ERROR error)
Occurs when there's an error during the local video mixing.
Definition IAgoraRtcEngine.h:3459
virtual const char * eventHandlerType() const
Definition IAgoraRtcEngine.h:1795
virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed)
Occurs when the first local video frame is displayed on the local video view.
Definition IAgoraRtcEngine.h:2176
virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) __deprecated
Occurs when the SDK receives the first audio frame from a specific remote user.
Definition IAgoraRtcEngine.h:2980
virtual void onError(int err, const char *msg)
Reports an error during SDK runtime.
Definition IAgoraRtcEngine.h:1882
virtual void onExtensionStoppedWithContext(const ExtensionContext &context)
Occurs when the extension is disabled.
Definition IAgoraRtcEngine.h:3626
virtual void onChannelMediaRelayStateChanged(int state, int code)
Occurs when the state of the media stream relay changes.
Definition IAgoraRtcEngine.h:3227
virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) __deprecated
Occurs when a specific remote user enables/disables the local video capturing function.
Definition IAgoraRtcEngine.h:2517
virtual void onFirstRemoteVideoFrame(uid_t uid, int width, int height, int elapsed)
Occurs when the renderer receives the first frame of the remote video.
Definition IAgoraRtcEngine.h:2367
virtual void onAudioMixingPositionChanged(int64_t position)
Reports the playback progress of a music file.
Definition IAgoraRtcEngine.h:2031
virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result)
Definition IAgoraRtcEngine.h:3057
virtual void onUserStateChanged(uid_t uid, REMOTE_USER_STATE state)
Definition IAgoraRtcEngine.h:2496
virtual void onIntraRequestReceived()
Definition IAgoraRtcEngine.h:2122
virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated
Reports the transport-layer statistics of each remote audio stream.
Definition IAgoraRtcEngine.h:3278
virtual void onCameraExposureAreaChanged(int x, int y, int width, int height)
Occurs when the camera exposure area changes.
Definition IAgoraRtcEngine.h:2625
virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_REASON reason)
Occurs when the local audio stream state changes.
Definition IAgoraRtcEngine.h:3001
virtual void onMultipathStats(const MultipathStats &stats)
Report the multipath transmission statistics.
Definition IAgoraRtcEngine.h:3668
virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats &stats)
Reports the statistics of the local video stream.
Definition IAgoraRtcEngine.h:2561
virtual void onStreamMessageError(uid_t uid, int streamId, int code, int missed, int cached)
Occurs when the local user does not receive the data stream from the remote user.
Definition IAgoraRtcEngine.h:2812
virtual void onVideoSizeChanged(VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation)
Occurs when the video size or rotation of a specified user changes.
Definition IAgoraRtcEngine.h:2249
virtual void onLicenseValidationFailure(LICENSE_ERROR_TYPE error)
Definition IAgoraRtcEngine.h:2918
virtual void onLastmileProbeResult(const LastmileProbeResult &result)
Reports the last mile network probe result.
Definition IAgoraRtcEngine.h:1922
virtual void onLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_REASON reason)
Occurs when the local video stream state changes.
Definition IAgoraRtcEngine.h:2324
virtual void onAudioMetadataReceived(uid_t uid, const char *metadata, size_t length)
Definition IAgoraRtcEngine.h:3581
virtual void onTranscodedStreamLayoutInfo(uid_t uid, int width, int height, int layoutCount, const VideoLayout *layoutlist)
Occurs when the local user receives a mixed video stream carrying layout information.
Definition IAgoraRtcEngine.h:3565
virtual void onVideoStopped() __deprecated
Occurs when the video stops playing.
Definition IAgoraRtcEngine.h:2691
virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) __deprecated
Occurs when the SDK decodes the first remote audio frame for playback.
Definition IAgoraRtcEngine.h:2964
virtual void onAudioRoutingChanged(int routing)
Occurs when the local audio route changes.
Definition IAgoraRtcEngine.h:3215
virtual void onUploadLogResult(const char *requestId, bool success, UPLOAD_ERROR_REASON reason)
Definition IAgoraRtcEngine.h:3470
virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions &newRoleOptions)
Occurs when the user role or the audience latency level changes.
Definition IAgoraRtcEngine.h:3114
virtual void onCameraReady() __deprecated
Occurs when the camera turns on and is ready to capture the video.
Definition IAgoraRtcEngine.h:2591
virtual void onSnapshotTaken(uid_t uid, const char *filePath, int width, int height, int errCode)
Reports the result of taking a video snapshot.
Definition IAgoraRtcEngine.h:3083
virtual void onProxyConnected(const char *channel, uid_t uid, PROXY_TYPE proxyType, const char *localProxyIp, int elapsed)
Reports the proxy connection state.
Definition IAgoraRtcEngine.h:1862
virtual void onRemoteVideoStats(const RemoteVideoStats &stats)
Reports the statistics of the video stream sent by each remote users.
Definition IAgoraRtcEngine.h:2577
virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed)
Occurs when the first video frame is published.
Definition IAgoraRtcEngine.h:2204
virtual void onRdtStateChanged(uid_t userId, RdtState state)
Occurs when the RDT tunnel state changed.
Definition IAgoraRtcEngine.h:2848
virtual void onPermissionGranted(agora::rtc::PERMISSION_TYPE permissionType)
Definition IAgoraRtcEngine.h:3375
virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover)
Occurs when the remote media stream falls back to the audio-only stream due to poor network condition...
Definition IAgoraRtcEngine.h:3255
virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole)
Occurs when switching a user role fails.
Definition IAgoraRtcEngine.h:3134
virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality)
Reports the last mile network quality of each user in the channel.
Definition IAgoraRtcEngine.h:2110
virtual void onUserMuteVideo(uid_t uid, bool muted)
Occurs when a remote user stops or resumes publishing the video stream.
Definition IAgoraRtcEngine.h:2466
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:2864
virtual void onAudioMixingFinished() __deprecated
Occurs when the playback of the local music file finishes.
Definition IAgoraRtcEngine.h:2046
virtual void onLocalVideoEvent(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_EVENT_TYPE event)
Occurs when the local video event occurs.
Definition IAgoraRtcEngine.h:2268
virtual void onRejoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Occurs when a user rejoins the channel.
Definition IAgoraRtcEngine.h:1837
virtual void onExtensionErrorWithContext(const ExtensionContext &context, int error, const char *message)
Occurs when the extension runs incorrectly.
Definition IAgoraRtcEngine.h:3644
virtual void onLocalUserRegistered(uid_t uid, const char *userAccount)
Occurs when the local user registers a user account.
Definition IAgoraRtcEngine.h:3392
virtual void onUserEnableVideo(uid_t uid, bool enabled)
Occurs when a remote user enables or disables the video module.
Definition IAgoraRtcEngine.h:2486
virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason)
Occurs when a remote user (in the communication profile)/ host (in the live streaming profile) leaves...
Definition IAgoraRtcEngine.h:2422
virtual void onConnectionBanned() __deprecated
Occurs when the connection is banned by the Agora server.
Definition IAgoraRtcEngine.h:2768
virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_REASON reason)
Occurs when the state of virtual metronome changes.
Definition IAgoraRtcEngine.h:2724
virtual void onUserJoined(uid_t uid, int elapsed)
Occurs when a remote user (in the communication profile)/ host (in the live streaming profile) joins ...
Definition IAgoraRtcEngine.h:2398
virtual void onLeaveChannel(const RtcStats &stats)
Occurs when a user leaves a channel.
Definition IAgoraRtcEngine.h:1983
virtual void onVideoDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Occurs when the video device state changes.
Definition IAgoraRtcEngine.h:2074
virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed)
Occurs when the remote audio state changes.
Definition IAgoraRtcEngine.h:3025
virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo &info)
Occurs when the uplink network information changes.
Definition IAgoraRtcEngine.h:2136
virtual void onRtmpStreamingEvent(const char *url, RTMP_STREAMING_EVENT eventCode)
Reports events during the Media Push.
Definition IAgoraRtcEngine.h:3189
virtual void onRequestToken()
Occurs when the token expires.
Definition IAgoraRtcEngine.h:2887
virtual void onAudioVolumeIndication(const AudioVolumeInfo *speakers, unsigned int speakerNumber, int totalVolume)
Reports the volume information of users.
Definition IAgoraRtcEngine.h:1962
virtual ~IRtcEngineEventHandler()
Definition IAgoraRtcEngine.h:1793
virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated
Reports the transport-layer statistics of each remote video stream.
Definition IAgoraRtcEngine.h:3302
virtual void onJoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Occurs when a user joins a channel.
Definition IAgoraRtcEngine.h:1817
virtual void onRenewTokenResult(const char *token, RENEW_TOKEN_ERROR_CODE code)
Callback for renewToken call result.
Definition IAgoraRtcEngine.h:3685
virtual void onAudioEffectFinished(int soundId)
Occurs when the playback of the local music file finishes.
Definition IAgoraRtcEngine.h:2057
virtual void onConnectionLost()
Occurs when the SDK cannot reconnect to Agora's edge server 10 seconds after its connection to the se...
Definition IAgoraRtcEngine.h:2741
virtual void onAudioQuality(uid_t uid, int quality, unsigned short delay, unsigned short lost) __deprecated
Reports the statistics of the audio stream sent by each remote user.
Definition IAgoraRtcEngine.h:1905
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:2833
virtual void onPermissionError(PERMISSION_TYPE permissionType)
Occurs when the SDK cannot get the device permission.
Definition IAgoraRtcEngine.h:3366
virtual void onTokenPrivilegeWillExpire(const char *token)
Occurs when the token expires in 30 seconds.
Definition IAgoraRtcEngine.h:2909
virtual void onConnectionInterrupted() __deprecated
Occurs when the connection between the SDK and the server is interrupted.
Definition IAgoraRtcEngine.h:2761
virtual void onLastmileQuality(int quality)
Reports the last-mile network quality of the local user.
Definition IAgoraRtcEngine.h:2153
virtual void onUserAccountUpdated(uid_t uid, const char *userAccount)
Definition IAgoraRtcEngine.h:3420
virtual void onUserInfoUpdated(uid_t uid, const UserInfo &info)
Occurs when the SDK gets the user ID and user account of the remote user.
Definition IAgoraRtcEngine.h:3409
virtual void onAudioDeviceStateChanged(const char *deviceId, int deviceType, int deviceState)
Occurs when the audio device state changes.
Definition IAgoraRtcEngine.h:2011
virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType)
Reports the built-in encryption errors.
Definition IAgoraRtcEngine.h:3352
virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) __deprecated
Occurs when the first remote video frame is received and decoded.
Definition IAgoraRtcEngine.h:2230
virtual void onRtcStats(const RtcStats &stats)
Reports the statistics about the current call.
Definition IAgoraRtcEngine.h:1995
virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason)
Occurs when the playback state of the music file changes.
Definition IAgoraRtcEngine.h:2704
virtual void onAudioSubscribeStateChanged(const char *channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState)
Occurs when the audio subscribing state changes.
Definition IAgoraRtcEngine.h:3486
virtual void onActiveSpeaker(uid_t uid)
Occurs when the most active remote speaker is detected.
Definition IAgoraRtcEngine.h:3049
virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed)
Occurs when the remote video stream state changes.
Definition IAgoraRtcEngine.h:2344
virtual void onVideoPublishStateChanged(VIDEO_SOURCE_TYPE source, const char *channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)
Occurs when the video publishing state changes.
Definition IAgoraRtcEngine.h:3538
virtual void onExtensionEventWithContext(const ExtensionContext &context, const char *key, const char *value)
The event callback of the extension.
Definition IAgoraRtcEngine.h:3598
virtual void onVideoSubscribeStateChanged(const char *channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState)
Occurs when the video subscribing state changes.
Definition IAgoraRtcEngine.h:3504
virtual void onExtensionStartedWithContext(const ExtensionContext &context)
Occurrs when the extension is enabled.
Definition IAgoraRtcEngine.h:3613
virtual void onFacePositionChanged(int imageWidth, int imageHeight, const Rectangle *vecRectangle, const int *vecDistance, int numFaces)
Reports the face detection result of the local user.
Definition IAgoraRtcEngine.h:2670
virtual void onSetRtmFlagResult(int code)
Definition IAgoraRtcEngine.h:3656
virtual void onVideoRenderingTracingResult(uid_t uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo)
Video frame rendering event callback.
Definition IAgoraRtcEngine.h:3441
virtual void onConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason)
Occurs when the network connection state changes.
Definition IAgoraRtcEngine.h:3320
virtual void onAudioPublishStateChanged(const char *channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)
Occurs when the audio publishing state changes.
Definition IAgoraRtcEngine.h:3521
virtual void onNetworkTypeChanged(NETWORK_TYPE type)
Occurs when the local network type changes.
Definition IAgoraRtcEngine.h:3338
virtual void onRemoteAudioStats(const RemoteAudioStats &stats)
Reports the transport-layer statistics of each remote audio stream.
Definition IAgoraRtcEngine.h:2533
Definition IAgoraRtcEngine.h:4581
virtual int setLocalAccessPoint(const LocalAccessPointConfiguration &config)=0
Configures the connection to Agora's Private Media Server access module.
virtual int muteRemoteVideoStream(uid_t uid, bool mute)=0
Stops or resumes subscribing to the video stream of a specified user.
virtual int preloadEffect(int soundId, const char *filePath, int startPos=0)=0
Preloads a specified audio effect file into the memory.
virtual int setVolumeOfEffect(int soundId, int volume)=0
Gets the volume of a specified audio effect file.
virtual int muteLocalAudioStream(bool mute)=0
Stops or resumes publishing the local audio stream.
virtual int startScreenCaptureByDisplayId(int64_t displayId, const Rectangle &regionRect, const ScreenCaptureParameters &captureParams)=0
Captures the screen by specifying the display ID.
virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint)=0
Sets the content hint for screen sharing.
virtual int getFaceShapeAreaOptions(agora::rtc::FaceShapeAreaOptions::FACE_SHAPE_AREA shapeArea, FaceShapeAreaOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
Gets the facial beauty area options.
virtual int updateScreenCapture(const ScreenCaptureParameters2 &captureParams)=0
Updates the screen capturing parameters.
virtual int registerLocalUserAccount(const char *appId, const char *userAccount)=0
Registers a user account.
virtual int getEffectsVolume()=0
Retrieves the volume of the audio effects.
virtual int startRtmpStreamWithTranscoding(const char *url, const LiveTranscoding &transcoding)=0
Starts Media Push and sets the transcoding configuration.
virtual int startScreenCaptureByWindowId(int64_t windowId, const Rectangle &regionRect, const ScreenCaptureParameters &captureParams)=0
Captures the whole or part of a window by specifying the window ID.
virtual int joinChannelWithUserAccountEx(const char *token, const char *channelId, const char *userAccount, const ChannelMediaOptions &options, IRtcEngineEventHandler *eventHandler)=0
Join a channel using a user account and token, and set the media options.
virtual int setCameraTorchOn(bool isOn)=0
Enables the camera flash.
virtual int setSubscribeAudioBlocklist(uid_t *uidList, int uidNumber)=0
Sets the blocklist of subscriptions for audio streams.
virtual int enableCustomAudioLocalPlayback(track_id_t trackId, bool enabled)=0
Sets whether to enable the local playback of external audio source.
virtual int setExternalMediaProjection(void *mediaProjection)=0
Configures MediaProjection outside of the SDK to capture screen video streams.
virtual int joinChannelWithUserAccount(const char *token, const char *channelId, const char *userAccount)=0
Joins a channel with a User Account and Token.
virtual int setAudioMixingPlaybackSpeed(int speed)=0
Sets the playback speed of the current audio file.
virtual int enableLocalVideo(bool enabled)=0
Enables/Disables the local video capture.
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
Gets detailed information on the extensions.
virtual int disableAudio()=0
Disables the audio module.
virtual int setCameraAutoExposureFaceModeEnabled(bool enabled)=0
Sets whether to enable auto exposure.
virtual int setScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario)=0
Sets the screen sharing scenario.
virtual int setSubscribeAudioAllowlist(uid_t *uidList, int uidNumber)=0
Sets the allowlist of subscriptions for audio streams.
virtual int stopDirectCdnStreaming()=0
Stops pushing media streams to the CDN directly.
virtual int setLogFileSize(unsigned int fileSizeInKBytes)=0
Sets the log file size.
virtual int selectAudioTrack(int index)=0
Selects the audio track used during playback.
virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad)=0
Enables the reporting of users' volume indication.
virtual int updateLocalAudioMixerConfiguration(const LocalAudioMixerConfiguration &config)=0
Updates the configurations for mixing audio streams locally.
virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
Registers an audio spectrum observer.
virtual int setAudioMixingPitch(int pitch)=0
Sets the pitch of the local music file.
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
Enables the virtual metronome.
virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType)=0
Stops camera capture.
virtual bool isCameraZoomSupported()=0
Checks whether the device supports camera zoom.
virtual int setAINSMode(bool enabled, AUDIO_AINS_MODE mode)=0
Sets whether to enable the AI ​​noise suppression function and set the noise suppression mode.
virtual int setRemoteRenderMode(uid_t uid, media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
Updates the display mode of the video view of a remote user.
virtual int stopAudioMixing()=0
Stops playing the music file.
virtual int startAudioRecording(const char *filePath, AUDIO_RECORDING_QUALITY_TYPE quality)=0
Starts client-side audio recording with recording configuration.
virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode)=0
Sets the dual-stream mode on the sender side.
virtual int setRecordingAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
Sets the format of the captured raw audio data.
virtual int setEnableSpeakerphone(bool speakerOn)=0
Enables/Disables the audio route to the speakerphone.
virtual int setFaceShapeBeautyOptions(bool enabled, const FaceShapeBeautyOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
Sets the face shape options and specifies the media source.
virtual int resumeAllEffects()=0
Resumes playing all audio effect files.
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.
virtual int queryCodecCapability(CodecCapInfo *codecInfo, int &size)=0
Queries the video codec capabilities of the SDK.
virtual int uploadLogFile(agora::util::AString &requestId)=0
virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode, const SimulcastStreamConfig &streamConfig)=0
Sets dual-stream mode configuration on the sender side.
virtual int getFaceShapeBeautyOptions(FaceShapeBeautyOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
Gets the beauty effect options.
virtual const char * getVersion(int *build)=0
Gets the SDK version.
virtual int addVideoWatermark(const char *watermarkUrl, const WatermarkOptions &options)=0
Adds a watermark image to the local video.
virtual int setBeautyEffectOptions(bool enabled, const BeautyOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
Sets the image enhancement options.
virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
Sets the format of the in-ear monitoring raw audio data.
virtual int enableVideoImageSource(bool enable, const ImageTrackOptions &options)=0
Sets whether to replace the current video feeds with images when publishing video streams.
virtual int setSimulcastConfig(const SimulcastConfig &simulcastConfig)=0
Sets the simulcast video stream configuration.
virtual int startEchoTest(const EchoTestConfiguration &config)=0
Starts an audio device loopback test.
virtual int startLocalAudioMixer(const LocalAudioMixerConfiguration &config)=0
Starts local audio mixing.
virtual int startAudioRecording(const char *filePath, int sampleRate, AUDIO_RECORDING_QUALITY_TYPE quality)=0
Starts client-side audio recording and sets the recording sample rate.
virtual int pauseEffect(int soundId)=0
Pauses a specified audio effect file.
virtual int setHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset)=0
Sets the preset headphone equalization effect.
virtual int muteRecordingSignal(bool mute)=0
Whether to mute the recording signal.
virtual int muteRemoteAudioStream(uid_t uid, bool mute)=0
Stops or resumes subscribing to the audio stream of a specified user.
virtual int joinChannel(const char *token, const char *channelId, uid_t uid, const ChannelMediaOptions &options)=0
Joins a channel with media options.
virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration &config)=0
Starts the local video mixing.
virtual int enableDualStreamMode(bool enabled) __deprecated=0
Enables or disables dual-stream mode on the sender side.
virtual int setInEarMonitoringVolume(int volume)=0
Sets the volume of the in-ear monitor.
virtual bool isCameraTorchSupported()=0
Checks whether the device supports camera flash.
virtual int stopLocalVideoTranscoder()=0
Stops the local video mixing.
virtual int updateChannelMediaOptions(const ChannelMediaOptions &options)=0
Updates the channel media options after joining the channel.
virtual int setColorEnhanceOptions(bool enabled, const ColorEnhanceOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
Sets color enhancement.
virtual int setLocalVoicePitch(double pitch)=0
Changes the voice pitch of the local speaker.
virtual int queryDeviceScore()=0
Queries device score.
virtual int enableCameraCenterStage(bool enabled)=0
Enables or disables portrait center stage.
virtual int switchCamera()=0
Switches between front and rear cameras.
virtual int startMediaRenderingTracing()=0
Enables tracing the video frame rendering process.
virtual int setHeadphoneEQParameters(int lowGain, int highGain)=0
Sets the low- and high-frequency parameters of the headphone equalizer.
virtual int playEffect(int soundId, const char *filePath, int loopCount, double pitch, double pan, int gain, bool publish=false, int startPos=0)=0
Plays the specified local or online audio effect file.
virtual int setVoiceConversionParameters(VOICE_CONVERSION_PRESET preset, int param1, int param2)=0
virtual int addVideoWatermark(const RtcImage &watermark) __deprecated=0
Adds a watermark image to the local video.
virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value)=0
Sets the local voice reverberation.
virtual int getEffectDuration(const char *filePath)=0
Retrieves the duration of the audio effect file.
virtual int setAudioMixingDualMonoMode(media::AUDIO_MIXING_DUAL_MONO_MODE mode)=0
Sets the channel mode of the current audio file.
virtual bool isCameraCenterStageSupported()=0
Checks if the camera supports portrait center stage.
virtual CONNECTION_STATE_TYPE getConnectionState()=0
Gets the current connection state of the SDK.
virtual int setExtensionProviderProperty(const char *provider, const char *key, const char *value)=0
Sets the properties of the extension provider.
virtual int leaveChannel()=0
Leaves a channel.
virtual int setLocalVoiceFormant(double formantRatio)=0
Sets the formant ratio to change the timbre of human voice.
virtual int adjustAudioMixingVolume(int volume)=0
Adjusts the volume during audio mixing.
virtual int enableMultiCamera(bool enabled, const CameraCapturerConfiguration &config)=0
Enables or disables multi-camera capture.
virtual int resumeAudio() __deprecated=0
virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset)=0
Sets a preset voice beautifier effect.
virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams &params)=0
Sets the spatial audio effect parameters of the remote user.
virtual int createDataStream(int *streamId, bool reliable, bool ordered)=0
Creates a data stream.
virtual int takeSnapshot(uid_t uid, const char *filePath)=0
Takes a snapshot of a video stream.
virtual int resumeAudioMixing()=0
Resumes playing and mixing the music file.
virtual int enableWebSdkInteroperability(bool enabled) __deprecated=0
Enables interoperability with the Agora Web SDK (applicable only in the live streaming.
virtual int destroyCustomVideoTrack(video_track_id_t video_track_id)=0
Destroys the specified video track.
virtual int addVideoWatermark(const WatermarkConfig &configs)=0
Adds 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
Sets the filter effect options and specifies the media source.
virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset)=0
Sets an SDK preset audio effect.
virtual int setCameraExposureFactor(float factor)=0
Sets the camera exposure value.
virtual int resumeEffect(int soundId)=0
Resumes playing a specified audio effect.
virtual int pauseAllChannelMediaRelay()=0
Pauses the media stream relay to all target channels.
virtual int setCameraZoomFactor(float factor)=0
Sets the camera zoom factor.
virtual int getAudioMixingDuration()=0
Retrieves the duration (ms) of the music file.
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
Enables or disables extensions.
virtual int setDirectCdnStreamingVideoConfiguration(const VideoEncoderConfiguration &config)=0
Sets the video profile of the media streams directly pushed to the CDN by the host.
virtual int setAudioMixingPosition(int pos)=0
Sets the audio mixing position.
virtual int adjustCustomAudioPlayoutVolume(track_id_t trackId, int volume)=0
Adjusts the volume of the custom audio track played locally.
virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
Unregisters the audio spectrum observer.
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
Sends data stream messages.
virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
Enables/Disables the virtual background.
virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration &config)=0
Updates the local video mixing configuration.
virtual int enableAudioSpectrumMonitor(int intervalInMS=100)=0
Turns on audio spectrum monitoring.
virtual int destroyMediaPlayer(agora_refptr< IMediaPlayer > media_player)=0
Destroys the media player instance.
virtual int queryInterface(INTERFACE_ID_TYPE iid, void **inter)=0
Gets the pointer to the specified interface.
virtual int setRemoteRenderTargetFps(int targetFps)=0
Sets the maximum frame rate for rendering remote video.
virtual int setupLocalVideo(const VideoCanvas &canvas)=0
Initializes the local video view.
virtual int rate(const char *callId, int rating, const char *description)=0
Allows a user to rate a call after the call ends.
virtual int muteLocalVideoStream(bool mute)=0
Stops or resumes publishing the local video stream.
virtual int pauseAudio() __deprecated=0
virtual int stopScreenCapture()=0
Stops screen capture.
virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo *userInfo)=0
Gets the user information by passing in the user ID.
virtual const char * getErrorDescription(int code)=0
Gets the warning or error description.
virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType)=0
Sets the video stream type to subscribe to.
virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) __deprecated=0
Sets the audio profile and audio scenario.
virtual int enableVideo()=0
Enables the video module.
virtual int getAudioTrackCount()=0
Gets the index of audio tracks of the current music file.
virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions &options)=0
Sets the user role and the audience latency level in a live streaming scenario.
virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker)=0
Sets the default audio playback route.
virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario)=0
Sets audio scenarios.
virtual int startScreenCapture(const ScreenCaptureParameters2 &captureParams)=0
Starts screen capture.
virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type)=0
Registers the metadata observer.
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
Captures the whole or part of a screen by specifying the screen rect.
virtual int adjustAudioMixingPlayoutVolume(int volume)=0
Adjusts the volume of audio mixing for local playback.
virtual int updateRtmpTranscoding(const LiveTranscoding &transcoding)=0
Updates the transcoding configuration.
virtual int enableLoopbackRecording(bool enabled, const char *deviceName=NULL)=0
Enables loopback audio capturing.
virtual int startAudioMixing(const char *filePath, bool loopback, int cycle)=0
Starts playing the music file.
virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) __deprecated=0
virtual int stopAllEffects()=0
Stops playing all audio effects.
virtual int startAudioMixing(const char *filePath, bool loopback, int cycle, int startPos)=0
Starts playing the music file.
virtual int preloadChannel(const char *token, const char *channelId, uid_t uid)=0
Preloads a channel with token, channelId, and uid.
virtual int muteAllRemoteVideoStreams(bool mute)=0
Stops or resumes subscribing to the video streams of all remote users.
virtual int setClientRole(CLIENT_ROLE_TYPE role)=0
Sets the client role.
virtual int getNetworkType()=0
Gets the type of the local network connection.
virtual int preloadChannelWithUserAccount(const char *token, const char *channelId, const char *userAccount)=0
Preloads a channel with token, channelId, and userAccount.
virtual int setFaceShapeAreaOptions(const FaceShapeAreaOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
Sets the image enhancement options for facial areas and specifies the media source.
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
Sets the local voice equalization effect.
virtual int unloadAllEffects()=0
Releases a specified preloaded audio effect from the memory.
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
Sets the local video mirror mode.
virtual int renewToken(const char *token)=0
Renews the token.
virtual bool isFeatureAvailableOnDevice(FeatureType type)=0
Checks whether the device supports the specified advanced feature.
virtual bool isCameraAutoExposureFaceModeSupported()=0
Checks whether the device supports auto exposure.
virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel, int samplesPerCall)=0
Sets the format of audio data in the onPlaybackAudioFrameBeforeMixing callback.
virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig &config, IAudioEncodedFrameObserver *observer)=0
Registers an encoded audio observer.
virtual int startDirectCdnStreaming(IDirectCdnStreamingEventHandler *eventHandler, const char *publishUrl, const DirectCdnStreamingMediaOptions &options)=0
Starts pushing media streams to the CDN directly.
virtual int resumeAllChannelMediaRelay()=0
Resumes the media stream relay to all target channels.
virtual int stopScreenCapture(VIDEO_SOURCE_TYPE sourceType)=0
Stops screen capture from the specified video source.
virtual video_track_id_t createCustomVideoTrack()=0
Creates a custom video track.
virtual int stopLastmileProbeTest()=0
Stops the last mile network probe test.
virtual int registerPacketObserver(IPacketObserver *observer)=0
Registers a packet observer.
virtual int adjustLoopbackSignalVolume(int volume)=0
Adjusts the volume of the signal captured by the sound card.
virtual int adjustPlaybackSignalVolume(int volume)=0
Adjusts the playback signal volume of all remote users.
virtual int enableAudio()=0
Enables the audio module.
virtual int setRemoteVideoSubscriptionOptions(uid_t uid, const VideoSubscriptionOptions &options)=0
Options for subscribing to remote video streams.
virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration &config)=0
Sets the video encoder configuration.
virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType)=0
Sets the default video stream type to subscribe to.
virtual int enableDualStreamMode(bool enabled, const SimulcastStreamConfig &streamConfig) __deprecated=0
Sets the dual-stream mode on the sender side and the low-quality video stream.
virtual int enableVoiceAITuner(bool enabled, VOICE_AI_TUNER_TYPE type)=0
Enables or disables the voice AI tuner.
virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2)=0
Sets parameters for SDK preset audio effects.
virtual int adjustAudioMixingPublishVolume(int volume)=0
Adjusts the volume of audio mixing for publishing.
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
Sets the properties of the extension.
virtual int setCameraFocusPositionInPreview(float positionX, float positionY)=0
Sets the camera manual focus position.
virtual bool isCameraFocusSupported()=0
Check whether the device supports the manual focus function.
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
Enables the camera auto-face focus function.
virtual int unloadEffect(int soundId)=0
Releases a specified preloaded audio effect from the memory.
virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
Sets the format of the raw audio playback data.
virtual int enableLocalAudio(bool enabled)=0
Enables or disables the local audio capture.
virtual int getAudioMixingPublishVolume()=0
Retrieves the audio mixing volume for publishing.
virtual int setAdvancedAudioOptions(AdvancedAudioOptions &options, int sourceType=0)=0
Sets audio advanced options.
static AGORA_CPP_API void release(RtcEngineReleaseCallback callback=nullptr)
Releases the IRtcEngine instance.
virtual IScreenCaptureSourceList * getScreenCaptureSources(const SIZE &thumbSize, const SIZE &iconSize, const bool includeScreen)=0
Gets a list of shareable screens and windows.
virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration &config)=0
Sets the camera capture configuration.
virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile)=0
Sets the channel profile.
virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile)=0
Sets the audio profile of the audio streams directly pushed to the CDN by the host.
virtual int startPreview()=0
Enables the local video preview.
virtual int adjustCustomAudioPublishVolume(track_id_t trackId, int volume)=0
Adjusts the volume of the custom audio track played remotely.
virtual int getAudioMixingCurrentPosition()=0
Retrieves the playback position (ms) of the music file.
virtual bool isSpeakerphoneEnabled()=0
Checks whether the speakerphone is enabled.
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
Registers an extension.
virtual int disableAudioSpectrumMonitor()=0
Disables audio spectrum monitoring.
virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation)=0
Sets the rotation angle of the captured video.
virtual int stopPreview()=0
Stops the local video preview.
virtual int setVideoDenoiserOptions(bool enabled, const VideoDenoiserOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
Sets video noise reduction.
virtual int stopRhythmPlayer()=0
Disables the virtual metronome.
virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters)=0
Enables in-ear monitoring.
virtual int enableInstantMediaRendering()=0
Enables audio and video frame instant rendering.
virtual int stopChannelMediaRelay()=0
Stops the media stream relay. Once the relay stops, the host quits all the target channels.
virtual int getVolumeOfEffect(int soundId)=0
Gets the volume of a specified audio effect file.
virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig &config)=0
Configures the virtual metronome.
virtual int complain(const char *callId, const char *description)=0
Allows a user to complain about the call quality after a call ends.
virtual int pauseAudioMixing()=0
Pauses playing and mixing the music file.
virtual int setAVSyncSource(const char *channelId, uid_t uid)=0
Sets audio-video synchronization for the sender.
virtual int stopRtmpStream(const char *url)=0
Stops pushing media streams to a CDN.
virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish=false)=0
Plays all audio effect files.
virtual bool isCameraExposurePositionSupported()=0
Checks whether the device supports manual exposure.
virtual int setLowlightEnhanceOptions(bool enabled, const LowlightEnhanceOptions &options, agora::media::MEDIA_SOURCE_TYPE type=agora::media::PRIMARY_CAMERA_SOURCE)=0
Sets low-light enhancement.
virtual int setCameraStabilizationMode(CAMERA_STABILIZATION_MODE mode)=0
Sets the camera stabilization mode.
virtual int getEffectCurrentPosition(int soundId)=0
Retrieves the playback position of the audio effect file.
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
Selects the audio playback route in communication audio mode.
virtual int adjustUserPlaybackSignalVolume(uid_t uid, int volume)=0
Adjusts the playback signal volume of a specified remote user.
virtual int muteAllRemoteAudioStreams(bool mute)=0
Stops or resumes subscribing to the audio streams of all remote users.
virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config)=0
Enables or disables video screenshot and upload.
virtual int setupRemoteVideo(const VideoCanvas &canvas)=0
Initializes the video view of a remote user.
virtual int setSubscribeVideoBlocklist(uid_t *uidList, int uidNumber)=0
Sets the blocklist of subscriptions for video streams.
virtual int queryCameraFocalLengthCapability(agora::rtc::FocalLengthInfo *focalLengthInfos, int &size)=0
Queries the focal length capability supported by the camera.
virtual int enableSoundPositionIndication(bool enabled)=0
Enables or disables stereo panning for remote users.
virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType)=0
Stops the local video preview.
virtual int destroyMediaRecorder(agora_refptr< IMediaRecorder > mediaRecorder)=0
Destroys an audio and video recording object.
virtual int64_t getCurrentMonotonicTimeInMs()=0
Gets the current Monotonic Time of the SDK.
virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain)=0
Sets the 2D position (the position on the horizontal plane) of the remote user's voice.
virtual int enableExtension(const char *provider, const char *extension, const ExtensionInfo &extensionInfo, bool enable=true)=0
virtual int enableSpatialAudio(bool enabled)=0
Enables or disables the spatial audio effect.
virtual int initialize(const RtcEngineContext &context)=0
Initializes IRtcEngine.
virtual int disableVideo()=0
Disables the video module.
virtual int removeVideoWatermark(const char *id)=0
Removes the watermark image from the local video.
virtual int getLoopbackRecordingVolume()=0
virtual agora_refptr< IMediaRecorder > createMediaRecorder(const RecorderStreamInfo &info)=0
Creates an audio and video recording object.
virtual bool isCameraAutoFocusFaceModeSupported()=0
Checks whether the device supports the face auto-focus function.
virtual float getCameraMaxZoomFactor()=0
Gets the maximum zoom ratio supported by the camera.
virtual int getUserInfoByUserAccount(const char *userAccount, rtc::UserInfo *userInfo)=0
Gets the user information by passing in the user account.
virtual int startOrUpdateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration)=0
Starts relaying media streams across channels or updates channels for media relay.
virtual int setEffectPosition(int soundId, int pos)=0
Sets the playback position of an audio effect file.
virtual int startAudioRecording(const AudioRecordingConfiguration &config)=0
virtual int unregisterMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type)=0
Unregisters the specified metadata observer.
virtual int getAudioDeviceInfo(DeviceInfo &deviceInfo)=0
Gets the audio device information.
virtual int createDataStream(int *streamId, const DataStreamConfig &config)=0
Creates a data stream.
virtual int adjustRecordingSignalVolume(int volume)=0
Adjusts the capturing signal volume.
virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType)=0
Sets video application scenarios.
virtual int setLogFilter(unsigned int filter)=0
Sets the log output level of the SDK.
virtual int startRtmpStreamWithoutTranscoding(const char *url)=0
Starts pushing media streams to a CDN without transcoding.
virtual int startCameraCapture(VIDEO_SOURCE_TYPE sourceType, const CameraCapturerConfiguration &config)=0
Starts camera capture.
virtual int startPreview(VIDEO_SOURCE_TYPE sourceType)=0
Enables the local video preview and specifies the video source for the preview.
virtual int enableFaceDetection(bool enabled)=0
Enables or disables face detection for the local user.
virtual bool isCameraFaceDetectSupported()=0
Checks whether the device camera supports face detection.
virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode)=0
Updates the display mode of the local video view.
virtual int queryScreenCaptureCapability()=0
Queries the highest frame rate supported by the device during screen sharing.
virtual int leaveChannel(const LeaveChannelOptions &options)=0
Sets channel options and leaves the channel.
virtual int enableEncryption(bool enabled, const EncryptionConfig &config)=0
Enables or disables the built-in encryption.
virtual int updateScreenCaptureParameters(const ScreenCaptureParameters &captureParams)=0
Updates the screen capturing parameters.
virtual int pauseAllEffects()=0
Pauses all audio effects.
virtual int stopEffect(int soundId)=0
Stops playing a specified audio effect.
virtual video_track_id_t createCustomEncodedVideoTrack(const SenderOptions &sender_option)=0
virtual int setCameraExposurePosition(float positionXinView, float positionYinView)=0
Sets the camera exposure position.
virtual int startScreenCapture(VIDEO_SOURCE_TYPE sourceType, const ScreenCaptureConfiguration &config)=0
Starts screen capture from the specified video source.
virtual int stopAudioRecording()=0
Stops client-side audio recording.
virtual int startLastmileProbeTest(const LastmileProbeConfig &config)=0
Starts the last mile network probe test.
virtual int joinChannel(const char *token, const char *channelId, const char *info, uid_t uid)=0
Joins a channel.
virtual int setVideoQoEPreference(VIDEO_QOE_PREFERENCE_TYPE qoePreference)=0
virtual int setEffectsVolume(int volume)=0
Sets the volume of the audio effects.
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
Sets the maximum frame rate for rendering local video.
virtual int loadExtensionProvider(const char *path, bool unload_after_use=false)=0
Loads an extension.
virtual int updateScreenCaptureRegion(const Rectangle &regionRect)=0
Updates the screen capturing region.
virtual int setSubscribeVideoAllowlist(uid_t *uidList, int uidNumber)=0
Sets the allowlist of subscriptions for video streams.
virtual int setParameters(const char *parameters)=0
Provides technical preview functionalities or special customizations by configuring the SDK with JSON...
virtual uint64_t getNtpWallTimeInMs()=0
Gets the current NTP (Network Time Protocol) time.
virtual int setLogFile(const char *filePath)=0
Sets the log file.
virtual int stopEchoTest()=0
Stops the audio call test.
virtual int clearVideoWatermarks()=0
Removes the watermark image from the video stream.
virtual int sendAudioMetadata(const char *metadata, size_t length)=0
send audio metadata
virtual agora_refptr< IMediaPlayer > createMediaPlayer()=0
Creates a media player object.
virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority)=0
virtual int getAudioMixingPlayoutVolume()=0
Retrieves the audio mixing volume for local playback.
virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset)=0
Sets a preset voice beautifier effect.
virtual int updatePreloadChannelToken(const char *token)=0
Updates the wildcard token for preloading channels.
virtual bool isCameraExposureSupported()=0
Queries whether the current camera supports adjusting exposure value.
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
Sets the output log level of the SDK.
virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction)=0
Sets the operational permission of the SDK on the audio session.
virtual int getCallId(agora::util::AString &callId)=0
Retrieves the call ID.
virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel)=0
Sets the format of the raw audio playback data before mixing.
virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall)=0
Sets the format of the raw audio data after mixing for audio capture and playback.
virtual int sendCustomReportMessage(const char *id, const char *category, const char *event, const char *label, int value)=0
Reports customized messages.
virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option)=0
Sets the fallback option for the subscribed video stream based on the network conditions.
virtual int setExtensionProperty(const char *provider, const char *extension, const ExtensionInfo &extensionInfo, const char *key, const char *value)=0
virtual int stopLocalAudioMixer()=0
Stops the local audio mixing.
virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2)=0
Sets parameters for the preset voice beautifier effects.
virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile)=0
Sets audio profiles.
virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType)=0
Sets up cloud proxy service.
Definition IAgoraRtcEngine.h:1162
virtual unsigned int getCount()=0
Gets the number of shareable windows and screens.
virtual ~IScreenCaptureSourceList()
Definition IAgoraRtcEngine.h:1164
virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index)=0
Gets information about the specified shareable window or screen.
virtual void release()=0
Releases IScreenCaptureSourceList.
Definition IAgoraRtcEngine.h:3694
virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
virtual void release()=0
Releases all the resources occupied by the IVideoDeviceCollection object.
virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH], char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
virtual int getCount()=0
Gets the total number of the indexed video devices in the system.
virtual ~IVideoDeviceCollection()
Definition IAgoraRtcEngine.h:3696
Definition IAgoraRtcEngine.h:3739
virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
virtual IVideoDeviceCollection * enumerateVideoDevices()=0
Enumerates the video devices.
virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH])=0
Retrieves the current video capture device.
virtual ~IVideoDeviceManager()
Definition IAgoraRtcEngine.h:3741
virtual void release()=0
Releases all the resources occupied by the IVideoDeviceManager object.
virtual int startDeviceTest(view_t hwnd)=0
virtual int getCapability(const char *deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat &capability)=0
Gets the detailed video frame information of the video capture device in the specified video format.
virtual int numberOfCapabilities(const char *deviceIdUTF8)=0
Gets the number of video formats supported by the specified video capture device.
Provides methods to manage and configure video effects, such as beauty, style makeup,...
Definition IAgoraRtcEngine.h:3866
VIDEO_EFFECT_NODE_ID
Types of applicable video effect nodes.
Definition IAgoraRtcEngine.h:3875
@ STYLE_MAKEUP
Definition IAgoraRtcEngine.h:3883
@ FILTER
Definition IAgoraRtcEngine.h:3887
@ BEAUTY
Definition IAgoraRtcEngine.h:3879
virtual int setVideoEffectFloatParam(const char *option, const char *key, float param)=0
Sets the float parameter for video effects.
virtual float getVideoEffectFloatParam(const char *option, const char *key)=0
Retrieves float type parameters in video effects.
virtual int removeVideoEffect(uint32_t nodeId)=0
Removes the video effect with the specified node ID.
virtual int setVideoEffectIntParam(const char *option, const char *key, int param)=0
Sets an integer parameter for video effects.
virtual ~IVideoEffectObject()
Definition IAgoraRtcEngine.h:3868
virtual bool getVideoEffectBoolParam(const char *option, const char *key)=0
Gets the boolean parameter in video effects.
virtual int addOrUpdateVideoEffect(uint32_t nodeId, const char *templateName)=0
Adds or updates the video effect for the specified node ID and template.
VIDEO_EFFECT_ACTION
Actions that can be performed on video effect nodes.
Definition IAgoraRtcEngine.h:3895
@ SAVE
Definition IAgoraRtcEngine.h:3899
@ RESET
Definition IAgoraRtcEngine.h:3903
virtual int getVideoEffectIntParam(const char *option, const char *key)=0
Retrieves integer parameters in video effects.
virtual int performVideoEffectAction(uint32_t nodeId, VIDEO_EFFECT_ACTION actionId)=0
Performs an action on the specified video effect node.
virtual int setVideoEffectBoolParam(const char *option, const char *key, bool param)=0
Sets the boolean parameter for video effects.
Definition AgoraBase.h:100
bool queryInterface(C1 *c, C2 iid)
Definition AgoraBase.h:138
AGORA_API agora::rtc::IRtcEngine *AGORA_CALL createAgoraRtcEngine()
Creates one IRtcEngine object.
Definition IAgoraService.h:73
Definition channel_capability_i.h:14
OPTIONAL_ENUM_CLASS LOG_LEVEL
The output log level of the SDK.
Definition IAgoraLog.h:33
Definition builtin_extension_literal_def.h:10
RENDER_MODE_TYPE
Video display modes.
Definition AgoraMediaBase.h:587
Definition content_inspect_i.h:15
MEDIA_SOURCE_TYPE
Media source type.
Definition AgoraMediaBase.h:283
@ PRIMARY_CAMERA_SOURCE
Definition AgoraMediaBase.h:295
@ UNKNOWN_MEDIA_SOURCE
Definition AgoraMediaBase.h:343
CONTENT_INSPECT_RESULT
Definition AgoraMediaBase.h:1274
AUDIO_MIXING_DUAL_MONO_MODE
The channel mode.
Definition IAgoraMediaEngine.h:18
Definition AgoraExtensions.h:5
unsigned int video_track_id_t
Definition AgoraMediaBase.h:31
MEDIA_DEVICE_STATE_TYPE
Media device states.
Definition IAgoraRtcEngine.h:12382
@ MEDIA_DEVICE_STATE_IDLE
Definition IAgoraRtcEngine.h:12386
@ MEDIA_DEVICE_STATE_DISABLED
Definition IAgoraRtcEngine.h:12394
@ MEDIA_DEVICE_STATE_PLUGGED_IN
Definition IAgoraRtcEngine.h:12399
@ MEDIA_DEVICE_STATE_ACTIVE
Definition IAgoraRtcEngine.h:12390
@ MEDIA_DEVICE_STATE_NOT_PRESENT
Definition IAgoraRtcEngine.h:12404
@ MEDIA_DEVICE_STATE_UNPLUGGED
Definition IAgoraRtcEngine.h:12408
FeatureType
The type of the advanced feature.
Definition IAgoraRtcEngine.h:1744
@ VIDEO_BEAUTY_EFFECT
Definition IAgoraRtcEngine.h:1752
@ VIDEO_VIRTUAL_BACKGROUND
Definition IAgoraRtcEngine.h:1748
MEDIA_TRACE_EVENT
The rendering state of the media frame.
Definition AgoraBase.h:7703
SIMULCAST_STREAM_MODE
The mode in which the video stream is sent.
Definition AgoraBase.h:2210
AUDIO_EFFECT_PRESET
Preset audio effects.
Definition AgoraBase.h:6200
LOCAL_AUDIO_STREAM_STATE
The state of the local audio.
Definition AgoraBase.h:3404
VOICE_BEAUTIFIER_PRESET
The options for SDK preset voice beautifier effects.
Definition AgoraBase.h:6111
DIRECT_CDN_STREAMING_REASON
Reasons for the changes in CDN streaming status.
Definition IAgoraRtcEngine.h:4271
@ DIRECT_CDN_STREAMING_REASON_OK
Definition IAgoraRtcEngine.h:4276
@ DIRECT_CDN_STREAMING_REASON_BAD_NAME
Definition IAgoraRtcEngine.h:4303
@ DIRECT_CDN_STREAMING_REASON_FAILED
Definition IAgoraRtcEngine.h:4281
@ DIRECT_CDN_STREAMING_REASON_VIDEO_PUBLICATION
Definition IAgoraRtcEngine.h:4293
@ DIRECT_CDN_STREAMING_REASON_AUDIO_PUBLICATION
Definition IAgoraRtcEngine.h:4287
@ DIRECT_CDN_STREAMING_REASON_NET_CONNECT
Definition IAgoraRtcEngine.h:4298
AUDIO_SCENARIO_TYPE
The audio scenarios.
Definition AgoraBase.h:3123
@ AUDIO_SCENARIO_DEFAULT
Definition AgoraBase.h:3128
VIDEO_QOE_PREFERENCE_TYPE
Definition AgoraBase.h:3322
AUDIO_EQUALIZATION_BAND_FREQUENCY
The midrange frequency for audio equalization.
Definition IAgoraRtcEngine.h:196
@ AUDIO_EQUALIZATION_BAND_1K
Definition IAgoraRtcEngine.h:220
@ AUDIO_EQUALIZATION_BAND_16K
Definition IAgoraRtcEngine.h:236
@ AUDIO_EQUALIZATION_BAND_31
Definition IAgoraRtcEngine.h:200
@ AUDIO_EQUALIZATION_BAND_250
Definition IAgoraRtcEngine.h:212
@ AUDIO_EQUALIZATION_BAND_125
Definition IAgoraRtcEngine.h:208
@ AUDIO_EQUALIZATION_BAND_2K
Definition IAgoraRtcEngine.h:224
@ AUDIO_EQUALIZATION_BAND_62
Definition IAgoraRtcEngine.h:204
@ AUDIO_EQUALIZATION_BAND_500
Definition IAgoraRtcEngine.h:216
@ AUDIO_EQUALIZATION_BAND_8K
Definition IAgoraRtcEngine.h:232
@ AUDIO_EQUALIZATION_BAND_4K
Definition IAgoraRtcEngine.h:228
CONNECTION_CHANGED_REASON_TYPE
Reasons causing the change of the connection state.
Definition AgoraBase.h:5040
ENCRYPTION_ERROR_TYPE
Encryption error type.
Definition AgoraBase.h:7349
PROXY_TYPE
The cloud proxy type.
Definition IAgoraRtcEngine.h:1709
@ TCP_PROXY_AUTO_FALLBACK_TYPE
Definition IAgoraRtcEngine.h:1732
@ HTTPS_PROXY_TYPE
Definition IAgoraRtcEngine.h:1738
@ NONE_PROXY_TYPE
Definition IAgoraRtcEngine.h:1713
@ TCP_PROXY_TYPE
Definition IAgoraRtcEngine.h:1723
@ UDP_PROXY_TYPE
Definition IAgoraRtcEngine.h:1718
@ LOCAL_PROXY_TYPE
Definition IAgoraRtcEngine.h:1727
@ HTTP_PROXY_TYPE
Definition IAgoraRtcEngine.h:1735
MEDIA_DEVICE_TYPE
Media device types.
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
The content hint for screen sharing.
Definition AgoraBase.h:3209
CLIENT_ROLE_TYPE
The user role in the interactive live streaming.
Definition AgoraBase.h:2950
CONNECTION_STATE_TYPE
Connection states.
Definition AgoraBase.h:4432
AUDIO_SAMPLE_RATE_TYPE
The audio sampling rate of the stream to be pushed to the CDN.
Definition AgoraBase.h:4096
@ AUDIO_SAMPLE_RATE_48000
Definition AgoraBase.h:4108
PERMISSION_TYPE
The type of the device permission.
Definition AgoraBase.h:7429
void(*)() RtcEngineReleaseCallback
Callback triggered when IRtcEngine is released.
Definition IAgoraRtcEngine.h:4573
REMOTE_AUDIO_STATE_REASON
The reason for the remote audio state change.
Definition AgoraBase.h:3730
USER_OFFLINE_REASON_TYPE
Reasons for a user being offline.
Definition AgoraBase.h:884
STREAM_PUBLISH_STATE
The publishing state.
Definition AgoraBase.h:7482
CAMERA_DIRECTION
The camera direction.
Definition IAgoraRtcEngine.h:884
@ CAMERA_FRONT
Definition IAgoraRtcEngine.h:892
@ CAMERA_REAR
Definition IAgoraRtcEngine.h:888
VIDEO_STREAM_TYPE
The type of video streams.
Definition AgoraBase.h:1660
LOCAL_AUDIO_STREAM_REASON
Reasons for local audio state changes.
Definition AgoraBase.h:3426
DIRECT_CDN_STREAMING_STATE
The current CDN streaming state.
Definition IAgoraRtcEngine.h:4311
@ DIRECT_CDN_STREAMING_STATE_FAILED
Definition IAgoraRtcEngine.h:4334
@ DIRECT_CDN_STREAMING_STATE_RECOVERING
Definition IAgoraRtcEngine.h:4341
@ DIRECT_CDN_STREAMING_STATE_RUNNING
Definition IAgoraRtcEngine.h:4322
@ DIRECT_CDN_STREAMING_STATE_STOPPED
Definition IAgoraRtcEngine.h:4328
@ DIRECT_CDN_STREAMING_STATE_IDLE
Definition IAgoraRtcEngine.h:4316
AUDIO_AINS_MODE
AI noise suppression modes.
Definition AgoraBase.h:3052
unsigned int track_id_t
Definition AgoraMediaBase.h:29
AUDIO_PROFILE_TYPE
The audio profile.
Definition AgoraBase.h:3075
VIDEO_CODEC_TYPE
Video codec types.
Definition AgoraBase.h:1256
LOCAL_VIDEO_EVENT_TYPE
The local video event type.
Definition AgoraBase.h:3512
LOCAL_VIDEO_STREAM_STATE
Local video state types.
Definition AgoraBase.h:3488
REMOTE_VIDEO_STATE
The state of the remote video stream.
Definition AgoraBase.h:3776
AUDIO_MIXING_REASON_TYPE
The reason why the playback state of the music file changes. Reported in the onAudioMixingStateChange...
Definition IAgoraRtcEngine.h:108
@ AUDIO_MIXING_REASON_INTERRUPTED_EOF
Definition IAgoraRtcEngine.h:122
@ AUDIO_MIXING_REASON_RESUMED_BY_USER
Definition IAgoraRtcEngine.h:136
@ AUDIO_MIXING_REASON_STOPPED_BY_USER
Definition IAgoraRtcEngine.h:134
@ AUDIO_MIXING_REASON_OK
Definition IAgoraRtcEngine.h:140
@ AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED
Definition IAgoraRtcEngine.h:130
@ AUDIO_MIXING_REASON_CAN_NOT_OPEN
Definition IAgoraRtcEngine.h:113
@ AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED
Definition IAgoraRtcEngine.h:126
@ AUDIO_MIXING_REASON_TOO_FREQUENT_CALL
Definition IAgoraRtcEngine.h:118
RTMP_STREAMING_EVENT
Events during the Media Push.
Definition AgoraBase.h:4330
@ AREA_CODE_GLOB
Definition AgoraBase.h:6910
static void SetFrom(Optional< T > *s, const Optional< T > &o)
Definition IAgoraRtcEngine.h:24
SCREEN_SCENARIO_TYPE
The screen sharing scenario.
Definition AgoraBase.h:3228
CLOUD_PROXY_TYPE
The cloud proxy type.
Definition IAgoraRtcEngine.h:900
@ UDP_PROXY
Definition IAgoraRtcEngine.h:910
@ NONE_PROXY
Definition IAgoraRtcEngine.h:905
RENEW_TOKEN_ERROR_CODE
Represents the error codes after calling renewToken.
Definition AgoraBase.h:7385
VIDEO_MIRROR_MODE_TYPE
Video mirror mode.
Definition AgoraBase.h:1912
@ VIDEO_MIRROR_MODE_DISABLED
Definition AgoraBase.h:1927
AUDIO_RECORDING_QUALITY_TYPE
Recording quality.
Definition AgoraBase.h:6658
RdtState
Reliable Data Transmission tunnel state.
Definition AgoraBase.h:7990
PRIORITY_TYPE
Definition IAgoraRtcEngine.h:296
@ PRIORITY_HIGH
Definition IAgoraRtcEngine.h:299
@ PRIORITY_NORMAL
Definition IAgoraRtcEngine.h:302
RTMP_STREAM_PUBLISH_REASON
Reasons for changes in the status of RTMP or RTMPS streaming.
Definition AgoraBase.h:4248
RdtStreamType
Reliable Data Transmission Tunnel message stream type.
Definition AgoraBase.h:7966
RTMP_STREAM_PUBLISH_STATE
States of the Media Push.
Definition AgoraBase.h:4209
LOCAL_VIDEO_STREAM_REASON
Reasons for local video state changes.
Definition AgoraBase.h:3534
CLIENT_ROLE_CHANGE_FAILED_REASON
The reason for a user role switch failure.
Definition AgoraBase.h:5176
@ __deprecated
Definition AgoraBase.h:945
INJECT_STREAM_STATUS
Definition IAgoraRtcEngine.h:146
@ INJECT_STREAM_STATUS_STOP_SUCCESS
Definition IAgoraRtcEngine.h:170
@ INJECT_STREAM_STATUS_START_FAILED
Definition IAgoraRtcEngine.h:166
@ INJECT_STREAM_STATUS_STOP_TIMEDOUT
Definition IAgoraRtcEngine.h:182
@ INJECT_STREAM_STATUS_STOP_FAILED
Definition IAgoraRtcEngine.h:186
@ INJECT_STREAM_STATUS_START_SUCCESS
Definition IAgoraRtcEngine.h:150
@ INJECT_STREAM_STATUS_BROKEN
Definition IAgoraRtcEngine.h:190
@ INJECT_STREAM_STATUS_STOP_NOT_FOUND
Definition IAgoraRtcEngine.h:174
@ INJECT_STREAM_STATUS_START_TIMEDOUT
Definition IAgoraRtcEngine.h:162
@ INJECT_STREAM_STATUS_START_UNAUTHORIZED
Definition IAgoraRtcEngine.h:158
@ INJECT_STREAM_STATUS_START_ALREADY_EXISTS
Definition IAgoraRtcEngine.h:154
@ INJECT_STREAM_STATUS_STOP_UNAUTHORIZED
Definition IAgoraRtcEngine.h:178
VIDEO_MODULE_TYPE
Definition AgoraBase.h:1942
VIDEO_PROFILE_TYPE
Definition IAgoraRtcEngine.h:12411
@ VIDEO_PROFILE_LANDSCAPE_480P
Definition IAgoraRtcEngine.h:12447
@ VIDEO_PROFILE_PORTRAIT_180P
Definition IAgoraRtcEngine.h:12487
@ VIDEO_PROFILE_PORTRAIT_180P_4
Definition IAgoraRtcEngine.h:12491
@ VIDEO_PROFILE_LANDSCAPE_360P_7
Definition IAgoraRtcEngine.h:12437
@ VIDEO_PROFILE_LANDSCAPE_480P_8
Definition IAgoraRtcEngine.h:12455
@ VIDEO_PROFILE_LANDSCAPE_360P
Definition IAgoraRtcEngine.h:12429
@ VIDEO_PROFILE_PORTRAIT_240P
Definition IAgoraRtcEngine.h:12493
@ VIDEO_PROFILE_PORTRAIT_480P_3
Definition IAgoraRtcEngine.h:12519
@ VIDEO_PROFILE_PORTRAIT_360P_6
Definition IAgoraRtcEngine.h:12505
@ VIDEO_PROFILE_LANDSCAPE_1080P_3
Definition IAgoraRtcEngine.h:12471
@ VIDEO_PROFILE_LANDSCAPE_240P
Definition IAgoraRtcEngine.h:12423
@ VIDEO_PROFILE_PORTRAIT_480P
Definition IAgoraRtcEngine.h:12517
@ VIDEO_PROFILE_LANDSCAPE_720P_3
Definition IAgoraRtcEngine.h:12463
@ VIDEO_PROFILE_LANDSCAPE_360P_6
Definition IAgoraRtcEngine.h:12435
@ VIDEO_PROFILE_LANDSCAPE_480P_4
Definition IAgoraRtcEngine.h:12451
@ VIDEO_PROFILE_PORTRAIT_360P_10
Definition IAgoraRtcEngine.h:12513
@ VIDEO_PROFILE_DEFAULT
Definition IAgoraRtcEngine.h:12553
@ VIDEO_PROFILE_LANDSCAPE_1440P
Definition IAgoraRtcEngine.h:12475
@ VIDEO_PROFILE_PORTRAIT_480P_9
Definition IAgoraRtcEngine.h:12527
@ VIDEO_PROFILE_PORTRAIT_480P_4
Definition IAgoraRtcEngine.h:12521
@ VIDEO_PROFILE_LANDSCAPE_480P_9
Definition IAgoraRtcEngine.h:12457
@ VIDEO_PROFILE_PORTRAIT_4K_3
Definition IAgoraRtcEngine.h:12551
@ VIDEO_PROFILE_PORTRAIT_360P_7
Definition IAgoraRtcEngine.h:12507
@ VIDEO_PROFILE_PORTRAIT_240P_4
Definition IAgoraRtcEngine.h:12497
@ VIDEO_PROFILE_LANDSCAPE_360P_4
Definition IAgoraRtcEngine.h:12433
@ VIDEO_PROFILE_LANDSCAPE_180P
Definition IAgoraRtcEngine.h:12417
@ VIDEO_PROFILE_LANDSCAPE_180P_4
Definition IAgoraRtcEngine.h:12421
@ VIDEO_PROFILE_PORTRAIT_4K
Definition IAgoraRtcEngine.h:12549
@ VIDEO_PROFILE_LANDSCAPE_120P_3
Definition IAgoraRtcEngine.h:12415
@ VIDEO_PROFILE_PORTRAIT_480P_6
Definition IAgoraRtcEngine.h:12523
@ VIDEO_PROFILE_LANDSCAPE_480P_6
Definition IAgoraRtcEngine.h:12453
@ VIDEO_PROFILE_LANDSCAPE_120P
Definition IAgoraRtcEngine.h:12413
@ VIDEO_PROFILE_PORTRAIT_360P_3
Definition IAgoraRtcEngine.h:12501
@ VIDEO_PROFILE_LANDSCAPE_1080P_5
Definition IAgoraRtcEngine.h:12473
@ VIDEO_PROFILE_PORTRAIT_120P
Definition IAgoraRtcEngine.h:12483
@ VIDEO_PROFILE_LANDSCAPE_720P_6
Definition IAgoraRtcEngine.h:12467
@ VIDEO_PROFILE_PORTRAIT_120P_3
Definition IAgoraRtcEngine.h:12485
@ VIDEO_PROFILE_LANDSCAPE_480P_10
Definition IAgoraRtcEngine.h:12459
@ VIDEO_PROFILE_LANDSCAPE_480P_3
Definition IAgoraRtcEngine.h:12449
@ VIDEO_PROFILE_PORTRAIT_1440P
Definition IAgoraRtcEngine.h:12545
@ VIDEO_PROFILE_PORTRAIT_480P_8
Definition IAgoraRtcEngine.h:12525
@ VIDEO_PROFILE_LANDSCAPE_1440P_2
Definition IAgoraRtcEngine.h:12477
@ VIDEO_PROFILE_PORTRAIT_720P_6
Definition IAgoraRtcEngine.h:12537
@ VIDEO_PROFILE_PORTRAIT_360P_9
Definition IAgoraRtcEngine.h:12511
@ VIDEO_PROFILE_LANDSCAPE_360P_9
Definition IAgoraRtcEngine.h:12441
@ VIDEO_PROFILE_LANDSCAPE_240P_4
Definition IAgoraRtcEngine.h:12427
@ VIDEO_PROFILE_LANDSCAPE_720P_5
Definition IAgoraRtcEngine.h:12465
@ VIDEO_PROFILE_PORTRAIT_360P_8
Definition IAgoraRtcEngine.h:12509
@ VIDEO_PROFILE_LANDSCAPE_180P_3
Definition IAgoraRtcEngine.h:12419
@ VIDEO_PROFILE_PORTRAIT_720P_5
Definition IAgoraRtcEngine.h:12535
@ VIDEO_PROFILE_PORTRAIT_720P_3
Definition IAgoraRtcEngine.h:12533
@ VIDEO_PROFILE_PORTRAIT_360P
Definition IAgoraRtcEngine.h:12499
@ VIDEO_PROFILE_PORTRAIT_1080P_3
Definition IAgoraRtcEngine.h:12541
@ VIDEO_PROFILE_PORTRAIT_1080P
Definition IAgoraRtcEngine.h:12539
@ VIDEO_PROFILE_PORTRAIT_360P_4
Definition IAgoraRtcEngine.h:12503
@ VIDEO_PROFILE_LANDSCAPE_1080P
Definition IAgoraRtcEngine.h:12469
@ VIDEO_PROFILE_PORTRAIT_1440P_2
Definition IAgoraRtcEngine.h:12547
@ VIDEO_PROFILE_LANDSCAPE_360P_3
Definition IAgoraRtcEngine.h:12431
@ VIDEO_PROFILE_PORTRAIT_480P_10
Definition IAgoraRtcEngine.h:12529
@ VIDEO_PROFILE_LANDSCAPE_720P
Definition IAgoraRtcEngine.h:12461
@ VIDEO_PROFILE_LANDSCAPE_240P_3
Definition IAgoraRtcEngine.h:12425
@ VIDEO_PROFILE_PORTRAIT_720P
Definition IAgoraRtcEngine.h:12531
@ VIDEO_PROFILE_LANDSCAPE_4K
Definition IAgoraRtcEngine.h:12479
@ VIDEO_PROFILE_LANDSCAPE_360P_11
Definition IAgoraRtcEngine.h:12445
@ VIDEO_PROFILE_PORTRAIT_240P_3
Definition IAgoraRtcEngine.h:12495
@ VIDEO_PROFILE_LANDSCAPE_360P_8
Definition IAgoraRtcEngine.h:12439
@ VIDEO_PROFILE_LANDSCAPE_360P_10
Definition IAgoraRtcEngine.h:12443
@ VIDEO_PROFILE_PORTRAIT_360P_11
Definition IAgoraRtcEngine.h:12515
@ VIDEO_PROFILE_PORTRAIT_1080P_5
Definition IAgoraRtcEngine.h:12543
@ VIDEO_PROFILE_PORTRAIT_180P_3
Definition IAgoraRtcEngine.h:12489
@ VIDEO_PROFILE_LANDSCAPE_4K_3
Definition IAgoraRtcEngine.h:12481
REMOTE_AUDIO_STATE
Remote audio states.
Definition AgoraBase.h:3696
HEADPHONE_EQUALIZER_PRESET
Preset headphone equalizer types.
Definition AgoraBase.h:6378
AUDIO_MIXING_STATE_TYPE
The playback state of the music file.
Definition IAgoraRtcEngine.h:78
@ AUDIO_MIXING_STATE_FAILED
Definition IAgoraRtcEngine.h:101
@ AUDIO_MIXING_STATE_PAUSED
Definition IAgoraRtcEngine.h:86
@ AUDIO_MIXING_STATE_STOPPED
Definition IAgoraRtcEngine.h:93
@ AUDIO_MIXING_STATE_PLAYING
Definition IAgoraRtcEngine.h:82
NETWORK_TYPE
Network type.
Definition AgoraBase.h:5206
unsigned int uid_t
Definition AgoraMediaBase.h:28
QUALITY_ADAPT_INDICATION
Quality change of the local video in terms of target frame rate and target bit rate since last count.
Definition AgoraBase.h:2965
VOICE_AI_TUNER_TYPE
Voice AI tuner sound types.
Definition AgoraBase.h:6396
HDR_CAPABILITY
Definition AgoraBase.h:1957
ScreenCaptureSourceType
The type of the shared target. Set in ScreenCaptureSourceInfo.
Definition IAgoraRtcEngine.h:1076
@ ScreenCaptureSourceType_Screen
Definition IAgoraRtcEngine.h:1088
@ ScreenCaptureSourceType_Window
Definition IAgoraRtcEngine.h:1084
@ ScreenCaptureSourceType_Unknown
Definition IAgoraRtcEngine.h:1080
@ ScreenCaptureSourceType_Custom
Definition IAgoraRtcEngine.h:1092
REMOTE_USER_STATE
Definition AgoraBase.h:3872
VIDEO_APPLICATION_SCENARIO_TYPE
The video application scenarios.
Definition AgoraBase.h:3256
CAMERA_STABILIZATION_MODE
Camera stabilization modes.
Definition AgoraBase.h:3373
STREAM_SUBSCRIBE_STATE
The subscribing state.
Definition AgoraBase.h:7448
VIDEO_SOURCE_TYPE
The type of the video source.
Definition AgoraMediaBase.h:67
STREAM_FALLBACK_OPTIONS
Options for handling audio and video stream fallback when network conditions are weak.
Definition IAgoraRtcEngine.h:268
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_1
Definition IAgoraRtcEngine.h:288
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_4
Definition IAgoraRtcEngine.h:291
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_3
Definition IAgoraRtcEngine.h:290
@ STREAM_FALLBACK_OPTION_AUDIO_ONLY
Definition IAgoraRtcEngine.h:283
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW
Definition IAgoraRtcEngine.h:277
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_5
Definition IAgoraRtcEngine.h:292
@ STREAM_FALLBACK_OPTION_DISABLED
Definition IAgoraRtcEngine.h:273
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_2
Definition IAgoraRtcEngine.h:289
@ STREAM_FALLBACK_OPTION_VIDEO_STREAM_LAYER_6
Definition IAgoraRtcEngine.h:293
RTMP_STREAM_LIFE_CYCLE_TYPE
Lifecycle of the CDN live video stream.
Definition IAgoraRtcEngine.h:798
@ RTMP_STREAM_LIFE_CYCLE_BIND2OWNER
Definition IAgoraRtcEngine.h:808
@ RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL
Definition IAgoraRtcEngine.h:803
static void ReplaceBy(Optional< T > *s, const Optional< T > &o)
Definition IAgoraRtcEngine.h:31
CAPTURE_BRIGHTNESS_LEVEL_TYPE
The brightness level of the video image captured by the local camera.
Definition AgoraBase.h:3345
AUDIO_REVERB_TYPE
Audio reverberation types.
Definition IAgoraRtcEngine.h:242
@ AUDIO_REVERB_WET_DELAY
Definition IAgoraRtcEngine.h:258
@ AUDIO_REVERB_ROOM_SIZE
Definition IAgoraRtcEngine.h:254
@ AUDIO_REVERB_DRY_LEVEL
Definition IAgoraRtcEngine.h:246
@ AUDIO_REVERB_STRENGTH
Definition IAgoraRtcEngine.h:262
@ AUDIO_REVERB_WET_LEVEL
Definition IAgoraRtcEngine.h:250
UPLOAD_ERROR_REASON
Definition AgoraBase.h:7374
VIDEO_TRANSCODER_ERROR
The error code of the local video mixing failure.
Definition AgoraBase.h:4831
REMOTE_VIDEO_STATE_REASON
The reason for the remote video state change.
Definition AgoraBase.h:3808
RAW_AUDIO_FRAME_OP_MODE_TYPE
The use mode of the audio data.
Definition AgoraMediaBase.h:261
INTERFACE_ID_TYPE
The interface class.
Definition AgoraBase.h:905
@ AGORA_IID_AUDIO_DEVICE_MANAGER
Definition AgoraBase.h:909
@ AGORA_IID_VIDEO_DEVICE_MANAGER
Definition AgoraBase.h:913
VIDEO_ORIENTATION
The clockwise rotation of the video.
Definition AgoraBase.h:1001
VOICE_CONVERSION_PRESET
The options for SDK preset voice conversion effects.
Definition AgoraBase.h:6314
QUALITY_REPORT_FORMAT_TYPE
Definition IAgoraRtcEngine.h:12370
@ QUALITY_REPORT_HTML
Definition IAgoraRtcEngine.h:12376
@ QUALITY_REPORT_JSON
Definition IAgoraRtcEngine.h:12373
Definition IAgoraRtmService.h:14
CopyableAutoPtr< IString > AString
Definition AgoraBase.h:182
Definition AgoraAtomicOps.h:21
AUDIO_SESSION_OPERATION_RESTRICTION
The operation permissions of the SDK on the audio session.
Definition AgoraBase.h:824
void * view_t
Definition AgoraBase.h:850
CHANNEL_PROFILE_TYPE
The channel profile.
Definition AgoraBase.h:267
@ CHANNEL_PROFILE_LIVE_BROADCASTING
Definition AgoraBase.h:275
LICENSE_ERROR_TYPE
Definition AgoraBase.h:794
Definition video_node_i.h:28
The spatial audio parameters.
Definition AgoraBase.h:8055
Layout information of a specific sub-video stream within the mixed stream.
Definition AgoraBase.h:8136
Configuration of Agora SDK log files.
Definition IAgoraLog.h:124
The advanced options for audio.
Definition IAgoraRtcEngine.h:1209
Optional< int > audioProcessingChannels
Definition IAgoraRtcEngine.h:1215
~AdvancedAudioOptions()
Definition IAgoraRtcEngine.h:1218
AdvancedAudioOptions()
Definition IAgoraRtcEngine.h:1217
Observer settings for the encoded audio.
Definition AgoraBase.h:6808
Recording configurations.
Definition AgoraBase.h:6720
The volume information of users.
Definition AgoraBase.h:3973
Image enhancement options.
Definition AgoraBase.h:5395
The camera capturer preference.
Definition IAgoraRtcEngine.h:923
CameraCapturerConfiguration()
Definition IAgoraRtcEngine.h:988
Optional< CAMERA_DIRECTION > cameraDirection
Definition IAgoraRtcEngine.h:930
Optional< CAMERA_FOCAL_LENGTH_TYPE > cameraFocalLengthType
Definition IAgoraRtcEngine.h:948
VideoFormat format
Definition IAgoraRtcEngine.h:987
Optional< const char * > cameraId
Definition IAgoraRtcEngine.h:973
Optional< bool > followEncodeDimensionRatio
Definition IAgoraRtcEngine.h:983
Optional< const char * > deviceId
Definition IAgoraRtcEngine.h:954
The channel media options.
Definition IAgoraRtcEngine.h:1254
Optional< bool > publishThirdScreenTrack
Definition IAgoraRtcEngine.h:1324
Optional< int > audioDelayMs
Definition IAgoraRtcEngine.h:1438
Optional< bool > enableMultipath
Definition IAgoraRtcEngine.h:1512
Optional< bool > publishCustomVideoTrack
Definition IAgoraRtcEngine.h:1350
Optional< video_track_id_t > customVideoTrackId
Definition IAgoraRtcEngine.h:1487
Optional< bool > enableBuiltInMediaEncryption
Definition IAgoraRtcEngine.h:1462
Optional< int > publishCustomAudioTrackId
Definition IAgoraRtcEngine.h:1344
Optional< bool > publishSecondaryScreenTrack
Definition IAgoraRtcEngine.h:1317
Optional< const char * > token
Definition IAgoraRtcEngine.h:1454
Optional< int > mediaPlayerAudioDelayMs
Definition IAgoraRtcEngine.h:1443
bool operator==(const ChannelMediaOptions &o) const
Definition IAgoraRtcEngine.h:1590
Optional< int > publishMediaPlayerId
Definition IAgoraRtcEngine.h:1412
void SetAll(const ChannelMediaOptions &change)
Definition IAgoraRtcEngine.h:1538
~ChannelMediaOptions()
Definition IAgoraRtcEngine.h:1536
Optional< bool > publishTranscodedVideoTrack
Definition IAgoraRtcEngine.h:1376
Optional< bool > publishCameraTrack
Definition IAgoraRtcEngine.h:1260
Optional< CHANNEL_PROFILE_TYPE > channelProfile
Definition IAgoraRtcEngine.h:1432
Optional< bool > publishScreenTrack
Definition IAgoraRtcEngine.h:1311
Optional< bool > publishFourthCameraTrack
Definition IAgoraRtcEngine.h:1280
Optional< bool > enableAudioRecordingOrPlayout
Definition IAgoraRtcEngine.h:1408
Optional< bool > publishMicrophoneTrack
Definition IAgoraRtcEngine.h:1286
Optional< bool > publishFourthScreenTrack
Definition IAgoraRtcEngine.h:1331
Optional< MultipathType > preferMultipathType
Definition IAgoraRtcEngine.h:1533
Optional< bool > publishScreenCaptureVideo
Definition IAgoraRtcEngine.h:1302
ChannelMediaOptions & operator=(const ChannelMediaOptions &replace)
Definition IAgoraRtcEngine.h:1650
Optional< bool > publishMixedAudioTrack
Definition IAgoraRtcEngine.h:1382
Optional< bool > autoSubscribeVideo
Definition IAgoraRtcEngine.h:1400
Optional< bool > publishCustomAudioTrack
Definition IAgoraRtcEngine.h:1339
Optional< const char * > parameters
Definition IAgoraRtcEngine.h:1501
Optional< CLIENT_ROLE_TYPE > clientRoleType
Definition IAgoraRtcEngine.h:1419
Optional< bool > publishLipSyncTrack
Definition IAgoraRtcEngine.h:1388
Optional< VIDEO_STREAM_TYPE > defaultVideoStreamType
Definition IAgoraRtcEngine.h:1428
Optional< bool > publishEncodedVideoTrack
Definition IAgoraRtcEngine.h:1356
Optional< AUDIENCE_LATENCY_LEVEL_TYPE > audienceLatencyLevel
Definition IAgoraRtcEngine.h:1424
Optional< bool > publishMediaPlayerVideoTrack
Definition IAgoraRtcEngine.h:1368
Optional< MultipathMode > downlinkMultipathMode
Definition IAgoraRtcEngine.h:1526
Optional< bool > isAudioFilterable
Definition IAgoraRtcEngine.h:1495
Optional< bool > publishScreenCaptureAudio
Definition IAgoraRtcEngine.h:1293
Optional< MultipathMode > uplinkMultipathMode
Definition IAgoraRtcEngine.h:1519
Optional< bool > publishThirdCameraTrack
Definition IAgoraRtcEngine.h:1273
Optional< bool > isInteractiveAudience
Definition IAgoraRtcEngine.h:1482
Optional< bool > publishSecondaryCameraTrack
Definition IAgoraRtcEngine.h:1266
Optional< bool > publishMediaPlayerAudioTrack
Definition IAgoraRtcEngine.h:1362
Optional< bool > autoSubscribeAudio
Definition IAgoraRtcEngine.h:1394
Optional< bool > publishRhythmPlayerTrack
Definition IAgoraRtcEngine.h:1469
ChannelMediaOptions()
Definition IAgoraRtcEngine.h:1535
Configuration of cross channel media relay.
Definition AgoraBase.h:7059
Setting of user role properties.
Definition AgoraBase.h:2998
The codec capability of the SDK.
Definition AgoraBase.h:2019
The color enhancement options.
Definition AgoraBase.h:5861
The configurations for the data stream.
Definition AgoraBase.h:2185
The audio device information.
Definition AgoraBase.h:4017
The media setting options for the host.
Definition IAgoraRtcEngine.h:4426
Optional< bool > publishMediaPlayerAudioTrack
Definition IAgoraRtcEngine.h:4456
Optional< bool > publishCustomVideoTrack
Definition IAgoraRtcEngine.h:4450
DirectCdnStreamingMediaOptions()
Definition IAgoraRtcEngine.h:4468
Optional< int > publishMediaPlayerId
Definition IAgoraRtcEngine.h:4461
Optional< bool > publishCameraTrack
Definition IAgoraRtcEngine.h:4432
void SetAll(const DirectCdnStreamingMediaOptions &change)
Definition IAgoraRtcEngine.h:4471
~DirectCdnStreamingMediaOptions()
Definition IAgoraRtcEngine.h:4469
bool operator==(const DirectCdnStreamingMediaOptions &o) const
Definition IAgoraRtcEngine.h:4483
DirectCdnStreamingMediaOptions & operator=(const DirectCdnStreamingMediaOptions &replace)
Definition IAgoraRtcEngine.h:4504
Optional< bool > publishCustomAudioTrack
Definition IAgoraRtcEngine.h:4444
Optional< bool > publishMicrophoneTrack
Definition IAgoraRtcEngine.h:4438
Optional< video_track_id_t > customVideoTrackId
Definition IAgoraRtcEngine.h:4466
The statistics of the current CDN streaming.
Definition IAgoraRtcEngine.h:4349
int videoBitrate
Definition IAgoraRtcEngine.h:4368
int audioBitrate
Definition IAgoraRtcEngine.h:4373
int videoWidth
Definition IAgoraRtcEngine.h:4353
int videoHeight
Definition IAgoraRtcEngine.h:4358
int fps
Definition IAgoraRtcEngine.h:4363
The configuration of the audio and video call loop test.
Definition AgoraBase.h:7511
Built-in encryption configurations.
Definition AgoraBase.h:7285
The context information of the extension.
Definition AgoraMediaBase.h:41
Definition IAgoraRtcEngine.h:4524
agora::media::MEDIA_SOURCE_TYPE mediaSourceType
Definition IAgoraRtcEngine.h:4528
const char * channelId
Definition IAgoraRtcEngine.h:4548
ExtensionInfo()
Definition IAgoraRtcEngine.h:4555
uid_t remoteUid
Definition IAgoraRtcEngine.h:4535
uid_t localUid
Definition IAgoraRtcEngine.h:4553
Filter effect options.
Definition AgoraBase.h:5465
FACE_SHAPE_AREA
Chooses the specific facial areas that need to be adjusted.
Definition AgoraBase.h:5471
The facial enhancement style options.
Definition AgoraBase.h:5674
Filter effect options.
Definition AgoraBase.h:5718
Focal length information supported by the camera, including the camera direction and focal length typ...
Definition AgoraBase.h:2043
Media metadata.
Definition IAgoraRtcEngine.h:4198
long long timeStampMs
Definition IAgoraRtcEngine.h:4220
unsigned int size
Definition IAgoraRtcEngine.h:4212
unsigned int uid
Definition IAgoraRtcEngine.h:4208
Metadata()
Definition IAgoraRtcEngine.h:4222
const char * channelId
Definition IAgoraRtcEngine.h:4202
unsigned char * buffer
Definition IAgoraRtcEngine.h:4216
Image configurations.
Definition IAgoraRtcEngine.h:1224
int fps
Definition IAgoraRtcEngine.h:1235
ImageTrackOptions()
Definition IAgoraRtcEngine.h:1237
const char * imageUrl
Definition IAgoraRtcEngine.h:1230
VIDEO_MIRROR_MODE_TYPE mirrorMode
Definition IAgoraRtcEngine.h:1236
InjectStreamConfig()
Definition IAgoraRtcEngine.h:784
int audioChannels
Definition IAgoraRtcEngine.h:780
int audioBitrate
Definition IAgoraRtcEngine.h:777
int height
Definition IAgoraRtcEngine.h:757
int videoFramerate
Definition IAgoraRtcEngine.h:765
AUDIO_SAMPLE_RATE_TYPE audioSampleRate
Definition IAgoraRtcEngine.h:773
int videoGop
Definition IAgoraRtcEngine.h:761
int videoBitrate
Definition IAgoraRtcEngine.h:769
int width
Definition IAgoraRtcEngine.h:753
Configurations of the last-mile network test.
Definition AgoraBase.h:4947
Results of the uplink and downlink last-mile network tests.
Definition AgoraBase.h:5016
The options for leaving a channel.
Definition IAgoraRtcEngine.h:1758
bool stopMicrophoneRecording
Definition IAgoraRtcEngine.h:1776
bool stopAudioMixing
Definition IAgoraRtcEngine.h:1764
LeaveChannelOptions()
Definition IAgoraRtcEngine.h:1778
bool stopAllEffect
Definition IAgoraRtcEngine.h:1770
Transcoding configurations for Media Push.
Definition AgoraBase.h:4552
Configuration for the Local Access Point.
Definition AgoraBase.h:7871
The configurations for mixing the lcoal audio.
Definition AgoraBase.h:4922
Local audio statistics.
Definition AgoraBase.h:4165
The configuration of the video mixing on the local client.
Definition AgoraBase.h:4797
The statistics of the local video stream.
Definition IAgoraRtcEngine.h:311
int hwEncoderAccelerating
Definition IAgoraRtcEngine.h:418
int encodedFrameCount
Definition IAgoraRtcEngine.h:394
int targetBitrate
Definition IAgoraRtcEngine.h:376
int regulatedCaptureFrameRate
Definition IAgoraRtcEngine.h:343
int captureFrameHeight
Definition IAgoraRtcEngine.h:337
int captureFrameWidth
Definition IAgoraRtcEngine.h:333
bool dualStreamEnabled
Definition IAgoraRtcEngine.h:412
int encodedBitrate
Definition IAgoraRtcEngine.h:390
VideoDimensions simulcastDimensions[SimulcastConfig::STREAM_LAYER_COUNT_MAX]
Definition IAgoraRtcEngine.h:421
int encodedFrameHeight
Definition IAgoraRtcEngine.h:367
int encodedFrameWidth
Definition IAgoraRtcEngine.h:363
CAPTURE_BRIGHTNESS_LEVEL_TYPE captureBrightnessLevel
Definition IAgoraRtcEngine.h:408
QUALITY_ADAPT_INDICATION qualityAdaptIndication
Definition IAgoraRtcEngine.h:385
int regulatedCaptureFrameHeight
Definition IAgoraRtcEngine.h:355
int captureFrameRate
Definition IAgoraRtcEngine.h:329
int sentFrameRate
Definition IAgoraRtcEngine.h:325
int rendererOutputFrameRate
Definition IAgoraRtcEngine.h:371
int encoderOutputFrameRate
Definition IAgoraRtcEngine.h:359
int targetFrameRate
Definition IAgoraRtcEngine.h:380
int encodedFrameDepth
Definition IAgoraRtcEngine.h:428
uid_t uid
Definition IAgoraRtcEngine.h:315
unsigned short txPacketLossRate
Definition IAgoraRtcEngine.h:403
int sentBitrate
Definition IAgoraRtcEngine.h:320
VIDEO_CODEC_TYPE codecType
Definition IAgoraRtcEngine.h:398
int regulatedCaptureFrameWidth
Definition IAgoraRtcEngine.h:349
The low-light enhancement options.
Definition AgoraBase.h:5752
Aggregates statistics of each network path in multipath transmission.
Definition AgoraBase.h:2694
int width
Definition IAgoraRtcEngine.h:817
int injectStreamWidth
Definition IAgoraRtcEngine.h:846
int bitrate
Definition IAgoraRtcEngine.h:829
int height
Definition IAgoraRtcEngine.h:821
bool owner
Definition IAgoraRtcEngine.h:843
int framerate
Definition IAgoraRtcEngine.h:825
PublisherConfiguration()
Definition IAgoraRtcEngine.h:865
int injectStreamHeight
Definition IAgoraRtcEngine.h:849
const char * injectStreamUrl
Definition IAgoraRtcEngine.h:852
const char * extraInfo
Definition IAgoraRtcEngine.h:863
const char * publishUrl
Definition IAgoraRtcEngine.h:856
const char * rawStreamUrl
Definition IAgoraRtcEngine.h:860
int defaultLayout
Definition IAgoraRtcEngine.h:835
int lifecycle
Definition IAgoraRtcEngine.h:838
The information about the media streams to be recorded.
Definition AgoraBase.h:7941
The location of the target area relative to the screen or window. If you do not set this parameter,...
Definition AgoraBase.h:2342
Audio statistics of the remote user.
Definition IAgoraRtcEngine.h:435
int audioLossRate
Definition IAgoraRtcEngine.h:457
int networkTransportDelay
Definition IAgoraRtcEngine.h:447
uint32_t frozenCntByCustom
Definition IAgoraRtcEngine.h:511
int qoeQuality
Definition IAgoraRtcEngine.h:533
int jitterBufferDelay
Definition IAgoraRtcEngine.h:453
uint32_t frozenRateByCustomPlcCount
Definition IAgoraRtcEngine.h:501
int receivedSampleRate
Definition IAgoraRtcEngine.h:465
int e2eDelay
Definition IAgoraRtcEngine.h:547
uint32_t frozenTimeByCustom
Definition IAgoraRtcEngine.h:517
int publishDuration
Definition IAgoraRtcEngine.h:528
uint32_t plcCount
Definition IAgoraRtcEngine.h:505
unsigned int rxAudioBytes
Definition IAgoraRtcEngine.h:542
RemoteAudioStats()
Definition IAgoraRtcEngine.h:549
int frozenRate
Definition IAgoraRtcEngine.h:480
int receivedBitrate
Definition IAgoraRtcEngine.h:469
uid_t uid
Definition IAgoraRtcEngine.h:439
int totalFrozenTime
Definition IAgoraRtcEngine.h:474
int quality
Definition IAgoraRtcEngine.h:443
int qualityChangedReason
Definition IAgoraRtcEngine.h:538
int mosValue
Definition IAgoraRtcEngine.h:496
int totalActiveTime
Definition IAgoraRtcEngine.h:524
int numChannels
Definition IAgoraRtcEngine.h:461
Statistics of the remote video stream.
Definition IAgoraRtcEngine.h:576
VIDEO_STREAM_TYPE rxStreamType
Definition IAgoraRtcEngine.h:628
int avSyncTimeMs
Definition IAgoraRtcEngine.h:645
int delay __deprecated
Definition IAgoraRtcEngine.h:588
int mosValue
Definition IAgoraRtcEngine.h:663
int decoderOutputFrameRate
Definition IAgoraRtcEngine.h:612
int totalActiveTime
Definition IAgoraRtcEngine.h:651
int e2eDelay
Definition IAgoraRtcEngine.h:593
int rendererOutputFrameRate
Definition IAgoraRtcEngine.h:616
int packetLossRate
Definition IAgoraRtcEngine.h:624
int frozenRate
Definition IAgoraRtcEngine.h:640
int publishDuration
Definition IAgoraRtcEngine.h:655
int width
Definition IAgoraRtcEngine.h:597
int decoderInputFrameRate
Definition IAgoraRtcEngine.h:608
int receivedBitrate
Definition IAgoraRtcEngine.h:605
uid_t uid
Definition IAgoraRtcEngine.h:580
int height
Definition IAgoraRtcEngine.h:601
int totalFrozenTime
Definition IAgoraRtcEngine.h:634
unsigned int rxVideoBytes
Definition IAgoraRtcEngine.h:667
int frameLossRate
Definition IAgoraRtcEngine.h:620
Configurations for the RtcEngineContext instance.
Definition IAgoraRtcEngine.h:4065
RtcEngineContext()
Definition IAgoraRtcEngine.h:4158
AUDIO_SCENARIO_TYPE audioScenario
Definition IAgoraRtcEngine.h:4097
unsigned int areaCode
Definition IAgoraRtcEngine.h:4103
IRtcEngineEventHandler * eventHandler
Definition IAgoraRtcEngine.h:4069
commons::LogConfig logConfig
Definition IAgoraRtcEngine.h:4124
CHANNEL_PROFILE_TYPE channelProfile
Definition IAgoraRtcEngine.h:4086
const char * appId
Definition IAgoraRtcEngine.h:4076
bool domainLimit
Definition IAgoraRtcEngine.h:4148
bool autoRegisterAgoraExtensions
Definition IAgoraRtcEngine.h:4156
void * context
Definition IAgoraRtcEngine.h:4082
const char * license
Definition IAgoraRtcEngine.h:4091
bool useExternalEglContext
Definition IAgoraRtcEngine.h:4138
Optional< THREAD_PRIORITY_TYPE > threadPriority
Definition IAgoraRtcEngine.h:4129
Image properties.
Definition AgoraBase.h:4357
Statistics of a call session.
Definition AgoraBase.h:2741
Definition IAgoraRtcEngine.h:1033
SIZE()
Definition IAgoraRtcEngine.h:1041
int width
Definition IAgoraRtcEngine.h:1036
SIZE(int ww, int hh)
Definition IAgoraRtcEngine.h:1042
int height
Definition IAgoraRtcEngine.h:1039
The configuration of the captured screen.
Definition IAgoraRtcEngine.h:993
Rectangle screenRect
Definition IAgoraRtcEngine.h:1009
ScreenCaptureConfiguration()
Definition IAgoraRtcEngine.h:1027
int64_t displayId
Definition IAgoraRtcEngine.h:1004
ScreenCaptureParameters params
Definition IAgoraRtcEngine.h:1018
bool isCaptureWindow
Definition IAgoraRtcEngine.h:999
Rectangle regionRect
Definition IAgoraRtcEngine.h:1025
int64_t windowId
Definition IAgoraRtcEngine.h:1014
Screen sharing configurations.
Definition AgoraBase.h:7666
Screen sharing configurations.
Definition AgoraBase.h:6474
The information about the specified shareable window or screen. The information is returned in IScree...
Definition IAgoraRtcEngine.h:1098
bool minimizeWindow
Definition IAgoraRtcEngine.h:1145
const char * sourceName
Definition IAgoraRtcEngine.h:1110
bool primaryMonitor
Definition IAgoraRtcEngine.h:1132
bool isOccluded
Definition IAgoraRtcEngine.h:1133
const char * processPath
Definition IAgoraRtcEngine.h:1122
ScreenCaptureSourceInfo()
Definition IAgoraRtcEngine.h:1153
ThumbImageBuffer iconImage
Definition IAgoraRtcEngine.h:1118
ScreenCaptureSourceType type
Definition IAgoraRtcEngine.h:1102
ThumbImageBuffer thumbImage
Definition IAgoraRtcEngine.h:1114
const char * sourceTitle
Definition IAgoraRtcEngine.h:1126
int64_t sourceDisplayId
Definition IAgoraRtcEngine.h:1152
int64_t sourceId
Definition IAgoraRtcEngine.h:1106
Rectangle position
Definition IAgoraRtcEngine.h:1138
Processing properties for background images.
Definition AgoraBase.h:5986
Definition AgoraBase.h:1342
Configure video streams of different quality levels.
Definition AgoraBase.h:2258
@ STREAM_LAYER_COUNT_MAX
Definition AgoraBase.h:2294
The configuration of the low-quality video stream.
Definition AgoraBase.h:2230
The image content of the thumbnail or icon. Set in ScreenCaptureSourceInfo.
Definition IAgoraRtcEngine.h:1054
unsigned int width
Definition IAgoraRtcEngine.h:1066
unsigned int height
Definition IAgoraRtcEngine.h:1070
const char * buffer
Definition IAgoraRtcEngine.h:1058
unsigned int length
Definition IAgoraRtcEngine.h:1062
ThumbImageBuffer()
Definition IAgoraRtcEngine.h:1071
The video streams for local video mixing.
Definition AgoraBase.h:4720
The information of the user.
Definition AgoraBase.h:7569
Attributes of the video canvas object.
Definition AgoraBase.h:5265
Definition IAgoraRtcEngine.h:671
double y
Definition IAgoraRtcEngine.h:680
double alpha
Definition IAgoraRtcEngine.h:695
int zOrder
Definition IAgoraRtcEngine.h:690
double height
Definition IAgoraRtcEngine.h:686
media::base::RENDER_MODE_TYPE renderMode
Definition IAgoraRtcEngine.h:697
uid_t uid
Definition IAgoraRtcEngine.h:674
double x
Definition IAgoraRtcEngine.h:677
double width
Definition IAgoraRtcEngine.h:684
Region()
Definition IAgoraRtcEngine.h:699
VideoCompositingLayout()
Definition IAgoraRtcEngine.h:737
const char * appData
Definition IAgoraRtcEngine.h:732
int appDataLength
Definition IAgoraRtcEngine.h:735
int canvasHeight
Definition IAgoraRtcEngine.h:719
const char * backgroundColor
Definition IAgoraRtcEngine.h:722
const Region * regions
Definition IAgoraRtcEngine.h:726
int regionCount
Definition IAgoraRtcEngine.h:729
int canvasWidth
Definition IAgoraRtcEngine.h:714
Video noise reduction options.
Definition AgoraBase.h:5806
The video dimension.
Definition AgoraBase.h:1166
Video encoder configurations.
Definition AgoraBase.h:2057
The format of the video frame.
Definition AgoraBase.h:3166
Indicators during video frame rendering progress.
Definition AgoraBase.h:7717
Video subscription options.
Definition AgoraBase.h:1705
The custom background.
Definition AgoraBase.h:5891
Used to configure watermark-related information.
Definition AgoraBase.h:2586
Watermark image configurations.
Definition AgoraBase.h:2408