Agora C++ API Reference for All Platforms

agora_service_i.h
1 //
2 // Agora Media SDK
3 //
4 // Created by Sting Feng in 2015-05.
5 // Copyright (c) 2015 Agora IO. All rights reserved.
6 //
7 #pragma once
8
9 #include <memory>
10 #include <string>
11
12 #include "AgoraRefPtr.h"
13
14 #include "IAgoraService.h"
15 #include "IAgoraLog.h"
16
17 #include "audio_options_i.h"
18 #include "content_inspect_i.h"
19 #include "sync_client_i.h"
20 #include "audio_track_i.h"
21 #include "video_track_i.h"
22 #include "media_node_factory_i.h"
23 #include "bitrate_constraints.h"
24 #include "media_component/IAudioDeviceManager.h"
25 #include "api2/NGIAgoraAudioDeviceManager.h"
26 #include "api2/NGIAgoraMediaNode.h"
27
28 #include <functional>
29 #include <string>
30 #include <api/aosl_ref.h>
31
32 namespace agora {
33 namespace commons{
34 class io_engine_base;
35 }
36 namespace rtm {
37 struct RtmConfig;
38 }
39 namespace rtc {
40 class AgoraGenericBridge;
41 class ConfigSourceAP;
42 class IDiagnosticService;
43 class ILocalUserEx;
44 class IRtcConnection;
45 struct RtcConnectionConfigurationEx;
46 class IMediaExtensionObserver;
47 class XdumpHandler;
48 } // namespace rtc
49
50 namespace base {
51 class IAgoraServiceObserver;
52
53 enum MediaEngineType {
57 MEDIA_ENGINE_WEBRTC,
61 MEDIA_ENGINE_EMPTY,
65 MEDIA_ENGINE_UNKNOWN
66 };
67
68 struct AgoraServiceConfigEx : public AgoraServiceConfiguration {
69 MediaEngineType engineType = MEDIA_ENGINE_WEBRTC;
70 const char* deviceId = nullptr;
71 const char* deviceInfo = nullptr;
72 const char* systemInfo = nullptr;
73 const char* configDir = nullptr;
74 const char* dataDir = nullptr;
75 const char* pluginDir = nullptr;
76 const char* shortCountryCode = nullptr;
77 rtc::BitrateConstraints bitrateConstraints;
78 bool apSendRequest = true;
79
80 AgoraServiceConfigEx() {
81 bitrateConstraints.start_bitrate_bps = kDefaultStartBitrateBps;
82 bitrateConstraints.max_bitrate_bps = kDefaultMaxBitrateBps;
83 }
84
85 AgoraServiceConfigEx(const AgoraServiceConfiguration& rhs)
86 : AgoraServiceConfiguration(rhs) {
87 bitrateConstraints.max_bitrate_bps = kDefaultMaxBitrateBps;
88 bitrateConstraints.start_bitrate_bps = kDefaultStartBitrateBps;
89 }
90
91 private:
92 static constexpr int kDefaultMaxBitrateBps = (24 * 10 * 1000 * 95);
93 static constexpr int kDefaultStartBitrateBps = 300000;
94 };
95
96
97 // full feature definition of rtc engine interface
98 class IAgoraServiceEx : public IAgoraService {
99 public:
100 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
101 using ScreenCaptureType = rtc::IScreenCapturer2;
102 #else
103 using ScreenCaptureType = rtc::IScreenCapturer;
104 #endif
105 using IAgoraService::initialize;
106 virtual int initialize(const rtm::RtmConfig& rtmCfg) { return 0; }
107 virtual void set_lite_initialized(bool initialized) {}
108 virtual int initializeLLApiInternal(const AgoraServiceConfiguration& config) = 0;
109 virtual int initializeEx(const AgoraServiceConfigEx& context) = 0;
110 virtual agora_refptr<rtc::IRtcConnectionEx> createRtcConnectionEx(
111 const rtc::RtcConnectionConfigurationEx& cfg) = 0;
112
113 virtual int32_t setAudioDumpPath(const char* filePath) = 0;
114
115 virtual rtc::IRtcConnection* getOneRtcConnection(bool admBinded) const = 0;
116
117 virtual void enableStringUid(bool enabled) = 0;
118 virtual bool useStringUid() const = 0;
119 virtual bool externalAudioSinkEnabled() const = 0;
120 virtual rtc::uid_t getUidByUserAccount(const std::string& app_id, const std::string& user_account) const = 0;
121
122 // Register string user account before join channel, this would speed up join channel time.
123 virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0;
124
125 virtual rtc::IDiagnosticService *getDiagnosticService() const = 0;
126
127 virtual int registerAgoraServiceObserver(IAgoraServiceObserver* observer) = 0;
128 virtual int unregisterAgoraServiceObserver(IAgoraServiceObserver* observer) = 0;
129
130 virtual agora_refptr<rtc::IFileUploaderService> createFileUploadServiceEx(
131 agora_refptr<rtc::IRtcConnection> rtcConnection, const char* appId, media::CONTENT_INSPECT_CLOUD_TYPE cloudType) = 0;
132
133 virtual int releaseEngineResourceLLApiInternal() = 0;
134 virtual int atExitLLApiInternal() = 0;
135 virtual int releaseLLApiInternal() = 0;
136 virtual int setLogFileLLApiInternal(const char* filePath, unsigned int fileSize) = 0;
137 virtual int setLogFilterLLApiInternal(unsigned int filters) = 0;
138 virtual agora_refptr<rtc::IRtcConnectionEx> getRtcConnectionInChannel(const char* name,
139 const user_id_t usrId) = 0;
140 virtual int getConnectionCountsWithChannelId(const char* channelId) = 0;
141 #if defined(FEATURE_RTM_SERVICE)
142 virtual rtm::IRtmService* createRtmServiceLLApiInternal() = 0;
143 #endif
144 virtual int setAudioSessionPresetLLApiInternal(rtc::AUDIO_SCENARIO_TYPE scenario) = 0;
145 virtual int setAudioSessionConfigurationLLApiInternal(const AudioSessionConfiguration& config) = 0;
146 virtual int getAudioSessionConfigurationLLApiInternal(AudioSessionConfiguration* config) = 0;
147 virtual agora_refptr<rtc::IRtcConnection> createRtcConnectionLLApiInternal( const rtc::RtcConnectionConfiguration& cfg) = 0;
148 virtual agora_refptr<rtc::IRtmpConnection> createRtmpConnectionLLApiInternal(const rtc::RtmpConnectionConfiguration& cfg) = 0;
149 virtual agora_refptr<rtc::ILocalAudioTrackEx> createLocalAudioTrackLLApiInternal() = 0;
150 virtual agora_refptr<rtc::ILocalAudioTrackEx> createLocalMixedAudioTrackLLApiInternal() = 0;
151 virtual agora_refptr<rtc::ILocalAudioTrackEx> createCustomAudioTrackLLApiInternal(agora_refptr<rtc::IAudioPcmDataSender> audioSource) = 0;
152 virtual agora_refptr<rtc::ILocalAudioTrackEx> createDirectCustomAudioTrackLLApiInternal(agora_refptr<rtc::IAudioPcmDataSender> audioSource, bool enableAudioProcessing) = 0;
153 virtual agora_refptr<rtc::ILocalAudioTrackEx> createCustomAudioTrackLLApiInternal(agora_refptr<rtc::IAudioPcmDataSender> audioSource, bool enableAec) = 0;
154 virtual agora_refptr<rtc::ILocalAudioTrackEx> createCustomAudioTrackLLApiInternal(agora_refptr<rtc::IRemoteAudioMixerSource> audioSource) = 0;
155 virtual agora_refptr<rtc::ILocalAudioTrackEx> createCustomAudioTrackLLApiInternal(agora_refptr<rtc::IAudioEncodedFrameSender> audioSource, TMixMode mixMode) = 0;
156 virtual agora_refptr<rtc::ILocalAudioTrackEx> createCustomAudioTrackLLApiInternal(agora_refptr<rtc::IMediaPacketSender> source) = 0;
157 virtual agora_refptr<rtc::ILocalAudioTrackEx> createMediaPlayerAudioTrackLLApiInternal( agora_refptr<rtc::IMediaPlayerSource> playerSource) = 0;
158 virtual agora_refptr<rtc::ILocalAudioTrackEx> createMediaStreamingAudioTrackLLApiInternal(agora_refptr<rtc::IMediaStreamingSource> streamingSource) = 0;
159 virtual agora_refptr<rtc::ILocalAudioTrackEx> createRecordingDeviceAudioTrackLLApiInternal(agora_refptr<rtc::IRecordingDeviceSource> audioSource, bool enableAec, bool overlap) = 0;
160 virtual agora_refptr<rtc::INGAudioDeviceManager> createAudioDeviceManagerLLApiInternal() = 0;
161 virtual agora_refptr<rtc::IMediaNodeFactoryEx> createMediaNodeFactoryLLApiInternal() = 0;
162 virtual agora_refptr<rtc::ILocalVideoTrackEx> createCameraVideoTrackLLApiInternal(agora_refptr<rtc::ICameraCapturer> videoSource, const char* track_id) = 0;
163
164 virtual agora_refptr<rtc::ILocalVideoTrackEx> createMixedVideoTrackLLApiInternal(agora_refptr<rtc::IVideoMixerSource> videoSource, const char* id) = 0;
165 virtual agora_refptr<rtc::ILocalVideoTrackEx> createTranscodedVideoTrackLLApiInternal(agora_refptr<rtc::IVideoFrameTransceiver> transceiver, const char* id) = 0;
166 virtual agora_refptr<rtc::ILocalVideoTrackEx> createCustomVideoTrackLLApiInternal(agora_refptr<rtc::IVideoFrameSender> videoSource, const char* id) = 0;
167 virtual agora_refptr<rtc::ILocalVideoTrackEx> createCustomVideoTrackLLApiInternal(agora_refptr<rtc::IVideoEncodedImageSender> videoSource, const rtc::SenderOptions& options, const char* id = nullptr) = 0;
168 virtual agora_refptr<rtc::ILocalVideoTrackEx> createCustomVideoTrackLLApiInternal(agora_refptr<rtc::IMediaPacketSender> source, const char* id = nullptr) = 0;
169 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
170 virtual agora_refptr<rtc::ILocalVideoTrackEx> createScreenCaptureVideoTrackLLApiInternal(agora_refptr<rtc::IScreenCapturer2> screen) = 0;
171 #else
172 virtual agora_refptr<rtc::ILocalVideoTrackEx> createScreenCaptureVideoTrackLLApiInternal(agora_refptr<rtc::IScreenCapturer> screen, const char* id) = 0;
173 #endif
174 virtual agora_refptr<rtc::ILocalAudioTrackEx> createScreenCaptureAudioTrackLLApiInternal(agora_refptr<ScreenCaptureType> screen) = 0;
175 virtual agora_refptr<rtc::ILocalVideoTrackEx> createMediaPlayerVideoTrackLLApiInternal(agora_refptr<rtc::IMediaPlayerSource> playerVideoSource, const char* id = nullptr) = 0;
176 virtual agora_refptr<rtc::ILocalVideoTrackEx> createMediaStreamingVideoTrackLLApiInternal(agora_refptr<rtc::IMediaStreamingSource> streamingSource, const char* id = nullptr) = 0;
177 virtual agora_refptr<rtc::IRtmpStreamingService> createRtmpStreamingServiceLLApiInternal(agora_refptr<rtc::IRtcConnection> rtcConnection, const char* appId) = 0;
178 virtual agora_refptr<rtc::IMediaRelayService> createMediaRelayServiceLLApiInternal(agora_refptr<rtc::IRtcConnection> rtcConnection, const char* appId) = 0;
179 virtual agora_refptr<rtc::IAudioDeviceManager> createAudioDeviceManagerComponentLLApiInternal(rtc::IAudioDeviceManagerObserver* observer) = 0;
180 virtual agora_refptr<rtc::IFileUploaderService> createFileUploadServiceLLApiInternal(agora_refptr<rtc::IRtcConnection> rtcConnection, const char* appId) = 0;
181 virtual agora_refptr<ILocalDataChannel> createLocalDataChannelLLApiInternal( const DataChannelConfig& config) = 0;
182 virtual agora_refptr<rtc::IConfigCenter> getConfigCenterLLApiInternal() = 0;
183 virtual agora_refptr<base::ISyncClientEx> createSyncClientLLApiInternal(const SyncConfig& config) = 0;
184 virtual int addExtensionObserverLLApiInternal(agora::agora_refptr<agora::rtc::IMediaExtensionObserver> observer) = 0;
185 virtual int removeExtensionObserverLLApiInternal(agora::agora_refptr<agora::rtc::IMediaExtensionObserver> observer) = 0;
186 virtual const char* getExtensionIdLLApiInternal(const char* provider_name, const char* extension_name) = 0;
187 virtual int enableExtensionLLApiInternal(const char* provider_name, const char* extension_name, const char* track_id, bool auto_enable_on_track) = 0;
188 virtual int disableExtensionLLApiInternal(const char* provider_name, const char* extension_name, const char* track_id) = 0;
197 virtual int startTrace(uint32_t count, uint64_t mask) = 0;
206 virtual int stopTrace(const char* file_path) = 0;
207
227 virtual int setExternalAudioSink(bool enabled, int sampleRate, int channels) = 0;
228
238 virtual int pullPlaybackAudioPcmData(void* payloadData, const rtc::AudioPcmDataInfo& audioFrameInfo) = 0;
239 #if defined(ENABLE_MEDIA_PLAYER)
240 virtual aosl_ref_t createRhythmPlayer() = 0;
241
242 virtual int destroyRhythmPlayer(aosl_ref_t ref_id) = 0;
243
244 virtual aosl_ref_t createMediaPlayer(media::base::MEDIA_PLAYER_SOURCE_TYPE type) = 0;
245
246 virtual int destroyMediaPlayer(aosl_ref_t ref_id) = 0;
247 #endif
248
249 virtual int unregisterServiceEventObserver(IServiceObserver* observer) = 0;
250
251 virtual commons::io_engine_base* getIoEngine() = 0;
252 #if defined(__ANDROID__)
253
267 virtual int setExternalRemoteEglContext(void* eglContext) = 0;
268 #endif
269 protected:
270 virtual ~IAgoraServiceEx() {}
271 };
272
273 class IAgoraServiceObserver{
274 public:
275 virtual ~IAgoraServiceObserver() = default;
276
277 virtual void onLocalUserRegistered(rtc::uid_t uid, const char* userAccount) = 0;
278 };
279
280 IAgoraServiceEx* GetService();
281
282 } // namespace base
283 } // namespace agora
agora::base::IAgoraServiceObserver
Definition: agora_service_i.h:273
agora::base::IAgoraServiceEx::initialize
virtual int initialize(const rtm::RtmConfig &rtmCfg)
Definition: agora_service_i.h:106
agora::base::IAgoraServiceEx::createMediaStreamingAudioTrackLLApiInternal
virtual agora_refptr< rtc::ILocalAudioTrackEx > createMediaStreamingAudioTrackLLApiInternal(agora_refptr< rtc::IMediaStreamingSource > streamingSource)=0
agora::base::IAgoraServiceEx::getConfigCenterLLApiInternal
virtual agora_refptr< rtc::IConfigCenter > getConfigCenterLLApiInternal()=0
agora::base::IAgoraService
Definition: IAgoraService.h:395
agora::rtc::BitrateConstraints::start_bitrate_bps
int start_bitrate_bps
Definition: bitrate_constraints.h:22
agora::rtc::SenderOptions
Definition: AgoraBase.h:1253
agora::base::IAgoraServiceEx::createAudioDeviceManagerLLApiInternal
virtual agora_refptr< rtc::INGAudioDeviceManager > createAudioDeviceManagerLLApiInternal()=0
agora::base::IAgoraServiceEx::createCustomVideoTrackLLApiInternal
virtual agora_refptr< rtc::ILocalVideoTrackEx > createCustomVideoTrackLLApiInternal(agora_refptr< rtc::IMediaPacketSender > source, const char *id=nullptr)=0
agora::base::IAgoraServiceEx::destroyRhythmPlayer
virtual int destroyRhythmPlayer(aosl_ref_t ref_id)=0
agora::base::IAgoraServiceEx::createRecordingDeviceAudioTrackLLApiInternal
virtual agora_refptr< rtc::ILocalAudioTrackEx > createRecordingDeviceAudioTrackLLApiInternal(agora_refptr< rtc::IRecordingDeviceSource > audioSource, bool enableAec, bool overlap)=0
agora::base::IAgoraServiceEx::initializeLLApiInternal
virtual int initializeLLApiInternal(const AgoraServiceConfiguration &config)=0
agora::base::IAgoraServiceEx::createRtmServiceLLApiInternal
virtual rtm::IRtmService * createRtmServiceLLApiInternal()=0
agora::media::base::MEDIA_PLAYER_SOURCE_TYPE
MEDIA_PLAYER_SOURCE_TYPE
Definition: AgoraMediaBase.h:1122
agora::base::IAgoraServiceEx::createFileUploadServiceLLApiInternal
virtual agora_refptr< rtc::IFileUploaderService > createFileUploadServiceLLApiInternal(agora_refptr< rtc::IRtcConnection > rtcConnection, const char *appId)=0
agora::base::AgoraServiceConfigEx::pluginDir
const char * pluginDir
Definition: agora_service_i.h:75
agora::base::AgoraServiceConfigEx::AgoraServiceConfigEx
AgoraServiceConfigEx()
Definition: agora_service_i.h:80
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::base::IAgoraServiceEx::createAudioDeviceManagerComponentLLApiInternal
virtual agora_refptr< rtc::IAudioDeviceManager > createAudioDeviceManagerComponentLLApiInternal(rtc::IAudioDeviceManagerObserver *observer)=0
agora::base::IAgoraServiceEx::addExtensionObserverLLApiInternal
virtual int addExtensionObserverLLApiInternal(agora::agora_refptr< agora::rtc::IMediaExtensionObserver > observer)=0
agora::base::AgoraServiceConfiguration
Definition: IAgoraService.h:82
agora::base::IAgoraServiceEx::createMediaRelayServiceLLApiInternal
virtual agora_refptr< rtc::IMediaRelayService > createMediaRelayServiceLLApiInternal(agora_refptr< rtc::IRtcConnection > rtcConnection, const char *appId)=0
agora::base::IAgoraServiceEx::getIoEngine
virtual commons::io_engine_base * getIoEngine()=0
agora::base::AgoraServiceConfigEx::engineType
MediaEngineType engineType
Definition: agora_service_i.h:69
agora::base::AgoraServiceConfigEx::configDir
const char * configDir
Definition: agora_service_i.h:73
agora::base::IAgoraServiceEx::setAudioSessionPresetLLApiInternal
virtual int setAudioSessionPresetLLApiInternal(rtc::AUDIO_SCENARIO_TYPE scenario)=0
agora::base::GetService
IAgoraServiceEx * GetService()
agora::base::IAgoraServiceEx::removeExtensionObserverLLApiInternal
virtual int removeExtensionObserverLLApiInternal(agora::agora_refptr< agora::rtc::IMediaExtensionObserver > observer)=0
agora::base::IAgoraServiceEx::createMixedVideoTrackLLApiInternal
virtual agora_refptr< rtc::ILocalVideoTrackEx > createMixedVideoTrackLLApiInternal(agora_refptr< rtc::IVideoMixerSource > videoSource, const char *id)=0
agora::base::IAgoraServiceEx::createMediaNodeFactoryLLApiInternal
virtual agora_refptr< rtc::IMediaNodeFactoryEx > createMediaNodeFactoryLLApiInternal()=0
agora::base::IAgoraServiceEx::releaseEngineResourceLLApiInternal
virtual int releaseEngineResourceLLApiInternal()=0
agora::base::IAgoraServiceEx::createRtmpConnectionLLApiInternal
virtual agora_refptr< rtc::IRtmpConnection > createRtmpConnectionLLApiInternal(const rtc::RtmpConnectionConfiguration &cfg)=0
agora::base::AgoraServiceConfigEx::deviceInfo
const char * deviceInfo
Definition: agora_service_i.h:71
agora::base::IAgoraServiceEx::createRhythmPlayer
virtual aosl_ref_t createRhythmPlayer()=0
agora::base::IAgoraServiceEx::setExternalAudioSink
virtual int setExternalAudioSink(bool enabled, int sampleRate, int channels)=0
agora::base::AgoraServiceConfigEx::deviceId
const char * deviceId
Definition: agora_service_i.h:70
agora::rtm::IRtmService
Definition: IAgoraRtmService.h:637
agora::rtc::AUDIO_SCENARIO_TYPE
AUDIO_SCENARIO_TYPE
Definition: AgoraBase.h:2679
agora::base::MEDIA_ENGINE_WEBRTC
@ MEDIA_ENGINE_WEBRTC
Definition: agora_service_i.h:57
agora::user_id_t
const char * user_id_t
Definition: AgoraBase.h:813
agora::base::AgoraServiceConfigEx::AgoraServiceConfigEx
AgoraServiceConfigEx(const AgoraServiceConfiguration &rhs)
Definition: agora_service_i.h:85
agora::base::IServiceObserver
Definition: IAgoraService.h:357
agora::base::IAgoraServiceEx::startTrace
virtual int startTrace(uint32_t count, uint64_t mask)=0
agora::base::IAgoraServiceEx::setAudioDumpPath
virtual int32_t setAudioDumpPath(const char *filePath)=0
agora::base::IAgoraServiceEx::createCustomVideoTrackLLApiInternal
virtual agora_refptr< rtc::ILocalVideoTrackEx > createCustomVideoTrackLLApiInternal(agora_refptr< rtc::IVideoFrameSender > videoSource, const char *id)=0
agora::base::IAgoraServiceEx::createRtmpStreamingServiceLLApiInternal
virtual agora_refptr< rtc::IRtmpStreamingService > createRtmpStreamingServiceLLApiInternal(agora_refptr< rtc::IRtcConnection > rtcConnection, const char *appId)=0
agora::base::IAgoraServiceEx::initializeEx
virtual int initializeEx(const AgoraServiceConfigEx &context)=0
agora::rtc::RtmpConnectionConfiguration
Definition: NGIAgoraRtmpConnection.h:231
agora::base::IAgoraServiceEx::createLocalMixedAudioTrackLLApiInternal
virtual agora_refptr< rtc::ILocalAudioTrackEx > createLocalMixedAudioTrackLLApiInternal()=0
agora::base::IAgoraServiceEx::createMediaPlayerVideoTrackLLApiInternal
virtual agora_refptr< rtc::ILocalVideoTrackEx > createMediaPlayerVideoTrackLLApiInternal(agora_refptr< rtc::IMediaPlayerSource > playerVideoSource, const char *id=nullptr)=0
agora::base::AgoraServiceConfigEx
Definition: agora_service_i.h:68
agora::base::IAgoraServiceEx::disableExtensionLLApiInternal
virtual int disableExtensionLLApiInternal(const char *provider_name, const char *extension_name, const char *track_id)=0
agora
Definition: AgoraAtomicOps.h:21
agora::base::IAgoraServiceObserver::onLocalUserRegistered
virtual void onLocalUserRegistered(rtc::uid_t uid, const char *userAccount)=0
agora::base::IAgoraServiceObserver::~IAgoraServiceObserver
virtual ~IAgoraServiceObserver()=default
agora::base::IAgoraServiceEx::stopTrace
virtual int stopTrace(const char *file_path)=0
agora::base::TMixMode
TMixMode
Definition: IAgoraService.h:343
agora::base::IAgoraServiceEx::getExtensionIdLLApiInternal
virtual const char * getExtensionIdLLApiInternal(const char *provider_name, const char *extension_name)=0
agora::base::IAgoraServiceEx::createCustomAudioTrackLLApiInternal
virtual agora_refptr< rtc::ILocalAudioTrackEx > createCustomAudioTrackLLApiInternal(agora_refptr< rtc::IRemoteAudioMixerSource > audioSource)=0
agora::base::IAgoraServiceEx::~IAgoraServiceEx
virtual ~IAgoraServiceEx()
Definition: agora_service_i.h:270
agora::base::IAgoraServiceEx::createMediaStreamingVideoTrackLLApiInternal
virtual agora_refptr< rtc::ILocalVideoTrackEx > createMediaStreamingVideoTrackLLApiInternal(agora_refptr< rtc::IMediaStreamingSource > streamingSource, const char *id=nullptr)=0
agora::base::IAgoraServiceEx::createCustomAudioTrackLLApiInternal
virtual agora_refptr< rtc::ILocalAudioTrackEx > createCustomAudioTrackLLApiInternal(agora_refptr< rtc::IMediaPacketSender > source)=0
agora::rtc::RtcConnectionConfigurationEx
Definition: rtc_connection_i.h:105
agora::base::IAgoraServiceEx::createLocalAudioTrackLLApiInternal
virtual agora_refptr< rtc::ILocalAudioTrackEx > createLocalAudioTrackLLApiInternal()=0
agora::base::AgoraServiceConfigEx::shortCountryCode
const char * shortCountryCode
Definition: agora_service_i.h:76
agora::rtc::IScreenCapturer
Definition: NGIAgoraScreenCapturer.h:19
agora::base::IAgoraServiceEx::getAudioSessionConfigurationLLApiInternal
virtual int getAudioSessionConfigurationLLApiInternal(AudioSessionConfiguration *config)=0
agora::base::AgoraServiceConfigEx::systemInfo
const char * systemInfo
Definition: agora_service_i.h:72
agora::rtc::IDiagnosticService
Definition: diagnostic_service_i.h:35
agora::base::IAgoraServiceEx::createDirectCustomAudioTrackLLApiInternal
virtual agora_refptr< rtc::ILocalAudioTrackEx > createDirectCustomAudioTrackLLApiInternal(agora_refptr< rtc::IAudioPcmDataSender > audioSource, bool enableAudioProcessing)=0
agora::base::SyncConfig
Definition: NGIAgoraSyncClient.h:79
agora::base::IAgoraServiceEx::pullPlaybackAudioPcmData
virtual int pullPlaybackAudioPcmData(void *payloadData, const rtc::AudioPcmDataInfo &audioFrameInfo)=0
agora::base::IAgoraServiceEx::createCameraVideoTrackLLApiInternal
virtual agora_refptr< rtc::ILocalVideoTrackEx > createCameraVideoTrackLLApiInternal(agora_refptr< rtc::ICameraCapturer > videoSource, const char *track_id)=0
agora::base::IAgoraServiceEx::createTranscodedVideoTrackLLApiInternal
virtual agora_refptr< rtc::ILocalVideoTrackEx > createTranscodedVideoTrackLLApiInternal(agora_refptr< rtc::IVideoFrameTransceiver > transceiver, const char *id)=0
agora::base::IAgoraServiceEx::getRtcConnectionInChannel
virtual agora_refptr< rtc::IRtcConnectionEx > getRtcConnectionInChannel(const char *name, const user_id_t usrId)=0
agora::base::IAgoraServiceEx::createLocalDataChannelLLApiInternal
virtual agora_refptr< ILocalDataChannel > createLocalDataChannelLLApiInternal(const DataChannelConfig &config)=0
agora::base::AudioSessionConfiguration
Definition: IAgoraService.h:186
agora::base::IAgoraServiceEx::atExitLLApiInternal
virtual int atExitLLApiInternal()=0
agora::base::IAgoraService::initialize
virtual int initialize(const AgoraServiceConfiguration &config)=0
agora::base::IAgoraServiceEx::releaseLLApiInternal
virtual int releaseLLApiInternal()=0
agora::base::IAgoraServiceEx::setAudioSessionConfigurationLLApiInternal
virtual int setAudioSessionConfigurationLLApiInternal(const AudioSessionConfiguration &config)=0
agora::base::IAgoraServiceEx::getConnectionCountsWithChannelId
virtual int getConnectionCountsWithChannelId(const char *channelId)=0
agora::base::IAgoraServiceEx::useStringUid
virtual bool useStringUid() const =0
agora::base::MEDIA_ENGINE_EMPTY
@ MEDIA_ENGINE_EMPTY
Definition: agora_service_i.h:61
agora::base::IAgoraServiceEx
Definition: agora_service_i.h:98
agora::base::IAgoraServiceEx::getDiagnosticService
virtual rtc::IDiagnosticService * getDiagnosticService() const =0
agora::base::IAgoraServiceEx::unregisterAgoraServiceObserver
virtual int unregisterAgoraServiceObserver(IAgoraServiceObserver *observer)=0
agora::base::MediaEngineType
MediaEngineType
Definition: agora_service_i.h:53
agora::base::IAgoraServiceEx::createScreenCaptureVideoTrackLLApiInternal
virtual agora_refptr< rtc::ILocalVideoTrackEx > createScreenCaptureVideoTrackLLApiInternal(agora_refptr< rtc::IScreenCapturer > screen, const char *id)=0
agora::rtc::IScreenCapturer2
Definition: NGIAgoraScreenCapturer.h:146
agora::rtc::BitrateConstraints
Definition: bitrate_constraints.h:20
agora::base::IAgoraServiceEx::createCustomVideoTrackLLApiInternal
virtual agora_refptr< rtc::ILocalVideoTrackEx > createCustomVideoTrackLLApiInternal(agora_refptr< rtc::IVideoEncodedImageSender > videoSource, const rtc::SenderOptions &options, const char *id=nullptr)=0
agora::base::IAgoraServiceEx::createCustomAudioTrackLLApiInternal
virtual agora_refptr< rtc::ILocalAudioTrackEx > createCustomAudioTrackLLApiInternal(agora_refptr< rtc::IAudioPcmDataSender > audioSource)=0
agora::rtc::BitrateConstraints::max_bitrate_bps
int max_bitrate_bps
Definition: bitrate_constraints.h:23
agora::rtc::IAudioDeviceManagerObserver
Definition: NGIAgoraAudioDeviceManager.h:91
agora::rtc::AudioPcmDataInfo
Definition: AgoraBase.h:1524
agora::base::IAgoraServiceEx::createSyncClientLLApiInternal
virtual agora_refptr< base::ISyncClientEx > createSyncClientLLApiInternal(const SyncConfig &config)=0
agora::base::IAgoraServiceEx::createRtcConnectionEx
virtual agora_refptr< rtc::IRtcConnectionEx > createRtcConnectionEx(const rtc::RtcConnectionConfigurationEx &cfg)=0
agora::rtc::RtcConnectionConfiguration
Definition: NGIAgoraRtcConnection.h:90
agora::base::IAgoraServiceEx::createMediaPlayer
virtual aosl_ref_t createMediaPlayer(media::base::MEDIA_PLAYER_SOURCE_TYPE type)=0
agora::base::IAgoraServiceEx::createMediaPlayerAudioTrackLLApiInternal
virtual agora_refptr< rtc::ILocalAudioTrackEx > createMediaPlayerAudioTrackLLApiInternal(agora_refptr< rtc::IMediaPlayerSource > playerSource)=0
agora::base::AgoraServiceConfigEx::dataDir
const char * dataDir
Definition: agora_service_i.h:74
agora::base::IAgoraServiceEx::unregisterServiceEventObserver
virtual int unregisterServiceEventObserver(IServiceObserver *observer)=0
agora::base::IAgoraServiceEx::enableExtensionLLApiInternal
virtual int enableExtensionLLApiInternal(const char *provider_name, const char *extension_name, const char *track_id, bool auto_enable_on_track)=0
agora::base::IAgoraServiceEx::registerLocalUserAccount
virtual int registerLocalUserAccount(const char *appId, const char *userAccount)=0
agora::base::IAgoraServiceEx::destroyMediaPlayer
virtual int destroyMediaPlayer(aosl_ref_t ref_id)=0
agora::rtc::IRtcConnection
Definition: NGIAgoraRtcConnection.h:184
agora::base::IAgoraServiceEx::enableStringUid
virtual void enableStringUid(bool enabled)=0
agora::base::IAgoraServiceEx::createScreenCaptureAudioTrackLLApiInternal
virtual agora_refptr< rtc::ILocalAudioTrackEx > createScreenCaptureAudioTrackLLApiInternal(agora_refptr< ScreenCaptureType > screen)=0
agora::base::IAgoraServiceEx::createScreenCaptureVideoTrackLLApiInternal
virtual agora_refptr< rtc::ILocalVideoTrackEx > createScreenCaptureVideoTrackLLApiInternal(agora_refptr< rtc::IScreenCapturer2 > screen)=0
agora::base::MEDIA_ENGINE_UNKNOWN
@ MEDIA_ENGINE_UNKNOWN
Definition: agora_service_i.h:65
agora::base::IAgoraServiceEx::set_lite_initialized
virtual void set_lite_initialized(bool initialized)
Definition: agora_service_i.h:107
agora::media::CONTENT_INSPECT_CLOUD_TYPE
CONTENT_INSPECT_CLOUD_TYPE
Definition: content_inspect_i.h:35
agora::base::IAgoraServiceEx::getUidByUserAccount
virtual rtc::uid_t getUidByUserAccount(const std::string &app_id, const std::string &user_account) const =0
agora::rtc::uid_t
unsigned int uid_t
Definition: AgoraMediaBase.h:28
agora::base::IAgoraServiceEx::createRtcConnectionLLApiInternal
virtual agora_refptr< rtc::IRtcConnection > createRtcConnectionLLApiInternal(const rtc::RtcConnectionConfiguration &cfg)=0
agora::base::IAgoraServiceEx::externalAudioSinkEnabled
virtual bool externalAudioSinkEnabled() const =0
agora::DataChannelConfig
Definition: NGIAgoraDataChannel.h:18
agora::base::IAgoraServiceEx::createCustomAudioTrackLLApiInternal
virtual agora_refptr< rtc::ILocalAudioTrackEx > createCustomAudioTrackLLApiInternal(agora_refptr< rtc::IAudioEncodedFrameSender > audioSource, TMixMode mixMode)=0
agora::base::AgoraServiceConfigEx::bitrateConstraints
rtc::BitrateConstraints bitrateConstraints
Definition: agora_service_i.h:77
agora::base::IAgoraServiceEx::setLogFilterLLApiInternal
virtual int setLogFilterLLApiInternal(unsigned int filters)=0
agora::base::AgoraServiceConfigEx::apSendRequest
bool apSendRequest
Definition: agora_service_i.h:78
agora::base::IAgoraServiceEx::setExternalRemoteEglContext
virtual int setExternalRemoteEglContext(void *eglContext)=0
rtc
Definition: video_node_i.h:28
agora::base::IAgoraServiceEx::createCustomAudioTrackLLApiInternal
virtual agora_refptr< rtc::ILocalAudioTrackEx > createCustomAudioTrackLLApiInternal(agora_refptr< rtc::IAudioPcmDataSender > audioSource, bool enableAec)=0
agora::base::IAgoraServiceEx::setLogFileLLApiInternal
virtual int setLogFileLLApiInternal(const char *filePath, unsigned int fileSize)=0
agora::base::IAgoraServiceEx::registerAgoraServiceObserver
virtual int registerAgoraServiceObserver(IAgoraServiceObserver *observer)=0
agora::base::IAgoraServiceEx::createFileUploadServiceEx
virtual agora_refptr< rtc::IFileUploaderService > createFileUploadServiceEx(agora_refptr< rtc::IRtcConnection > rtcConnection, const char *appId, media::CONTENT_INSPECT_CLOUD_TYPE cloudType)=0
agora::base::IAgoraServiceEx::getOneRtcConnection
virtual rtc::IRtcConnection * getOneRtcConnection(bool admBinded) const =0