Agora C++ API Reference for All Platforms
|
6 #pragma once // NOLINT(build/header_guard)
10 #include "AgoraOptional.h"
13 class ILocalDataChannel;
14 class IRemoteDataChannel;
15 struct DataChannelConfig;
19 class IRtmpConnection;
21 class IMediaDeviceManager;
22 class INGAudioDeviceManager;
23 struct TConnectionInfo;
24 struct RtcConnectionConfiguration;
25 struct RtmpConnectionConfiguration;
26 class ILocalAudioTrack;
27 class IMediaPlayerSource;
28 class IMediaStreamingSource;
29 class ICameraCapturer;
30 class IScreenCapturer;
31 class IScreenCapturer2;
32 class IAudioPcmDataSender;
33 class IAudioEncodedFrameSender;
34 class IVideoFrameSender;
35 class IVideoEncodedImageSender;
36 class IVideoSourceNode;
37 class IVideoMixerSource;
38 class IVideoFrameTransceiver;
39 class ILocalVideoTrack;
40 class IMediaNodeFactory;
41 class IRecordingDeviceSource;
42 class IRemoteAudioMixerSource;
43 class IRtmpStreamingService;
44 class IMediaPacketSender;
45 class IMediaRelayService;
46 class IAudioDeviceManager;
47 class IAudioDeviceManagerObserver;
49 class IMediaExtensionObserver;
50 class IExtensionProvider;
51 class IFileUploaderService;
315 template <
typename T>
456 virtual int setLogFile(
const char* filePath,
unsigned int fileSize) = 0;
690 const char*
id = OPTIONAL_NULLPTR) = 0;
704 const char*
id = OPTIONAL_NULLPTR) = 0;
736 const char*
id = OPTIONAL_NULLPTR) = 0;
738 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
901 virtual const char*
getExtensionId(
const char* provider_name,
const char* extension_name) = 0;
903 #if defined (_WIN32) || defined(__linux__) || defined(__ANDROID__)
927 const char* provider_name,
const char* extension_name,
const char* track_id = NULL,
928 bool auto_enable_on_track =
false) = 0;
941 const char* provider_name,
const char* extension_name,
const char* track_id = NULL) = 0;
bool enableAudioDevice
Definition: IAgoraService.h:96
Optional< bool > allowBluetoothA2DP
Definition: IAgoraService.h:264
const char * appId
Definition: IAgoraService.h:112
Optional< bool > chatMode
Definition: IAgoraService.h:205
Definition: IAgoraService.h:377
Definition: AgoraBase.h:1195
virtual int disableExtension(const char *provider_name, const char *extension_name, const char *track_id=NULL)=0
virtual ~IAgoraService()
Definition: IAgoraService.h:953
Definition: AgoraRefPtr.h:44
Optional< int > inputNumberOfChannels
Definition: IAgoraService.h:282
virtual rtm::IRtmService * createRtmService()=0
virtual agora_refptr< rtc::IFileUploaderService > createFileUploadService(agora_refptr< rtc::IRtcConnection > rtcConnection, const char *appId)=0
Definition: IAgoraService.h:79
AUDIO_PROFILE_TYPE
Definition: AgoraBase.h:2393
virtual agora_refptr< rtc::ILocalVideoTrack > createScreenCaptureVideoTrack(agora_refptr< rtc::IScreenCapturer2 > screen)=0
bool enableAudioProcessor
Definition: IAgoraService.h:85
Definition: IAgoraRtmService.h:636
ERROR_CODE_TYPE
Definition: AgoraBase.h:441
AUDIO_SCENARIO_TYPE
Definition: AgoraBase.h:2439
virtual ~IServiceObserver()
Definition: IAgoraService.h:341
Optional< bool > allowMixWithOthers
Definition: IAgoraService.h:232
Definition: IAgoraService.h:339
virtual agora_refptr< rtc::ILocalVideoTrack > createMediaPlayerVideoTrack(agora_refptr< rtc::IMediaPlayerSource > videoSource, const char *id=OPTIONAL_NULLPTR)=0
virtual int setAudioSessionConfiguration(const AudioSessionConfiguration &config)=0
IServiceObserver * serviceObserver
Definition: IAgoraService.h:143
virtual agora_refptr< ILocalDataChannel > createLocalDataChannel(const DataChannelConfig &config)=0
Optional< int > outputNumberOfChannels
Definition: IAgoraService.h:286
virtual agora_refptr< rtc::IRtmpStreamingService > createRtmpStreamingService(agora_refptr< rtc::IRtcConnection > rtcConnection, const char *appId)=0
virtual agora_refptr< rtc::ILocalVideoTrack > createCustomVideoTrack(agora_refptr< rtc::IMediaPacketSender > source, const char *id=OPTIONAL_NULLPTR)=0
void * context
Definition: IAgoraService.h:108
AudioEncoderConfiguration()
Definition: IAgoraService.h:62
Definition: NGIAgoraRtmpConnection.h:230
virtual agora_refptr< rtc::ILocalAudioTrack > createLocalAudioTrack()=0
AGORA_API agora::base::IAgoraService *AGORA_CALL createAgoraService()
virtual agora_refptr< rtc::ILocalVideoTrack > createMixedVideoTrack(agora_refptr< rtc::IVideoMixerSource > videoSource, const char *id=OPTIONAL_NULLPTR)=0
Optional< bool > allowBluetooth
Definition: IAgoraService.h:252
Definition: AgoraAtomicOps.h:21
virtual agora_refptr< rtc::ILocalAudioTrack > createMediaPlayerAudioTrack(agora_refptr< rtc::IMediaPlayerSource > audioSource)=0
virtual agora_refptr< rtc::ILocalAudioTrack > createCustomAudioTrack(agora_refptr< rtc::IAudioEncodedFrameSender > audioSource, TMixMode mixMode)=0
Optional< bool > playbackAndRecord
Definition: IAgoraService.h:196
TMixMode
Definition: IAgoraService.h:325
bool operator!=(const AudioSessionConfiguration &o) const
Definition: IAgoraService.h:312
virtual int setLogFile(const char *filePath, unsigned int fileSize)=0
@ MIX_ENABLED
Definition: IAgoraService.h:329
bool domainLimit
Definition: IAgoraService.h:162
bool enableVideo
Definition: IAgoraService.h:102
CHANNEL_PROFILE_TYPE
Definition: AgoraBase.h:256
virtual agora_refptr< rtc::ILocalVideoTrack > createScreenCaptureVideoTrack(agora_refptr< rtc::IScreenCapturer > screen, const char *id=OPTIONAL_NULLPTR)=0
virtual agora_refptr< rtc::ILocalAudioTrack > createScreenCaptureAudioTrack(agora_refptr< rtc::IScreenCapturer2 > screen)=0
virtual agora_refptr< rtc::ILocalAudioTrack > createRecordingDeviceAudioTrack(agora_refptr< rtc::IRecordingDeviceSource > audioSource, bool enableAec)=0
virtual agora_refptr< rtc::ILocalVideoTrack > createCustomVideoTrack(agora_refptr< rtc::IVideoEncodedImageSender > videoSource, const rtc::SenderOptions &options, const char *id=OPTIONAL_NULLPTR)=0
Definition: IAgoraService.h:183
virtual int initialize(const AgoraServiceConfiguration &config)=0
virtual agora_refptr< rtc::IConfigCenter > getConfigCenter()=0
virtual agora_refptr< rtc::ILocalVideoTrack > createCameraVideoTrack(agora_refptr< rtc::ICameraCapturer > videoSource, const char *id=OPTIONAL_NULLPTR)=0
virtual int setLogFilter(unsigned int filters)=0
virtual int getAudioSessionConfiguration(AudioSessionConfiguration *config)=0
bool operator==(const AudioSessionConfiguration &o) const
Definition: IAgoraService.h:303
AgoraServiceConfiguration()
Definition: IAgoraService.h:164
virtual agora_refptr< rtc::IRtmpConnection > createRtmpConnection(const rtc::RtmpConnectionConfiguration &cfg)=0
virtual int removeExtensionObserver(agora::agora_refptr< agora::rtc::IMediaExtensionObserver > observer)=0
virtual agora_refptr< rtc::IMediaNodeFactory > createMediaNodeFactory()=0
virtual agora_refptr< rtc::IAudioDeviceManager > createAudioDeviceManagerComponent(rtc::IAudioDeviceManagerObserver *observer)=0
virtual void onPermissionError(agora::rtc::PERMISSION_TYPE permissionType)
Definition: IAgoraService.h:347
@ AUDIO_PROFILE_DEFAULT
Definition: AgoraBase.h:2402
Definition: IAgoraLog.h:82
AUDIO_PROFILE_TYPE audioProfile
Definition: IAgoraService.h:60
virtual agora_refptr< rtc::ILocalAudioTrack > createCustomAudioTrack(agora_refptr< rtc::IMediaPacketSender > source)=0
virtual agora_refptr< rtc::ILocalAudioTrack > createMediaStreamingAudioTrack(agora_refptr< rtc::IMediaStreamingSource > streamingSource)=0
@ MIX_DISABLED
Definition: IAgoraService.h:333
Optional< double > sampleRate
Definition: IAgoraService.h:271
virtual agora_refptr< rtc::ILocalAudioTrack > createCustomAudioTrack(agora_refptr< rtc::IAudioPcmDataSender > audioSource, bool enableAec)=0
virtual agora_refptr< rtc::ILocalVideoTrack > createCustomVideoTrack(agora_refptr< rtc::IVideoFrameSender > videoSource, const char *id=OPTIONAL_NULLPTR)=0
virtual agora_refptr< rtc::ILocalAudioTrack > createDirectCustomAudioTrack(agora_refptr< rtc::IAudioPcmDataSender > audioSource)=0
Optional< rtc::THREAD_PRIORITY_TYPE > threadPriority
Definition: IAgoraService.h:148
Definition: NGIAgoraAudioDeviceManager.h:84
CONFIG_FETCH_TYPE
Definition: AgoraBase.h:5861
Definition: NGIAgoraRtcConnection.h:88
virtual agora_refptr< rtc::ILocalAudioTrack > createCustomAudioTrack(agora_refptr< rtc::IRemoteAudioMixerSource > audioSource)=0
PERMISSION_TYPE
Definition: AgoraBase.h:5522
virtual agora_refptr< rtc::IRtcConnection > createRtcConnection(const rtc::RtcConnectionConfiguration &cfg)=0
virtual int enableExtension(const char *provider_name, const char *extension_name, const char *track_id=NULL, bool auto_enable_on_track=false)=0
commons::LogConfig logConfig
Definition: IAgoraService.h:135
const char * license
Definition: IAgoraService.h:126
bool useStringUid
Definition: IAgoraService.h:139
Optional< double > ioBufferDuration
Definition: IAgoraService.h:278
virtual agora_refptr< rtc::IMediaRelayService > createMediaRelayService(agora_refptr< rtc::IRtcConnection > rtcConnection, const char *appId)=0
virtual int setAudioSessionPreset(agora::rtc::AUDIO_SCENARIO_TYPE scenario)=0
Optional< bool > allowDuckOthers
Definition: IAgoraService.h:241
virtual agora_refptr< rtc::ILocalVideoTrack > createMediaStreamingVideoTrack(agora_refptr< rtc::IMediaStreamingSource > streamingSource, const char *id=OPTIONAL_NULLPTR)=0
Optional< bool > defaultToSpeaker
Definition: IAgoraService.h:214
rtc::AUDIO_SCENARIO_TYPE audioScenario
Definition: IAgoraService.h:131
bool useExternalEglContext
Definition: IAgoraService.h:155
Definition: IAgoraService.h:56
void SetAll(const AudioSessionConfiguration &change)
Definition: IAgoraService.h:288
virtual agora_refptr< rtc::ILocalAudioTrack > createCustomAudioTrack(agora_refptr< rtc::IAudioPcmDataSender > audioSource)=0
virtual int addExtensionObserver(agora::agora_refptr< agora::rtc::IMediaExtensionObserver > observer)=0
virtual agora_refptr< rtc::ILocalVideoTrack > createScreenVideoTrack(agora_refptr< rtc::IScreenCapturer > videoSource, const char *id=OPTIONAL_NULLPTR)=0
virtual agora_refptr< rtc::ILocalVideoTrack > createTranscodedVideoTrack(agora_refptr< rtc::IVideoFrameTransceiver > transceiver, const char *id=OPTIONAL_NULLPTR)=0
virtual int loadExtensionProvider(const char *path, bool unload_after_use=false)=0
load the dynamic library of the extension
virtual void onAudioDeviceError(ERROR_CODE_TYPE error, const char *description)
Definition: IAgoraService.h:352
Definition: NGIAgoraDataChannel.h:17
Optional< bool > overrideSpeaker
Definition: IAgoraService.h:223
virtual const char * getExtensionId(const char *provider_name, const char *extension_name)=0
Get the ID of the registered extension.
unsigned int areaCode
Definition: IAgoraService.h:117
virtual void onFetchConfigResult(int code, rtc::CONFIG_FETCH_TYPE configType, const char *configContent)
Definition: IAgoraService.h:364
virtual agora_refptr< rtc::INGAudioDeviceManager > createAudioDeviceManager()=0
Definition: video_node_i.h:26
agora::CHANNEL_PROFILE_TYPE channelProfile
Definition: IAgoraService.h:121
@ CHANNEL_PROFILE_LIVE_BROADCASTING
Definition: AgoraBase.h:268