Agora C++ API Reference for All Platforms
Loading...
Searching...
No Matches
IAgoraRtcEngineEx.h
1//
2// Agora Media SDK
3//
4// Created by Sting Feng in 2015-05.
5// Updated by Tommy Miao in 2020-11.
6// Copyright (c) 2015 Agora IO. All rights reserved.
7//
8#pragma once
9
10#include "IAgoraRtcEngine.h"
11
12namespace agora {
13namespace rtc {
14
15// OPTIONAL_ENUM_CLASS RTC_EVENT;
16
24 const char* channelId;
29
31 RtcConnection(const char* channel_id, uid_t local_uid)
32 : channelId(channel_id), localUid(local_uid) {}
33};
34
36 public:
101
102 virtual const char* eventHandlerType() const { return "event_handler_ex"; }
103
112 virtual void onJoinChannelSuccess(const RtcConnection& connection, int elapsed) {
113 (void)connection;
114 (void)elapsed;
115 }
116
126 virtual void onRejoinChannelSuccess(const RtcConnection& connection, int elapsed) {
127 (void)connection;
128 (void)elapsed;
129 }
130
147 virtual void onAudioQuality(const RtcConnection& connection, uid_t remoteUid, int quality, unsigned short delay, unsigned short lost) __deprecated {
148 (void)connection;
149 (void)remoteUid;
150 (void)quality;
151 (void)delay;
152 (void)lost;
153 }
154
181 virtual void onAudioVolumeIndication(const RtcConnection& connection, const AudioVolumeInfo* speakers,
182 unsigned int speakerNumber, int totalVolume) {
183 (void)connection;
184 (void)speakers;
185 (void)speakerNumber;
186 (void)totalVolume;
187 }
188
198 virtual void onLeaveChannel(const RtcConnection& connection, const RtcStats& stats) {
199 (void)connection;
200 (void)stats;
201 }
202
211 virtual void onRtcStats(const RtcConnection& connection, const RtcStats& stats) {
212 (void)connection;
213 (void)stats;
214 }
215
239 virtual void onNetworkQuality(const RtcConnection& connection, uid_t remoteUid, int txQuality, int rxQuality) {
240 (void)connection;
241 (void)remoteUid;
242 (void)txQuality;
243 (void)rxQuality;
244 }
245
253 virtual void onIntraRequestReceived(const RtcConnection& connection) {
254 (void)connection;
255 }
256
268 virtual void onFirstLocalVideoFramePublished(const RtcConnection& connection, int elapsed) {
269 (void)connection;
270 (void)elapsed;
271 }
272
290 virtual void onFirstRemoteVideoDecoded(const RtcConnection& connection, uid_t remoteUid, int width, int height, int elapsed) {
291 (void)connection;
292 (void)remoteUid;
293 (void)width;
294 (void)height;
295 (void)elapsed;
296 }
297
308 virtual void onVideoSizeChanged(const RtcConnection& connection, VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation) {
309 (void)connection;
310 (void)sourceType;
311 (void)uid;
312 (void)width;
313 (void)height;
314 (void)rotation;
315 }
316
329 virtual void onRemoteVideoStateChanged(const RtcConnection& connection, uid_t remoteUid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) {
330 (void)connection;
331 (void)remoteUid;
332 (void)state;
333 (void)reason;
334 (void)elapsed;
335 }
336
345 virtual void onFirstRemoteVideoFrame(const RtcConnection& connection, uid_t remoteUid, int width, int height, int elapsed) {
346 (void)connection;
347 (void)remoteUid;
348 (void)width;
349 (void)height;
350 (void)elapsed;
351 }
352
373 virtual void onUserJoined(const RtcConnection& connection, uid_t remoteUid, int elapsed) {
374 (void)connection;
375 (void)remoteUid;
376 (void)elapsed;
377 }
378
394 virtual void onUserOffline(const RtcConnection& connection, uid_t remoteUid, USER_OFFLINE_REASON_TYPE reason) {
395 (void)connection;
396 (void)remoteUid;
397 (void)reason;
398 }
399
411 virtual void onUserMuteAudio(const RtcConnection& connection, uid_t remoteUid, bool muted) __deprecated {
412 (void)connection;
413 (void)remoteUid;
414 (void)muted;
415 }
416
432 virtual void onUserMuteVideo(const RtcConnection& connection, uid_t remoteUid, bool muted) {
433 (void)connection;
434 (void)remoteUid;
435 (void)muted;
436 }
437
451 virtual void onUserEnableVideo(const RtcConnection& connection, uid_t remoteUid, bool enabled) {
452 (void)connection;
453 (void)remoteUid;
454 (void)enabled;
455 }
456
468 virtual void onUserEnableLocalVideo(const RtcConnection& connection, uid_t remoteUid, bool enabled) __deprecated {
469 (void)connection;
470 (void)remoteUid;
471 (void)enabled;
472 }
473
481 virtual void onUserStateChanged(const RtcConnection& connection, uid_t remoteUid, uint32_t state) {
482 (void)connection;
483 (void)remoteUid;
484 (void)state;
485 }
486
495 virtual void onLocalAudioStats(const RtcConnection& connection, const LocalAudioStats& stats) {
496 (void)connection;
497 (void)stats;
498 }
499
507 virtual void onRemoteAudioStats(const RtcConnection& connection, const RemoteAudioStats& stats) {
508 (void)connection;
509 (void)stats;
510 }
511
526 virtual void onLocalVideoStats(const RtcConnection& connection, VIDEO_SOURCE_TYPE sourceType, const LocalVideoStats& stats) {
527 (void)connection;
528 (void)stats;
529 }
530
540 virtual void onRemoteVideoStats(const RtcConnection& connection, const RemoteVideoStats& stats) {
541 (void)connection;
542 (void)stats;
543 }
544
555 virtual void onConnectionLost(const RtcConnection& connection) {
556 (void)connection;
557 }
558
572 virtual void onConnectionInterrupted(const RtcConnection& connection) __deprecated {
573 (void)connection;
574 }
575
580 virtual void onConnectionBanned(const RtcConnection& connection) {
581 (void)connection;
582 }
583
596 virtual void onStreamMessage(const RtcConnection& connection, uid_t remoteUid, int streamId, const char* data, size_t length, uint64_t sentTs) {
597 (void)connection;
598 (void)remoteUid;
599 (void)streamId;
600 (void)data;
601 (void)length;
602 (void)sentTs;
603 }
604
618 virtual void onStreamMessageError(const RtcConnection& connection, uid_t remoteUid, int streamId, int code, int missed, int cached) {
619 (void)connection;
620 (void)remoteUid;
621 (void)streamId;
622 (void)code;
623 (void)missed;
624 (void)cached;
625 }
626
641 virtual void onRdtMessage(const RtcConnection& connection, uid_t userId, RdtStreamType type, const char *data, size_t length) {
642 (void)connection;
643 (void)userId;
644 (void)type;
645 (void)data;
646 (void)length;
647 }
648
658 virtual void onRdtStateChanged(const RtcConnection& connection, uid_t userId, RdtState state) {
659 (void)connection;
660 (void)userId;
661 (void)state;
662 }
663
676 virtual void onMediaControlMessage(const RtcConnection& connection, uid_t userId, const char* data, size_t length) {
677 (void)connection;
678 (void)userId;
679 (void)data;
680 (void)length;
681 }
682
693 virtual void onRequestToken(const RtcConnection& connection) {
694 (void)connection;
695 }
696
702 virtual void onLicenseValidationFailure(const RtcConnection& connection, LICENSE_ERROR_TYPE reason) {
703 (void)connection;
704 (void)reason;
705 }
706
718 virtual void onTokenPrivilegeWillExpire(const RtcConnection& connection, const char* token) {
719 (void)connection;
720 (void)token;
721 }
722
734 virtual void onFirstLocalAudioFramePublished(const RtcConnection& connection, int elapsed) {
735 (void)connection;
736 (void)elapsed;
737 }
738
747 virtual void onFirstRemoteAudioFrame(const RtcConnection& connection, uid_t userId, int elapsed) __deprecated {
748 (void)connection;
749 (void)userId;
750 (void)elapsed;
751 }
752
770 virtual void onFirstRemoteAudioDecoded(const RtcConnection& connection, uid_t uid, int elapsed) __deprecated {
771 (void)connection;
772 (void)uid;
773 (void)elapsed;
774 }
775
792 (void)connection;
793 (void)state;
794 (void)reason;
795 }
796
814 virtual void onRemoteAudioStateChanged(const RtcConnection& connection, uid_t remoteUid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) {
815 (void)connection;
816 (void)remoteUid;
817 (void)state;
818 (void)reason;
819 (void)elapsed;
820 }
821
836 virtual void onActiveSpeaker(const RtcConnection& connection, uid_t uid) {
837 (void)connection;
838 (void)uid;
839 }
840
849 virtual void onClientRoleChanged(const RtcConnection& connection, CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions& newRoleOptions) {
850 (void)connection;
851 (void)oldRole;
852 (void)newRole;
853 (void)newRoleOptions;
854 }
855
865 (void)connection;
866 (void)reason;
867 (void)currentRole;
868 }
869
885 virtual void onRemoteAudioTransportStats(const RtcConnection& connection, uid_t remoteUid, unsigned short delay, unsigned short lost,
886 unsigned short rxKBitRate) __deprecated {
887 (void)connection;
888 (void)remoteUid;
889 (void)delay;
890 (void)lost;
891 (void)rxKBitRate;
892 }
893
912 virtual void onRemoteVideoTransportStats(const RtcConnection& connection, uid_t remoteUid, unsigned short delay, unsigned short lost,
913 unsigned short rxKBitRate) __deprecated {
914 (void)connection;
915 (void)remoteUid;
916 (void)delay;
917 (void)lost;
918 (void)rxKBitRate;
919 }
920
930 virtual void onConnectionStateChanged(const RtcConnection& connection,
933 (void)connection;
934 (void)state;
935 (void)reason;
936 }
937
947 virtual void onNetworkTypeChanged(const RtcConnection& connection, NETWORK_TYPE type) {
948 (void)connection;
949 (void)type;
950 }
951
959 virtual void onEncryptionError(const RtcConnection& connection, ENCRYPTION_ERROR_TYPE errorType) {
960 (void)connection;
961 (void)errorType;
962 }
963
970 virtual void onUploadLogResult(const RtcConnection& connection, const char* requestId, bool success, UPLOAD_ERROR_REASON reason) {
971 (void)connection;
972 (void)requestId;
973 (void)success;
974 (void)reason;
975 }
976
984 virtual void onUserAccountUpdated(const RtcConnection& connection, uid_t remoteUid, const char* remoteUserAccount){
985 (void)connection;
986 (void)remoteUid;
987 (void)remoteUserAccount;
988 }
989
1007 virtual void onSnapshotTaken(const RtcConnection& connection, uid_t uid, const char* filePath, int width, int height, int errCode) {
1008 (void)uid;
1009 (void)filePath;
1010 (void)width;
1011 (void)height;
1012 (void)errCode;
1013 }
1014
1023 virtual void onVideoRenderingTracingResult(const RtcConnection& connection, uid_t uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo) {
1024 (void)uid;
1025 (void)currentEvent;
1026 (void)tracingInfo;
1027 }
1028
1035 virtual void onSetRtmFlagResult(const RtcConnection& connection, int code) {
1036 (void)connection;
1037 (void)code;
1038 }
1039
1049 virtual void onTranscodedStreamLayoutInfo(const RtcConnection& connection, uid_t uid, int width, int height, int layoutCount,const VideoLayout* layoutlist) {
1050 (void)uid;
1051 (void)width;
1052 (void)height;
1053 (void)layoutCount;
1054 (void)layoutlist;
1055 }
1056
1066 virtual void onAudioMetadataReceived(const RtcConnection& connection, uid_t uid, const char* metadata, size_t length) {
1067 (void)metadata;
1068 (void)length;
1069 }
1070
1083 virtual void onMultipathStats(const RtcConnection& connection, const MultipathStats& stats) {
1084 (void)stats;
1085 (void)connection;
1086 }
1087
1098 virtual void onRenewTokenResult(const RtcConnection& connection, const char* token, RENEW_TOKEN_ERROR_CODE code) {
1099 (void)token;
1100 (void)code;
1101 }
1102};
1103
1104class IRtcEngineEx : public IRtcEngine {
1105public:
1168 virtual int joinChannelEx(const char* token, const RtcConnection& connection,
1169 const ChannelMediaOptions& options,
1170 IRtcEngineEventHandler* eventHandler) = 0;
1171
1205 virtual int leaveChannelEx(const RtcConnection& connection) = 0;
1206
1245 virtual int leaveChannelEx(const RtcConnection& connection, const LeaveChannelOptions& options) = 0;
1246
1272 virtual int leaveChannelWithUserAccountEx(const char* channelId, const char* userAccount) = 0;
1273
1294 virtual int leaveChannelWithUserAccountEx(const char* channelId, const char* userAccount, const LeaveChannelOptions& options) = 0;
1295
1316 virtual int updateChannelMediaOptionsEx(const ChannelMediaOptions& options, const RtcConnection& connection) = 0;
1337 virtual int setVideoEncoderConfigurationEx(const VideoEncoderConfiguration& config, const RtcConnection& connection) = 0;
1367 virtual int setupRemoteVideoEx(const VideoCanvas& canvas, const RtcConnection& connection) = 0;
1386 virtual int muteRemoteAudioStreamEx(uid_t uid, bool mute, const RtcConnection& connection) = 0;
1405 virtual int muteRemoteVideoStreamEx(uid_t uid, bool mute, const RtcConnection& connection) = 0;
1445 virtual int setRemoteVideoStreamTypeEx(uid_t uid, VIDEO_STREAM_TYPE streamType, const RtcConnection& connection) = 0;
1465 virtual int muteLocalAudioStreamEx(bool mute, const RtcConnection& connection) = 0;
1466
1485 virtual int muteLocalVideoStreamEx(bool mute, const RtcConnection& connection) = 0;
1486
1509 virtual int muteAllRemoteAudioStreamsEx(bool mute, const RtcConnection& connection) = 0;
1510
1527 virtual int muteAllRemoteVideoStreamsEx(bool mute, const RtcConnection& connection) = 0;
1528
1529
1558 virtual int setSubscribeAudioBlocklistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0;
1559
1587 virtual int setSubscribeAudioAllowlistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0;
1588
1617 virtual int setSubscribeVideoBlocklistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0;
1618
1646 virtual int setSubscribeVideoAllowlistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0;
1662 virtual int setRemoteVideoSubscriptionOptionsEx(uid_t uid, const VideoSubscriptionOptions& options, const RtcConnection& connection) = 0;
1690 virtual int setRemoteVoicePositionEx(uid_t uid, double pan, double gain, const RtcConnection& connection) = 0;
1701 virtual int setRemoteUserSpatialAudioParamsEx(uid_t uid, const agora::SpatialAudioParams& params, const RtcConnection& connection) = 0;
1724 VIDEO_MIRROR_MODE_TYPE mirrorMode, const RtcConnection& connection) = 0;
1752 virtual int enableLoopbackRecordingEx(const RtcConnection& connection, bool enabled, const char* deviceName = NULL) = 0;
1753
1768 virtual int adjustRecordingSignalVolumeEx(int volume, const RtcConnection& connection) = 0;
1769
1783 virtual int muteRecordingSignalEx(bool mute, const RtcConnection& connection) = 0;
1784
1805 virtual int adjustUserPlaybackSignalVolumeEx(uid_t uid, int volume, const RtcConnection& connection) = 0;
1806
1843 virtual int enableEncryptionEx(const RtcConnection& connection, bool enabled, const EncryptionConfig& config) = 0;
1878 virtual int createDataStreamEx(int* streamId, bool reliable, bool ordered, const RtcConnection& connection) = 0;
1904 virtual int createDataStreamEx(int* streamId, const DataStreamConfig& config, const RtcConnection& connection) = 0;
1941 virtual int sendStreamMessageEx(int streamId, const char* data, size_t length, const RtcConnection& connection) = 0;
1942
1957 virtual int sendRdtMessageEx(uid_t uid, RdtStreamType type, const char *data, size_t length, const RtcConnection& connection) = 0;
1958
1972 virtual int sendMediaControlMessageEx(uid_t uid, const char *data, size_t length, const RtcConnection& connection) = 0;
1973
2017 virtual int addVideoWatermarkEx(const char* watermarkUrl, const WatermarkOptions& options, const RtcConnection& connection) = 0;
2018
2034 virtual int addVideoWatermarkEx(const WatermarkConfig& config, const RtcConnection& connection) = 0;
2035
2051 virtual int removeVideoWatermarkEx(const char* id, const RtcConnection& connection) = 0;
2052
2062 virtual int clearVideoWatermarkEx(const RtcConnection& connection) = 0;
2074 virtual int sendCustomReportMessageEx(const char* id, const char* category, const char* event, const char* label,
2075 int value, const RtcConnection& connection) = 0;
2076
2110 virtual int enableAudioVolumeIndicationEx(int interval, int smooth, bool reportVad, const RtcConnection& connection) = 0;
2111
2143 virtual int startRtmpStreamWithoutTranscodingEx(const char* url, const RtcConnection& connection) = 0;
2144
2178 virtual int startRtmpStreamWithTranscodingEx(const char* url, const LiveTranscoding& transcoding, const RtcConnection& connection) = 0;
2179
2197 virtual int updateRtmpTranscodingEx(const LiveTranscoding& transcoding, const RtcConnection& connection) = 0;
2198
2219 virtual int stopRtmpStreamEx(const char* url, const RtcConnection& connection) = 0;
2220
2257 virtual int startOrUpdateChannelMediaRelayEx(const ChannelMediaRelayConfiguration& configuration, const RtcConnection& connection) = 0;
2258
2281 virtual int stopChannelMediaRelayEx(const RtcConnection& connection) = 0;
2282
2300 virtual int pauseAllChannelMediaRelayEx(const RtcConnection& connection) = 0;
2301
2318 virtual int resumeAllChannelMediaRelayEx(const RtcConnection& connection) = 0;
2319
2333 virtual int getUserInfoByUserAccountEx(const char* userAccount, rtc::UserInfo* userInfo, const RtcConnection& connection) = 0;
2334
2348 virtual int getUserInfoByUidEx(uid_t uid, rtc::UserInfo* userInfo, const RtcConnection& connection) = 0;
2349
2379 virtual int enableDualStreamModeEx(bool enabled, const SimulcastStreamConfig& streamConfig,
2380 const RtcConnection& connection) = 0;
2416 const SimulcastStreamConfig& streamConfig,
2417 const RtcConnection& connection) = 0;
2418
2440 virtual int setSimulcastConfigEx(const SimulcastConfig& simulcastConfig,
2441 const RtcConnection& connection) = 0;
2442
2459 virtual int setHighPriorityUserListEx(uid_t* uidList, int uidNum,
2461 const RtcConnection& connection) = 0;
2462
2495 virtual int takeSnapshotEx(const RtcConnection& connection, uid_t uid, const char* filePath) = 0;
2496
2524 virtual int takeSnapshotEx(const RtcConnection& connection, uid_t uid, const media::SnapshotConfig& config) = 0;
2525
2550 virtual int enableContentInspectEx(bool enabled, const media::ContentInspectConfig &config, const RtcConnection& connection) = 0;
2551
2582 virtual int startMediaRenderingTracingEx(const RtcConnection& connection) = 0;
2583
2592 virtual int setParametersEx(const RtcConnection& connection, const char* parameters) = 0;
2593
2607 virtual int getCallIdEx(agora::util::AString& callId, const RtcConnection& connection) = 0;
2608
2620 virtual int sendAudioMetadataEx(const RtcConnection& connection, const char* metadata, size_t length) = 0;
2621
2652 virtual int preloadEffectEx(const RtcConnection& connection, int soundId, const char* filePath, int startPos = 0) = 0;
2653
2701 virtual int playEffectEx(const RtcConnection& connection, int soundId, const char* filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0) = 0;
2702};
2703
2704} // namespace rtc
2705} // namespace agora
Definition IAgoraRtcEngineEx.h:35
virtual void onUserOffline(const RtcConnection &connection, uid_t remoteUid, USER_OFFLINE_REASON_TYPE reason)
Definition IAgoraRtcEngineEx.h:394
virtual void onJoinChannelSuccess(const RtcConnection &connection, int elapsed)
Definition IAgoraRtcEngineEx.h:112
virtual void onFirstRemoteVideoDecoded(const RtcConnection &connection, uid_t remoteUid, int width, int height, int elapsed)
Definition IAgoraRtcEngineEx.h:290
virtual void onConnectionLost(const RtcConnection &connection)
Definition IAgoraRtcEngineEx.h:555
virtual void onClientRoleChangeFailed(const RtcConnection &connection, CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole)
Definition IAgoraRtcEngineEx.h:864
virtual void onNetworkTypeChanged(const RtcConnection &connection, NETWORK_TYPE type)
Definition IAgoraRtcEngineEx.h:947
virtual void onClientRoleChanged(const RtcConnection &connection, CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions &newRoleOptions)
Definition IAgoraRtcEngineEx.h:849
virtual void onFirstRemoteAudioFrame(const RtcConnection &connection, uid_t userId, int elapsed) __deprecated
Definition IAgoraRtcEngineEx.h:747
virtual void onVideoRenderingTracingResult(const RtcConnection &connection, uid_t uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo)
Definition IAgoraRtcEngineEx.h:1023
virtual void onConnectionStateChanged(const RtcConnection &connection, CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason)
Definition IAgoraRtcEngineEx.h:930
virtual void onLeaveChannel(const RtcConnection &connection, const RtcStats &stats)
Definition IAgoraRtcEngineEx.h:198
virtual void onFirstRemoteVideoFrame(const RtcConnection &connection, uid_t remoteUid, int width, int height, int elapsed)
Definition IAgoraRtcEngineEx.h:345
virtual void onSnapshotTaken(const RtcConnection &connection, uid_t uid, const char *filePath, int width, int height, int errCode)
Definition IAgoraRtcEngineEx.h:1007
virtual void onTokenPrivilegeWillExpire(const RtcConnection &connection, const char *token)
Definition IAgoraRtcEngineEx.h:718
virtual void onRtcStats(const RtcConnection &connection, const RtcStats &stats)
Definition IAgoraRtcEngineEx.h:211
virtual void onStreamMessageError(const RtcConnection &connection, uid_t remoteUid, int streamId, int code, int missed, int cached)
Definition IAgoraRtcEngineEx.h:618
virtual void onStreamMessage(const RtcConnection &connection, uid_t remoteUid, int streamId, const char *data, size_t length, uint64_t sentTs)
Definition IAgoraRtcEngineEx.h:596
virtual void onRemoteVideoStateChanged(const RtcConnection &connection, uid_t remoteUid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed)
Definition IAgoraRtcEngineEx.h:329
virtual void onFirstRemoteAudioDecoded(const RtcConnection &connection, uid_t uid, int elapsed) __deprecated
Definition IAgoraRtcEngineEx.h:770
virtual void onUserStateChanged(const RtcConnection &connection, uid_t remoteUid, uint32_t state)
Definition IAgoraRtcEngineEx.h:481
virtual void onUserEnableVideo(const RtcConnection &connection, uid_t remoteUid, bool enabled)
Definition IAgoraRtcEngineEx.h:451
virtual void onIntraRequestReceived(const RtcConnection &connection)
Definition IAgoraRtcEngineEx.h:253
virtual void onRenewTokenResult(const RtcConnection &connection, const char *token, RENEW_TOKEN_ERROR_CODE code)
Definition IAgoraRtcEngineEx.h:1098
virtual void onLocalAudioStateChanged(const RtcConnection &connection, LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_REASON reason)
Definition IAgoraRtcEngineEx.h:791
virtual void onNetworkQuality(const RtcConnection &connection, uid_t remoteUid, int txQuality, int rxQuality)
Definition IAgoraRtcEngineEx.h:239
virtual void onRequestToken(const RtcConnection &connection)
Definition IAgoraRtcEngineEx.h:693
virtual void onUserEnableLocalVideo(const RtcConnection &connection, uid_t remoteUid, bool enabled) __deprecated
Definition IAgoraRtcEngineEx.h:468
virtual void onAudioQuality(const RtcConnection &connection, uid_t remoteUid, int quality, unsigned short delay, unsigned short lost) __deprecated
Definition IAgoraRtcEngineEx.h:147
virtual void onRemoteAudioTransportStats(const RtcConnection &connection, uid_t remoteUid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated
Definition IAgoraRtcEngineEx.h:885
virtual void onUserJoined(const RtcConnection &connection, uid_t remoteUid, int elapsed)
Definition IAgoraRtcEngineEx.h:373
virtual void onRejoinChannelSuccess(const RtcConnection &connection, int elapsed)
Definition IAgoraRtcEngineEx.h:126
virtual void onRemoteAudioStateChanged(const RtcConnection &connection, uid_t remoteUid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed)
Definition IAgoraRtcEngineEx.h:814
virtual void onMultipathStats(const RtcConnection &connection, const MultipathStats &stats)
Callback for multipath transmission statistics.
Definition IAgoraRtcEngineEx.h:1083
virtual void onRemoteAudioStats(const RtcConnection &connection, const RemoteAudioStats &stats)
Definition IAgoraRtcEngineEx.h:507
virtual void onUserMuteAudio(const RtcConnection &connection, uid_t remoteUid, bool muted) __deprecated
Definition IAgoraRtcEngineEx.h:411
virtual void onUserAccountUpdated(const RtcConnection &connection, uid_t remoteUid, const char *remoteUserAccount)
Definition IAgoraRtcEngineEx.h:984
virtual void onUserMuteVideo(const RtcConnection &connection, uid_t remoteUid, bool muted)
Definition IAgoraRtcEngineEx.h:432
virtual void onActiveSpeaker(const RtcConnection &connection, uid_t uid)
Definition IAgoraRtcEngineEx.h:836
virtual void onAudioMetadataReceived(const RtcConnection &connection, uid_t uid, const char *metadata, size_t length)
Definition IAgoraRtcEngineEx.h:1066
virtual void onTranscodedStreamLayoutInfo(const RtcConnection &connection, uid_t uid, int width, int height, int layoutCount, const VideoLayout *layoutlist)
Definition IAgoraRtcEngineEx.h:1049
virtual void onAudioVolumeIndication(const RtcConnection &connection, const AudioVolumeInfo *speakers, unsigned int speakerNumber, int totalVolume)
Definition IAgoraRtcEngineEx.h:181
virtual void onConnectionInterrupted(const RtcConnection &connection) __deprecated
Definition IAgoraRtcEngineEx.h:572
virtual void onFirstLocalVideoFramePublished(const RtcConnection &connection, int elapsed)
Definition IAgoraRtcEngineEx.h:268
virtual void onEncryptionError(const RtcConnection &connection, ENCRYPTION_ERROR_TYPE errorType)
Definition IAgoraRtcEngineEx.h:959
virtual void onLocalVideoStats(const RtcConnection &connection, VIDEO_SOURCE_TYPE sourceType, const LocalVideoStats &stats)
Definition IAgoraRtcEngineEx.h:526
virtual void onRemoteVideoTransportStats(const RtcConnection &connection, uid_t remoteUid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) __deprecated
Definition IAgoraRtcEngineEx.h:912
virtual void onConnectionBanned(const RtcConnection &connection)
Definition IAgoraRtcEngineEx.h:580
virtual void onVideoSizeChanged(const RtcConnection &connection, VIDEO_SOURCE_TYPE sourceType, uid_t uid, int width, int height, int rotation)
Definition IAgoraRtcEngineEx.h:308
virtual void onLocalAudioStats(const RtcConnection &connection, const LocalAudioStats &stats)
Definition IAgoraRtcEngineEx.h:495
virtual void onRdtStateChanged(const RtcConnection &connection, uid_t userId, RdtState state)
Occurs when the RDT tunnel state changed.
Definition IAgoraRtcEngineEx.h:658
virtual void onUploadLogResult(const RtcConnection &connection, const char *requestId, bool success, UPLOAD_ERROR_REASON reason)
Definition IAgoraRtcEngineEx.h:970
virtual void onRemoteVideoStats(const RtcConnection &connection, const RemoteVideoStats &stats)
Definition IAgoraRtcEngineEx.h:540
virtual void onMediaControlMessage(const RtcConnection &connection, uid_t userId, const char *data, size_t length)
Occurs when the local user receives media control message sent by a remote user.
Definition IAgoraRtcEngineEx.h:676
virtual void onRdtMessage(const RtcConnection &connection, 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 IAgoraRtcEngineEx.h:641
virtual const char * eventHandlerType() const
Definition IAgoraRtcEngineEx.h:102
virtual void onFirstLocalAudioFramePublished(const RtcConnection &connection, int elapsed)
Definition IAgoraRtcEngineEx.h:734
virtual void onLicenseValidationFailure(const RtcConnection &connection, LICENSE_ERROR_TYPE reason)
Definition IAgoraRtcEngineEx.h:702
virtual void onSetRtmFlagResult(const RtcConnection &connection, int code)
Definition IAgoraRtcEngineEx.h:1035
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 onFirstLocalAudioFramePublished(int elapsed)
Occurs when the first audio frame is published.
Definition IAgoraRtcEngine.h:2939
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 const char * eventHandlerType() const
Definition IAgoraRtcEngine.h:1795
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 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 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 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 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 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 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 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 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 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 onRejoinChannelSuccess(const char *channel, uid_t uid, int elapsed)
Occurs when a user rejoins the channel.
Definition IAgoraRtcEngine.h:1837
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 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 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 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 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 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 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 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 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 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 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 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 IAgoraRtcEngineEx.h:1104
virtual int setSubscribeVideoBlocklistEx(uid_t *uidList, int uidNumber, const RtcConnection &connection)=0
Sets the blocklist of subscriptions for video streams.
virtual int muteAllRemoteAudioStreamsEx(bool mute, const RtcConnection &connection)=0
Stops or resumes subscribing to the audio streams of all remote users.
virtual int preloadEffectEx(const RtcConnection &connection, int soundId, const char *filePath, int startPos=0)=0
Preloads a specified sound effect to a channel.
virtual int setRemoteVideoSubscriptionOptionsEx(uid_t uid, const VideoSubscriptionOptions &options, const RtcConnection &connection)=0
Sets options for subscribing to remote video streams.
virtual int getUserInfoByUidEx(uid_t uid, rtc::UserInfo *userInfo, const RtcConnection &connection)=0
virtual int setRemoteVideoStreamTypeEx(uid_t uid, VIDEO_STREAM_TYPE streamType, const RtcConnection &connection)=0
Sets the video stream type to subscribe to.
virtual int setParametersEx(const RtcConnection &connection, const char *parameters)=0
virtual int addVideoWatermarkEx(const char *watermarkUrl, const WatermarkOptions &options, const RtcConnection &connection)=0
Adds a watermark image to the local video.
virtual int leaveChannelEx(const RtcConnection &connection)=0
Leaves a channel.
virtual int createDataStreamEx(int *streamId, bool reliable, bool ordered, const RtcConnection &connection)=0
Creates a data stream.
virtual int enableContentInspectEx(bool enabled, const media::ContentInspectConfig &config, const RtcConnection &connection)=0
Enables or disables video screenshot and upload.
virtual int takeSnapshotEx(const RtcConnection &connection, uid_t uid, const media::SnapshotConfig &config)=0
Gets a video screenshot of the specified observation point using the connection ID.
virtual int setSubscribeAudioAllowlistEx(uid_t *uidList, int uidNumber, const RtcConnection &connection)=0
Sets the allowlist of subscriptions for audio streams.
virtual int enableDualStreamModeEx(bool enabled, const SimulcastStreamConfig &streamConfig, const RtcConnection &connection)=0
Enables or disables dual-stream mode on the sender side.
virtual int muteAllRemoteVideoStreamsEx(bool mute, const RtcConnection &connection)=0
Stops or resumes subscribing to the video streams of all remote users.
virtual int createDataStreamEx(int *streamId, const DataStreamConfig &config, const RtcConnection &connection)=0
Creates a data stream.
virtual int getCallIdEx(agora::util::AString &callId, const RtcConnection &connection)=0
Gets the call ID with the connection ID.
virtual int setRemoteRenderModeEx(uid_t uid, media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode, const RtcConnection &connection)=0
Sets the video display mode of a specified remote user.
virtual int updateRtmpTranscodingEx(const LiveTranscoding &transcoding, const RtcConnection &connection)=0
Updates the transcoding configuration.
virtual int setDualStreamModeEx(SIMULCAST_STREAM_MODE mode, const SimulcastStreamConfig &streamConfig, const RtcConnection &connection)=0
Sets the dual-stream mode on the sender side.
virtual int setSubscribeVideoAllowlistEx(uid_t *uidList, int uidNumber, const RtcConnection &connection)=0
Sets the allowlist of subscriptions for video streams.
virtual int setRemoteUserSpatialAudioParamsEx(uid_t uid, const agora::SpatialAudioParams &params, const RtcConnection &connection)=0
virtual int stopRtmpStreamEx(const char *url, const RtcConnection &connection)=0
Stops pushing media streams to a CDN.
virtual int sendRdtMessageEx(uid_t uid, RdtStreamType type, const char *data, size_t length, const RtcConnection &connection)=0
Send Reliable message to remote uid in channel.
virtual int updateChannelMediaOptionsEx(const ChannelMediaOptions &options, const RtcConnection &connection)=0
Updates the channel media options after joining the channel.
virtual int setRemoteVoicePositionEx(uid_t uid, double pan, double gain, const RtcConnection &connection)=0
Sets the 2D position (the position on the horizontal plane) of the remote user's voice.
virtual int leaveChannelEx(const RtcConnection &connection, const LeaveChannelOptions &options)=0
Sets channel options and leaves the channel.
virtual int addVideoWatermarkEx(const WatermarkConfig &config, const RtcConnection &connection)=0
Adds a watermark image to the local video.
virtual int setupRemoteVideoEx(const VideoCanvas &canvas, const RtcConnection &connection)=0
Initializes the video view of a remote user.
virtual int getUserInfoByUserAccountEx(const char *userAccount, rtc::UserInfo *userInfo, const RtcConnection &connection)=0
virtual int adjustRecordingSignalVolumeEx(int volume, const RtcConnection &connection)=0
virtual int startRtmpStreamWithoutTranscodingEx(const char *url, const RtcConnection &connection)=0
Starts pushing media streams to a CDN without transcoding.
virtual int setSimulcastConfigEx(const SimulcastConfig &simulcastConfig, const RtcConnection &connection)=0
Sets the simulcast video stream configuration.
virtual int startRtmpStreamWithTranscodingEx(const char *url, const LiveTranscoding &transcoding, const RtcConnection &connection)=0
Starts Media Push and sets the transcoding configuration.
virtual int enableEncryptionEx(const RtcConnection &connection, bool enabled, const EncryptionConfig &config)=0
Enables or disables the built-in encryption.
virtual int clearVideoWatermarkEx(const RtcConnection &connection)=0
Removes the watermark image from the video stream.
virtual int pauseAllChannelMediaRelayEx(const RtcConnection &connection)=0
Pauses the media stream relay to all target channels.
virtual int startOrUpdateChannelMediaRelayEx(const ChannelMediaRelayConfiguration &configuration, const RtcConnection &connection)=0
Starts relaying media streams across channels or updates channels for media relay.
virtual int takeSnapshotEx(const RtcConnection &connection, uid_t uid, const char *filePath)=0
Takes a snapshot of a video stream using connection ID.
virtual int leaveChannelWithUserAccountEx(const char *channelId, const char *userAccount)=0
virtual int sendAudioMetadataEx(const RtcConnection &connection, const char *metadata, size_t length)=0
virtual int muteRecordingSignalEx(bool mute, const RtcConnection &connection)=0
virtual int stopChannelMediaRelayEx(const RtcConnection &connection)=0
Stops the media stream relay. Once the relay stops, the host quits all the target channels.
virtual int muteRemoteVideoStreamEx(uid_t uid, bool mute, const RtcConnection &connection)=0
Stops or resumes receiving the video stream of a specified user.
virtual CONNECTION_STATE_TYPE getConnectionStateEx(const RtcConnection &connection)=0
Gets the current connection state of the SDK.
virtual int startMediaRenderingTracingEx(const RtcConnection &connection)=0
Enables tracing the video frame rendering process.
virtual int sendMediaControlMessageEx(uid_t uid, const char *data, size_t length, const RtcConnection &connection)=0
Send media control message.
virtual int sendStreamMessageEx(int streamId, const char *data, size_t length, const RtcConnection &connection)=0
Sends data stream messages.
virtual int muteLocalVideoStreamEx(bool mute, const RtcConnection &connection)=0
Stops or resumes publishing the local video stream.
virtual int enableLoopbackRecordingEx(const RtcConnection &connection, bool enabled, const char *deviceName=NULL)=0
Enables loopback audio capturing.
virtual int adjustUserPlaybackSignalVolumeEx(uid_t uid, int volume, const RtcConnection &connection)=0
Adjusts the playback signal volume of a specified remote user.
virtual int sendCustomReportMessageEx(const char *id, const char *category, const char *event, const char *label, int value, const RtcConnection &connection)=0
Agora supports reporting and analyzing customized messages.
virtual int removeVideoWatermarkEx(const char *id, const RtcConnection &connection)=0
Removes the specified watermark image from the local or remote video stream.
virtual int setSubscribeAudioBlocklistEx(uid_t *uidList, int uidNumber, const RtcConnection &connection)=0
Sets the blocklist of subscriptions for audio streams.
virtual int enableAudioVolumeIndicationEx(int interval, int smooth, bool reportVad, const RtcConnection &connection)=0
Enables the reporting of users' volume indication.
virtual int setHighPriorityUserListEx(uid_t *uidList, int uidNum, STREAM_FALLBACK_OPTIONS option, const RtcConnection &connection)=0
virtual int muteRemoteAudioStreamEx(uid_t uid, bool mute, const RtcConnection &connection)=0
Stops or resumes receiving the audio stream of a specified user.
virtual int joinChannelEx(const char *token, const RtcConnection &connection, const ChannelMediaOptions &options, IRtcEngineEventHandler *eventHandler)=0
Joins a channel.
virtual int leaveChannelWithUserAccountEx(const char *channelId, const char *userAccount, const LeaveChannelOptions &options)=0
virtual int setVideoEncoderConfigurationEx(const VideoEncoderConfiguration &config, const RtcConnection &connection)=0
Sets the video encoder configuration.
virtual int playEffectEx(const RtcConnection &connection, int soundId, const char *filePath, int loopCount, double pitch, double pan, int gain, bool publish=false, int startPos=0)=0
Plays a specified sound effect in a channel.
virtual int muteLocalAudioStreamEx(bool mute, const RtcConnection &connection)=0
Stops or resumes publishing the local audio stream.
virtual int resumeAllChannelMediaRelayEx(const RtcConnection &connection)=0
Resumes the media stream relay to all target channels.
Definition IAgoraRtcEngine.h:4581
RENDER_MODE_TYPE
Video display modes.
Definition AgoraMediaBase.h:587
Definition AgoraExtensions.h:5
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
LOCAL_AUDIO_STREAM_STATE
The state of the local audio.
Definition AgoraBase.h:3404
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
CLIENT_ROLE_TYPE
The user role in the interactive live streaming.
Definition AgoraBase.h:2950
CONNECTION_STATE_TYPE
Connection states.
Definition AgoraBase.h:4432
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
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
REMOTE_VIDEO_STATE
The state of the remote video stream.
Definition AgoraBase.h:3776
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
RdtState
Reliable Data Transmission tunnel state.
Definition AgoraBase.h:7990
RdtStreamType
Reliable Data Transmission Tunnel message stream type.
Definition AgoraBase.h:7966
CLIENT_ROLE_CHANGE_FAILED_REASON
The reason for a user role switch failure.
Definition AgoraBase.h:5176
@ __deprecated
Definition AgoraBase.h:945
REMOTE_AUDIO_STATE
Remote audio states.
Definition AgoraBase.h:3696
NETWORK_TYPE
Network type.
Definition AgoraBase.h:5206
unsigned int uid_t
Definition AgoraMediaBase.h:28
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
UPLOAD_ERROR_REASON
Definition AgoraBase.h:7374
REMOTE_VIDEO_STATE_REASON
The reason for the remote video state change.
Definition AgoraBase.h:3808
CopyableAutoPtr< IString > AString
Definition AgoraBase.h:182
Definition AgoraAtomicOps.h:21
LICENSE_ERROR_TYPE
Definition AgoraBase.h:794
The spatial audio parameters.
Definition AgoraBase.h:8055
Layout information of a specific sub-video stream within the mixed stream.
Definition AgoraBase.h:8136
Screenshot and upload configuration.
Definition AgoraMediaBase.h:1334
The snapshot configuration.
Definition AgoraMediaBase.h:1374
The volume information of users.
Definition AgoraBase.h:3973
The channel media options.
Definition IAgoraRtcEngine.h:1254
Configuration of cross channel media relay.
Definition AgoraBase.h:7059
Setting of user role properties.
Definition AgoraBase.h:2998
The configurations for the data stream.
Definition AgoraBase.h:2185
Built-in encryption configurations.
Definition AgoraBase.h:7285
The options for leaving a channel.
Definition IAgoraRtcEngine.h:1758
Transcoding configurations for Media Push.
Definition AgoraBase.h:4552
Local audio statistics.
Definition AgoraBase.h:4165
The statistics of the local video stream.
Definition IAgoraRtcEngine.h:311
Aggregates statistics of each network path in multipath transmission.
Definition AgoraBase.h:2694
Audio statistics of the remote user.
Definition IAgoraRtcEngine.h:435
Statistics of the remote video stream.
Definition IAgoraRtcEngine.h:576
Contains connection information.
Definition IAgoraRtcEngineEx.h:20
RtcConnection()
Definition IAgoraRtcEngineEx.h:30
RtcConnection(const char *channel_id, uid_t local_uid)
Definition IAgoraRtcEngineEx.h:31
uid_t localUid
Definition IAgoraRtcEngineEx.h:28
const char * channelId
Definition IAgoraRtcEngineEx.h:24
Statistics of a call session.
Definition AgoraBase.h:2741
Configure video streams of different quality levels.
Definition AgoraBase.h:2258
The configuration of the low-quality video stream.
Definition AgoraBase.h:2230
The information of the user.
Definition AgoraBase.h:7569
Attributes of the video canvas object.
Definition AgoraBase.h:5265
Video encoder configurations.
Definition AgoraBase.h:2057
Indicators during video frame rendering progress.
Definition AgoraBase.h:7717
Video subscription options.
Definition AgoraBase.h:1705
Used to configure watermark-related information.
Definition AgoraBase.h:2586
Watermark image configurations.
Definition AgoraBase.h:2408