Agora RTC Objective-C API Reference Refactor

NGIAgoraRtcConnection.h
Go to the documentation of this file.
1 //
2 // Agora SDK
3 //
4 // Created by Sting Feng in 2018-01.
5 // Copyright (c) 2018 Agora.io. All rights reserved.
6 //
7
8 #pragma once // NOLINT(build/header_guard)
9
10 #include "AgoraBase.h"
11 #include "time_utils.h"
12 #include <api/cpp/aosl_ares_class.h>
13
14 namespace agora {
15 namespace rtc {
16 class IAudioEncodedFrameSender;
17 class IRtcConnectionObserver;
18 class INetworkObserver;
19 class IRtcConnection;
20 class IVideoEncodedImageSender;
21 class ILocalUser;
22
26 struct TConnectionInfo {
30 conn_id_t id;
34 util::AString channelId;
38 CONNECTION_STATE_TYPE state;
42 util::AString localUserId;
46 uid_t internalUid;
47
48 int proxyType;
49
50 util::AString connectionIp;
51
52 TConnectionInfo() : id(-1), state(CONNECTION_STATE_DISCONNECTED), internalUid(0), proxyType(0) {}
53 };
54
55 struct TConnectSettings {
59 const char* token;
70 const char* channelId;
76 user_id_t userId;
77 /*Reserved for future use*/
78 const char* info;
79 /*
80 App can provide a app defined start time to trace some events like connect cost , first video, etc.
81 */
82 agora::Optional<int64_t> appDefinedStartTimeMs;
83 };
84
90 struct RtcConnectionConfiguration {
96 bool autoSubscribeAudio;
102 bool autoSubscribeVideo;
108 bool enableAudioRecordingOrPlayout;
112 int maxSendBitrate;
116 int minPort;
120 int maxPort;
124 CLIENT_ROLE_TYPE clientRoleType;
127 CHANNEL_PROFILE_TYPE channelProfile;
128
132 bool audioRecvEncodedFrame;
133
137 bool audioRecvMediaPacket;
138
142 bool videoRecvMediaPacket;
143
151 bool isInteractiveAudience;
152
156 bool isDataChannelOnly;
157
158 RtcConnectionConfiguration()
159 : autoSubscribeAudio(true),
160 autoSubscribeVideo(true),
161 enableAudioRecordingOrPlayout(true),
162 maxSendBitrate(-1),
163 minPort(0),
164 maxPort(0),
165 clientRoleType(CLIENT_ROLE_AUDIENCE),
166 channelProfile(CHANNEL_PROFILE_LIVE_BROADCASTING),
167 audioRecvEncodedFrame(false),
168 audioRecvMediaPacket(false),
169 videoRecvMediaPacket(false),
170 isInteractiveAudience(false),
171 isDataChannelOnly(false) {}
172 };
173
184 class IRtcConnection : public RefCountInterface {
185 protected:
186 ~IRtcConnection() {}
187
188 public:
216 virtual int connect(const char* token, const char* channelId, const char* info, user_id_t userId, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
217
229 virtual int connect(const TConnectSettings& settings, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
230
242 virtual int disconnect(aosl_ref_t ares = AOSL_REF_INVALID) = 0;
243
271 virtual int startLastmileProbeTest(const LastmileProbeConfig& config, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
272
279 virtual int stopLastmileProbeTest(aosl_ref_t ares = AOSL_REF_INVALID) = 0;
280
292 virtual int renewToken(const char* token, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
293
301 virtual TConnectionInfo getConnectionInfo() = 0;
302
310 virtual ILocalUser* getLocalUser() = 0;
311
324 virtual int getRemoteUsers(UserList& users) = 0;
325
336 virtual int getUserInfo(user_id_t userId, agora::UserInfo& userInfo) = 0;
337
346 virtual int registerObserver(IRtcConnectionObserver* observer, void(*safeDeleter)(IRtcConnectionObserver*) = NULL, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
347
357 virtual int unregisterObserver(IRtcConnectionObserver* observer) = 0;
358
367 virtual int registerNetworkObserver(INetworkObserver* observer, void(*safeDeleter)(INetworkObserver*) = NULL, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
368
378 virtual int unregisterNetworkObserver(INetworkObserver* observer) = 0;
379
387 virtual conn_id_t getConnId() = 0;
388
396 virtual RtcStats getTransportStats() = 0;
397
405 virtual agora::base::IAgoraParameter* getAgoraParameter() = 0;
406
426 virtual int createDataStream(int* streamId, bool reliable, bool ordered, bool sync) = 0;
427
443 virtual int sendStreamMessage(int streamId, const char* data, size_t length, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
444
455 virtual int sendRdtMessage(user_id_t userId, RdtStreamType type, const char *data, size_t length, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
456
467 virtual int sendMediaControlMessage(user_id_t userId, const char* data, size_t length, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
468
487 virtual int enableEncryption(bool enabled, const EncryptionConfig& config, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
488
502 virtual int sendCustomReportMessage(const char* id, const char* category, const char* event, const char* label, int value, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
514 virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo) = 0;
526 virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo) = 0;
527
546 virtual int enableMultipath(bool enable, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
547
560 virtual int setUplinkMultipathMode(MultipathMode mode, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
561
574 virtual int setDownlinkMultipathMode(MultipathMode mode, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
575
588 virtual int setPreferMultipathType(MultipathType type, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
589 };
590
594 class IRtcConnectionObserver {
595 public:
596 virtual ~IRtcConnectionObserver() {}
597
604 virtual void onConnected(const TConnectionInfo& connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason) = 0;
605
612 virtual void onDisconnected(const TConnectionInfo& connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason) = 0;
613
620 virtual void onConnecting(const TConnectionInfo& connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason) = 0;
621
628 virtual void onReconnecting(const TConnectionInfo& connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason) = 0;
629
630 // This should be deleted. onConnected is enough.
631 virtual void onReconnected(const TConnectionInfo& connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason) = 0;
632
638 virtual void onConnectionLost(const TConnectionInfo& connectionInfo) = 0;
639
647 virtual void onLastmileQuality(const QUALITY_TYPE quality) = 0;
648
656 virtual void onLastmileProbeResult(const LastmileProbeResult& result) = 0;
657
668 virtual void onTokenPrivilegeWillExpire(const char* token) = 0;
669
676 virtual void onTokenPrivilegeDidExpire() = 0;
677
689 virtual void onRenewTokenResult(const char* token, RENEW_TOKEN_ERROR_CODE code) = 0;
690
697 virtual void onConnectionFailure(const TConnectionInfo& connectionInfo,
698 CONNECTION_CHANGED_REASON_TYPE reason) = 0;
699
707 virtual void onUserJoined(user_id_t userId) = 0;
708
717 virtual void onUserLeft(user_id_t userId, USER_OFFLINE_REASON_TYPE reason) = 0;
718
726 virtual void onTransportStats(const RtcStats& stats) = 0;
727
735 virtual void onChangeRoleSuccess(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions& newRoleOptions) {
736 (void)oldRole;
737 (void)newRole;
738 (void)newRoleOptions;
739 }
740
744 virtual void onChangeRoleFailure(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole) {
745 (void)reason;
746 (void)currentRole;
747 }
748
755 virtual void onLicenseValidationFailure(LICENSE_ERROR_TYPE error) {
756 (void)error;
757 }
758
769 virtual void onUserNetworkQuality(user_id_t userId, QUALITY_TYPE txQuality,
770 QUALITY_TYPE rxQuality) {
771 (void)userId;
772 (void)txQuality;
773 (void)rxQuality;
774 }
775
779 virtual void onNetworkTypeChanged(NETWORK_TYPE type) {
780 (void)type;
781 }
782
784 virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result) { (void)result; }
797 virtual void onSnapshotTaken(user_id_t userId, const char* filePath, int width, int height, int errCode) {
798 (void)userId;
799 (void)filePath;
800 (void)width;
801 (void)height;
802 (void)errCode;
803 }
809 virtual void onError(ERROR_CODE_TYPE error, const char* msg) {
810 (void)error;
811 (void)msg;
812 }
813
843 virtual void onChannelMediaRelayStateChanged(int state, int code) = 0;
844
850 virtual void onLocalUserRegistered(uid_t uid, const char* userAccount) {
851 (void)uid;
852 (void)userAccount;
853 }
854
856 virtual void onUserAccountUpdated(uid_t uid, const char* userAccount) {
857 (void)uid;
858 (void)userAccount;
859 }
860
870 virtual void onStreamMessageError(user_id_t userId, int streamId, int code, int missed,
871 int cached) {
872 (void)userId;
873 (void)streamId;
874 (void)code;
875 (void)missed;
876 (void)cached;
877 }
878
883 virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) {
884 (void)errorType;
885 }
892 virtual void onUploadLogResult(const char* requestId, bool success, UPLOAD_ERROR_REASON reason) {
893 (void)requestId;
894 (void)success;
895 (void)reason;
896 }
897
903 virtual void onSetRtmFlagResult(int code) {
904 (void)code;
905 }
906
912 virtual void onMultipathStats(const MultipathStats& stats) {
913 (void)stats;
914 }
915 };
916
917 class INetworkObserver {
918 public:
919 virtual ~INetworkObserver() {}
920
921 public:
930 virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo& info) {
931 (void)info;
932 }
933
941 virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo& info) {
942 (void)info;
943 }
944 };
945
946 } // namespace rtc
947 } // namespace agora
agora::rtc::QUALITY_TYPE
QUALITY_TYPE
Network quality types.
Definition: AgoraBase.h:940
agora::rtc::IRtcConnection::enableMultipath
virtual int enableMultipath(bool enable, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::UPLOAD_ERROR_REASON
UPLOAD_ERROR_REASON
Definition: AgoraBase.h:7375
agora::rtc::IRtcConnectionObserver::onStreamMessageError
virtual void onStreamMessageError(user_id_t userId, int streamId, int code, int missed, int cached)
Definition: NGIAgoraRtcConnection.h:870
agora::rtc::TConnectionInfo::TConnectionInfo
TConnectionInfo()
Definition: NGIAgoraRtcConnection.h:52
agora::CHANNEL_PROFILE_LIVE_BROADCASTING
@ CHANNEL_PROFILE_LIVE_BROADCASTING
Definition: AgoraBase.h:275
agora::rtc::IRtcConnection::setDownlinkMultipathMode
virtual int setDownlinkMultipathMode(MultipathMode mode, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::UserInfo
The information of the user.
Definition: AgoraBase.h:7570
agora::rtc::RtcConnectionConfiguration::channelProfile
CHANNEL_PROFILE_TYPE channelProfile
Definition: NGIAgoraRtcConnection.h:127
agora::rtc::LastmileProbeResult
Results of the uplink and downlink last-mile network tests.
Definition: AgoraBase.h:5017
agora::ERROR_CODE_TYPE
ERROR_CODE_TYPE
Error codes.
Definition: AgoraBase.h:458
agora::rtc::IRtcConnectionObserver::onChannelMediaRelayStateChanged
virtual void onChannelMediaRelayStateChanged(int state, int code)=0
agora::rtc::TConnectSettings::userId
user_id_t userId
Definition: NGIAgoraRtcConnection.h:76
agora::base::IAgoraParameter
The interface class of Agora RTC SDK, which provides JSON configuration information of the SDK.
Definition: IAgoraParameter.h:151
agora::rtc::LastmileProbeConfig
Configurations of the last-mile network test.
Definition: AgoraBase.h:4948
agora::rtc::TConnectSettings::appDefinedStartTimeMs
agora::Optional< int64_t > appDefinedStartTimeMs
Definition: NGIAgoraRtcConnection.h:82
agora::rtc::RtcConnectionConfiguration::minPort
int minPort
Definition: NGIAgoraRtcConnection.h:116
AgoraBase.h
agora::rtc::USER_OFFLINE_REASON_TYPE
USER_OFFLINE_REASON_TYPE
Reasons for a user being offline.
Definition: AgoraBase.h:884
agora::rtc::RtcConnectionConfiguration::maxPort
int maxPort
Definition: NGIAgoraRtcConnection.h:120
agora::rtc::IRtcConnectionObserver::onDisconnected
virtual void onDisconnected(const TConnectionInfo &connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason)=0
agora::rtc::uid_t
unsigned int uid_t
Definition: AgoraMediaBase.h:28
agora::rtc::INetworkObserver
Definition: NGIAgoraRtcConnection.h:917
agora::rtc::IRtcConnectionObserver::onRenewTokenResult
virtual void onRenewTokenResult(const char *token, RENEW_TOKEN_ERROR_CODE code)=0
Reports the result of calling renewToken.
agora::rtc::IRtcConnection::~IRtcConnection
~IRtcConnection()
Definition: NGIAgoraRtcConnection.h:186
agora::rtc::IRtcConnectionObserver::onChangeRoleFailure
virtual void onChangeRoleFailure(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole)
Definition: NGIAgoraRtcConnection.h:744
agora::rtc::IRtcConnectionObserver::onUserJoined
virtual void onUserJoined(user_id_t userId)=0
agora::rtc::IRtcConnectionObserver
Definition: NGIAgoraRtcConnection.h:594
agora::rtc::IRtcConnectionObserver::onSetRtmFlagResult
virtual void onSetRtmFlagResult(int code)
Definition: NGIAgoraRtcConnection.h:903
agora::rtc::IRtcConnectionObserver::onEncryptionError
virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType)
Definition: NGIAgoraRtcConnection.h:883
agora::rtc::IRtcConnectionObserver::onConnectionLost
virtual void onConnectionLost(const TConnectionInfo &connectionInfo)=0
agora::rtc::IRtcConnectionObserver::onUploadLogResult
virtual void onUploadLogResult(const char *requestId, bool success, UPLOAD_ERROR_REASON reason)
Definition: NGIAgoraRtcConnection.h:892
agora::rtc::IRtcConnection::stopLastmileProbeTest
virtual int stopLastmileProbeTest(aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::TConnectionInfo::localUserId
util::AString localUserId
Definition: NGIAgoraRtcConnection.h:42
agora::rtc::IRtcConnectionObserver::onLocalUserRegistered
virtual void onLocalUserRegistered(uid_t uid, const char *userAccount)
Definition: NGIAgoraRtcConnection.h:850
agora::rtc::IRtcConnection::registerObserver
virtual int registerObserver(IRtcConnectionObserver *observer, void(*safeDeleter)(IRtcConnectionObserver *)=NULL, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::util::AList
Definition: AgoraBase.h:233
agora::rtc::RtcConnectionConfiguration::maxSendBitrate
int maxSendBitrate
Definition: NGIAgoraRtcConnection.h:112
agora::rtc::IRtcConnection::unregisterObserver
virtual int unregisterObserver(IRtcConnectionObserver *observer)=0
agora::rtc::CONNECTION_STATE_DISCONNECTED
@ CONNECTION_STATE_DISCONNECTED
Definition: AgoraBase.h:4441
agora::rtc::IRtcConnection::getLocalUser
virtual ILocalUser * getLocalUser()=0
agora::rtc::IRtcConnection::sendRdtMessage
virtual int sendRdtMessage(user_id_t userId, RdtStreamType type, const char *data, size_t length, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::IRtcConnectionObserver::onTransportStats
virtual void onTransportStats(const RtcStats &stats)=0
agora::rtc::MultipathMode
MultipathMode
The transmission mode of data over multiple network paths.
Definition: AgoraBase.h:2631
agora::rtc::TConnectSettings
Definition: NGIAgoraRtcConnection.h:55
agora::rtc::IRtcConnection::getUserInfo
virtual int getUserInfo(user_id_t userId, agora::UserInfo &userInfo)=0
agora::rtc::IRtcConnection::startLastmileProbeTest
virtual int startLastmileProbeTest(const LastmileProbeConfig &config, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::TConnectionInfo::connectionIp
util::AString connectionIp
Definition: NGIAgoraRtcConnection.h:50
agora::rtc::IRtcConnectionObserver::onReconnecting
virtual void onReconnecting(const TConnectionInfo &connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason)=0
agora::rtc::CLIENT_ROLE_TYPE
CLIENT_ROLE_TYPE
The user role in the interactive live streaming.
Definition: AgoraBase.h:2951
agora::rtc::IRtcConnectionObserver::onLastmileProbeResult
virtual void onLastmileProbeResult(const LastmileProbeResult &result)=0
agora
Definition: AgoraAtomicOps.h:21
agora::rtc::ENCRYPTION_ERROR_TYPE
ENCRYPTION_ERROR_TYPE
Encryption error type.
Definition: AgoraBase.h:7350
agora::rtc::UplinkNetworkInfo
The uplink network information.
Definition: AgoraBase.h:7106
agora::rtc::IRtcConnection::setUplinkMultipathMode
virtual int setUplinkMultipathMode(MultipathMode mode, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::RtcConnectionConfiguration::autoSubscribeVideo
bool autoSubscribeVideo
Definition: NGIAgoraRtcConnection.h:102
agora::rtc::CONNECTION_CHANGED_REASON_TYPE
CONNECTION_CHANGED_REASON_TYPE
Reasons causing the change of the connection state.
Definition: AgoraBase.h:5041
agora::rtc::IRtcConnection::disconnect
virtual int disconnect(aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::TConnectionInfo
Definition: NGIAgoraRtcConnection.h:26
agora::rtc::IRtcConnectionObserver::onUserLeft
virtual void onUserLeft(user_id_t userId, USER_OFFLINE_REASON_TYPE reason)=0
agora::rtc::IRtcConnectionObserver::onUserAccountUpdated
virtual void onUserAccountUpdated(uid_t uid, const char *userAccount)
Definition: NGIAgoraRtcConnection.h:856
agora::rtc::IRtcConnectionObserver::~IRtcConnectionObserver
virtual ~IRtcConnectionObserver()
Definition: NGIAgoraRtcConnection.h:596
agora::rtc::IRtcConnection::getRemoteUsers
virtual int getRemoteUsers(UserList &users)=0
agora::rtc::IRtcConnectionObserver::onTokenPrivilegeWillExpire
virtual void onTokenPrivilegeWillExpire(const char *token)=0
agora::rtc::DownlinkNetworkInfo
Definition: AgoraBase.h:7119
agora::rtc::RtcConnectionConfiguration::autoSubscribeAudio
bool autoSubscribeAudio
Definition: NGIAgoraRtcConnection.h:96
agora::rtc::TConnectionInfo::internalUid
uid_t internalUid
Definition: NGIAgoraRtcConnection.h:46
agora::rtc::IRtcConnectionObserver::onTokenPrivilegeDidExpire
virtual void onTokenPrivilegeDidExpire()=0
agora::rtc::IRtcConnectionObserver::onLicenseValidationFailure
virtual void onLicenseValidationFailure(LICENSE_ERROR_TYPE error)
Definition: NGIAgoraRtcConnection.h:755
agora::rtc::RtcConnectionConfiguration::isDataChannelOnly
bool isDataChannelOnly
Definition: NGIAgoraRtcConnection.h:156
agora::rtc::RtcConnectionConfiguration::clientRoleType
CLIENT_ROLE_TYPE clientRoleType
Definition: NGIAgoraRtcConnection.h:124
agora::rtc::IRtcConnectionObserver::onConnecting
virtual void onConnecting(const TConnectionInfo &connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason)=0
agora::CHANNEL_PROFILE_TYPE
CHANNEL_PROFILE_TYPE
The channel profile.
Definition: AgoraBase.h:267
agora::rtc::IRtcConnection::getUserInfoByUid
virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo *userInfo)=0
agora::rtc::IRtcConnection::connect
virtual int connect(const TConnectSettings &settings, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::CLIENT_ROLE_AUDIENCE
@ CLIENT_ROLE_AUDIENCE
Definition: AgoraBase.h:2959
agora::rtc::conn_id_t
unsigned int conn_id_t
Definition: AgoraMediaBase.h:30
agora::rtc::TConnectSettings::token
const char * token
Definition: NGIAgoraRtcConnection.h:59
agora::rtc::IRtcConnection::getTransportStats
virtual RtcStats getTransportStats()=0
agora::rtc::TConnectionInfo::proxyType
int proxyType
Definition: NGIAgoraRtcConnection.h:48
agora::UserInfo
The information of the user.
Definition: AgoraBase.h:855
agora::rtc::IRtcConnection::createDataStream
virtual int createDataStream(int *streamId, bool reliable, bool ordered, bool sync)=0
agora::rtc::ILocalUser
Definition: NGIAgoraLocalUser.h:56
agora::rtc::IRtcConnection::sendStreamMessage
virtual int sendStreamMessage(int streamId, const char *data, size_t length, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::IRtcConnectionObserver::onMultipathStats
virtual void onMultipathStats(const MultipathStats &stats)
Definition: NGIAgoraRtcConnection.h:912
agora::media::CONTENT_INSPECT_RESULT
CONTENT_INSPECT_RESULT
Definition: AgoraMediaBase.h:1274
agora::rtc::INetworkObserver::onUplinkNetworkInfoUpdated
virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo &info)
Definition: NGIAgoraRtcConnection.h:930
agora::rtc::TConnectSettings::channelId
const char * channelId
Definition: NGIAgoraRtcConnection.h:70
agora::rtc::RtcConnectionConfiguration::RtcConnectionConfiguration
RtcConnectionConfiguration()
Definition: NGIAgoraRtcConnection.h:158
agora::rtc::TConnectSettings::info
const char * info
Definition: NGIAgoraRtcConnection.h:78
agora::rtc::MultipathStats
Aggregates statistics of each network path in multipath transmission.
Definition: AgoraBase.h:2695
agora::rtc::INetworkObserver::onDownlinkNetworkInfoUpdated
virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo &info)
Definition: NGIAgoraRtcConnection.h:941
agora::rtc::EncryptionConfig
Built-in encryption configurations.
Definition: AgoraBase.h:7286
time_utils.h
agora::rtc::RtcConnectionConfiguration::audioRecvMediaPacket
bool audioRecvMediaPacket
Definition: NGIAgoraRtcConnection.h:137
agora::rtc::MultipathType
MultipathType
Network path types used in multipath transmission.
Definition: AgoraBase.h:2649
agora::rtc::IRtcConnectionObserver::onChangeRoleSuccess
virtual void onChangeRoleSuccess(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions &newRoleOptions)
Definition: NGIAgoraRtcConnection.h:735
agora::rtc::RtcStats
Statistics of a call session.
Definition: AgoraBase.h:2742
agora::rtc::IRtcConnectionObserver::onConnectionFailure
virtual void onConnectionFailure(const TConnectionInfo &connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason)=0
agora::rtc::IRtcConnectionObserver::onLastmileQuality
virtual void onLastmileQuality(const QUALITY_TYPE quality)=0
agora::rtc::RtcConnectionConfiguration::isInteractiveAudience
bool isInteractiveAudience
Definition: NGIAgoraRtcConnection.h:151
agora::rtc::RtcConnectionConfiguration
Definition: NGIAgoraRtcConnection.h:90
agora::rtc::IRtcConnection::sendCustomReportMessage
virtual int sendCustomReportMessage(const char *id, const char *category, const char *event, const char *label, int value, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::RefCountInterface
Definition: AgoraRefPtr.h:31
agora::rtc::IRtcConnection::getAgoraParameter
virtual agora::base::IAgoraParameter * getAgoraParameter()=0
agora::rtc::IRtcConnection::connect
virtual int connect(const char *token, const char *channelId, const char *info, user_id_t userId, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::RtcConnectionConfiguration::enableAudioRecordingOrPlayout
bool enableAudioRecordingOrPlayout
Definition: NGIAgoraRtcConnection.h:108
agora::rtc::IRtcConnectionObserver::onNetworkTypeChanged
virtual void onNetworkTypeChanged(NETWORK_TYPE type)
Definition: NGIAgoraRtcConnection.h:779
agora::rtc::IRtcConnection::setPreferMultipathType
virtual int setPreferMultipathType(MultipathType type, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::RENEW_TOKEN_ERROR_CODE
RENEW_TOKEN_ERROR_CODE
Represents the error codes after calling renewToken.
Definition: AgoraBase.h:7386
agora::rtc::TConnectionInfo::id
conn_id_t id
Definition: NGIAgoraRtcConnection.h:30
agora::rtc::IRtcConnection
Definition: NGIAgoraRtcConnection.h:184
agora::util::CopyableAutoPtr
Definition: AgoraBase.h:156
agora::rtc::NETWORK_TYPE
NETWORK_TYPE
Network type.
Definition: AgoraBase.h:5207
agora::rtc::IRtcConnection::renewToken
virtual int renewToken(const char *token, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::IRtcConnectionObserver::onError
virtual void onError(ERROR_CODE_TYPE error, const char *msg)
Definition: NGIAgoraRtcConnection.h:809
agora::rtc::IRtcConnection::unregisterNetworkObserver
virtual int unregisterNetworkObserver(INetworkObserver *observer)=0
agora::rtc::IRtcConnection::getConnId
virtual conn_id_t getConnId()=0
agora::rtc::IRtcConnectionObserver::onContentInspectResult
virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result)
Definition: NGIAgoraRtcConnection.h:784
agora::rtc::TConnectionInfo::channelId
util::AString channelId
Definition: NGIAgoraRtcConnection.h:34
agora::rtc::IRtcConnection::getUserInfoByUserAccount
virtual int getUserInfoByUserAccount(const char *userAccount, rtc::UserInfo *userInfo)=0
agora::rtc::RtcConnectionConfiguration::videoRecvMediaPacket
bool videoRecvMediaPacket
Definition: NGIAgoraRtcConnection.h:142
agora::rtc::IRtcConnectionObserver::onUserNetworkQuality
virtual void onUserNetworkQuality(user_id_t userId, QUALITY_TYPE txQuality, QUALITY_TYPE rxQuality)
Definition: NGIAgoraRtcConnection.h:769
agora::rtc::RdtStreamType
RdtStreamType
Reliable Data Transmission Tunnel message stream type.
Definition: AgoraBase.h:7967
agora::rtc::IRtcConnectionObserver::onSnapshotTaken
virtual void onSnapshotTaken(user_id_t userId, const char *filePath, int width, int height, int errCode)
snapshot taken callback
Definition: NGIAgoraRtcConnection.h:797
agora::LICENSE_ERROR_TYPE
LICENSE_ERROR_TYPE
Definition: AgoraBase.h:794
agora::rtc::IRtcConnectionObserver::onConnected
virtual void onConnected(const TConnectionInfo &connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason)=0
agora::rtc::CLIENT_ROLE_CHANGE_FAILED_REASON
CLIENT_ROLE_CHANGE_FAILED_REASON
The reason for a user role switch failure.
Definition: AgoraBase.h:5177
agora::rtc::IRtcConnection::enableEncryption
virtual int enableEncryption(bool enabled, const EncryptionConfig &config, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::RtcConnectionConfiguration::audioRecvEncodedFrame
bool audioRecvEncodedFrame
Definition: NGIAgoraRtcConnection.h:132
agora::user_id_t
const char * user_id_t
Definition: AgoraBase.h:849
agora::Optional< int64_t >
agora::rtc::ClientRoleOptions
Setting of user role properties.
Definition: AgoraBase.h:2999
agora::rtc::IRtcConnection::sendMediaControlMessage
virtual int sendMediaControlMessage(user_id_t userId, const char *data, size_t length, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::IRtcConnection::getConnectionInfo
virtual TConnectionInfo getConnectionInfo()=0
agora::rtc::IRtcConnectionObserver::onReconnected
virtual void onReconnected(const TConnectionInfo &connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason)=0
agora::rtc::INetworkObserver::~INetworkObserver
virtual ~INetworkObserver()
Definition: NGIAgoraRtcConnection.h:919
agora::rtc::IRtcConnection::registerNetworkObserver
virtual int registerNetworkObserver(INetworkObserver *observer, void(*safeDeleter)(INetworkObserver *)=NULL, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::TConnectionInfo::state
CONNECTION_STATE_TYPE state
Definition: NGIAgoraRtcConnection.h:38