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};
116public:
117 std::string service;
118 uint32_t width;
119 uint32_t height;
120 uint32_t layoutSize;
121 std::shared_ptr<LayoutInternal> uidlayout;
122};
124public:
125 virtual void onLayoutInfo(const char* channelId,uid_t localUid, uid_t uid, VideoLayoutInfoInternal info) = 0;
127};
128
130 public:
131 virtual int initialize() = 0;
132 // We should deprecate sendAudioPacket.
133 virtual int sendAudioPacket(const audio_packet_t& packet, int64_t packet_ssrc = 0, int delay = 0) = 0;
134
135 virtual int sendVideoPacket(const video_packet_t& packet) = 0;
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
187
190
193
195
197
199
200 virtual int setAVSyncPeer(rtc::uid_t uid) = 0;
201 virtual int getOnlySubscribeEncodedVideoFrame(user_id_t peerUid, bool& subscribe) = 0;
202 virtual void setMinPlayoutDelay(int delay) = 0;
203 virtual int setAllowSubscribeSelf(bool allow) = 0;
204 virtual int adjustRecordingSignalVolume(int volume) = 0;
205 virtual int enableDownlinkNoiseGate(int noise_gate) = 0;
206 virtual int setDownlinkSignalLoudness(float loudness_lkfs) = 0;
207 virtual int setUplinkSignalLoudness(float loudness_lkfs) = 0;
208 virtual int enableDownlinkRawAudioLevelReport(bool enable) = 0;
209 virtual int enableAudioLevelReportInDecibel(bool enable) = 0;
210 virtual int getRecordingSignalVolume(int* volume) = 0;
213 virtual void updateAppDefinedCapabilities(const Capabilities* cap, size_t size) = 0;
214 virtual int sendIntraRequestQuick(user_id_t uid) = 0;
216 // this function should only be used in media_relay
217 // In the media_relay case, there are no track to help video_stream_manager get the video_height
218 // and video_width just receive the video packets and send this function used to help us
219 // UpdateBillInfo by ourself
220 virtual void customUpdateBillInfo(int height, int width, bool isSendingVideo) = 0;
221 virtual void setInteractiveAudience(bool interactive) = 0;
222 virtual int setVideoDumpMode(int mode, bool enabled, int frame_cnt = -1) = 0;
223 virtual int enableVideoDecryptedV4StreamDump(bool enabled) = 0;
224
225 virtual void muteLocalAudioStream(bool mute) = 0;
226 virtual void muteMicrophone(bool mute) = 0;
227
230
238 virtual int subscribeVideoLLApiInternal(user_id_t userId, const agora::rtc::VideoSubscriptionOptions& subscriptionOptions) = 0;
239 virtual int subscribeAllVideoLLApiInternal( const agora::rtc::VideoSubscriptionOptions& subscriptionOptions) = 0;
244 virtual int subscribeAudioLLApiInternal(user_id_t userId) = 0;
248 virtual int adjustPlaybackSignalVolumeLLApiInternal(int volume) = 0;
249 virtual int getPlaybackSignalVolumeLLApiInternal(int* volume) = 0;
250 virtual int adjustUserPlaybackSignalVolumeLLApiInternal(user_id_t userId, int volume) = 0;
251 virtual int getUserPlaybackSignalVolumeLLApiInternal(user_id_t userId, int* volume) = 0;
252 virtual int setUserPlaybackSignalLoudnessLLApiInternal(user_id_t userId, float loudness) = 0;
255 virtual int setPlaybackAudioFrameParametersLLApiInternal(size_t numberOfChannels, uint32_t sampleRateHz, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall) = 0;
256 virtual int setRecordingAudioFrameParametersLLApiInternal(size_t numberOfChannels, uint32_t sampleRateHz, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall) = 0;
257 virtual int setMixedAudioFrameParametersLLApiInternal(size_t numberOfChannels, uint32_t sampleRateHz, int samplesPerCall) = 0;
258 virtual int setEarMonitoringAudioFrameParametersLLApiInternal(bool enabled, size_t numberOfChannels, uint32_t sampleRateHz, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall) = 0;
259 virtual int setPlaybackAudioFrameBeforeMixingParametersLLApiInternal(size_t numberOfChannels, uint32_t sampleRateHz, int samplesPerCall) = 0;
262 virtual int enableAudioSpectrumMonitorLLApiInternal(int intervalInMS) = 0;
275 using internal_user_id_t = std::string;
276 virtual int setSubscribeAudioBlocklistLLApiInternal(const std::vector<internal_user_id_t>& userIdList) = 0;
277 virtual int setSubscribeAudioAllowlistLLApiInternal(const std::vector<internal_user_id_t>& userIdList) = 0;
278 virtual int setSubscribeVideoBlocklistLLApiInternal(const std::vector<internal_user_id_t>& userIdList) = 0;
279 virtual int setSubscribeVideoAllowlistLLApiInternal(const std::vector<internal_user_id_t>& userIdList) = 0;
280 virtual int setHighPriorityUserListLLApiInternal(const std::vector<uid_t>& vipList, int option) = 0;
281 virtual int getHighPriorityUserListLLApiInternal(std::vector<uid_t>& vipList, int& option) = 0;
283 virtual int registerLocalUserObserverLLApiInternal(ILocalUserObserver* observer, void (*safeDeleter)(ILocalUserObserver*) = NULL) = 0;
285 virtual int setAudioVolumeIndicationParametersLLApiInternal(int intervalInMS, int smooth, bool reportVad) = 0;
288 virtual int enableSoundPositionIndicationLLApiInternal(bool enabled) = 0;
289 virtual int setRemoteVoicePositionLLApiInternal(user_id_t userId, double pan, double gain) = 0;
290 virtual int enableSpatialAudioLLApiInternal(bool enabled) = 0;
292 virtual int setAudioFilterableLLApiInternal(bool filterable) = 0;
295 virtual int subscribeDataChannelLLApiInternal(user_id_t userId, int channelId) = 0;
296 virtual int unsubscribeDataChannelLLApiInternal(user_id_t userId, int channelId) = 0;
300 virtual int enableRemoteAudioTrackFilterLLApiInternal(user_id_t userId, const char* id, bool enable) = 0;
301 virtual int setRemoteAudioTrackFilterPropertyLLApiInternal(user_id_t userId, const char* id, const char* key, const char* jsonValue) = 0;
302 virtual int getRemoteAudioTrackFilterPropertyLLApiInternal(user_id_t userId, const char* id, const char* key, char* jsonValue, size_t bufSize) = 0;
303 virtual int initializeLLApiInternal() = 0;
304 virtual int SetAudioNsModeLLApiInternal(bool NsEnable, NS_MODE NsMode, NS_LEVEL NsLevel, NS_DELAY NsDelay) = 0;
309 virtual rtc::IStrategyManager* getStrategyManager() = 0;
310 virtual rtc::ProactiveCaller* getStrategyProactiveCaller() = 0;
311 virtual int setExternalAudioSinkMix(bool enabled) = 0;
312 virtual int sendAudioMetadataLLApiInternal(const char* metadata, size_t length) = 0;
313 virtual int setBiquadParams(const std::vector<std::tuple<int, float, float>>& params, bool uplink) = 0;
314 virtual void OnVideoFecStatsChanged(const StreamsFecStatsMap& streams_fec_stats) = 0;
315};
316
317} // namespace rtc
318} // namespace agora
Definition NGIAgoraDataChannel.h:128
Definition AgoraRefPtr.h:44
Definition AgoraMediaBase.h:1267
Definition AgoraMediaBase.h:1598
Definition AgoraMediaBase.h:1642
Definition AgoraMediaBase.h:1664
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:129
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:275
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:3502
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:123
virtual void onLayoutInfo(const char *channelId, uid_t localUid, uid_t uid, VideoLayoutInfoInternal info)=0
virtual ~IVideoLayoutObserver()
Definition local_user_i.h:126
Definition local_user_i.h:115
std::shared_ptr< LayoutInternal > uidlayout
Definition local_user_i.h:121
uint32_t layoutSize
Definition local_user_i.h:120
uint32_t height
Definition local_user_i.h:119
uint32_t width
Definition local_user_i.h:118
std::string service
Definition local_user_i.h:117
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
Definition AgoraBase.h:2913
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
Definition AgoraBase.h:3042
const std::string AUDIO_PIPELINE_POS_PRE_PLAY_PROC
VIDEO_QOE_PREFERENCE_TYPE
Definition AgoraBase.h:3202
const std::string AUDIO_PIPELINE_POS_ATW_PLAYOUT
const std::string AUDIO_PIPELINE_POS_PLAY
CLIENT_ROLE_TYPE
Definition AgoraBase.h:2879
std::map< uint8_t, std::pair< uint16_t, uint32_t > > StreamsFecStatsMap
Definition local_user_i.h:34
VIDEO_STREAM_TYPE
Definition AgoraBase.h:1613
@ VIDEO_STREAM_HIGH
Definition AgoraBase.h:1617
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
Definition AgoraBase.h:3180
const std::string AUDIO_PIPELINE_POS_APM
RAW_AUDIO_FRAME_OP_MODE_TYPE
Definition AgoraMediaBase.h:228
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:853
Definition AgoraBase.h:7507
Definition IAgoraService.h:57
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
Definition AgoraBase.h:1960
Definition AgoraBase.h:1649
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