Agora C++ API Reference for All Platforms
Public Member Functions | Protected Member Functions | List of all members
agora::base::IAgoraServiceEx Class Referenceabstract

Inherits agora::base::IAgoraService.

Public Member Functions

virtual int initializeEx (const AgoraServiceConfigEx &context)=0
 
virtual agora_refptr< rtc::IRtcConnectioncreateRtcConnectionEx (const rtc::RtcConnectionConfigurationEx &cfg)=0
 
virtual event_base * getWorkerEventBase ()=0
 
virtual int32_t setLogWriter (agora::commons::ILogWriter *logWriter)=0
 
virtual agora::commons::ILogWriterreleaseLogWriter ()=0
 
virtual int32_t setAudioDumpPath (const char *filePath)=0
 
virtual agora_refptr< rtc::IRtcConnectiongetOneRtcConnection (bool admBinded) const =0
 
virtual void enableStringUid (bool enabled)=0
 
virtual bool useStringUid () const =0
 
virtual rtc::uid_t getUidByUserAccount (const std::string &app_id, const std::string &user_account) const =0
 
virtual int registerLocalUserAccount (const char *appId, const char *userAccount)=0
 
virtual rtc::IDiagnosticServicegetDiagnosticService () const =0
 
virtual int registerAgoraServiceObserver (IAgoraServiceObserver *observer)=0
 
virtual int unregisterAgoraServiceObserver (IAgoraServiceObserver *observer)=0
 
virtual int startTrace (uint32_t count, uint64_t mask)=0
 
virtual int stopTrace (const char *file_path)=0
 
virtual int setExternalAudioSink (bool enabled, int sampleRate, int channels)=0
 
virtual int pullPlaybackAudioPcmData (void *payloadData, const rtc::AudioPcmDataInfo &audioFrameInfo)=0
 
- Public Member Functions inherited from agora::base::IAgoraService
virtual int initialize (const AgoraServiceConfiguration &config)=0
 
virtual void atExit ()=0
 
virtual int release ()=0
 
virtual int setAudioSessionPreset (agora::rtc::AUDIO_SCENARIO_TYPE scenario)=0
 
virtual int setAudioSessionConfiguration (const AudioSessionConfiguration &config)=0
 
virtual int getAudioSessionConfiguration (AudioSessionConfiguration *config)=0
 
virtual int setLogFile (const char *filePath, unsigned int fileSize)=0
 
virtual int setLogFilter (unsigned int filters)=0
 
virtual agora_refptr< rtc::IRtcConnectioncreateRtcConnection (const rtc::RtcConnectionConfiguration &cfg)=0
 
virtual agora_refptr< rtc::IRtmpConnectioncreateRtmpConnection (const rtc::RtmpConnectionConfiguration &cfg)=0
 
virtual agora_refptr< rtc::ILocalAudioTrackcreateLocalAudioTrack ()=0
 
virtual agora_refptr< rtc::ILocalAudioTrackcreateCustomAudioTrack (agora_refptr< rtc::IAudioPcmDataSender > audioSource)=0
 
virtual agora_refptr< rtc::ILocalAudioTrackcreateDirectCustomAudioTrack (agora_refptr< rtc::IAudioPcmDataSender > audioSource)=0
 
virtual agora_refptr< rtc::ILocalAudioTrackcreateCustomAudioTrack (agora_refptr< rtc::IAudioPcmDataSender > audioSource, bool enableAec)=0
 
virtual agora_refptr< rtc::ILocalAudioTrackcreateCustomAudioTrack (agora_refptr< rtc::IAudioPcmDataSender > audioSource, agora_refptr< rtc::IAudioPcmDataSender > audioReverseSource, int audioSourceDelay)=0
 
virtual agora_refptr< rtc::ILocalAudioTrackcreateCustomAudioTrack (agora_refptr< rtc::IRemoteAudioMixerSource > audioSource)=0
 
virtual agora_refptr< rtc::ILocalAudioTrackcreateCustomAudioTrack (agora_refptr< rtc::IAudioEncodedFrameSender > audioSource, TMixMode mixMode)=0
 
virtual agora_refptr< rtc::ILocalAudioTrackcreateCustomAudioTrack (agora_refptr< rtc::IMediaPacketSender > source)=0
 
virtual agora_refptr< rtc::ILocalAudioTrackcreateMediaPlayerAudioTrack (agora_refptr< rtc::IMediaPlayerSource > audioSource)=0
 
virtual agora_refptr< rtc::ILocalAudioTrackcreateMediaStreamingAudioTrack (agora_refptr< rtc::IMediaStreamingSource > streamingSource)=0
 
virtual agora_refptr< rtc::ILocalAudioTrackcreateRecordingDeviceAudioTrack (agora_refptr< rtc::IRecordingDeviceSource > audioSource, bool enableAec)=0
 
virtual agora_refptr< rtc::INGAudioDeviceManagercreateAudioDeviceManager ()=0
 
virtual agora_refptr< rtc::IMediaNodeFactorycreateMediaNodeFactory ()=0
 
virtual agora_refptr< rtc::ILocalVideoTrackcreateCameraVideoTrack (agora_refptr< rtc::ICameraCapturer > videoSource, const char *id=OPTIONAL_NULLPTR)=0
 
virtual agora_refptr< rtc::ILocalVideoTrackcreateScreenVideoTrack (agora_refptr< rtc::IScreenCapturer > videoSource, const char *id=OPTIONAL_NULLPTR)=0
 
virtual agora_refptr< rtc::ILocalVideoTrackcreateMixedVideoTrack (agora_refptr< rtc::IVideoMixerSource > videoSource, const char *id=OPTIONAL_NULLPTR)=0
 
virtual agora_refptr< rtc::ILocalVideoTrackcreateTranscodedVideoTrack (agora_refptr< rtc::IVideoFrameTransceiver > transceiver, const char *id=OPTIONAL_NULLPTR)=0
 
virtual agora_refptr< rtc::ILocalVideoTrackcreateCustomVideoTrack (agora_refptr< rtc::IVideoFrameSender > videoSource, const char *id=OPTIONAL_NULLPTR)=0
 
virtual agora_refptr< rtc::ILocalVideoTrackcreateCustomVideoTrack (agora_refptr< rtc::IVideoEncodedImageSender > videoSource, const rtc::SenderOptions &options, const char *id=OPTIONAL_NULLPTR)=0
 
virtual agora_refptr< rtc::ILocalVideoTrackcreateScreenCaptureVideoTrack (agora_refptr< rtc::IScreenCapturer2 > screen)=0
 
virtual agora_refptr< rtc::ILocalAudioTrackcreateScreenCaptureAudioTrack (agora_refptr< rtc::IScreenCapturer2 > screen)=0
 
virtual agora_refptr< rtc::ILocalVideoTrackcreateScreenCaptureVideoTrack (agora_refptr< rtc::IScreenCapturer > screen, const char *id=OPTIONAL_NULLPTR)=0
 
virtual agora_refptr< rtc::ILocalVideoTrackcreateCustomVideoTrack (agora_refptr< rtc::IMediaPacketSender > source, const char *id=OPTIONAL_NULLPTR)=0
 
virtual agora_refptr< rtc::ILocalVideoTrackcreateMediaPlayerVideoTrack (agora_refptr< rtc::IMediaPlayerSource > videoSource, const char *id=OPTIONAL_NULLPTR)=0
 
virtual agora_refptr< rtc::ILocalVideoTrackcreateMediaStreamingVideoTrack (agora_refptr< rtc::IMediaStreamingSource > streamingSource, const char *id=OPTIONAL_NULLPTR)=0
 
virtual agora_refptr< rtc::IRtmpStreamingServicecreateRtmpStreamingService (agora_refptr< rtc::IRtcConnection > rtcConnection, const char *appId)=0
 
virtual agora_refptr< rtc::IMediaRelayServicecreateMediaRelayService (agora_refptr< rtc::IRtcConnection > rtcConnection, const char *appId)=0
 
virtual agora_refptr< rtc::IFileUploaderServicecreateFileUploadService (agora_refptr< rtc::IRtcConnection > rtcConnection, const char *appId)=0
 
virtual rtm::IRtmServicecreateRtmService ()=0
 
virtual int addExtensionObserver (agora::agora_refptr< agora::rtc::IMediaExtensionObserver > observer)=0
 
virtual int removeExtensionObserver (agora::agora_refptr< agora::rtc::IMediaExtensionObserver > observer)=0
 
virtual agora_refptr< rtc::IAudioDeviceManager > createAudioDeviceManagerComponent (rtc::IAudioDeviceManagerObserver *observer)=0
 
virtual const char * getExtensionId (const char *provider_name, const char *extension_name)=0
 
virtual int loadExtensionProvider (const char *path, bool unload_after_use=false)=0
 
virtual int enableExtension (const char *provider_name, const char *extension_name, const char *track_id=NULL, bool auto_enable_on_track=false)=0
 
virtual int disableExtension (const char *provider_name, const char *extension_name, const char *track_id=NULL)=0
 

Protected Member Functions

virtual ~IAgoraServiceEx ()
 
- Protected Member Functions inherited from agora::base::IAgoraService
virtual ~IAgoraService ()
 

Constructor & Destructor Documentation

◆ ~IAgoraServiceEx()

virtual agora::base::IAgoraServiceEx::~IAgoraServiceEx ( )
inlineprotectedvirtual

Member Function Documentation

◆ initializeEx()

virtual int agora::base::IAgoraServiceEx::initializeEx ( const AgoraServiceConfigEx context)
pure virtual

◆ createRtcConnectionEx()

virtual agora_refptr<rtc::IRtcConnection> agora::base::IAgoraServiceEx::createRtcConnectionEx ( const rtc::RtcConnectionConfigurationEx cfg)
pure virtual

◆ getWorkerEventBase()

virtual event_base* agora::base::IAgoraServiceEx::getWorkerEventBase ( )
pure virtual

◆ setLogWriter()

virtual int32_t agora::base::IAgoraServiceEx::setLogWriter ( agora::commons::ILogWriter logWriter)
pure virtual

◆ releaseLogWriter()

virtual agora::commons::ILogWriter* agora::base::IAgoraServiceEx::releaseLogWriter ( )
pure virtual

◆ setAudioDumpPath()

virtual int32_t agora::base::IAgoraServiceEx::setAudioDumpPath ( const char *  filePath)
pure virtual

◆ getOneRtcConnection()

virtual agora_refptr<rtc::IRtcConnection> agora::base::IAgoraServiceEx::getOneRtcConnection ( bool  admBinded) const
pure virtual

◆ enableStringUid()

virtual void agora::base::IAgoraServiceEx::enableStringUid ( bool  enabled)
pure virtual

◆ useStringUid()

virtual bool agora::base::IAgoraServiceEx::useStringUid ( ) const
pure virtual

◆ getUidByUserAccount()

virtual rtc::uid_t agora::base::IAgoraServiceEx::getUidByUserAccount ( const std::string &  app_id,
const std::string &  user_account 
) const
pure virtual

◆ registerLocalUserAccount()

virtual int agora::base::IAgoraServiceEx::registerLocalUserAccount ( const char *  appId,
const char *  userAccount 
)
pure virtual

◆ getDiagnosticService()

virtual rtc::IDiagnosticService* agora::base::IAgoraServiceEx::getDiagnosticService ( ) const
pure virtual

◆ registerAgoraServiceObserver()

virtual int agora::base::IAgoraServiceEx::registerAgoraServiceObserver ( IAgoraServiceObserver observer)
pure virtual

◆ unregisterAgoraServiceObserver()

virtual int agora::base::IAgoraServiceEx::unregisterAgoraServiceObserver ( IAgoraServiceObserver observer)
pure virtual

◆ startTrace()

virtual int agora::base::IAgoraServiceEx::startTrace ( uint32_t  count,
uint64_t  mask 
)
pure virtual

Start trace with mask and max ring buffer size: count.

Returns
  • -1: Service don't start or start trace failure.
  • 1: Success, and do nothing if it already started.

◆ stopTrace()

virtual int agora::base::IAgoraServiceEx::stopTrace ( const char *  file_path)
pure virtual

stop trace, and save log in file_path.

Returns
  • -1: Service don't start
  • 1: Success, and do nothing if it already stoped

◆ setExternalAudioSink()

virtual int agora::base::IAgoraServiceEx::setExternalAudioSink ( bool  enabled,
int  sampleRate,
int  channels 
)
pure virtual

Sets the external audio sink.

This method applies to scenarios where you want to use external audio data for playback.

Parameters
enabled
  • true: Enables the external audio sink.
  • false: Disables the external audio sink.
sampleRateSets the sample rate (Hz) of the external audio sink, which can be set as 16000, 32000, 44100 or 48000.
channelsSets the number of audio channels of the external audio sink:
  • 1: Mono.
  • 2: Stereo.
Returns
  • 0: Success.
  • < 0: Failure.

◆ pullPlaybackAudioPcmData()

virtual int agora::base::IAgoraServiceEx::pullPlaybackAudioPcmData ( void *  payloadData,
const rtc::AudioPcmDataInfo audioFrameInfo 
)
pure virtual

Pulls the playback PCM audio data from all the channel.

Parameters
[out]payloadDataThe pointer to the playback PCM audio data.
[in]audioFrameInfoThe reference to the information of the PCM audio data: AudioPcmDataInfo.
Returns
  • 0: Success.
  • < 0: Failure.