Agora C++ API Reference for All Platforms

Public Types | Public Member Functions | List of all members
agora::rtc::ILocalUserEx Class Referenceabstract

Inherits agora::rtc::ILocalUser.

## Public Types
using | internal_user_id_t = std::string
Public Types inherited from agora::rtc::ILocalUser
enum | NS_MODE { ElderNsStatistical = 0, NsNGStatistical = 1, NsNG = 2 }
enum | NS_LEVEL { Soft = 0, Aggressive = 1 }
enum | NS_DELAY { HighQuality = 0, Balance = 1, LowDelay = 2 }

## Public Member Functions
virtual int | initialize ()=0
virtual int | sendAudioPacket (const audio_packet_t &packet, int delay=0)=0
virtual int | sendVideoPacket (const video_packet_t &packet)=0
virtual int | sendControlBroadcastPacket (std::string &payload)=0
virtual int | sendDataStreamPacket (uint16_t streamId, const char *data, size_t length)=0
virtual int | registerTransportPacketObserver (ITransportPacketObserver *observer)=0
virtual int | setAudioOptions (const rtc::AudioOptions &options)=0
virtual int | getAudioOptions (rtc::AudioOptions *options)=0
virtual int | setAdvancedAudioOptions (const rtc::AudioOptions &options, int sourceType)=0
virtual void | getBillInfo (CallBillInfo *bill_info)=0
virtual void | forceDeviceScore (int32_t deviceScore)=0
virtual int | setPrerendererSmoothing (bool enabled)=0
virtual int | setDtx (bool enabled)=0
virtual int | setCustomAudioBitrate (int bitrate)=0
virtual int | setCustomAudioPayloadType (int payloadtype)=0
virtual int | setCustomAudioChannelNum (int channelNum)=0
virtual int | setCustomAudioSampleRate (int sampleRate)=0
virtual int | setAudioFrameSizeMs (int sizeMs)=0
virtual int | setAudioDred (int value)=0
virtual int | setAudioCC (bool value)=0
virtual int | registerAudioFrameDumpObserver (IAudioFrameDumpObserver *observer)=0
virtual int | unregisterAudioFrameDumpObserver (IAudioFrameDumpObserver *observer)=0
virtual int | startAudioFrameDump (const std::string &location, const std::string &uuid, const std::string &passwd, int64_t duration_ms, bool auto_upload, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | stopAudioFrameDump (const std::string &location)=0
virtual int | startAudioRecordingLLApiInternal (const agora_refptr< agora::rtc::IAudioSinkBase > &audioSink, const AudioSinkWants &wants=AudioSinkWants{})=0
virtual int | stopAudioRecordingLLApiInternal ()=0
virtual int | enalbeSyncRenderNtpBroadcast (bool enable_sync_render_ntp_broadcast)=0
virtual int | enalbeSyncRenderNtpAudience (bool enable_sync_render_ntp_audience)=0
virtual int | enableStablePlayout (bool enable_stable_playout)=0
virtual int | setPlayoutUserAnonymous (rtc::uid_t uid, bool anonymous)=0
virtual int | muteRemoteFromTimestamp (rtc::uid_t uid, uint32_t timestamp)=0
virtual int | unmuteRemoteFromTimestamp (rtc::uid_t uid, uint32_t timestamp)=0
virtual int | adjustAudioAcceleration (rtc::uid_t uid, int percent)=0
virtual int | adjustAudioDeceleration (rtc::uid_t uid, int percent)=0
virtual int | enableAudioPlayout (bool enabled)=0
virtual int | setAudioMaxTargetDelay (int delay)=0
virtual int | adjustDecodedAudioVolume (rtc::uid_t uid, int decoded_index, int volume)=0
virtual void | registerVideoMetadataObserver (IMetadataObserver *observer)=0
virtual void | unregisterVideoMetadataObserver (IMetadataObserver *observer)=0
virtual void | registerVideoLayoutObserver (IVideoLayoutObserver *observer)=0
virtual void | unregisterVideoLayoutObserver (IVideoLayoutObserver *observer)=0
virtual int | setVideoFrameObserver (agora::media::IVideoFrameObserver *observer)=0
virtual int | setExtendPlatformRenderer (agora::media::IVideoFrameObserver *renderer)=0
virtual agora_refptr< IRemoteVideoTrack > | getRemoteVideoTrack (rtc::uid_t uid)=0
virtual int | setAVSyncPeer (rtc::uid_t uid)=0
virtual int | getOnlySubscribeEncodedVideoFrame (user_id_t peerUid, bool &subscribe)=0
virtual void | setMinPlayoutDelay (int delay)=0
virtual int | setAllowSubscribeSelf (bool allow)=0
virtual int | adjustRecordingSignalVolume (int volume)=0
virtual int | enableDownlinkNoiseGate (int noise_gate)=0
virtual int | setDownlinkSignalLoudness (float loudness_lkfs)=0
virtual int | setUplinkSignalLoudness (float loudness_lkfs)=0
virtual int | enableDownlinkRawAudioLevelReport (bool enable)=0
virtual int | enableAudioLevelReportInDecibel (bool enable)=0
virtual int | getRecordingSignalVolume (int *volume)=0
virtual int | registerCapabilitiesObserver (ICapabilitesObserver *cap_observer)=0
virtual int | unRegisterCapabilitiesObserver (ICapabilitesObserver *cap_observer)=0
virtual void | updateAppDefinedCapabilities (const Capabilities *cap, size_t size)=0
virtual int | sendIntraRequestQuick (user_id_t uid)=0
virtual int | sendIntraRequestLLApiInternal (user_id_t userId, VIDEO_STREAM_TYPE stream_type=VIDEO_STREAM_HIGH)=0
virtual void | customUpdateBillInfo (int height, int width, bool isSendingVideo)=0
virtual void | setInteractiveAudience (bool interactive)=0
virtual int | setVideoDumpMode (int mode, bool enabled, int frame_cnt=-1)=0
virtual int | enableVideoDecryptedV4StreamDump (bool enabled)=0
virtual void | muteLocalAudioStream (bool mute)=0
virtual void | muteMicrophone (bool mute)=0
virtual int | setUserRoleLLApiInternal (rtc::CLIENT_ROLE_TYPE role)=0
virtual CLIENT_ROLE_TYPE | getUserRoleLLApiInternal ()=0
virtual int | setAudienceLatencyLevelLLApiInternal (rtc::AUDIENCE_LATENCY_LEVEL_TYPE level, int role)=0
virtual bool | getLocalAudioStatisticsLLApiInternal (LocalAudioDetailedStats &stats)=0
virtual int | publishVideoLLApiInternal (agora_refptr< ILocalVideoTrack > videoTrack)=0
virtual int | unpublishVideoLLApiInternal (agora_refptr< ILocalVideoTrack > videoTrack)=0
virtual int | setVideoSubscriptionOptionsLLApiInternal (user_id_t userId, const VideoSubscriptionOptions &options)=0
virtual int | subscribeVideoLLApiInternal (user_id_t userId, const agora::rtc::VideoSubscriptionOptions &subscriptionOptions)=0
virtual int | subscribeAllVideoLLApiInternal (const agora::rtc::VideoSubscriptionOptions &subscriptionOptions)=0
virtual int | unsubscribeVideoLLApiInternal (user_id_t userId)=0
virtual int | unsubscribeAllVideoLLApiInternal ()=0
virtual int | publishAudioLLApiInternal (agora_refptr< ILocalAudioTrack > audioTrack)=0
virtual int | unpublishAudioLLApiInternal (agora_refptr< ILocalAudioTrack > audioTrack)=0
virtual int | subscribeAudioLLApiInternal (user_id_t userId)=0
virtual int | subscribeAllAudioLLApiInternal ()=0
virtual int | unsubscribeAudioLLApiInternal (user_id_t userId)=0
virtual int | unsubscribeAllAudioLLApiInternal ()=0
virtual int | adjustPlaybackSignalVolumeLLApiInternal (int volume)=0
virtual int | getPlaybackSignalVolumeLLApiInternal (int *volume)=0
virtual int | adjustUserPlaybackSignalVolumeLLApiInternal (user_id_t userId, int volume)=0
virtual int | getUserPlaybackSignalVolumeLLApiInternal (user_id_t userId, int *volume)=0
virtual int | setUserPlaybackSignalLoudnessLLApiInternal (user_id_t userId, float loudness)=0
virtual int | setAudioScenarioLLApiInternal (AUDIO_SCENARIO_TYPE scenario)=0
virtual int | setAudioEncoderConfigurationLLApiInternal (const AudioEncoderConfiguration &config)=0
virtual int | setPlaybackAudioFrameParametersLLApiInternal (size_t numberOfChannels, uint32_t sampleRateHz, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
virtual int | setRecordingAudioFrameParametersLLApiInternal (size_t numberOfChannels, uint32_t sampleRateHz, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
virtual int | setMixedAudioFrameParametersLLApiInternal (size_t numberOfChannels, uint32_t sampleRateHz, int samplesPerCall)=0
virtual int | setEarMonitoringAudioFrameParametersLLApiInternal (bool enabled, size_t numberOfChannels, uint32_t sampleRateHz, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
virtual int | setPlaybackAudioFrameBeforeMixingParametersLLApiInternal (size_t numberOfChannels, uint32_t sampleRateHz)=0
virtual int | registerAudioFrameObserverLLApiInternal (agora::media::IAudioFrameObserverBase *observer)=0
virtual int | unregisterAudioFrameObserverLLApiInternal (agora::media::IAudioFrameObserverBase *observer)=0
virtual int | enableAudioSpectrumMonitorLLApiInternal (int intervalInMS)=0
virtual int | disableAudioSpectrumMonitorLLApiInternal ()=0
virtual int | registerAudioSpectrumObserverLLApiInternal (agora::media::IAudioSpectrumObserver *observer, void(*safeDeleter)(agora::media::IAudioSpectrumObserver *))=0
virtual int | unregisterAudioSpectrumObserverLLApiInternal (agora::media::IAudioSpectrumObserver *observer)=0
virtual int | registerLocalVideoEncodedFrameObserverLLApiInternal (agora::media::IVideoEncodedFrameObserver *observer)=0
virtual int | unregisterLocalVideoEncodedFrameObserverLLApiInternal (agora::media::IVideoEncodedFrameObserver *observer)=0
virtual int | forceNextIntraFrameLLApiInternal ()=0
virtual int | registerVideoEncodedFrameObserverLLApiInternal (agora::media::IVideoEncodedFrameObserver *observer)=0
virtual int | unregisterVideoEncodedFrameObserverLLApiInternal (agora::media::IVideoEncodedFrameObserver *observer)=0
virtual int | registerVideoFrameObserverLLApiInternal (IVideoFrameObserver2 *observer)=0
virtual int | unregisterVideoFrameObserverLLApiInternal (IVideoFrameObserver2 *observer)=0
virtual int | setVideoFrameObserverLLApiInternal (agora::media::IVideoFrameObserver *observer)=0
virtual int | setExtendPlatformRendererLLApiInternal (agora::media::IVideoFrameObserver *renderer)=0
virtual int | setSubscribeAudioBlocklistLLApiInternal (const std::vector< internal_user_id_t > &userIdList)=0
virtual int | setSubscribeAudioAllowlistLLApiInternal (const std::vector< internal_user_id_t > &userIdList)=0
virtual int | setSubscribeVideoBlocklistLLApiInternal (const std::vector< internal_user_id_t > &userIdList)=0
virtual int | setSubscribeVideoAllowlistLLApiInternal (const std::vector< internal_user_id_t > &userIdList)=0
virtual int | setHighPriorityUserListLLApiInternal (const std::vector< uid_t > &vipList, int option)=0
virtual int | getHighPriorityUserListLLApiInternal (std::vector< uid_t > &vipList, int &option)=0
virtual int | setRemoteSubscribeFallbackOptionLLApiInternal (int option)=0
virtual int | registerLocalUserObserverLLApiInternal (ILocalUserObserver *observer, void(*safeDeleter)(ILocalUserObserver *)=NULL)=0
virtual int | unregisterLocalUserObserverLLApiInternal (ILocalUserObserver *observer)=0
virtual int | setAudioVolumeIndicationParametersLLApiInternal (int intervalInMS, int smooth, bool reportVad)=0
virtual int | registerMediaControlPacketReceiverLLApiInternal (IMediaControlPacketReceiver *ctrlPacketReceiver)=0
virtual int | unregisterMediaControlPacketReceiverLLApiInternal (IMediaControlPacketReceiver *ctrlPacketReceiver)=0
virtual int | enableSoundPositionIndicationLLApiInternal (bool enabled)=0
virtual int | setRemoteVoicePositionLLApiInternal (user_id_t userId, double pan, double gain)=0
virtual int | enableSpatialAudioLLApiInternal (bool enabled)=0
virtual int | setRemoteUserSpatialAudioParamsLLApiInternal (user_id_t userId, const agora::SpatialAudioParams &param)=0
virtual int | setAudioFilterableLLApiInternal (bool filterable)=0
virtual int | publishDataChannelLLApiInternal (agora_refptr< ILocalDataChannel > channel)=0
virtual int | unpublishDataChannelLLApiInternal (agora_refptr< ILocalDataChannel > channel)=0
virtual int | subscribeDataChannelLLApiInternal (user_id_t userId, int channelId)=0
virtual int | unsubscribeDataChannelLLApiInternal (user_id_t userId, int channelId)=0
virtual int | registerDataChannelObserverLLApiInternal (IDataChannelObserver *observer)=0
virtual int | unregisterDataChannelObserverLLApiInternal (IDataChannelObserver *observer)=0
virtual int | takeDataChannelSnapshotLLApiInternal ()=0
virtual int | enableRemoteAudioTrackFilterLLApiInternal (user_id_t userId, const char *id, bool enable)=0
virtual int | setRemoteAudioTrackFilterPropertyLLApiInternal (user_id_t userId, const char *id, const char *key, const char *jsonValue)=0
virtual int | getRemoteAudioTrackFilterPropertyLLApiInternal (user_id_t userId, const char *id, const char *key, char *jsonValue, size_t bufSize)=0
virtual int | initializeLLApiInternal ()=0
virtual int | SetAudioNsModeLLApiInternal (bool NsEnable, NS_MODE NsMode, NS_LEVEL NsLevel, NS_DELAY NsDelay)=0
virtual int | RegisterLocalMixedAudioTrackLLApiInternal (agora_refptr< ILocalAudioTrack > &track, bool enable)=0
virtual int | setVideoScenarioLLApiInternal (VIDEO_APPLICATION_SCENARIO_TYPE scenarioType)=0
virtual int | getVideoScenarioEncoderConfigLLApiInternal (VideoEncoderConfiguration &config)=0
virtual int | setVideoQoEPreferenceLLApiInternal (VIDEO_QOE_PREFERENCE_TYPE qoePreference)=0
virtual rtc::IStrategyManager * | getStrategyManager ()=0
virtual rtc::ProactiveCaller * | getStrategyProactiveCaller ()=0
virtual int | setExternalAudioSinkMix (bool enabled)=0
virtual int | sendAudioMetadataLLApiInternal (const char *metadata, size_t length)=0
virtual int | setBiquadParams (const std::vector< std::tuple< int, float, float >> &params, bool uplink)=0
virtual int | registerLocalVideoEncodedFrameObserver (agora::media::IVideoEncodedFrameObserver *observer, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | unregisterLocalVideoEncodedFrameObserver (agora::media::IVideoEncodedFrameObserver *observer)=0
virtual int | registerVideoEncodedFrameObserver (agora::media::IVideoEncodedFrameObserver *observer, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | unregisterVideoEncodedFrameObserver (agora::media::IVideoEncodedFrameObserver *observer)=0
virtual int | registerAudioSpectrumObserver (agora::media::IAudioSpectrumObserver *observer, void(*safeDeleter)(agora::media::IAudioSpectrumObserver *), aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | unregisterAudioSpectrumObserver (agora::media::IAudioSpectrumObserver *observer)=0
Public Member Functions inherited from agora::rtc::ILocalUser
virtual | ~ILocalUser ()
virtual int | setUserRole (rtc::CLIENT_ROLE_TYPE role, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual CLIENT_ROLE_TYPE | getUserRole ()=0
virtual int | setAudienceLatencyLevel (AUDIENCE_LATENCY_LEVEL_TYPE level, int role, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual AUDIENCE_LATENCY_LEVEL_TYPE | getAudienceLatencyLevel ()=0
virtual int | setAudioEncoderConfiguration (const rtc::AudioEncoderConfiguration &config, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | setAudioScenario (AUDIO_SCENARIO_TYPE scenario, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | setVideoScenario (VIDEO_APPLICATION_SCENARIO_TYPE scenarioType, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | setVideoQoEPreference (VIDEO_QOE_PREFERENCE_TYPE qoePreference, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual bool | getLocalAudioStatistics (LocalAudioDetailedStats &stats)=0
virtual int | publishAudio (agora_refptr< ILocalAudioTrack > audioTrack, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | unpublishAudio (agora_refptr< ILocalAudioTrack > audioTrack, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | publishVideo (agora_refptr< ILocalVideoTrack > videoTrack, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | unpublishVideo (agora_refptr< ILocalVideoTrack > videoTrack, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | subscribeAudio (user_id_t userId, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | subscribeAllAudio (aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | unsubscribeAudio (user_id_t userId, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | unsubscribeAllAudio (aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | adjustPlaybackSignalVolume (int volume, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | getPlaybackSignalVolume (int *volume)=0
virtual int | adjustUserPlaybackSignalVolume (user_id_t userId, int volume, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | getUserPlaybackSignalVolume (user_id_t userId, int *volume)=0
virtual int | enableSoundPositionIndication (bool enabled, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | setRemoteVoicePosition (user_id_t userId, double pan, double gain, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | enableSpatialAudio (bool enabled, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | setRemoteUserSpatialAudioParams (user_id_t userId, const agora::SpatialAudioParams &param, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | setPlaybackAudioFrameParameters (size_t numberOfChannels, uint32_t sampleRateHz, RAW_AUDIO_FRAME_OP_MODE_TYPE mode=RAW_AUDIO_FRAME_OP_MODE_READ_ONLY, int samplesPerCall=0, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | setRecordingAudioFrameParameters (size_t numberOfChannels, uint32_t sampleRateHz, RAW_AUDIO_FRAME_OP_MODE_TYPE mode=RAW_AUDIO_FRAME_OP_MODE_READ_ONLY, int samplesPerCall=0, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | setMixedAudioFrameParameters (size_t numberOfChannels, uint32_t sampleRateHz, int samplesPerCall=0, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | setEarMonitoringAudioFrameParameters (bool enabled, size_t numberOfChannels, uint32_t sampleRateHz, RAW_AUDIO_FRAME_OP_MODE_TYPE mode=RAW_AUDIO_FRAME_OP_MODE_READ_ONLY, int samplesPerCall=0, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | setPlaybackAudioFrameBeforeMixingParameters (size_t numberOfChannels, uint32_t sampleRateHz, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | registerAudioFrameObserver (agora::media::IAudioFrameObserverBase *observer, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | unregisterAudioFrameObserver (agora::media::IAudioFrameObserverBase *observer)=0
virtual int | enableAudioSpectrumMonitor (int intervalInMS=100, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | disableAudioSpectrumMonitor (aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | registerAudioSpectrumObserver (agora::media::IAudioSpectrumObserver *observer, void(*safeDeleter)(agora::media::IAudioSpectrumObserver *), aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | unregisterAudioSpectrumObserver (agora::media::IAudioSpectrumObserver *observer)=0
virtual int | registerLocalVideoEncodedFrameObserver (agora::media::IVideoEncodedFrameObserver *observer, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | unregisterLocalVideoEncodedFrameObserver (agora::media::IVideoEncodedFrameObserver *observer)=0
virtual int | forceNextIntraFrame (aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | registerVideoEncodedFrameObserver (agora::media::IVideoEncodedFrameObserver *observer, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | unregisterVideoEncodedFrameObserver (agora::media::IVideoEncodedFrameObserver *observer)=0
virtual int | registerVideoFrameObserver (IVideoFrameObserver2 *observer, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | unregisterVideoFrameObserver (IVideoFrameObserver2 *observer)=0
virtual int | setVideoSubscriptionOptions (user_id_t userId, const VideoSubscriptionOptions &options, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | setHighPriorityUserList (uid_t *vipList, int uidNum, int option, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | getHighPriorityUserList (std::vector< uid_t > &vipList, int &option)=0
virtual int | setRemoteSubscribeFallbackOption (int option, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | setSubscribeAudioBlocklist (user_id_t *userList, int userNumber, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | setSubscribeAudioAllowlist (user_id_t *userList, int userNumber, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | setSubscribeVideoBlocklist (user_id_t *userList, int userNumber, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | setSubscribeVideoAllowlist (user_id_t *userList, int userNumber, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | subscribeVideo (user_id_t userId, const VideoSubscriptionOptions &subscriptionOptions, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | subscribeAllVideo (const VideoSubscriptionOptions &subscriptionOptions, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | unsubscribeVideo (user_id_t userId, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | unsubscribeAllVideo (aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | setAudioVolumeIndicationParameters (int intervalInMS, int smooth, bool reportVad, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | registerLocalUserObserver (ILocalUserObserver *observer, void(*safeDeleter)(ILocalUserObserver *)=NULL, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | unregisterLocalUserObserver (ILocalUserObserver *observer)=0
virtual IMediaControlPacketSender * | getMediaControlPacketSender ()=0
virtual int | registerMediaControlPacketReceiver (IMediaControlPacketReceiver *ctrlPacketReceiver, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | unregisterMediaControlPacketReceiver (IMediaControlPacketReceiver *ctrlPacketReceiver)=0
virtual int | sendIntraRequest (user_id_t userId, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | setAudioFilterable (bool filterable, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | enableRemoteAudioTrackFilter (user_id_t userId, const char *id, bool enable, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | setRemoteAudioTrackFilterProperty (user_id_t userId, const char *id, const char *key, const char *jsonValue, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | getRemoteAudioTrackFilterProperty (user_id_t userId, const char *id, const char *key, char *jsonValue, size_t bufSize)=0
virtual int | publishDataChannel (agora_refptr< ILocalDataChannel > channel, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | unpublishDataChannel (agora_refptr< ILocalDataChannel > channel, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | subscribeDataChannel (user_id_t userId, int channelId, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | unsubscribeDataChannel (user_id_t userId, int channelId, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | registerDataChannelObserver (IDataChannelObserver *observer, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | unregisterDataChannelObserver (IDataChannelObserver *observer)=0
virtual int | SetAudioNsMode (bool NsEnable, NS_MODE NsMode, NS_LEVEL NsLevel, NS_DELAY NsDelay, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | RegisterLocalMixedAudioTrack (agora_refptr< ILocalAudioTrack > &track, bool enable, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | takeDataChannelSnapshot (aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | sendAudioMetadata (const char *metadata, size_t length, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | setRemoteRenderTargetFps (int targetFps)=0

## Member Typedef Documentation

## ◆ internal_user_id_t

using agora::rtc::ILocalUserEx::internal_user_id_t = std::string

## Member Function Documentation

## ◆ initialize()

virtual int agora::rtc::ILocalUserEx::initialize | ( |  | ) |
| pure virtual

## ◆ sendAudioPacket()

virtual int agora::rtc::ILocalUserEx::sendAudioPacket | ( | const audio_packet_t & | packet,
|  | int | delay = `0`
| ) |  |
| pure virtual

## ◆ sendVideoPacket()

virtual int agora::rtc::ILocalUserEx::sendVideoPacket | ( | const video_packet_t & | packet | ) |
| pure virtual

## ◆ sendControlBroadcastPacket()

virtual int agora::rtc::ILocalUserEx::sendControlBroadcastPacket | ( | std::string & | payload | ) |
| pure virtual

## ◆ sendDataStreamPacket()

virtual int agora::rtc::ILocalUserEx::sendDataStreamPacket | ( | uint16_t | streamId,
|  | const char * | data,
|  | size_t | length
| ) |  |
| pure virtual

## ◆ registerTransportPacketObserver()

virtual int agora::rtc::ILocalUserEx::registerTransportPacketObserver | ( | ITransportPacketObserver * | observer | ) |
| pure virtual

## ◆ setAudioOptions()

virtual int agora::rtc::ILocalUserEx::setAudioOptions | ( | const rtc::AudioOptions & | options | ) |
| pure virtual

## ◆ getAudioOptions()

virtual int agora::rtc::ILocalUserEx::getAudioOptions | ( | rtc::AudioOptions * | options | ) |
| pure virtual

## ◆ setAdvancedAudioOptions()

virtual int agora::rtc::ILocalUserEx::setAdvancedAudioOptions | ( | const rtc::AudioOptions & | options,
|  | int | sourceType
| ) |  |
| pure virtual

## ◆ getBillInfo()

virtual void agora::rtc::ILocalUserEx::getBillInfo | ( | CallBillInfo * | bill_info | ) |
| pure virtual

## ◆ forceDeviceScore()

virtual void agora::rtc::ILocalUserEx::forceDeviceScore | ( | int32_t | deviceScore | ) |
| pure virtual

## ◆ setPrerendererSmoothing()

virtual int agora::rtc::ILocalUserEx::setPrerendererSmoothing | ( | bool | enabled | ) |
| pure virtual

## ◆ setDtx()

virtual int agora::rtc::ILocalUserEx::setDtx | ( | bool | enabled | ) |
| pure virtual

## ◆ setCustomAudioBitrate()

virtual int agora::rtc::ILocalUserEx::setCustomAudioBitrate | ( | int | bitrate | ) |
| pure virtual

## ◆ setCustomAudioPayloadType()

virtual int agora::rtc::ILocalUserEx::setCustomAudioPayloadType | ( | int | payloadtype | ) |
| pure virtual

## ◆ setCustomAudioChannelNum()

virtual int agora::rtc::ILocalUserEx::setCustomAudioChannelNum | ( | int | channelNum | ) |
| pure virtual

## ◆ setCustomAudioSampleRate()

virtual int agora::rtc::ILocalUserEx::setCustomAudioSampleRate | ( | int | sampleRate | ) |
| pure virtual

## ◆ setAudioFrameSizeMs()

virtual int agora::rtc::ILocalUserEx::setAudioFrameSizeMs | ( | int | sizeMs | ) |
| pure virtual

## ◆ setAudioDred()

virtual int agora::rtc::ILocalUserEx::setAudioDred | ( | int | value | ) |
| pure virtual

## ◆ setAudioCC()

virtual int agora::rtc::ILocalUserEx::setAudioCC | ( | bool | value | ) |
| pure virtual

## ◆ registerAudioFrameDumpObserver()

virtual int agora::rtc::ILocalUserEx::registerAudioFrameDumpObserver | ( | IAudioFrameDumpObserver * | observer | ) |
| pure virtual

## ◆ unregisterAudioFrameDumpObserver()

virtual int agora::rtc::ILocalUserEx::unregisterAudioFrameDumpObserver | ( | IAudioFrameDumpObserver * | observer | ) |
| pure virtual

## ◆ startAudioFrameDump()

virtual int agora::rtc::ILocalUserEx::startAudioFrameDump | ( | const std::string & | location,
|  | const std::string & | uuid,
|  | const std::string & | passwd,
|  | int64_t | duration_ms,
|  | bool | auto_upload,
|  | aosl_ref_t | ares = `AOSL_REF_INVALID`
| ) |  |
| pure virtual

## ◆ stopAudioFrameDump()

virtual int agora::rtc::ILocalUserEx::stopAudioFrameDump | ( | const std::string & | location | ) |
| pure virtual

## ◆ startAudioRecordingLLApiInternal()

virtual int agora::rtc::ILocalUserEx::startAudioRecordingLLApiInternal | ( | const agora_refptr< agora::rtc::IAudioSinkBase > & | audioSink,
|  | const AudioSinkWants & | wants = `AudioSinkWants{}`
| ) |  |
| pure virtual

## ◆ stopAudioRecordingLLApiInternal()

virtual int agora::rtc::ILocalUserEx::stopAudioRecordingLLApiInternal | ( |  | ) |
| pure virtual

## ◆ enalbeSyncRenderNtpBroadcast()

virtual int agora::rtc::ILocalUserEx::enalbeSyncRenderNtpBroadcast | ( | bool | enable_sync_render_ntp_broadcast | ) |
| pure virtual

## ◆ enalbeSyncRenderNtpAudience()

virtual int agora::rtc::ILocalUserEx::enalbeSyncRenderNtpAudience | ( | bool | enable_sync_render_ntp_audience | ) |
| pure virtual

## ◆ enableStablePlayout()

virtual int agora::rtc::ILocalUserEx::enableStablePlayout | ( | bool | enable_stable_playout | ) |
| pure virtual

## ◆ setPlayoutUserAnonymous()

virtual int agora::rtc::ILocalUserEx::setPlayoutUserAnonymous | ( | rtc::uid_t | uid,
|  | bool | anonymous
| ) |  |
| pure virtual

## ◆ muteRemoteFromTimestamp()

virtual int agora::rtc::ILocalUserEx::muteRemoteFromTimestamp | ( | rtc::uid_t | uid,
|  | uint32_t | timestamp
| ) |  |
| pure virtual

## ◆ unmuteRemoteFromTimestamp()

virtual int agora::rtc::ILocalUserEx::unmuteRemoteFromTimestamp | ( | rtc::uid_t | uid,
|  | uint32_t | timestamp
| ) |  |
| pure virtual

## ◆ adjustAudioAcceleration()

virtual int agora::rtc::ILocalUserEx::adjustAudioAcceleration | ( | rtc::uid_t | uid,
|  | int | percent
| ) |  |
| pure virtual

## ◆ adjustAudioDeceleration()

virtual int agora::rtc::ILocalUserEx::adjustAudioDeceleration | ( | rtc::uid_t | uid,
|  | int | percent
| ) |  |
| pure virtual

## ◆ enableAudioPlayout()

virtual int agora::rtc::ILocalUserEx::enableAudioPlayout | ( | bool | enabled | ) |
| pure virtual

## ◆ setAudioMaxTargetDelay()

virtual int agora::rtc::ILocalUserEx::setAudioMaxTargetDelay | ( | int | delay | ) |
| pure virtual

## ◆ adjustDecodedAudioVolume()

virtual int agora::rtc::ILocalUserEx::adjustDecodedAudioVolume | ( | rtc::uid_t | uid,
|  | int | decoded_index,
|  | int | volume
| ) |  |
| pure virtual

## ◆ registerVideoMetadataObserver()

virtual void agora::rtc::ILocalUserEx::registerVideoMetadataObserver | ( | IMetadataObserver * | observer | ) |
| pure virtual

## ◆ unregisterVideoMetadataObserver()

virtual void agora::rtc::ILocalUserEx::unregisterVideoMetadataObserver | ( | IMetadataObserver * | observer | ) |
| pure virtual

## ◆ registerVideoLayoutObserver()

virtual void agora::rtc::ILocalUserEx::registerVideoLayoutObserver | ( | IVideoLayoutObserver * | observer | ) |
| pure virtual

## ◆ unregisterVideoLayoutObserver()

virtual void agora::rtc::ILocalUserEx::unregisterVideoLayoutObserver | ( | IVideoLayoutObserver * | observer | ) |
| pure virtual

## ◆ setVideoFrameObserver()

virtual int agora::rtc::ILocalUserEx::setVideoFrameObserver | ( | agora::media::IVideoFrameObserver * | observer | ) |
| pure virtual

## ◆ setExtendPlatformRenderer()

virtual int agora::rtc::ILocalUserEx::setExtendPlatformRenderer | ( | agora::media::IVideoFrameObserver * | renderer | ) |
| pure virtual

## ◆ getRemoteVideoTrack()

virtual agora_refptr<IRemoteVideoTrack> agora::rtc::ILocalUserEx::getRemoteVideoTrack | ( | rtc::uid_t | uid | ) |
| pure virtual

## ◆ setAVSyncPeer()

virtual int agora::rtc::ILocalUserEx::setAVSyncPeer | ( | rtc::uid_t | uid | ) |
| pure virtual

## ◆ getOnlySubscribeEncodedVideoFrame()

virtual int agora::rtc::ILocalUserEx::getOnlySubscribeEncodedVideoFrame | ( | user_id_t | peerUid,
|  | bool & | subscribe
| ) |  |
| pure virtual

## ◆ setMinPlayoutDelay()

virtual void agora::rtc::ILocalUserEx::setMinPlayoutDelay | ( | int | delay | ) |
| pure virtual

## ◆ setAllowSubscribeSelf()

virtual int agora::rtc::ILocalUserEx::setAllowSubscribeSelf | ( | bool | allow | ) |
| pure virtual

## ◆ adjustRecordingSignalVolume()

virtual int agora::rtc::ILocalUserEx::adjustRecordingSignalVolume | ( | int | volume | ) |
| pure virtual

## ◆ enableDownlinkNoiseGate()

virtual int agora::rtc::ILocalUserEx::enableDownlinkNoiseGate | ( | int | noise_gate | ) |
| pure virtual

## ◆ setDownlinkSignalLoudness()

virtual int agora::rtc::ILocalUserEx::setDownlinkSignalLoudness | ( | float | loudness_lkfs | ) |
| pure virtual

## ◆ setUplinkSignalLoudness()

virtual int agora::rtc::ILocalUserEx::setUplinkSignalLoudness | ( | float | loudness_lkfs | ) |
| pure virtual

## ◆ enableDownlinkRawAudioLevelReport()

virtual int agora::rtc::ILocalUserEx::enableDownlinkRawAudioLevelReport | ( | bool | enable | ) |
| pure virtual

## ◆ enableAudioLevelReportInDecibel()

virtual int agora::rtc::ILocalUserEx::enableAudioLevelReportInDecibel | ( | bool | enable | ) |
| pure virtual

## ◆ getRecordingSignalVolume()

virtual int agora::rtc::ILocalUserEx::getRecordingSignalVolume | ( | int * | volume | ) |
| pure virtual

## ◆ registerCapabilitiesObserver()

virtual int agora::rtc::ILocalUserEx::registerCapabilitiesObserver | ( | ICapabilitesObserver * | cap_observer | ) |
| pure virtual

## ◆ unRegisterCapabilitiesObserver()

virtual int agora::rtc::ILocalUserEx::unRegisterCapabilitiesObserver | ( | ICapabilitesObserver * | cap_observer | ) |
| pure virtual

## ◆ updateAppDefinedCapabilities()

virtual void agora::rtc::ILocalUserEx::updateAppDefinedCapabilities | ( | const Capabilities * | cap,
|  | size_t | size
| ) |  |
| pure virtual

## ◆ sendIntraRequestQuick()

virtual int agora::rtc::ILocalUserEx::sendIntraRequestQuick | ( | user_id_t | uid | ) |
| pure virtual

## ◆ sendIntraRequestLLApiInternal()

virtual int agora::rtc::ILocalUserEx::sendIntraRequestLLApiInternal | ( | user_id_t | userId,
|  | VIDEO_STREAM_TYPE | stream_type = `VIDEO_STREAM_HIGH`
| ) |  |
| pure virtual

## ◆ customUpdateBillInfo()

virtual void agora::rtc::ILocalUserEx::customUpdateBillInfo | ( | int | height,
|  | int | width,
|  | bool | isSendingVideo
| ) |  |
| pure virtual

## ◆ setInteractiveAudience()

virtual void agora::rtc::ILocalUserEx::setInteractiveAudience | ( | bool | interactive | ) |
| pure virtual

## ◆ setVideoDumpMode()

virtual int agora::rtc::ILocalUserEx::setVideoDumpMode | ( | int | mode,
|  | bool | enabled,
|  | int | frame_cnt = `-1`
| ) |  |
| pure virtual

## ◆ enableVideoDecryptedV4StreamDump()

virtual int agora::rtc::ILocalUserEx::enableVideoDecryptedV4StreamDump | ( | bool | enabled | ) |
| pure virtual

## ◆ muteLocalAudioStream()

virtual void agora::rtc::ILocalUserEx::muteLocalAudioStream | ( | bool | mute | ) |
| pure virtual

## ◆ muteMicrophone()

virtual void agora::rtc::ILocalUserEx::muteMicrophone | ( | bool | mute | ) |
| pure virtual

## ◆ setUserRoleLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setUserRoleLLApiInternal | ( | rtc::CLIENT_ROLE_TYPE | role | ) |
| pure virtual

## ◆ getUserRoleLLApiInternal()

virtual CLIENT_ROLE_TYPE agora::rtc::ILocalUserEx::getUserRoleLLApiInternal | ( |  | ) |
| pure virtual

## ◆ setAudienceLatencyLevelLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setAudienceLatencyLevelLLApiInternal | ( | rtc::AUDIENCE_LATENCY_LEVEL_TYPE | level,
|  | int | role
| ) |  |
| pure virtual

## ◆ getLocalAudioStatisticsLLApiInternal()

virtual bool agora::rtc::ILocalUserEx::getLocalAudioStatisticsLLApiInternal | ( | LocalAudioDetailedStats & | stats | ) |
| pure virtual

## ◆ publishVideoLLApiInternal()

virtual int agora::rtc::ILocalUserEx::publishVideoLLApiInternal | ( | agora_refptr< ILocalVideoTrack > | videoTrack | ) |
| pure virtual

## ◆ unpublishVideoLLApiInternal()

virtual int agora::rtc::ILocalUserEx::unpublishVideoLLApiInternal | ( | agora_refptr< ILocalVideoTrack > | videoTrack | ) |
| pure virtual

## ◆ setVideoSubscriptionOptionsLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setVideoSubscriptionOptionsLLApiInternal | ( | user_id_t | userId,
|  | const VideoSubscriptionOptions & | options
| ) |  |
| pure virtual

## ◆ subscribeVideoLLApiInternal()

virtual int agora::rtc::ILocalUserEx::subscribeVideoLLApiInternal | ( | user_id_t | userId,
|  | const agora::rtc::VideoSubscriptionOptions & | subscriptionOptions
| ) |  |
| pure virtual

## ◆ subscribeAllVideoLLApiInternal()

virtual int agora::rtc::ILocalUserEx::subscribeAllVideoLLApiInternal | ( | const agora::rtc::VideoSubscriptionOptions & | subscriptionOptions | ) |
| pure virtual

## ◆ unsubscribeVideoLLApiInternal()

virtual int agora::rtc::ILocalUserEx::unsubscribeVideoLLApiInternal | ( | user_id_t | userId | ) |
| pure virtual

## ◆ unsubscribeAllVideoLLApiInternal()

virtual int agora::rtc::ILocalUserEx::unsubscribeAllVideoLLApiInternal | ( |  | ) |
| pure virtual

## ◆ publishAudioLLApiInternal()

virtual int agora::rtc::ILocalUserEx::publishAudioLLApiInternal | ( | agora_refptr< ILocalAudioTrack > | audioTrack | ) |
| pure virtual

## ◆ unpublishAudioLLApiInternal()

virtual int agora::rtc::ILocalUserEx::unpublishAudioLLApiInternal | ( | agora_refptr< ILocalAudioTrack > | audioTrack | ) |
| pure virtual

## ◆ subscribeAudioLLApiInternal()

virtual int agora::rtc::ILocalUserEx::subscribeAudioLLApiInternal | ( | user_id_t | userId | ) |
| pure virtual

## ◆ subscribeAllAudioLLApiInternal()

virtual int agora::rtc::ILocalUserEx::subscribeAllAudioLLApiInternal | ( |  | ) |
| pure virtual

## ◆ unsubscribeAudioLLApiInternal()

virtual int agora::rtc::ILocalUserEx::unsubscribeAudioLLApiInternal | ( | user_id_t | userId | ) |
| pure virtual

## ◆ unsubscribeAllAudioLLApiInternal()

virtual int agora::rtc::ILocalUserEx::unsubscribeAllAudioLLApiInternal | ( |  | ) |
| pure virtual

## ◆ adjustPlaybackSignalVolumeLLApiInternal()

virtual int agora::rtc::ILocalUserEx::adjustPlaybackSignalVolumeLLApiInternal | ( | int | volume | ) |
| pure virtual

## ◆ getPlaybackSignalVolumeLLApiInternal()

virtual int agora::rtc::ILocalUserEx::getPlaybackSignalVolumeLLApiInternal | ( | int * | volume | ) |
| pure virtual

## ◆ adjustUserPlaybackSignalVolumeLLApiInternal()

virtual int agora::rtc::ILocalUserEx::adjustUserPlaybackSignalVolumeLLApiInternal | ( | user_id_t | userId,
|  | int | volume
| ) |  |
| pure virtual

## ◆ getUserPlaybackSignalVolumeLLApiInternal()

virtual int agora::rtc::ILocalUserEx::getUserPlaybackSignalVolumeLLApiInternal | ( | user_id_t | userId,
|  | int * | volume
| ) |  |
| pure virtual

## ◆ setUserPlaybackSignalLoudnessLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setUserPlaybackSignalLoudnessLLApiInternal | ( | user_id_t | userId,
|  | float | loudness
| ) |  |
| pure virtual

## ◆ setAudioScenarioLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setAudioScenarioLLApiInternal | ( | AUDIO_SCENARIO_TYPE | scenario | ) |
| pure virtual

## ◆ setAudioEncoderConfigurationLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setAudioEncoderConfigurationLLApiInternal | ( | const AudioEncoderConfiguration & | config | ) |
| pure virtual

## ◆ setPlaybackAudioFrameParametersLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setPlaybackAudioFrameParametersLLApiInternal | ( | size_t | numberOfChannels,
|  | uint32_t | sampleRateHz,
|  | RAW_AUDIO_FRAME_OP_MODE_TYPE | mode,
|  | int | samplesPerCall
| ) |  |
| pure virtual

## ◆ setRecordingAudioFrameParametersLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setRecordingAudioFrameParametersLLApiInternal | ( | size_t | numberOfChannels,
|  | uint32_t | sampleRateHz,
|  | RAW_AUDIO_FRAME_OP_MODE_TYPE | mode,
|  | int | samplesPerCall
| ) |  |
| pure virtual

## ◆ setMixedAudioFrameParametersLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setMixedAudioFrameParametersLLApiInternal | ( | size_t | numberOfChannels,
|  | uint32_t | sampleRateHz,
|  | int | samplesPerCall
| ) |  |
| pure virtual

## ◆ setEarMonitoringAudioFrameParametersLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setEarMonitoringAudioFrameParametersLLApiInternal | ( | bool | enabled,
|  | size_t | numberOfChannels,
|  | uint32_t | sampleRateHz,
|  | RAW_AUDIO_FRAME_OP_MODE_TYPE | mode,
|  | int | samplesPerCall
| ) |  |
| pure virtual

## ◆ setPlaybackAudioFrameBeforeMixingParametersLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setPlaybackAudioFrameBeforeMixingParametersLLApiInternal | ( | size_t | numberOfChannels,
|  | uint32_t | sampleRateHz
| ) |  |
| pure virtual

## ◆ registerAudioFrameObserverLLApiInternal()

virtual int agora::rtc::ILocalUserEx::registerAudioFrameObserverLLApiInternal | ( | agora::media::IAudioFrameObserverBase * | observer | ) |
| pure virtual

## ◆ unregisterAudioFrameObserverLLApiInternal()

virtual int agora::rtc::ILocalUserEx::unregisterAudioFrameObserverLLApiInternal | ( | agora::media::IAudioFrameObserverBase * | observer | ) |
| pure virtual

## ◆ enableAudioSpectrumMonitorLLApiInternal()

virtual int agora::rtc::ILocalUserEx::enableAudioSpectrumMonitorLLApiInternal | ( | int | intervalInMS | ) |
| pure virtual

## ◆ disableAudioSpectrumMonitorLLApiInternal()

virtual int agora::rtc::ILocalUserEx::disableAudioSpectrumMonitorLLApiInternal | ( |  | ) |
| pure virtual

## ◆ registerAudioSpectrumObserverLLApiInternal()

virtual int agora::rtc::ILocalUserEx::registerAudioSpectrumObserverLLApiInternal | ( | agora::media::IAudioSpectrumObserver * | observer,
|  | void(*)(agora::media::IAudioSpectrumObserver *) | safeDeleter
| ) |  |
| pure virtual

## ◆ unregisterAudioSpectrumObserverLLApiInternal()

virtual int agora::rtc::ILocalUserEx::unregisterAudioSpectrumObserverLLApiInternal | ( | agora::media::IAudioSpectrumObserver * | observer | ) |
| pure virtual

## ◆ registerLocalVideoEncodedFrameObserverLLApiInternal()

virtual int agora::rtc::ILocalUserEx::registerLocalVideoEncodedFrameObserverLLApiInternal | ( | agora::media::IVideoEncodedFrameObserver * | observer | ) |
| pure virtual

## ◆ unregisterLocalVideoEncodedFrameObserverLLApiInternal()

virtual int agora::rtc::ILocalUserEx::unregisterLocalVideoEncodedFrameObserverLLApiInternal | ( | agora::media::IVideoEncodedFrameObserver * | observer | ) |
| pure virtual

## ◆ forceNextIntraFrameLLApiInternal()

virtual int agora::rtc::ILocalUserEx::forceNextIntraFrameLLApiInternal | ( |  | ) |
| pure virtual

## ◆ registerVideoEncodedFrameObserverLLApiInternal()

virtual int agora::rtc::ILocalUserEx::registerVideoEncodedFrameObserverLLApiInternal | ( | agora::media::IVideoEncodedFrameObserver * | observer | ) |
| pure virtual

## ◆ unregisterVideoEncodedFrameObserverLLApiInternal()

virtual int agora::rtc::ILocalUserEx::unregisterVideoEncodedFrameObserverLLApiInternal | ( | agora::media::IVideoEncodedFrameObserver * | observer | ) |
| pure virtual

## ◆ registerVideoFrameObserverLLApiInternal()

virtual int agora::rtc::ILocalUserEx::registerVideoFrameObserverLLApiInternal | ( | IVideoFrameObserver2 * | observer | ) |
| pure virtual

## ◆ unregisterVideoFrameObserverLLApiInternal()

virtual int agora::rtc::ILocalUserEx::unregisterVideoFrameObserverLLApiInternal | ( | IVideoFrameObserver2 * | observer | ) |
| pure virtual

## ◆ setVideoFrameObserverLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setVideoFrameObserverLLApiInternal | ( | agora::media::IVideoFrameObserver * | observer | ) |
| pure virtual

## ◆ setExtendPlatformRendererLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setExtendPlatformRendererLLApiInternal | ( | agora::media::IVideoFrameObserver * | renderer | ) |
| pure virtual

## ◆ setSubscribeAudioBlocklistLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setSubscribeAudioBlocklistLLApiInternal | ( | const std::vector< internal_user_id_t > & | userIdList | ) |
| pure virtual

## ◆ setSubscribeAudioAllowlistLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setSubscribeAudioAllowlistLLApiInternal | ( | const std::vector< internal_user_id_t > & | userIdList | ) |
| pure virtual

## ◆ setSubscribeVideoBlocklistLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setSubscribeVideoBlocklistLLApiInternal | ( | const std::vector< internal_user_id_t > & | userIdList | ) |
| pure virtual

## ◆ setSubscribeVideoAllowlistLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setSubscribeVideoAllowlistLLApiInternal | ( | const std::vector< internal_user_id_t > & | userIdList | ) |
| pure virtual

## ◆ setHighPriorityUserListLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setHighPriorityUserListLLApiInternal | ( | const std::vector< uid_t > & | vipList,
|  | int | option
| ) |  |
| pure virtual

## ◆ getHighPriorityUserListLLApiInternal()

virtual int agora::rtc::ILocalUserEx::getHighPriorityUserListLLApiInternal | ( | std::vector< uid_t > & | vipList,
|  | int & | option
| ) |  |
| pure virtual

## ◆ setRemoteSubscribeFallbackOptionLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setRemoteSubscribeFallbackOptionLLApiInternal | ( | int | option | ) |
| pure virtual

## ◆ registerLocalUserObserverLLApiInternal()

virtual int agora::rtc::ILocalUserEx::registerLocalUserObserverLLApiInternal | ( | ILocalUserObserver * | observer,
|  | void(*)(ILocalUserObserver *) | safeDeleter = `NULL`
| ) |  |
| pure virtual

## ◆ unregisterLocalUserObserverLLApiInternal()

virtual int agora::rtc::ILocalUserEx::unregisterLocalUserObserverLLApiInternal | ( | ILocalUserObserver * | observer | ) |
| pure virtual

## ◆ setAudioVolumeIndicationParametersLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setAudioVolumeIndicationParametersLLApiInternal | ( | int | intervalInMS,
|  | int | smooth,
|  | bool | reportVad
| ) |  |
| pure virtual

## ◆ registerMediaControlPacketReceiverLLApiInternal()

virtual int agora::rtc::ILocalUserEx::registerMediaControlPacketReceiverLLApiInternal | ( | IMediaControlPacketReceiver * | ctrlPacketReceiver | ) |
| pure virtual

## ◆ unregisterMediaControlPacketReceiverLLApiInternal()

virtual int agora::rtc::ILocalUserEx::unregisterMediaControlPacketReceiverLLApiInternal | ( | IMediaControlPacketReceiver * | ctrlPacketReceiver | ) |
| pure virtual

## ◆ enableSoundPositionIndicationLLApiInternal()

virtual int agora::rtc::ILocalUserEx::enableSoundPositionIndicationLLApiInternal | ( | bool | enabled | ) |
| pure virtual

## ◆ setRemoteVoicePositionLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setRemoteVoicePositionLLApiInternal | ( | user_id_t | userId,
|  | double | pan,
|  | double | gain
| ) |  |
| pure virtual

## ◆ enableSpatialAudioLLApiInternal()

virtual int agora::rtc::ILocalUserEx::enableSpatialAudioLLApiInternal | ( | bool | enabled | ) |
| pure virtual

## ◆ setRemoteUserSpatialAudioParamsLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setRemoteUserSpatialAudioParamsLLApiInternal | ( | user_id_t | userId,
|  | const agora::SpatialAudioParams & | param
| ) |  |
| pure virtual

## ◆ setAudioFilterableLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setAudioFilterableLLApiInternal | ( | bool | filterable | ) |
| pure virtual

## ◆ publishDataChannelLLApiInternal()

virtual int agora::rtc::ILocalUserEx::publishDataChannelLLApiInternal | ( | agora_refptr< ILocalDataChannel > | channel | ) |
| pure virtual

## ◆ unpublishDataChannelLLApiInternal()

virtual int agora::rtc::ILocalUserEx::unpublishDataChannelLLApiInternal | ( | agora_refptr< ILocalDataChannel > | channel | ) |
| pure virtual

## ◆ subscribeDataChannelLLApiInternal()

virtual int agora::rtc::ILocalUserEx::subscribeDataChannelLLApiInternal | ( | user_id_t | userId,
|  | int | channelId
| ) |  |
| pure virtual

## ◆ unsubscribeDataChannelLLApiInternal()

virtual int agora::rtc::ILocalUserEx::unsubscribeDataChannelLLApiInternal | ( | user_id_t | userId,
|  | int | channelId
| ) |  |
| pure virtual

## ◆ registerDataChannelObserverLLApiInternal()

virtual int agora::rtc::ILocalUserEx::registerDataChannelObserverLLApiInternal | ( | IDataChannelObserver * | observer | ) |
| pure virtual

## ◆ unregisterDataChannelObserverLLApiInternal()

virtual int agora::rtc::ILocalUserEx::unregisterDataChannelObserverLLApiInternal | ( | IDataChannelObserver * | observer | ) |
| pure virtual

## ◆ takeDataChannelSnapshotLLApiInternal()

virtual int agora::rtc::ILocalUserEx::takeDataChannelSnapshotLLApiInternal | ( |  | ) |
| pure virtual

## ◆ enableRemoteAudioTrackFilterLLApiInternal()

virtual int agora::rtc::ILocalUserEx::enableRemoteAudioTrackFilterLLApiInternal | ( | user_id_t | userId,
|  | const char * | id,
|  | bool | enable
| ) |  |
| pure virtual

## ◆ setRemoteAudioTrackFilterPropertyLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setRemoteAudioTrackFilterPropertyLLApiInternal | ( | user_id_t | userId,
|  | const char * | id,
|  | const char * | key,
|  | const char * | jsonValue
| ) |  |
| pure virtual

## ◆ getRemoteAudioTrackFilterPropertyLLApiInternal()

virtual int agora::rtc::ILocalUserEx::getRemoteAudioTrackFilterPropertyLLApiInternal | ( | user_id_t | userId,
|  | const char * | id,
|  | const char * | key,
|  | char * | jsonValue,
|  | size_t | bufSize
| ) |  |
| pure virtual

## ◆ initializeLLApiInternal()

virtual int agora::rtc::ILocalUserEx::initializeLLApiInternal | ( |  | ) |
| pure virtual

## ◆ SetAudioNsModeLLApiInternal()

virtual int agora::rtc::ILocalUserEx::SetAudioNsModeLLApiInternal | ( | bool | NsEnable,
|  | NS_MODE | NsMode,
|  | NS_LEVEL | NsLevel,
|  | NS_DELAY | NsDelay
| ) |  |
| pure virtual

## ◆ RegisterLocalMixedAudioTrackLLApiInternal()

virtual int agora::rtc::ILocalUserEx::RegisterLocalMixedAudioTrackLLApiInternal | ( | agora_refptr< ILocalAudioTrack > & | track,
|  | bool | enable
| ) |  |
| pure virtual

## ◆ setVideoScenarioLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setVideoScenarioLLApiInternal | ( | VIDEO_APPLICATION_SCENARIO_TYPE | scenarioType | ) |
| pure virtual

## ◆ getVideoScenarioEncoderConfigLLApiInternal()

virtual int agora::rtc::ILocalUserEx::getVideoScenarioEncoderConfigLLApiInternal | ( | VideoEncoderConfiguration & | config | ) |
| pure virtual

## ◆ setVideoQoEPreferenceLLApiInternal()

virtual int agora::rtc::ILocalUserEx::setVideoQoEPreferenceLLApiInternal | ( | VIDEO_QOE_PREFERENCE_TYPE | qoePreference | ) |
| pure virtual

## ◆ getStrategyManager()

virtual rtc::IStrategyManager* agora::rtc::ILocalUserEx::getStrategyManager | ( |  | ) |
| pure virtual

## ◆ getStrategyProactiveCaller()

virtual rtc::ProactiveCaller* agora::rtc::ILocalUserEx::getStrategyProactiveCaller | ( |  | ) |
| pure virtual

## ◆ setExternalAudioSinkMix()

virtual int agora::rtc::ILocalUserEx::setExternalAudioSinkMix | ( | bool | enabled | ) |
| pure virtual

## ◆ sendAudioMetadataLLApiInternal()

virtual int agora::rtc::ILocalUserEx::sendAudioMetadataLLApiInternal | ( | const char * | metadata,
|  | size_t | length
| ) |  |
| pure virtual

## ◆ setBiquadParams()

virtual int agora::rtc::ILocalUserEx::setBiquadParams | ( | const std::vector< std::tuple< int, float, float >> & | params,
|  | bool | uplink
| ) |  |
| pure virtual

## ◆ registerLocalVideoEncodedFrameObserver()

virtual int agora::rtc::ILocalUser::registerLocalVideoEncodedFrameObserver

Registers an IVideoEncodedFrameObserver object.

You need to implement the `IVideoEncodedFrameObserver` class in this method. Once you successfully register the local encoded frame observer, the SDK triggers the onEncodedVideoFrameReceived callback when it receives the encoded video image.

Parameters

  observer | The pointer to the `IVideoEncodedFrameObserver` object.

Returns
  - 0: Success.
  - < 0: Failure.

## ◆ unregisterLocalVideoEncodedFrameObserver()

virtual int agora::rtc::ILocalUser::unregisterLocalVideoEncodedFrameObserver

Releases the IVideoEncodedFrameObserver object.

Parameters

  observer | The pointer to the `IVideoEncodedFrameObserver` object.

Returns
  - 0: Success.
  - < 0: Failure.

## ◆ registerVideoEncodedFrameObserver()

virtual int agora::rtc::ILocalUser::registerVideoEncodedFrameObserver

Registers an IVideoEncodedFrameObserver object.

You need to implement the `IVideoEncodedFrameObserver` class in this method. Once you successfully register the encoded frame observer, the SDK triggers the onEncodedVideoFrameReceived callback when it receives the encoded video image.

Parameters

  observer | The pointer to the `IVideoEncodedFrameObserver` object.

Returns
  - 0: Success.
  - < 0: Failure.

## ◆ unregisterVideoEncodedFrameObserver()

virtual int agora::rtc::ILocalUser::unregisterVideoEncodedFrameObserver

Releases the IVideoEncodedFrameObserver object.

Parameters

  observer | The pointer to the `IVideoEncodedFrameObserver` object.

Returns
  - 0: Success.
  - < 0: Failure.

## ◆ registerAudioSpectrumObserver()

virtual int agora::rtc::ILocalUser::registerAudioSpectrumObserver

Registers an audio spectrum observer.

You need to implement the `IAudioSpectrumObserver` class in this method, and register the following callbacks according to your scenario:

- onAudioSpectrumComputed: Occurs when the SDK receives the audio data and at set intervals.

Parameters

  observer | A pointer to the audio spectrum observer: IAudioSpectrumObserver.

Returns
  - 0: Success.
  - < 0: Failure.

## ◆ unregisterAudioSpectrumObserver()

virtual int agora::rtc::ILocalUser::unregisterAudioSpectrumObserver

Releases the audio spectrum observer.

Parameters

  observer | The pointer to the audio spectrum observer: IAudioSpectrumObserver.

Returns
  - 0: Success.
  - < 0: Failure.