10#include "AgoraOptional.h"
11#include <api/cpp/aosl_ares_class.h>
22class IMediaDeviceManager;
38class IVideoSourceNode;
48class IAudioDeviceManager;
292#if defined(WEBRTC_IOS)
312#if defined(WEBRTC_IOS)
324#if defined(WEBRTC_IOS)
334 template <
typename T>
385#if defined(__ANDROID__)
431 virtual int atExit(aosl_ref_t ares = AOSL_REF_INVALID) = 0;
492 virtual int setLogFile(
const char* filePath,
unsigned int fileSize, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
511 virtual int setLogFilter(
unsigned int filters, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
735 const char*
id = OPTIONAL_NULLPTR) = 0;
749 const char*
id = OPTIONAL_NULLPTR) = 0;
781 const char*
id = OPTIONAL_NULLPTR) = 0;
783#if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(__OHOS__)
961 virtual const char*
getExtensionId(
const char* provider_name,
const char* extension_name) = 0;
963#if defined (_WIN32) || defined(__linux__) || defined(__ANDROID__)
987 const char* provider_name,
const char* extension_name,
const char* track_id = NULL,
988 bool auto_enable_on_track =
false, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
1001 const char* provider_name,
const char* extension_name,
const char* track_id = NULL, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
Definition NGIAgoraDataChannel.h:84
Definition NGIAgoraDataChannel.h:118
Definition AgoraOptional.h:413
Definition AgoraRefPtr.h:44
Definition IAgoraService.h:413
virtual agora_refptr< rtc::ILocalAudioTrack > createDirectCustomAudioTrack(agora_refptr< rtc::IAudioPcmDataSender > audioSource)=0
virtual int loadExtensionProvider(const char *path, bool unload_after_use=false)=0
load the dynamic library of the extension
virtual agora_refptr< rtc::ILocalAudioTrack > createMediaStreamingAudioTrack(agora_refptr< rtc::IMediaStreamingSource > streamingSource)=0
virtual agora_refptr< rtc::IFileUploaderService > createFileUploadService(agora_refptr< rtc::IRtcConnection > rtcConnection, const char *appId)=0
virtual agora_refptr< rtc::ILocalAudioTrack > createRecordingDeviceAudioTrack(agora_refptr< rtc::IRecordingDeviceSource > audioSource, bool enableAec, bool overlap)=0
virtual agora_refptr< rtc::ILocalAudioTrack > createCustomAudioTrack(agora_refptr< rtc::IRemoteAudioMixerSource > audioSource)=0
virtual int setAudioSessionConfiguration(const AudioSessionConfiguration &config, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setLogFile(const char *filePath, unsigned int fileSize, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual agora_refptr< rtc::ILocalVideoTrack > createCustomVideoTrack(agora_refptr< rtc::IVideoFrameSender > videoSource, const char *id=OPTIONAL_NULLPTR)=0
virtual int addExtensionObserver(agora::agora_refptr< agora::rtc::IMediaExtensionObserver > observer, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual agora_refptr< rtc::ILocalAudioTrack > createMediaPlayerAudioTrack(agora_refptr< rtc::IMediaPlayerSource > audioSource)=0
virtual agora_refptr< rtc::ILocalAudioTrack > createCustomAudioTrack(agora_refptr< rtc::IAudioPcmDataSender > audioSource)=0
virtual agora_refptr< rtc::IMediaRelayService > createMediaRelayService(agora_refptr< rtc::IRtcConnection > rtcConnection, const char *appId)=0
virtual agora_refptr< rtc::ILocalVideoTrack > createScreenCaptureVideoTrack(agora_refptr< rtc::IScreenCapturer > screen, const char *id=OPTIONAL_NULLPTR)=0
virtual agora_refptr< rtc::ILocalVideoTrack > createMediaPlayerVideoTrack(agora_refptr< rtc::IMediaPlayerSource > videoSource, const char *id=OPTIONAL_NULLPTR)=0
virtual int removeExtensionObserver(agora::agora_refptr< agora::rtc::IMediaExtensionObserver > observer, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual agora_refptr< rtc::ILocalVideoTrack > createMixedVideoTrack(agora_refptr< rtc::IVideoMixerSource > videoSource, const char *id=OPTIONAL_NULLPTR)=0
virtual agora_refptr< rtc::INGVideoDeviceManager > createVideoDeviceManager()=0
virtual agora_refptr< rtc::IRtmpStreamingService > createRtmpStreamingService(agora_refptr< rtc::IRtcConnection > rtcConnection, const char *appId)=0
virtual int setAudioSessionPreset(agora::rtc::AUDIO_SCENARIO_TYPE scenario, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual agora_refptr< rtc::ILocalAudioTrack > createLocalMixedAudioTrack()=0
virtual const char * getExtensionId(const char *provider_name, const char *extension_name)=0
Get the ID of the registered extension.
virtual int initialize(const AgoraServiceConfiguration &config)=0
virtual agora_refptr< rtc::ILocalVideoTrack > createCustomVideoTrack(agora_refptr< rtc::IVideoEncodedImageSender > videoSource, const rtc::SenderOptions &options, const char *id=OPTIONAL_NULLPTR)=0
virtual agora_refptr< rtc::ILocalVideoTrack > createMediaStreamingVideoTrack(agora_refptr< rtc::IMediaStreamingSource > streamingSource, const char *id=OPTIONAL_NULLPTR)=0
virtual agora_refptr< rtc::IMediaNodeFactory > createMediaNodeFactory()=0
virtual agora_refptr< rtc::ILocalAudioTrack > createLocalAudioTrack()=0
virtual int getAudioSessionConfiguration(AudioSessionConfiguration *config)=0
virtual agora_refptr< rtc::ILocalVideoTrack > createTranscodedVideoTrack(agora_refptr< rtc::IVideoFrameTransceiver > transceiver, const char *id=OPTIONAL_NULLPTR)=0
virtual agora_refptr< rtc::ILocalAudioTrack > createScreenCaptureAudioTrack(agora_refptr< rtc::IScreenCapturer2 > screen)=0
virtual ~IAgoraService()
Definition IAgoraService.h:1048
virtual agora_refptr< rtc::ILocalAudioTrack > createCustomAudioTrack(agora_refptr< rtc::IAudioEncodedFrameSender > audioSource, TMixMode mixMode)=0
virtual agora_refptr< rtc::IConfigCenter > getConfigCenter()=0
virtual agora_refptr< ILocalDataChannel > createLocalDataChannel(const DataChannelConfig &config)=0
virtual agora_refptr< base::IAgoraParameter > getAgoraParameter()=0
virtual agora_refptr< base::ISyncClient > createSyncClient(const base::SyncConfig &config)=0
virtual agora::commons::ILogWriter * releaseLogWriter()=0
virtual agora_refptr< rtc::IRtcConnection > createRtcConnection(const rtc::RtcConnectionConfiguration &cfg)=0
virtual int32_t setLogWriter(agora::commons::ILogWriter *logWriter)=0
virtual agora_refptr< rtc::ILocalAudioTrack > createCustomAudioTrack(agora_refptr< rtc::IAudioPcmDataSender > audioSource, bool enableAec)=0
virtual agora_refptr< rtc::ILocalVideoTrack > createScreenCaptureVideoTrack(agora_refptr< rtc::IScreenCapturer2 > screen)=0
virtual int setLogFilter(unsigned int filters, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual agora_refptr< rtc::IAudioDeviceManager > createAudioDeviceManagerComponent(rtc::IAudioDeviceManagerObserver *observer)=0
virtual int enableExtension(const char *provider_name, const char *extension_name, const char *track_id=NULL, bool auto_enable_on_track=false, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual rtm::IRtmService * createRtmService()=0
virtual agora_refptr< rtc::ILocalVideoTrack > createCustomVideoTrack(agora_refptr< rtc::IMediaPacketSender > source, const char *id=OPTIONAL_NULLPTR)=0
virtual agora_refptr< rtc::INGAudioDeviceManager > createAudioDeviceManager()=0
virtual int disableExtension(const char *provider_name, const char *extension_name, const char *track_id=NULL, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual agora_refptr< rtc::ILocalAudioTrack > createCustomAudioTrack(agora_refptr< rtc::IMediaPacketSender > source)=0
virtual agora_refptr< rtc::ILocalVideoTrack > createCameraVideoTrack(agora_refptr< rtc::ICameraCapturer > videoSource, const char *id=OPTIONAL_NULLPTR)=0
virtual int atExit(aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual agora_refptr< rtc::ILocalAudioTrack > createScreenCaptureAudioTrack(agora_refptr< rtc::IScreenCapturer > screen)=0
virtual agora_refptr< rtc::IRtmpConnection > createRtmpConnection(const rtc::RtmpConnectionConfiguration &cfg)=0
Definition IAgoraService.h:358
virtual void onAudioDeviceError(ERROR_CODE_TYPE error, const char *description)
Definition IAgoraService.h:371
virtual void onLocalUserRegistered(rtc::uid_t uid, const char *userAccount)
Definition IAgoraService.h:399
virtual ~IServiceObserver()
Definition IAgoraService.h:360
virtual void onFetchConfigResult(int code, rtc::CONFIG_FETCH_TYPE configType, const char *configContent)
Definition IAgoraService.h:383
virtual void onPermissionGranted(agora::rtc::PERMISSION_TYPE permissionType)
Definition IAgoraService.h:390
virtual void onPermissionError(agora::rtc::PERMISSION_TYPE permissionType)
Definition IAgoraService.h:366
Definition NGIAgoraSyncClient.h:90
Definition IAgoraLog.h:66
Definition NGIAgoraAudioDeviceManager.h:91
Definition NGIAgoraMediaNode.h:277
Definition NGIAgoraMediaNode.h:244
Definition NGIAgoraCameraCapturer.h:20
Definition NGIAgoraConfigCenter.h:15
Definition NGIAgoraExtensionProvider.h:35
Definition IAgoraFileUploader.h:38
Definition NGIAgoraAudioTrack.h:262
Definition NGIAgoraLocalUser.h:56
Definition NGIAgoraVideoTrack.h:394
Definition NGIAgoraAudioDeviceManager.h:203
Definition NGIAgoraVideoDeviceManager.h:68
Definition NGIAgoraAudioDeviceManager.h:140
Definition NGIAgoraRemoteAudioMixerSource.h:22
Definition NGIAgoraRtcConnection.h:184
Definition NGIAgoraRtmpConnection.h:317
Definition IAgoraRtmpStreamingService.h:90
Definition NGIAgoraScreenCapturer.h:146
Definition NGIAgoraScreenCapturer.h:19
Definition NGIAgoraMediaNode.h:470
Definition NGIAgoraMediaNode.h:446
Definition NGIAgoraMediaNode.h:648
Definition NGIAgoraVideoMixerSource.h:46
Definition IAgoraRtmService.h:637
AGORA_API agora::base::IAgoraService *AGORA_CALL createAgoraService()
Definition IAgoraService.h:73
TMixMode
Definition IAgoraService.h:344
@ MIX_ENABLED
Definition IAgoraService.h:348
@ MIX_DISABLED
Definition IAgoraService.h:352
Definition AgoraExtensions.h:5
AUDIO_SCENARIO_TYPE
The audio scenarios.
Definition AgoraBase.h:3123
PERMISSION_TYPE
The type of the device permission.
Definition AgoraBase.h:7429
AUDIO_PROFILE_TYPE
The audio profile.
Definition AgoraBase.h:3075
@ AUDIO_PROFILE_DEFAULT
Definition AgoraBase.h:3085
CONFIG_FETCH_TYPE
Definition AgoraBase.h:7802
unsigned int uid_t
Definition AgoraMediaBase.h:28
Definition AgoraAtomicOps.h:21
ERROR_CODE_TYPE
Error codes.
Definition AgoraBase.h:458
CHANNEL_PROFILE_TYPE
The channel profile.
Definition AgoraBase.h:267
@ CHANNEL_PROFILE_LIVE_BROADCASTING
Definition AgoraBase.h:275
Definition video_node_i.h:28
Definition NGIAgoraDataChannel.h:18
Definition IAgoraService.h:83
bool useExternalEglContext
Definition IAgoraService.h:159
agora::CHANNEL_PROFILE_TYPE channelProfile
Definition IAgoraService.h:125
IServiceObserver * serviceObserver
Definition IAgoraService.h:147
Optional< rtc::THREAD_PRIORITY_TYPE > threadPriority __deprecated
Definition IAgoraService.h:152
commons::LogConfig logConfig
Definition IAgoraService.h:139
bool domainLimit
Definition IAgoraService.h:166
unsigned int areaCode
Definition IAgoraService.h:121
bool useStringUid
Definition IAgoraService.h:143
bool enableAudioDevice
Definition IAgoraService.h:100
const char * appId
Definition IAgoraService.h:116
bool enableAudioProcessor
Definition IAgoraService.h:89
rtc::AUDIO_SCENARIO_TYPE audioScenario
Definition IAgoraService.h:135
bool enableVideo
Definition IAgoraService.h:106
void * context
Definition IAgoraService.h:112
const char * license
Definition IAgoraService.h:130
AgoraServiceConfiguration()
Definition IAgoraService.h:168
Definition IAgoraService.h:187
Optional< bool > allowBluetoothA2DP
Definition IAgoraService.h:268
Optional< bool > overrideSpeaker
Definition IAgoraService.h:227
Optional< bool > allowBluetooth
Definition IAgoraService.h:256
Optional< int > outputNumberOfChannels
Definition IAgoraService.h:290
void SetAll(const AudioSessionConfiguration &change)
Definition IAgoraService.h:299
Optional< bool > chatMode
Definition IAgoraService.h:209
Optional< int > inputNumberOfChannels
Definition IAgoraService.h:286
bool operator==(const AudioSessionConfiguration &o) const
Definition IAgoraService.h:317
Optional< bool > playbackAndRecord
Definition IAgoraService.h:200
Optional< bool > defaultToSpeaker
Definition IAgoraService.h:218
Optional< bool > allowMixWithOthers
Definition IAgoraService.h:236
Optional< double > sampleRate
Definition IAgoraService.h:275
Optional< double > ioBufferDuration
Definition IAgoraService.h:282
Optional< int > category
Definition IAgoraService.h:296
bool operator!=(const AudioSessionConfiguration &o) const
Definition IAgoraService.h:331
Optional< bool > allowDuckOthers
Definition IAgoraService.h:245
Definition NGIAgoraSyncClient.h:79
Configuration of Agora SDK log files.
Definition IAgoraLog.h:124
AudioEncoderConfiguration()
Definition IAgoraService.h:64
AUDIO_PROFILE_TYPE audioProfile
Definition IAgoraService.h:62
Definition NGIAgoraRtcConnection.h:90
Definition NGIAgoraRtmpConnection.h:231
Definition AgoraBase.h:1342
Definition NGIAgoraRtcConnection.h:26