Agora C++ API Reference for All Platforms
Loading...
Searching...
No Matches
local_user_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 <string>
10#include <vector>
11
12#include "IAgoraService.h"
13#include "NGIAgoraLocalUser.h"
14#include "AgoraExtensions.h"
15#include "NGIAgoraRtcConnection.h"
16#include "NGIAgoraAudioTrack.h"
17#include "audio_options_i.h"
18#include "channel_capability_i.h"
19#include "internal/packet_i.h"
20
21namespace agora {
22namespace rtc {
23
24struct TConnectionInfo;
25
26struct audio_packet_t;
27struct SAudioFrame;
28struct video_packet_t;
30struct CallBillInfo;
32class IStrategyManager;
33class ProactiveCaller;
34using StreamsFecStatsMap = std::map<uint8_t, std::pair<uint16_t, uint32_t>>;
36 public:
38 virtual int onAudioPacket(const agora::rtc::TConnectionInfo& connectionInfo,
39 const audio_packet_t& p, int64_t packet_ssrc) = 0;
40 virtual int onVideoPacket(const agora::rtc::TConnectionInfo& connectionInfo,
41 const video_packet_t& p) = 0;
42 virtual int onControlBroadcastPacket(const agora::rtc::TConnectionInfo& connectionInfo,
44 virtual int onDataStreamPacket(const agora::rtc::TConnectionInfo& connectionInfo,
45 agora::rtc::uid_t uid, uint16_t streamId, const char* data,
46 size_t length) = 0;
47};
48
49// Audio frame dump position for sending.
50extern const std::string AUDIO_PIPELINE_POS_RECORD_ORIGIN;
51extern const std::string AUDIO_PIPELINE_POS_APM;
52extern const std::string AUDIO_PIPELINE_POS_PRE_SEND_PROC;
53extern const std::string AUDIO_PIPELINE_POS_ENC;
54extern const std::string AUDIO_PIPELINE_POS_TX_MIXER;
55extern const std::string AUDIO_PIPELINE_POS_AT_RECORD;
56extern const std::string AUDIO_PIPELINE_POS_ATW_RECORD;
57
58// Audio frame dump position for receiving.
59extern const std::string AUDIO_PIPELINE_POS_DEC;
60extern const std::string AUDIO_PIPELINE_POS_PLAY;
61extern const std::string AUDIO_PIPELINE_POS_RX_MIXER;
62extern const std::string AUDIO_PIPELINE_POS_PLAYBACK_MIXER;
63extern const std::string AUDIO_PIPELINE_POS_PCM_SOURCE_PLAYBAC_MIXER;
64extern const std::string AUDIO_PIPELINE_POS_PRE_PLAY_PROC;
65extern const std::string AUDIO_PIPELINE_POS_AT_PLAYOUT;
66extern const std::string AUDIO_PIPELINE_POS_ATW_PLAYOUT;
67
69const int64_t AUDIO_FRAME_DUMP_MAX_DURATION_MS = 150000;
70
72 public:
73 virtual ~IAudioFrameDumpObserver() = default;
74 virtual void OnAudioFrameDumpCompleted(const std::string& location, const std::string& uuid,
75 const std::vector<std::string>& files) = 0;
76};
77
79 uint8_t id;
80 const char* name;
81 CapabilityItem() : id(0), name(nullptr) {}
82 CapabilityItem(uint8_t i, const char* n) : id(i), name(n) {}
83};
84
87 size_t size;
88 CapabilityItemMap() : item(nullptr), size(0) {}
89 CapabilityItemMap(CapabilityItem* i, size_t s) : item(i), size(s) {}
90};
91
98
100 public:
101 virtual void OnCapabilitesChanged(const Capabilities* capabilities, size_t size){};
102 virtual ~ICapabilitesObserver() = default;
103};
104
106{
107 std::string cname;
108 uint32_t uid;
109 uint32_t rx;
110 uint32_t ry;
111 uint32_t rw;
112 uint32_t rh;
113 uint32_t videoState; //0 for Video, 1 for placeholderimage, 2 for BlackgroundImage, 3 for frame
114};
115
117public:
118 std::string service;
119 uint32_t width;
120 uint32_t height;
121 uint32_t layoutSize;
122 std::shared_ptr<LayoutInternal> uidlayout;
123};
125public:
126 virtual void onLayoutInfo(const char* channelId,uid_t localUid, uid_t uid, VideoLayoutInfoInternal info) = 0;
128};
129
131 public:
132 virtual int initialize() = 0;
133 // We should deprecate sendAudioPacket.
134 virtual int sendAudioPacket(const audio_packet_t& packet, int64_t packet_ssrc = 0, int delay = 0) = 0;
135
136 virtual int sendControlBroadcastPacket(std::string& payload) = 0;
137
138 virtual int sendDataStreamPacket(uint16_t streamId, const char* data, size_t length) = 0;
139
140 // No-thread safe, it must be called before joinChannel().
141 // No unregister method provided to simplify internal logic.
143
144 // internal usage
145 virtual int setAudioOptions(const rtc::AudioOptions& options) = 0;
146 virtual int getAudioOptions(rtc::AudioOptions* options) = 0;
147 virtual int setAdvancedAudioOptions(const rtc::AudioOptions& options, int sourceType) = 0;
148 virtual void getBillInfo(CallBillInfo* bill_info) = 0;
149
150 virtual void forceDeviceScore(int32_t deviceScore) = 0;
151 virtual int setPrerendererSmoothing(bool enabled) = 0;
152 virtual int setDtx(bool enabled) = 0;
153 virtual int setCustomAudioBitrate(int bitrate) = 0;
154 virtual int setCustomAudioPayloadType(int payloadtype) = 0;
155 virtual int setCustomAudioChannelNum(int channelNum) = 0;
156 virtual int setCustomAudioSampleRate(int sampleRate) = 0;
157 virtual int setAudioFrameSizeMs(int sizeMs) = 0;
158 virtual int setAudioDred(int value) = 0;
159 virtual int setAudioCC(bool value) = 0;
160
163
164 virtual int startAudioFrameDump(const std::string& location, const std::string& uuid,
165 const std::string& passwd, int64_t duration_ms,
166 bool auto_upload, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
167 virtual int stopAudioFrameDump(const std::string& location) = 0;
170
171 virtual int enalbeSyncRenderNtpBroadcast(bool enable_sync_render_ntp_broadcast) = 0;
172 virtual int enalbeSyncRenderNtpAudience(bool enable_sync_render_ntp_audience) = 0;
173 virtual int enableStablePlayout(bool enable_stable_playout) = 0;
174 virtual int setPlayoutUserAnonymous(rtc::uid_t uid, bool anonymous) = 0;
175 virtual int muteRemoteFromTimestamp(rtc::uid_t uid, uint32_t timestamp) = 0;
176 virtual int unmuteRemoteFromTimestamp(rtc::uid_t uid, uint32_t timestamp) = 0;
177 virtual int adjustAudioAcceleration(rtc::uid_t uid, int percent) = 0;
178 virtual int adjustAudioDeceleration(rtc::uid_t uid, int percent) = 0;
179 virtual int enableAudioPlayout(bool enabled) = 0;
180 virtual int setAudioMaxTargetDelay(int delay) = 0;
181 virtual int adjustDecodedAudioVolume(rtc::uid_t uid, int decoded_index, int volume) = 0;
182
183
184 virtual int setAVSyncPeer(rtc::uid_t uid) = 0;
185 virtual void setMinPlayoutDelay(int delay) = 0;
186 virtual int setAllowSubscribeSelf(bool allow) = 0;
187 virtual int adjustRecordingSignalVolume(int volume) = 0;
188 virtual int enableDownlinkNoiseGate(int noise_gate) = 0;
189 virtual int setDownlinkSignalLoudness(float loudness_lkfs) = 0;
190 virtual int setUplinkSignalLoudness(float loudness_lkfs) = 0;
191 virtual int enableDownlinkRawAudioLevelReport(bool enable) = 0;
192 virtual int enableAudioLevelReportInDecibel(bool enable) = 0;
193 virtual int getRecordingSignalVolume(int* volume) = 0;
196 virtual void updateAppDefinedCapabilities(const Capabilities* cap, size_t size) = 0;
197 virtual int sendIntraRequestQuick(user_id_t uid) = 0;
199 // this function should only be used in media_relay
200 // In the media_relay case, there are no track to help video_stream_manager get the video_height
201 // and video_width just receive the video packets and send this function used to help us
202 // UpdateBillInfo by ourself
203 virtual void customUpdateBillInfo(int height, int width, bool isSendingVideo) = 0;
204 virtual void setInteractiveAudience(bool interactive) = 0;
205
206 virtual void muteLocalAudioStream(bool mute) = 0;
207 virtual void muteMicrophone(bool mute) = 0;
208
211
218 virtual int subscribeAudioLLApiInternal(user_id_t userId) = 0;
222 virtual int adjustPlaybackSignalVolumeLLApiInternal(int volume) = 0;
223 virtual int getPlaybackSignalVolumeLLApiInternal(int* volume) = 0;
224 virtual int adjustUserPlaybackSignalVolumeLLApiInternal(user_id_t userId, int volume) = 0;
225 virtual int getUserPlaybackSignalVolumeLLApiInternal(user_id_t userId, int* volume) = 0;
226 virtual int setUserPlaybackSignalLoudnessLLApiInternal(user_id_t userId, float loudness) = 0;
229 virtual int setPlaybackAudioFrameParametersLLApiInternal(size_t numberOfChannels, uint32_t sampleRateHz, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall) = 0;
230 virtual int setRecordingAudioFrameParametersLLApiInternal(size_t numberOfChannels, uint32_t sampleRateHz, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall) = 0;
231 virtual int setMixedAudioFrameParametersLLApiInternal(size_t numberOfChannels, uint32_t sampleRateHz, int samplesPerCall) = 0;
232 virtual int setEarMonitoringAudioFrameParametersLLApiInternal(bool enabled, size_t numberOfChannels, uint32_t sampleRateHz, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall) = 0;
233 virtual int setPlaybackAudioFrameBeforeMixingParametersLLApiInternal(size_t numberOfChannels, uint32_t sampleRateHz, int samplesPerCall) = 0;
236 virtual int enableAudioSpectrumMonitorLLApiInternal(int intervalInMS) = 0;
240 using internal_user_id_t = std::string;
241 virtual int setSubscribeAudioBlocklistLLApiInternal(const std::vector<internal_user_id_t>& userIdList) = 0;
242 virtual int setSubscribeAudioAllowlistLLApiInternal(const std::vector<internal_user_id_t>& userIdList) = 0;
243 virtual int setHighPriorityUserListLLApiInternal(const std::vector<uid_t>& vipList, int option) = 0;
244 virtual int getHighPriorityUserListLLApiInternal(std::vector<uid_t>& vipList, int& option) = 0;
246 virtual int registerLocalUserObserverLLApiInternal(ILocalUserObserver* observer, void (*safeDeleter)(ILocalUserObserver*) = NULL) = 0;
248 virtual int setAudioVolumeIndicationParametersLLApiInternal(int intervalInMS, int smooth, bool reportVad) = 0;
251 virtual int enableSoundPositionIndicationLLApiInternal(bool enabled) = 0;
252 virtual int setRemoteVoicePositionLLApiInternal(user_id_t userId, double pan, double gain) = 0;
253 virtual int enableSpatialAudioLLApiInternal(bool enabled) = 0;
255 virtual int setAudioFilterableLLApiInternal(bool filterable) = 0;
258 virtual int subscribeDataChannelLLApiInternal(user_id_t userId, int channelId) = 0;
259 virtual int unsubscribeDataChannelLLApiInternal(user_id_t userId, int channelId) = 0;
263 virtual int enableRemoteAudioTrackFilterLLApiInternal(user_id_t userId, const char* id, bool enable) = 0;
264 virtual int setRemoteAudioTrackFilterPropertyLLApiInternal(user_id_t userId, const char* id, const char* key, const char* jsonValue) = 0;
265 virtual int getRemoteAudioTrackFilterPropertyLLApiInternal(user_id_t userId, const char* id, const char* key, char* jsonValue, size_t bufSize) = 0;
266 virtual int initializeLLApiInternal() = 0;
267 virtual int SetAudioNsModeLLApiInternal(bool NsEnable, NS_MODE NsMode, NS_LEVEL NsLevel, NS_DELAY NsDelay) = 0;
269 virtual rtc::IStrategyManager* getStrategyManager() = 0;
270 virtual rtc::ProactiveCaller* getStrategyProactiveCaller() = 0;
271 virtual int setExternalAudioSinkMix(bool enabled) = 0;
272 virtual int sendAudioMetadataLLApiInternal(const char* metadata, size_t length) = 0;
273 virtual int setBiquadParams(const std::vector<std::tuple<int, float, float>>& params, bool uplink) = 0;
274 #ifdef FEATURE_VIDEO
275 virtual int sendVideoPacket(const video_packet_t& packet) = 0;
284
288 virtual int getOnlySubscribeEncodedVideoFrame(user_id_t peerUid, bool& subscribe) = 0;
289 virtual int setVideoDumpMode(int mode, bool enabled, int frame_cnt = -1) = 0;
290 virtual int enableVideoDecryptedV4StreamDump(bool enabled) = 0;
294 virtual int subscribeVideoLLApiInternal(user_id_t userId, const agora::rtc::VideoSubscriptionOptions& subscriptionOptions) = 0;
295 virtual int subscribeAllVideoLLApiInternal( const agora::rtc::VideoSubscriptionOptions& subscriptionOptions) = 0;
307 virtual int setSubscribeVideoBlocklistLLApiInternal(const std::vector<internal_user_id_t>& userIdList) = 0;
308 virtual int setSubscribeVideoAllowlistLLApiInternal(const std::vector<internal_user_id_t>& userIdList) = 0;
312 virtual void OnVideoFecStatsChanged(const StreamsFecStatsMap& streams_fec_stats) = 0;
313
314#endif
315};
316
317} // namespace rtc
318} // namespace agora
Definition NGIAgoraDataChannel.h:128
Definition AgoraRefPtr.h:44
Definition AgoraMediaBase.h:1414
Definition AgoraMediaBase.h:1873
Definition AgoraMediaBase.h:1920
Definition AgoraMediaBase.h:1951
Definition local_user_i.h:71
virtual void OnAudioFrameDumpCompleted(const std::string &location, const std::string &uuid, const std::vector< std::string > &files)=0
virtual ~IAudioFrameDumpObserver()=default
Definition local_user_i.h:99
virtual ~ICapabilitesObserver()=default
virtual void OnCapabilitesChanged(const Capabilities *capabilities, size_t size)
Definition local_user_i.h:101
Definition local_user_i.h:130
virtual int registerCapabilitiesObserver(ICapabilitesObserver *cap_observer)=0
virtual int adjustAudioAcceleration(rtc::uid_t uid, int percent)=0
virtual int unpublishDataChannelLLApiInternal(agora_refptr< ILocalDataChannel > channel)=0
virtual int sendAudioPacket(const audio_packet_t &packet, int64_t packet_ssrc=0, int delay=0)=0
virtual void updateAppDefinedCapabilities(const Capabilities *cap, size_t size)=0
virtual int registerTransportPacketObserver(ITransportPacketObserver *observer)=0
virtual int getVideoScenarioEncoderConfigLLApiInternal(VideoEncoderConfiguration &config)=0
virtual void customUpdateBillInfo(int height, int width, bool isSendingVideo)=0
virtual int initialize()=0
virtual int forceNextIntraFrameLLApiInternal(bool is_quick=true, video_packet_t::VIDEO_STREAM_TYPE stream_type=video_packet_t::VIDEO_STREAM_HIGH)=0
virtual int setAudioScenarioLLApiInternal(AUDIO_SCENARIO_TYPE scenario)=0
virtual void registerVideoMetadataObserver(IMetadataObserver *observer)=0
virtual int enableRemoteAudioTrackFilterLLApiInternal(user_id_t userId, const char *id, bool enable)=0
virtual int enableAudioSpectrumMonitorLLApiInternal(int intervalInMS)=0
virtual int unpublishAudioLLApiInternal(agora_refptr< ILocalAudioTrack > audioTrack)=0
virtual int setCustomAudioBitrate(int bitrate)=0
virtual int unregisterAudioFrameDumpObserver(IAudioFrameDumpObserver *observer)=0
virtual int getUserPlaybackSignalVolumeLLApiInternal(user_id_t userId, int *volume)=0
virtual void unregisterVideoLayoutObserver(IVideoLayoutObserver *observer)=0
virtual int setSubscribeVideoAllowlistLLApiInternal(const std::vector< internal_user_id_t > &userIdList)=0
virtual int registerAudioFrameDumpObserver(IAudioFrameDumpObserver *observer)=0
virtual int enableSpatialAudioLLApiInternal(bool enabled)=0
virtual int setVideoQoEPreferenceLLApiInternal(VIDEO_QOE_PREFERENCE_TYPE qoePreference)=0
virtual agora_refptr< IRemoteVideoTrack > getRemoteVideoTrack(rtc::uid_t uid)=0
virtual int setRecordingAudioFrameParametersLLApiInternal(size_t numberOfChannels, uint32_t sampleRateHz, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
virtual int unregisterDataChannelObserverLLApiInternal(IDataChannelObserver *observer)=0
virtual int setExtendPlatformRendererLLApiInternal(agora::media::IVideoFrameObserver *renderer)=0
virtual int setAudioVolumeIndicationParametersLLApiInternal(int intervalInMS, int smooth, bool reportVad)=0
virtual void muteMicrophone(bool mute)=0
virtual int getAudioOptions(rtc::AudioOptions *options)=0
virtual int subscribeVideoLLApiInternal(user_id_t userId, const agora::rtc::VideoSubscriptionOptions &subscriptionOptions)=0
virtual int setBiquadParams(const std::vector< std::tuple< int, float, float > > &params, bool uplink)=0
virtual int unsubscribeAllAudioLLApiInternal()=0
virtual int unsubscribeAllVideoLLApiInternal()=0
virtual int setAudioFilterableLLApiInternal(bool filterable)=0
virtual int muteRemoteFromTimestamp(rtc::uid_t uid, uint32_t timestamp)=0
virtual int disableAudioSpectrumMonitorLLApiInternal()=0
virtual int adjustRecordingSignalVolume(int volume)=0
virtual int RegisterLocalMixedAudioTrackLLApiInternal(agora_refptr< ILocalAudioTrack > &track, bool enable)=0
virtual int setMixedAudioFrameParametersLLApiInternal(size_t numberOfChannels, uint32_t sampleRateHz, int samplesPerCall)=0
virtual int publishDataChannelLLApiInternal(agora_refptr< ILocalDataChannel > channel)=0
virtual int unsubscribeVideoLLApiInternal(user_id_t userId)=0
virtual int sendIntraRequestQuick(user_id_t uid)=0
virtual int unregisterLocalUserObserverLLApiInternal(ILocalUserObserver *observer)=0
virtual int setUplinkSignalLoudness(float loudness_lkfs)=0
virtual int setAudienceLatencyLevelLLApiInternal(rtc::AUDIENCE_LATENCY_LEVEL_TYPE level, int role)=0
virtual int getHighPriorityUserListLLApiInternal(std::vector< uid_t > &vipList, int &option)=0
virtual int adjustAudioDeceleration(rtc::uid_t uid, int percent)=0
virtual void muteLocalAudioStream(bool mute)=0
virtual int enableSoundPositionIndicationLLApiInternal(bool enabled)=0
virtual int setEarMonitoringAudioFrameParametersLLApiInternal(bool enabled, size_t numberOfChannels, uint32_t sampleRateHz, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
virtual int adjustDecodedAudioVolume(rtc::uid_t uid, int decoded_index, int volume)=0
virtual void registerVideoLayoutObserver(IVideoLayoutObserver *observer)=0
virtual int stopAudioFrameDump(const std::string &location)=0
virtual int enableDownlinkRawAudioLevelReport(bool enable)=0
virtual int setCustomAudioSampleRate(int sampleRate)=0
virtual int unregisterMediaControlPacketReceiverLLApiInternal(IMediaControlPacketReceiver *ctrlPacketReceiver)=0
virtual int unregisterVideoEncodedFrameObserverLLApiInternal(agora::media::IVideoEncodedFrameObserver *observer)=0
virtual int getRecordingSignalVolume(int *volume)=0
virtual int unsubscribeDataChannelLLApiInternal(user_id_t userId, int channelId)=0
virtual int registerLocalUserObserverLLApiInternal(ILocalUserObserver *observer, void(*safeDeleter)(ILocalUserObserver *)=NULL)=0
virtual void forceDeviceScore(int32_t deviceScore)=0
virtual int setVideoFrameObserverLLApiInternal(agora::media::IVideoFrameObserver *observer)=0
virtual int startAudioRecordingLLApiInternal(const agora_refptr< agora::rtc::IAudioSinkBase > &audioSink, const AudioSinkWants &wants=AudioSinkWants{})=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 subscribeDataChannelLLApiInternal(user_id_t userId, int channelId)=0
virtual int sendAudioMetadataLLApiInternal(const char *metadata, size_t length)=0
virtual int setAdvancedAudioOptions(const rtc::AudioOptions &options, int sourceType)=0
virtual int setHighPriorityUserListLLApiInternal(const std::vector< uid_t > &vipList, int option)=0
virtual int setUserRoleLLApiInternal(rtc::CLIENT_ROLE_TYPE role)=0
virtual int initializeLLApiInternal()=0
virtual int unregisterLocalVideoEncodedFrameObserverLLApiInternal(agora::media::IVideoEncodedFrameObserver *observer)=0
virtual int getRemoteAudioTrackFilterPropertyLLApiInternal(user_id_t userId, const char *id, const char *key, char *jsonValue, size_t bufSize)=0
virtual int setSubscribeVideoBlocklistLLApiInternal(const std::vector< internal_user_id_t > &userIdList)=0
virtual int setPlaybackAudioFrameBeforeMixingParametersLLApiInternal(size_t numberOfChannels, uint32_t sampleRateHz, int samplesPerCall)=0
virtual int setVideoSubscriptionOptionsLLApiInternal(user_id_t userId, const VideoSubscriptionOptions &options)=0
virtual int setAudioCC(bool value)=0
virtual CLIENT_ROLE_TYPE getUserRoleLLApiInternal()=0
virtual int setRemoteAudioTrackFilterPropertyLLApiInternal(user_id_t userId, const char *id, const char *key, const char *jsonValue)=0
std::string internal_user_id_t
Definition local_user_i.h:240
virtual int setUserPlaybackSignalLoudnessLLApiInternal(user_id_t userId, float loudness)=0
virtual int unregisterVideoFrameObserverLLApiInternal(IVideoFrameObserver2 *observer)=0
virtual int setAudioFrameSizeMs(int sizeMs)=0
virtual rtc::ProactiveCaller * getStrategyProactiveCaller()=0
virtual int registerDataChannelObserverLLApiInternal(IDataChannelObserver *observer)=0
virtual int enalbeSyncRenderNtpAudience(bool enable_sync_render_ntp_audience)=0
virtual int unregisterAudioSpectrumObserverLLApiInternal(agora::media::IAudioSpectrumObserver *observer)=0
virtual int setExtendPlatformRenderer(agora::media::IVideoFrameObserver *renderer)=0
virtual int setRemoteUserSpatialAudioParamsLLApiInternal(user_id_t userId, const agora::SpatialAudioParams &param)=0
virtual int unpublishVideoLLApiInternal(agora_refptr< ILocalVideoTrack > videoTrack)=0
virtual int setVideoFrameObserver(agora::media::IVideoFrameObserver *observer)=0
virtual int setAVSyncPeer(rtc::uid_t uid)=0
virtual int setAudioEncoderConfigurationLLApiInternal(const AudioEncoderConfiguration &config)=0
virtual int sendControlBroadcastPacket(std::string &payload)=0
virtual bool getLocalAudioStatisticsLLApiInternal(LocalAudioDetailedStats &stats)=0
virtual int enableVideoDecryptedV4StreamDump(bool enabled)=0
virtual int sendIntraRequestLLApiInternal(user_id_t userId, VIDEO_STREAM_TYPE stream_type=VIDEO_STREAM_HIGH)=0
virtual int setAudioMaxTargetDelay(int delay)=0
virtual int enableAudioLevelReportInDecibel(bool enable)=0
virtual int subscribeAudioLLApiInternal(user_id_t userId)=0
virtual int setCustomAudioChannelNum(int channelNum)=0
virtual int setSubscribeAudioBlocklistLLApiInternal(const std::vector< internal_user_id_t > &userIdList)=0
virtual int unregisterAudioFrameObserverLLApiInternal(agora::media::IAudioFrameObserverBase *observer)=0
virtual int setDownlinkSignalLoudness(float loudness_lkfs)=0
virtual int setAudioDred(int value)=0
virtual int setPrerendererSmoothing(bool enabled)=0
virtual int enableDownlinkNoiseGate(int noise_gate)=0
virtual int sendDataStreamPacket(uint16_t streamId, const char *data, size_t length)=0
virtual int subscribeAllVideoLLApiInternal(const agora::rtc::VideoSubscriptionOptions &subscriptionOptions)=0
virtual int registerAudioFrameObserverLLApiInternal(agora::media::IAudioFrameObserverBase *observer)=0
virtual int unsubscribeAudioLLApiInternal(user_id_t userId)=0
virtual int publishVideoLLApiInternal(agora_refptr< ILocalVideoTrack > videoTrack)=0
virtual int setVideoDumpMode(int mode, bool enabled, int frame_cnt=-1)=0
virtual int subscribeAllAudioLLApiInternal()=0
virtual int setRemoteVoicePositionLLApiInternal(user_id_t userId, double pan, double gain)=0
virtual int setSubscribeAudioAllowlistLLApiInternal(const std::vector< internal_user_id_t > &userIdList)=0
virtual int adjustPlaybackSignalVolumeLLApiInternal(int volume)=0
virtual int enalbeSyncRenderNtpBroadcast(bool enable_sync_render_ntp_broadcast)=0
virtual int registerVideoEncodedFrameObserverLLApiInternal(agora::media::IVideoEncodedFrameObserver *observer)=0
virtual int sendVideoPacket(const video_packet_t &packet)=0
virtual int SetAudioNsModeLLApiInternal(bool NsEnable, NS_MODE NsMode, NS_LEVEL NsLevel, NS_DELAY NsDelay)=0
virtual int registerMediaControlPacketReceiverLLApiInternal(IMediaControlPacketReceiver *ctrlPacketReceiver)=0
virtual void setInteractiveAudience(bool interactive)=0
virtual int getOnlySubscribeEncodedVideoFrame(user_id_t peerUid, bool &subscribe)=0
virtual int adjustUserPlaybackSignalVolumeLLApiInternal(user_id_t userId, int volume)=0
virtual int setRemoteSubscribeFallbackOptionLLApiInternal(int option)=0
virtual int stopAudioRecordingLLApiInternal()=0
virtual int setCustomAudioPayloadType(int payloadtype)=0
virtual int registerVideoFrameObserverLLApiInternal(IVideoFrameObserver2 *observer)=0
virtual int enableAudioPlayout(bool enabled)=0
virtual int unRegisterCapabilitiesObserver(ICapabilitesObserver *cap_observer)=0
virtual void OnVideoFecStatsChanged(const StreamsFecStatsMap &streams_fec_stats)=0
virtual int enableStablePlayout(bool enable_stable_playout)=0
virtual int unmuteRemoteFromTimestamp(rtc::uid_t uid, uint32_t timestamp)=0
virtual int registerAudioSpectrumObserverLLApiInternal(agora::media::IAudioSpectrumObserver *observer, void(*safeDeleter)(agora::media::IAudioSpectrumObserver *))=0
virtual int setVideoScenarioLLApiInternal(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType)=0
virtual rtc::IStrategyManager * getStrategyManager()=0
virtual int setAllowSubscribeSelf(bool allow)=0
virtual int setExternalAudioSinkMix(bool enabled)=0
virtual void getBillInfo(CallBillInfo *bill_info)=0
virtual int takeDataChannelSnapshotLLApiInternal()=0
virtual int setPlayoutUserAnonymous(rtc::uid_t uid, bool anonymous)=0
virtual int registerLocalVideoEncodedFrameObserverLLApiInternal(agora::media::IVideoEncodedFrameObserver *observer)=0
virtual int getPlaybackSignalVolumeLLApiInternal(int *volume)=0
virtual int setAudioOptions(const rtc::AudioOptions &options)=0
virtual void unregisterVideoMetadataObserver(IMetadataObserver *observer)=0
virtual int publishAudioLLApiInternal(agora_refptr< ILocalAudioTrack > audioTrack)=0
virtual void setMinPlayoutDelay(int delay)=0
virtual int setDtx(bool enabled)=0
virtual int setPlaybackAudioFrameParametersLLApiInternal(size_t numberOfChannels, uint32_t sampleRateHz, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
Definition NGIAgoraLocalUser.h:56
virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer, void(*safeDeleter)(agora::media::IAudioSpectrumObserver *), aosl_ref_t ares=AOSL_REF_INVALID)=0
NS_MODE
Definition NGIAgoraLocalUser.h:250
NS_DELAY
Definition NGIAgoraLocalUser.h:259
virtual int registerLocalVideoEncodedFrameObserver(agora::media::IVideoEncodedFrameObserver *observer, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *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 unregisterLocalVideoEncodedFrameObserver(agora::media::IVideoEncodedFrameObserver *observer)=0
NS_LEVEL
Definition NGIAgoraLocalUser.h:255
Definition NGIAgoraLocalUser.h:1215
Definition NGIAgoraMediaNode.h:340
Definition IAgoraRtcEngine.h:4166
Definition local_user_i.h:35
virtual int onAudioPacket(const agora::rtc::TConnectionInfo &connectionInfo, const audio_packet_t &p, int64_t packet_ssrc)=0
virtual int onControlBroadcastPacket(const agora::rtc::TConnectionInfo &connectionInfo, control_broadcast_packet_t &p)=0
virtual ~ITransportPacketObserver()
Definition local_user_i.h:37
virtual int onDataStreamPacket(const agora::rtc::TConnectionInfo &connectionInfo, agora::rtc::uid_t uid, uint16_t streamId, const char *data, size_t length)=0
virtual int onVideoPacket(const agora::rtc::TConnectionInfo &connectionInfo, const video_packet_t &p)=0
Definition NGIAgoraLocalUser.h:1608
Definition local_user_i.h:124
virtual void onLayoutInfo(const char *channelId, uid_t localUid, uid_t uid, VideoLayoutInfoInternal info)=0
virtual ~IVideoLayoutObserver()
Definition local_user_i.h:127
Definition local_user_i.h:116
std::shared_ptr< LayoutInternal > uidlayout
Definition local_user_i.h:122
uint32_t layoutSize
Definition local_user_i.h:121
uint32_t height
Definition local_user_i.h:120
uint32_t width
Definition local_user_i.h:119
std::string service
Definition local_user_i.h:118
Definition channel_capability_i.h:14
CapabilityType
Definition channel_capability_i.h:103
Definition AgoraExtensions.h:5
const std::string AUDIO_PIPELINE_POS_AT_RECORD
AUDIENCE_LATENCY_LEVEL_TYPE
The latency level of an audience member in interactive live streaming. This enum takes effect only wh...
Definition AgoraBase.h:2978
const int64_t AUDIO_FRAME_DUMP_MAX_DURATION_MS
Definition local_user_i.h:69
const std::string AUDIO_PIPELINE_POS_PCM_SOURCE_PLAYBAC_MIXER
const int64_t AUDIO_FRAME_DUMP_MIN_DURATION_MS
Definition local_user_i.h:68
AUDIO_SCENARIO_TYPE
The audio scenarios.
Definition AgoraBase.h:3117
const std::string AUDIO_PIPELINE_POS_PRE_PLAY_PROC
VIDEO_QOE_PREFERENCE_TYPE
Definition AgoraBase.h:3316
const std::string AUDIO_PIPELINE_POS_ATW_PLAYOUT
const std::string AUDIO_PIPELINE_POS_PLAY
CLIENT_ROLE_TYPE
The user role in the interactive live streaming.
Definition AgoraBase.h:2944
std::map< uint8_t, std::pair< uint16_t, uint32_t > > StreamsFecStatsMap
Definition local_user_i.h:34
VIDEO_STREAM_TYPE
The type of video streams.
Definition AgoraBase.h:1654
@ VIDEO_STREAM_HIGH
Definition AgoraBase.h:1658
const std::string AUDIO_PIPELINE_POS_ENC
const std::string AUDIO_PIPELINE_POS_PRE_SEND_PROC
const std::string AUDIO_PIPELINE_POS_RX_MIXER
const std::string AUDIO_PIPELINE_POS_ATW_RECORD
unsigned int uid_t
Definition AgoraMediaBase.h:28
const std::string AUDIO_PIPELINE_POS_DEC
VIDEO_APPLICATION_SCENARIO_TYPE
The video application scenarios.
Definition AgoraBase.h:3250
const std::string AUDIO_PIPELINE_POS_APM
RAW_AUDIO_FRAME_OP_MODE_TYPE
The use mode of the audio data.
Definition AgoraMediaBase.h:261
const std::string AUDIO_PIPELINE_POS_PLAYBACK_MIXER
const std::string AUDIO_PIPELINE_POS_TX_MIXER
const std::string AUDIO_PIPELINE_POS_RECORD_ORIGIN
const std::string AUDIO_PIPELINE_POS_AT_PLAYOUT
Definition AgoraAtomicOps.h:21
const char * user_id_t
Definition AgoraBase.h:843
The spatial audio parameters.
Definition AgoraBase.h:8046
Definition IAgoraService.h:58
Definition audio_options_i.h:67
Definition NGIAgoraAudioTrack.h:37
Definition local_user_i.h:92
CapabilityItemMap * item_map
Definition local_user_i.h:93
agora::capability::CapabilityType type
Definition local_user_i.h:94
Capabilities()
Definition local_user_i.h:95
Capabilities(CapabilityItemMap *i, agora::capability::CapabilityType t)
Definition local_user_i.h:96
Definition local_user_i.h:78
uint8_t id
Definition local_user_i.h:79
CapabilityItem()
Definition local_user_i.h:81
CapabilityItem(uint8_t i, const char *n)
Definition local_user_i.h:82
const char * name
Definition local_user_i.h:80
Definition local_user_i.h:85
size_t size
Definition local_user_i.h:87
CapabilityItemMap()
Definition local_user_i.h:88
CapabilityItem * item
Definition local_user_i.h:86
CapabilityItemMap(CapabilityItem *i, size_t s)
Definition local_user_i.h:89
Definition NGIAgoraLocalUser.h:176
Definition local_user_i.h:106
uint32_t videoState
Definition local_user_i.h:113
uint32_t rw
Definition local_user_i.h:111
uint32_t rh
Definition local_user_i.h:112
std::string cname
Definition local_user_i.h:107
uint32_t rx
Definition local_user_i.h:109
uint32_t uid
Definition local_user_i.h:108
uint32_t ry
Definition local_user_i.h:110
Definition packet_i.h:64
Definition NGIAgoraRtcConnection.h:26
Video encoder configurations.
Definition AgoraBase.h:2051
Video subscription options.
Definition AgoraBase.h:1699
Definition packet_i.h:151
Definition packet_i.h:163
VIDEO_STREAM_TYPE
Definition packet_i.h:164
@ VIDEO_STREAM_HIGH
Definition packet_i.h:166