Agora Java API Reference for Android
NGIAgoraLocalUser.h
1 //
2 // Agora SDK
3 //
4 // Created by Zheng Ender in 2018-01.
5 // Copyright (c) 2018 Agora.io. All rights reserved.
6 //
7 
8 #pragma once // NOLINT(build/header_guard)
9 
10 #include <cstring>
11 #include <vector>
12 #include "AgoraBase.h"
13 #include "AgoraOptional.h"
14 
15 namespace agora {
16 namespace media {
17 class IAudioFrameObserver;
18 }
19 
20 class ILocalDataChannel;
21 class IDataChannelObserver;
22 
23 namespace rtc {
24 class IAudioEngineWrapper;
25 
26 class ILocalUserObserver;
27 class ILocalVideoTrack;
28 class IRemoteVideoTrack;
29 class IVideoFrameObserver2;
30 
31 class IMediaControlPacketSender;
32 class IMediaControlPacketReceiver;
33 struct AudioEncoderConfiguration;
34 struct VideoEncoderConfiguration;
35 
36 class ILocalAudioTrack;
37 struct RemoteAudioTrackStats;
38 class IRemoteAudioTrack;
39 struct LocalVideoTrackStats;
40 struct RemoteVideoTrackStats;
41 class IMediaPacketReceiver;
42 class IVideoSinkBase;
54 class ILocalUser {
55  public:
59  struct ANAStats {
104  };
105 
119  //
136 
154 
163 
169  };
170 
178  uint32_t local_ssrc;
182  int64_t bytes_sent;
186  int32_t packets_sent;
190  int32_t packets_lost;
198  char codec_name[media::base::kMaxCodecNameLength];
206  int32_t ext_seqnum;
210  int32_t jitter_ms;
214  int64_t rtt_ms;
218  int32_t audio_level;
233 
239  AudioProcessingStats apm_statistics;
240 
242  ext_seqnum(-1), jitter_ms(-1), rtt_ms(-1), audio_level(-1),
244  memset(codec_name, 0, sizeof(codec_name));
245  }
246  };
247 
248  enum NS_MODE {
249  ElderNsStatistical = 0, /* Elder Statistical Noise Suppression.*/
250  NsNGStatistical = 1, /* Next Generation Statistical Noise Suppression.*/
251  NsNG = 2 /* Next Generation Noise Suppression.*/
252  };
253  enum NS_LEVEL {
254  Soft = 0,/* Soft Noise Suppression.*/
255  Aggressive = 1 /* Aggressiveness Noise Suppression.*/
256  };
257  enum NS_DELAY {
258  HighQuality = 0,/* High Audio Quality with High Delay.*/
259  Balance = 1,/* Balanced Audio Quality and Delay.*/
260  LowDelay = 2/* Slight Low Audio Quality with Low Delay.*/
261  };
262 
263  public:
264  virtual ~ILocalUser() {}
265 
282  virtual void setUserRole(rtc::CLIENT_ROLE_TYPE role) = 0;
283 
289  virtual CLIENT_ROLE_TYPE getUserRole() = 0;
290 
291 
292  virtual void setAudienceLatencyLevel(AUDIENCE_LATENCY_LEVEL_TYPE level) = 0;
293 
294  virtual AUDIENCE_LATENCY_LEVEL_TYPE getAudienceLatencyLevel() = 0;
295 
307 
317  virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario) = 0;
318 
329  virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType) = 0;
330 
340 
352  virtual int publishAudio(agora_refptr<ILocalAudioTrack> audioTrack) = 0;
353 
362  virtual int unpublishAudio(agora_refptr<ILocalAudioTrack> audioTrack) = 0;
363 
372  virtual int publishVideo(agora_refptr<ILocalVideoTrack> videoTrack) = 0;
373 
382  virtual int unpublishVideo(agora_refptr<ILocalVideoTrack> videoTrack) = 0;
383 
393  virtual int subscribeAudio(user_id_t userId) = 0;
394 
404  virtual int subscribeAllAudio() = 0;
405 
415  virtual int unsubscribeAudio(user_id_t userId) = 0;
416 
427  virtual int unsubscribeAllAudio() = 0;
428 
439  virtual int adjustPlaybackSignalVolume(int volume) = 0;
440 
448  virtual int getPlaybackSignalVolume(int* volume) = 0;
449 
450  /*
451  * Adjust the playback volume of the user specified by uid.
452  *
453  * You can call this method to adjust the playback volume of the user specified by uid
454  * in call. If you want to adjust playback volume of the multi user, you can call this
455  * this method multi times.
456  *
457  * @note
458  * Please call this method after join channel.
459  * This method adjust the playback volume of specified user.
460  *
461  * @param userId The ID of the Remote user.
462  * @param volume The playback volume of the specified remote user. The value ranges between 0 and 400, including the following:
463  * 0: Mute.
464  * 100: (Default) Original volume.
465  * 400: Four times the original volume with signal-clipping protection.
466  * @return
467  * - 0: Success.
468  * - < 0: Failure.
469  */
470  virtual int adjustUserPlaybackSignalVolume(user_id_t userId, int volume) = 0;
471 
480  virtual int getUserPlaybackSignalVolume(user_id_t userId, int* volume) = 0;
481 
494  virtual int enableSoundPositionIndication(bool enabled) = 0;
495 
516  virtual int setRemoteVoicePosition(user_id_t userId, double pan, double gain) = 0;
517 
527  virtual int enableSpatialAudio(bool enabled) = 0;
528 
538  virtual int setRemoteUserSpatialAudioParams(user_id_t userId, const agora::SpatialAudioParams& param) = 0;
539 
556  virtual int setPlaybackAudioFrameParameters(size_t numberOfChannels,
557  uint32_t sampleRateHz,
558  RAW_AUDIO_FRAME_OP_MODE_TYPE mode = RAW_AUDIO_FRAME_OP_MODE_READ_ONLY,
559  int samplesPerCall = 0) = 0;
576  virtual int setRecordingAudioFrameParameters(size_t numberOfChannels,
577  uint32_t sampleRateHz,
578  RAW_AUDIO_FRAME_OP_MODE_TYPE mode = RAW_AUDIO_FRAME_OP_MODE_READ_ONLY,
579  int samplesPerCall = 0) = 0;
594  virtual int setMixedAudioFrameParameters(size_t numberOfChannels,
595  uint32_t sampleRateHz,
596  int samplesPerCall = 0) = 0;
597 
616  virtual int setEarMonitoringAudioFrameParameters(bool enabled,
617  size_t numberOfChannels,
618  uint32_t sampleRateHz,
619  RAW_AUDIO_FRAME_OP_MODE_TYPE mode = RAW_AUDIO_FRAME_OP_MODE_READ_ONLY,
620  int samplesPerCall = 0) = 0;
621 
636  virtual int setPlaybackAudioFrameBeforeMixingParameters(size_t numberOfChannels,
637  uint32_t sampleRateHz) = 0;
638 
665 
676  virtual int enableAudioSpectrumMonitor(int intervalInMS = 100) = 0;
684  virtual int disableAudioSpectrumMonitor() = 0;
685 
711 
740  virtual int forceNextIntraFrame() = 0;
762 
784 
785  virtual int setVideoSubscriptionOptions(user_id_t userId,
786  const VideoSubscriptionOptions& options) = 0;
787 
788  virtual int setHighPriorityUserList(uid_t* vipList, int uidNum, int option) = 0;
789 
790  virtual int getHighPriorityUserList(std::vector<uid_t>& vipList, int& option) = 0;
791 
806  virtual int setSubscribeAudioBlocklist(user_id_t* userList, int userNumber) = 0;
807 
824  virtual int setSubscribeAudioAllowlist(user_id_t* userList, int userNumber) = 0;
825 
840  virtual int setSubscribeVideoBlocklist(user_id_t* userList, int userNumber) = 0;
841 
858  virtual int setSubscribeVideoAllowlist(user_id_t* userList, int userNumber) = 0;
859 
872  virtual int subscribeVideo(user_id_t userId,
873  const VideoSubscriptionOptions &subscriptionOptions) = 0;
874 
885  virtual int subscribeAllVideo(const VideoSubscriptionOptions &subscriptionOptions) = 0;
886 
896  virtual int unsubscribeVideo(user_id_t userId) = 0;
897 
908  virtual int unsubscribeAllVideo() = 0;
909 
929  virtual int setAudioVolumeIndicationParameters(int intervalInMS, int smooth, bool reportVad) = 0;
930 
943  ILocalUserObserver* observer,
944  void(*safeDeleter)(ILocalUserObserver*) = NULL) = 0;
945 
955 
964 
978 
987 
998  virtual int sendIntraRequest(user_id_t userId) = 0;
999 
1011  virtual int setAudioFilterable(bool filterable) = 0;
1012 
1022  virtual int enableRemoteAudioTrackFilter(user_id_t userId, const char* id, bool enable) = 0;
1023 
1034  virtual int setRemoteAudioTrackFilterProperty(user_id_t userId, const char* id, const char* key, const char* jsonValue) = 0;
1035 
1047  virtual int getRemoteAudioTrackFilterProperty(user_id_t userId, const char* id, const char* key, char* jsonValue, size_t bufSize) = 0;
1075  virtual int subscribeDataChannel(user_id_t userId, int channelId) = 0;
1087  virtual int unsubscribeDataChannel(user_id_t userId, int channelId) = 0;
1119  virtual int SetAudioNsMode(bool NsEnable, NS_MODE NsMode, NS_LEVEL NsLevel, NS_DELAY NsDelay) = 0;
1120 };
1121 
1129  user_id_t userId;
1130 
1134  unsigned int volume;
1135 
1136  /*
1137  * The activity status of remote users
1138  */
1139  unsigned int vad;
1140 
1144  double voicePitch;
1145 
1146  AudioVolumeInformation() : userId(NULL), volume(0), vad(0), voicePitch(0.0) {}
1147 };
1148 
1153  public:
1154  virtual ~ILocalUserObserver() {}
1155 
1156  virtual void onAudioTrackPublishStart(agora_refptr<ILocalAudioTrack> audioTrack) = 0;
1164 
1165  virtual void onAudioTrackUnpublished(agora_refptr<ILocalAudioTrack> audioTrack) = 0;
1166 
1174  ERROR_CODE_TYPE error) = 0;
1175 
1181  virtual void onLocalAudioTrackStatistics(const LocalAudioStats& stats) = 0;
1198  virtual void onUserAudioTrackSubscribed(user_id_t userId,
1199  agora_refptr<rtc::IRemoteAudioTrack> audioTrack) = 0;
1200 
1210  virtual void onUserAudioTrackStateChanged(user_id_t userId,
1212  REMOTE_AUDIO_STATE state,
1213  REMOTE_AUDIO_STATE_REASON reason,
1214  int elapsed) = 0;
1215 
1216  virtual void onVideoTrackPublishStart(agora_refptr<ILocalVideoTrack> videoTrack) = 0;
1223 
1231  ERROR_CODE_TYPE error) = 0;
1232 
1233  virtual void onVideoTrackUnpublished(agora_refptr<ILocalVideoTrack> videoTrack) = 0;
1246  LOCAL_VIDEO_STREAM_STATE state,
1247  LOCAL_VIDEO_STREAM_ERROR errorCode) = 0;
1248 
1256  const LocalVideoTrackStats& stats) = 0;
1257 
1268  virtual void onUserVideoTrackSubscribed(user_id_t userId, VideoTrackInfo trackInfo,
1269  agora_refptr<rtc::IRemoteVideoTrack> videoTrack) = 0;
1270 
1280  virtual void onUserVideoTrackStateChanged(user_id_t userId,
1282  REMOTE_VIDEO_STATE state,
1283  REMOTE_VIDEO_STATE_REASON reason,
1284  int elapsed) = 0;
1285 
1294  virtual void onFirstRemoteVideoFrameRendered(user_id_t userId, int width,
1295  int height, int elapsed) = 0;
1296 
1297 
1305  const RemoteVideoTrackStats& stats) = 0;
1306 
1336  virtual void onAudioVolumeIndication(const AudioVolumeInformation* speakers, unsigned int speakerNumber,
1337  int totalVolume) = 0;
1338 
1351  virtual void onActiveSpeaker(user_id_t userId) = 0;
1352 
1362  virtual void onAudioSubscribeStateChanged(const char* channel, user_id_t userId, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) = 0;
1363 
1373  virtual void onVideoSubscribeStateChanged(const char* channel, user_id_t userId, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) = 0;
1374 
1383  virtual void onAudioPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) = 0;
1384 
1393  virtual void onVideoPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) = 0;
1394 
1405  virtual void onRemoteSubscribeFallbackToAudioOnly(user_id_t userId, bool isFallbackOrRecover) {
1406  (void)userId;
1407  (void)isFallbackOrRecover;
1408  }
1409 
1415  virtual void onFirstRemoteAudioFrame(user_id_t userId, int elapsed) = 0;
1416 
1423  virtual void onFirstRemoteAudioDecoded(user_id_t userId, int elapsed) = 0;
1424 
1434  virtual void onFirstRemoteVideoFrame(user_id_t userId, int width, int height, int elapsed) = 0;
1435 
1444  virtual void onFirstRemoteVideoDecoded(user_id_t userId, int width, int height, int elapsed) = 0;
1445 
1454  virtual void onVideoSizeChanged(user_id_t userId, int width, int height, int rotation) = 0;
1455 
1476  };
1477 
1486  virtual void onUserInfoUpdated(user_id_t userId, USER_MEDIA_INFO msg, bool val) {
1487  (void)userId;
1488  (void)msg;
1489  (void)val;
1490  }
1491 
1498  virtual void onIntraRequestReceived() {}
1499 
1503  virtual void onStreamMessage(user_id_t userId, int streamId, const char* data, size_t length) {}
1504 
1510  virtual void onUserStateChanged(user_id_t userId, uint32_t state){}
1511 
1512  virtual void onVideoRenderingTracingResult(user_id_t user_id, MEDIA_TRACE_EVENT currentState, VideoRenderingTracingInfo tracingInfo) {}
1513 };
1514 
1516  public:
1526  virtual void onFrame(const char* channelId, user_id_t remoteUid, const media::base::VideoFrame* frame) = 0;
1527 
1528  virtual ~IVideoFrameObserver2() {}
1529 };
1530 
1531 } // namespace rtc
1532 } // namespace agora
agora::rtc::ILocalUserObserver::onLocalVideoTrackStatistics
virtual void onLocalVideoTrackStatistics(agora_refptr< rtc::ILocalVideoTrack > videoTrack, const LocalVideoTrackStats &stats)=0
agora::rtc::ILocalUser::registerLocalVideoEncodedFrameObserver
virtual int registerLocalVideoEncodedFrameObserver(agora::media::IVideoEncodedFrameObserver *observer)=0
agora::media::base::VideoFrame
Definition: AgoraMediaBase.h:689
agora::rtc::ILocalUser::ANAStats::dtx_action_counter
agora::Optional< uint32_t > dtx_action_counter
Definition: NGIAgoraLocalUser.h:77
agora::rtc::ILocalUser::AudioProcessingStats::residual_echo_likelihood_recent_max
agora::Optional< double > residual_echo_likelihood_recent_max
Definition: NGIAgoraLocalUser.h:162
agora::rtc::ILocalUser::unsubscribeAudio
virtual int unsubscribeAudio(user_id_t userId)=0
agora::rtc::ILocalUserObserver::onVideoTrackPublishSuccess
virtual void onVideoTrackPublishSuccess(agora_refptr< ILocalVideoTrack > videoTrack)=0
agora::rtc::ILocalUser::setMixedAudioFrameParameters
virtual int setMixedAudioFrameParameters(size_t numberOfChannels, uint32_t sampleRateHz, int samplesPerCall=0)=0
agora::rtc::IMediaControlPacketReceiver
Definition: NGIAgoraMediaNode.h:545
agora::rtc::ILocalUser::setRecordingAudioFrameParameters
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)=0
agora::rtc::ILocalUser::LocalAudioDetailedStats
Definition: NGIAgoraLocalUser.h:174
agora::rtc::ILocalUser::unpublishAudio
virtual int unpublishAudio(agora_refptr< ILocalAudioTrack > audioTrack)=0
agora::rtc::ILocalUser::subscribeDataChannel
virtual int subscribeDataChannel(user_id_t userId, int channelId)=0
agora::rtc::ILocalUser::subscribeAudio
virtual int subscribeAudio(user_id_t userId)=0
agora::rtc::ILocalUserObserver::USER_MEDIA_INFO_ENABLE_LOCAL_VIDEO
@ USER_MEDIA_INFO_ENABLE_LOCAL_VIDEO
Definition: NGIAgoraLocalUser.h:1475
agora::rtc::ILocalUser::enableSpatialAudio
virtual int enableSpatialAudio(bool enabled)=0
agora::rtc::ILocalUser::LocalAudioDetailedStats::codec_name
char codec_name[media::base::kMaxCodecNameLength]
Definition: NGIAgoraLocalUser.h:198
agora::rtc::ILocalUser::getPlaybackSignalVolume
virtual int getPlaybackSignalVolume(int *volume)=0
agora::media::IAudioFrameObserverBase
Definition: AgoraMediaBase.h:862
agora::rtc::ILocalUserObserver::onRemoteVideoTrackStatistics
virtual void onRemoteVideoTrackStatistics(agora_refptr< rtc::IRemoteVideoTrack > videoTrack, const RemoteVideoTrackStats &stats)=0
agora::rtc::ILocalUserObserver::onUserVideoTrackStateChanged
virtual void onUserVideoTrackStateChanged(user_id_t userId, agora_refptr< rtc::IRemoteVideoTrack > videoTrack, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed)=0
agora::rtc::ILocalUser::unsubscribeAllVideo
virtual int unsubscribeAllVideo()=0
agora::rtc::ILocalUser::SetAudioNsMode
virtual int SetAudioNsMode(bool NsEnable, NS_MODE NsMode, NS_LEVEL NsLevel, NS_DELAY NsDelay)=0
agora::rtc::ILocalUser::AudioProcessingStats::delay_ms
agora::Optional< int32_t > delay_ms
Definition: NGIAgoraLocalUser.h:168
agora::rtc::ILocalUserObserver::onUserStateChanged
virtual void onUserStateChanged(user_id_t userId, uint32_t state)
Definition: NGIAgoraLocalUser.h:1510
agora::rtc::ILocalUser::LocalAudioDetailedStats::fraction_lost
float fraction_lost
Definition: NGIAgoraLocalUser.h:194
agora::rtc::ILocalUserObserver::onActiveSpeaker
virtual void onActiveSpeaker(user_id_t userId)=0
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::ILocalUser::unregisterDataChannelObserver
virtual int unregisterDataChannelObserver(IDataChannelObserver *observer)=0
agora::rtc::ILocalUserObserver::onAudioPublishStateChanged
virtual void onAudioPublishStateChanged(const char *channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)=0
agora::media::IAudioSpectrumObserver
Definition: AgoraMediaBase.h:1161
agora::rtc::ILocalUser::forceNextIntraFrame
virtual int forceNextIntraFrame()=0
agora::rtc::ILocalUser::subscribeAllVideo
virtual int subscribeAllVideo(const VideoSubscriptionOptions &subscriptionOptions)=0
agora::rtc::ILocalUser::AudioProcessingStats::echo_return_loss
agora::Optional< double > echo_return_loss
Definition: NGIAgoraLocalUser.h:118
agora::rtc::ILocalUser::setRemoteUserSpatialAudioParams
virtual int setRemoteUserSpatialAudioParams(user_id_t userId, const agora::SpatialAudioParams &param)=0
agora::rtc::ILocalUser::setUserRole
virtual void setUserRole(rtc::CLIENT_ROLE_TYPE role)=0
agora::rtc::ILocalUser::unregisterAudioSpectrumObserver
virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
agora::rtc::ILocalUser::setEarMonitoringAudioFrameParameters
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)=0
agora::rtc::ILocalUser::LocalAudioDetailedStats::jitter_ms
int32_t jitter_ms
Definition: NGIAgoraLocalUser.h:210
agora::rtc::ILocalUserObserver
Definition: NGIAgoraLocalUser.h:1152
agora::rtc::ILocalUser::sendIntraRequest
virtual int sendIntraRequest(user_id_t userId)=0
agora::rtc::ILocalUserObserver::onAudioTrackPublishSuccess
virtual void onAudioTrackPublishSuccess(agora_refptr< ILocalAudioTrack > audioTrack)=0
agora::rtc::ILocalUser::getRemoteAudioTrackFilterProperty
virtual int getRemoteAudioTrackFilterProperty(user_id_t userId, const char *id, const char *key, char *jsonValue, size_t bufSize)=0
agora::rtc::VideoSubscriptionOptions
Definition: AgoraBase.h:1523
agora::rtc::ILocalUser::disableAudioSpectrumMonitor
virtual int disableAudioSpectrumMonitor()=0
agora::rtc::ILocalUserObserver::onUserVideoTrackSubscribed
virtual void onUserVideoTrackSubscribed(user_id_t userId, VideoTrackInfo trackInfo, agora_refptr< rtc::IRemoteVideoTrack > videoTrack)=0
agora::rtc::RemoteAudioTrackStats
Definition: NGIAgoraAudioTrack.h:409
agora::rtc::AudioVolumeInformation
Definition: NGIAgoraLocalUser.h:1125
agora::rtc::ILocalUser::registerLocalUserObserver
virtual int registerLocalUserObserver(ILocalUserObserver *observer, void(*safeDeleter)(ILocalUserObserver *)=NULL)=0
agora::rtc::ILocalUser::ANAStats
Definition: NGIAgoraLocalUser.h:59
agora::rtc::ILocalUserObserver::onUserAudioTrackSubscribed
virtual void onUserAudioTrackSubscribed(user_id_t userId, agora_refptr< rtc::IRemoteAudioTrack > audioTrack)=0
agora::rtc::ILocalUser::publishVideo
virtual int publishVideo(agora_refptr< ILocalVideoTrack > videoTrack)=0
agora::rtc::ILocalUser::unsubscribeVideo
virtual int unsubscribeVideo(user_id_t userId)=0
agora::rtc::IVideoFrameObserver2
Definition: NGIAgoraLocalUser.h:1515
agora::rtc::ILocalUser::setAudioEncoderConfiguration
virtual int setAudioEncoderConfiguration(const rtc::AudioEncoderConfiguration &config)=0
agora::rtc::ILocalUserObserver::onFirstRemoteVideoFrame
virtual void onFirstRemoteVideoFrame(user_id_t userId, int width, int height, int elapsed)=0
agora::rtc::ILocalUserObserver::USER_MEDIA_INFO_MUTE_AUDIO
@ USER_MEDIA_INFO_MUTE_AUDIO
Definition: NGIAgoraLocalUser.h:1463
agora::rtc::AudioVolumeInformation::voicePitch
double voicePitch
Definition: NGIAgoraLocalUser.h:1144
agora::rtc::ILocalUser::ANAStats::uplink_packet_loss_fraction
agora::Optional< float > uplink_packet_loss_fraction
Definition: NGIAgoraLocalUser.h:103
agora::rtc::ILocalUser::registerDataChannelObserver
virtual int registerDataChannelObserver(IDataChannelObserver *observer)=0
agora::rtc::ILocalUser::getMediaControlPacketSender
virtual IMediaControlPacketSender * getMediaControlPacketSender()=0
agora::rtc::ILocalUser::unpublishDataChannel
virtual int unpublishDataChannel(agora_refptr< ILocalDataChannel > channel)=0
agora::rtc::ILocalUser::setSubscribeVideoBlocklist
virtual int setSubscribeVideoBlocklist(user_id_t *userList, int userNumber)=0
agora::rtc::ILocalUserObserver::onUserAudioTrackStateChanged
virtual void onUserAudioTrackStateChanged(user_id_t userId, agora_refptr< rtc::IRemoteAudioTrack > audioTrack, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed)=0
agora::rtc::ILocalUserObserver::onRemoteSubscribeFallbackToAudioOnly
virtual void onRemoteSubscribeFallbackToAudioOnly(user_id_t userId, bool isFallbackOrRecover)
Definition: NGIAgoraLocalUser.h:1405
agora::rtc::ILocalUser::getLocalAudioStatistics
virtual bool getLocalAudioStatistics(LocalAudioDetailedStats &stats)=0
agora::rtc::ILocalUser::LocalAudioDetailedStats::rtt_ms
int64_t rtt_ms
Definition: NGIAgoraLocalUser.h:214
agora::rtc::ILocalUser::publishAudio
virtual int publishAudio(agora_refptr< ILocalAudioTrack > audioTrack)=0
agora::rtc::ILocalUser::AudioProcessingStats::residual_echo_likelihood
agora::Optional< double > residual_echo_likelihood
Definition: NGIAgoraLocalUser.h:158
agora::rtc::ILocalUserObserver::onVideoSizeChanged
virtual void onVideoSizeChanged(user_id_t userId, int width, int height, int rotation)=0
agora::rtc::ILocalUser::ANAStats::fec_action_counter
agora::Optional< uint32_t > fec_action_counter
Definition: NGIAgoraLocalUser.h:83
agora::rtc::ILocalUserObserver::onAudioSubscribeStateChanged
virtual void onAudioSubscribeStateChanged(const char *channel, user_id_t userId, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState)=0
agora::rtc::ILocalUser::setVideoScenario
virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType)=0
agora::rtc::ILocalUser::registerVideoEncodedFrameObserver
virtual int registerVideoEncodedFrameObserver(agora::media::IVideoEncodedFrameObserver *observer)=0
agora::rtc::ILocalUser::unregisterVideoEncodedFrameObserver
virtual int unregisterVideoEncodedFrameObserver(agora::media::IVideoEncodedFrameObserver *observer)=0
agora::rtc::ILocalUser::ANAStats::bitrate_action_counter
agora::Optional< uint32_t > bitrate_action_counter
Definition: NGIAgoraLocalUser.h:65
agora::rtc::AudioVolumeInformation::volume
unsigned int volume
Definition: NGIAgoraLocalUser.h:1134
agora::rtc::ILocalUser::enableSoundPositionIndication
virtual int enableSoundPositionIndication(bool enabled)=0
agora::rtc::ILocalUser::LocalAudioDetailedStats::packets_sent
int32_t packets_sent
Definition: NGIAgoraLocalUser.h:186
agora::rtc::ILocalUser::AudioProcessingStats
Definition: NGIAgoraLocalUser.h:109
agora::rtc::ILocalUserObserver::onVideoPublishStateChanged
virtual void onVideoPublishStateChanged(const char *channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)=0
agora::rtc::ILocalUserObserver::onRemoteAudioTrackStatistics
virtual void onRemoteAudioTrackStatistics(agora_refptr< rtc::IRemoteAudioTrack > audioTrack, const RemoteAudioTrackStats &stats)=0
agora::rtc::ILocalUser::unsubscribeDataChannel
virtual int unsubscribeDataChannel(user_id_t userId, int channelId)=0
agora::rtc::ILocalUser::AudioProcessingStats::divergent_filter_fraction
agora::Optional< double > divergent_filter_fraction
Definition: NGIAgoraLocalUser.h:135
agora::rtc::ILocalUser::setRemoteAudioTrackFilterProperty
virtual int setRemoteAudioTrackFilterProperty(user_id_t userId, const char *id, const char *key, const char *jsonValue)=0
agora::rtc::ILocalUser::LocalAudioDetailedStats::total_input_energy
double total_input_energy
Definition: NGIAgoraLocalUser.h:222
agora::rtc::ILocalUser
Definition: NGIAgoraLocalUser.h:54
agora::rtc::ILocalUser::ANAStats::frame_length_increase_counter
agora::Optional< uint32_t > frame_length_increase_counter
Definition: NGIAgoraLocalUser.h:90
agora::rtc::ILocalUser::setSubscribeAudioBlocklist
virtual int setSubscribeAudioBlocklist(user_id_t *userList, int userNumber)=0
agora::rtc::ILocalUser::unregisterMediaControlPacketReceiver
virtual int unregisterMediaControlPacketReceiver(IMediaControlPacketReceiver *ctrlPacketReceiver)=0
agora::rtc::ILocalUserObserver::USER_MEDIA_INFO_ENABLE_VIDEO
@ USER_MEDIA_INFO_ENABLE_VIDEO
Definition: NGIAgoraLocalUser.h:1471
agora::rtc::ILocalUser::setAudioScenario
virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario)=0
agora::rtc::ILocalUserObserver::onAudioVolumeIndication
virtual void onAudioVolumeIndication(const AudioVolumeInformation *speakers, unsigned int speakerNumber, int totalVolume)=0
agora::rtc::ILocalUserObserver::onFirstRemoteAudioDecoded
virtual void onFirstRemoteAudioDecoded(user_id_t userId, int elapsed)=0
agora::rtc::ILocalUserObserver::USER_MEDIA_INFO
USER_MEDIA_INFO
Definition: NGIAgoraLocalUser.h:1459
agora::rtc::ILocalUser::unregisterAudioFrameObserver
virtual int unregisterAudioFrameObserver(agora::media::IAudioFrameObserverBase *observer)=0
agora::rtc::ILocalUserObserver::onVideoSubscribeStateChanged
virtual void onVideoSubscribeStateChanged(const char *channel, user_id_t userId, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState)=0
agora::rtc::ILocalUser::unregisterVideoFrameObserver
virtual int unregisterVideoFrameObserver(IVideoFrameObserver2 *observer)=0
agora::rtc::ILocalUserObserver::onVideoTrackPublicationFailure
virtual void onVideoTrackPublicationFailure(agora_refptr< ILocalVideoTrack > videoTrack, ERROR_CODE_TYPE error)=0
agora::rtc::ILocalUser::subscribeVideo
virtual int subscribeVideo(user_id_t userId, const VideoSubscriptionOptions &subscriptionOptions)=0
agora::rtc::ILocalUser::unsubscribeAllAudio
virtual int unsubscribeAllAudio()=0
agora::rtc::ILocalUser::ANAStats::channel_action_counter
agora::Optional< uint32_t > channel_action_counter
Definition: NGIAgoraLocalUser.h:71
agora::rtc::ILocalUser::enableAudioSpectrumMonitor
virtual int enableAudioSpectrumMonitor(int intervalInMS=100)=0
agora::rtc::ILocalUser::registerAudioFrameObserver
virtual int registerAudioFrameObserver(agora::media::IAudioFrameObserverBase *observer)=0
agora::rtc::ILocalUser::registerAudioSpectrumObserver
virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer, void(*safeDeleter)(agora::media::IAudioSpectrumObserver *))=0
agora::rtc::ILocalUser::unregisterLocalVideoEncodedFrameObserver
virtual int unregisterLocalVideoEncodedFrameObserver(agora::media::IVideoEncodedFrameObserver *observer)=0
agora::rtc::ILocalUserObserver::onStreamMessage
virtual void onStreamMessage(user_id_t userId, int streamId, const char *data, size_t length)
Definition: NGIAgoraLocalUser.h:1503
agora::rtc::ILocalUserObserver::onLocalAudioTrackStatistics
virtual void onLocalAudioTrackStatistics(const LocalAudioStats &stats)=0
agora::rtc::AudioVolumeInformation::userId
user_id_t userId
Definition: NGIAgoraLocalUser.h:1129
agora::rtc::ILocalUser::setAudioFilterable
virtual int setAudioFilterable(bool filterable)=0
agora::rtc::ILocalUserObserver::onIntraRequestReceived
virtual void onIntraRequestReceived()
Definition: NGIAgoraLocalUser.h:1498
agora::rtc::ILocalUser::setPlaybackAudioFrameBeforeMixingParameters
virtual int setPlaybackAudioFrameBeforeMixingParameters(size_t numberOfChannels, uint32_t sampleRateHz)=0
agora::rtc::IVideoFrameObserver2::onFrame
virtual void onFrame(const char *channelId, user_id_t remoteUid, const media::base::VideoFrame *frame)=0
agora::rtc::ILocalUser::LocalAudioDetailedStats::packets_lost
int32_t packets_lost
Definition: NGIAgoraLocalUser.h:190
agora::rtc::ILocalUser::publishDataChannel
virtual int publishDataChannel(agora_refptr< ILocalDataChannel > channel)=0
agora::rtc::LocalAudioStats
Definition: AgoraBase.h:3236
agora::rtc::RemoteVideoTrackStats
Definition: NGIAgoraVideoTrack.h:359
agora::rtc::ILocalUser::setSubscribeVideoAllowlist
virtual int setSubscribeVideoAllowlist(user_id_t *userList, int userNumber)=0
agora::rtc::ILocalUser::LocalAudioDetailedStats::ana_statistics
ANAStats ana_statistics
Definition: NGIAgoraLocalUser.h:238
agora::rtc::ILocalUser::setPlaybackAudioFrameParameters
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)=0
agora::rtc::ILocalUser::registerMediaControlPacketReceiver
virtual int registerMediaControlPacketReceiver(IMediaControlPacketReceiver *ctrlPacketReceiver)=0
agora::rtc::ILocalUserObserver::onLocalVideoTrackStateChanged
virtual void onLocalVideoTrackStateChanged(agora_refptr< rtc::ILocalVideoTrack > videoTrack, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_ERROR errorCode)=0
agora::rtc::ILocalUser::LocalAudioDetailedStats::audio_level
int32_t audio_level
Definition: NGIAgoraLocalUser.h:218
agora::rtc::ILocalUser::AudioProcessingStats::echo_return_loss_enhancement
agora::Optional< double > echo_return_loss_enhancement
Definition: NGIAgoraLocalUser.h:130
agora::rtc::ILocalUserObserver::onAudioTrackPublicationFailure
virtual void onAudioTrackPublicationFailure(agora_refptr< ILocalAudioTrack > audioTrack, ERROR_CODE_TYPE error)=0
agora::rtc::ILocalUser::unpublishVideo
virtual int unpublishVideo(agora_refptr< ILocalVideoTrack > videoTrack)=0
agora::rtc::ILocalUserObserver::onFirstRemoteVideoDecoded
virtual void onFirstRemoteVideoDecoded(user_id_t userId, int width, int height, int elapsed)=0
agora::rtc::ILocalUserObserver::USER_MEDIA_INFO_MUTE_VIDEO
@ USER_MEDIA_INFO_MUTE_VIDEO
Definition: NGIAgoraLocalUser.h:1467
agora::rtc::ILocalUser::AudioProcessingStats::delay_median_ms
agora::Optional< int32_t > delay_median_ms
Definition: NGIAgoraLocalUser.h:149
agora::rtc::ILocalUser::registerVideoFrameObserver
virtual int registerVideoFrameObserver(IVideoFrameObserver2 *observer)=0
agora::rtc::ILocalUser::LocalAudioDetailedStats::total_input_duration
double total_input_duration
Definition: NGIAgoraLocalUser.h:226
agora::media::IVideoEncodedFrameObserver
Definition: AgoraMediaBase.h:1202
agora::rtc::ILocalUser::getUserPlaybackSignalVolume
virtual int getUserPlaybackSignalVolume(user_id_t userId, int *volume)=0
agora::rtc::AudioEncoderConfiguration
Definition: IAgoraService.h:56
agora::rtc::ILocalUser::LocalAudioDetailedStats::bytes_sent
int64_t bytes_sent
Definition: NGIAgoraLocalUser.h:182
agora::rtc::ILocalUserObserver::onFirstRemoteAudioFrame
virtual void onFirstRemoteAudioFrame(user_id_t userId, int elapsed)=0
agora::rtc::ILocalUser::adjustPlaybackSignalVolume
virtual int adjustPlaybackSignalVolume(int volume)=0
agora::rtc::IMediaControlPacketSender
Definition: NGIAgoraMediaNode.h:592
agora::rtc::ILocalUser::LocalAudioDetailedStats::typing_noise_detected
bool typing_noise_detected
Definition: NGIAgoraLocalUser.h:232
agora::rtc::ILocalUser::subscribeAllAudio
virtual int subscribeAllAudio()=0
agora::rtc::VideoTrackInfo
Definition: AgoraBase.h:2981
agora::rtc::ILocalUser::setAudioVolumeIndicationParameters
virtual int setAudioVolumeIndicationParameters(int intervalInMS, int smooth, bool reportVad)=0
agora::rtc::ILocalUser::LocalAudioDetailedStats::local_ssrc
uint32_t local_ssrc
Definition: NGIAgoraLocalUser.h:178
agora::SpatialAudioParams
Definition: AgoraBase.h:5993
agora::rtc::ILocalUser::LocalAudioDetailedStats::codec_payload_type
agora::Optional< int > codec_payload_type
Definition: NGIAgoraLocalUser.h:202
agora::rtc::ILocalUser::unregisterLocalUserObserver
virtual int unregisterLocalUserObserver(ILocalUserObserver *observer)=0
agora::rtc::ILocalUserObserver::onFirstRemoteVideoFrameRendered
virtual void onFirstRemoteVideoFrameRendered(user_id_t userId, int width, int height, int elapsed)=0
agora::rtc::ILocalUser::setRemoteVoicePosition
virtual int setRemoteVoicePosition(user_id_t userId, double pan, double gain)=0
agora::rtc::ILocalUser::ANAStats::frame_length_decrease_counter
agora::Optional< uint32_t > frame_length_decrease_counter
Definition: NGIAgoraLocalUser.h:97
agora::rtc::ILocalUser::LocalAudioDetailedStats::ext_seqnum
int32_t ext_seqnum
Definition: NGIAgoraLocalUser.h:206
agora::rtc::ILocalUser::AudioProcessingStats::delay_standard_deviation_ms
agora::Optional< int32_t > delay_standard_deviation_ms
Definition: NGIAgoraLocalUser.h:153
agora::rtc::ILocalUserObserver::onUserInfoUpdated
virtual void onUserInfoUpdated(user_id_t userId, USER_MEDIA_INFO msg, bool val)
Definition: NGIAgoraLocalUser.h:1486
agora::rtc::ILocalUser::setSubscribeAudioAllowlist
virtual int setSubscribeAudioAllowlist(user_id_t *userList, int userNumber)=0
agora::rtc::VideoRenderingTracingInfo
Definition: AgoraBase.h:5811
agora::IDataChannelObserver
Definition: NGIAgoraDataChannel.h:121
agora::Optional< uint32_t >
agora::rtc::ILocalUser::getUserRole
virtual CLIENT_ROLE_TYPE getUserRole()=0
agora::rtc::ILocalUser::enableRemoteAudioTrackFilter
virtual int enableRemoteAudioTrackFilter(user_id_t userId, const char *id, bool enable)=0
agora::rtc::LocalVideoTrackStats
Definition: NGIAgoraVideoTrack.h:154