Agora RTC Objective-C API Reference  Refactor
NGIAgoraLocalUser.h
Go to the documentation of this file.
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 
12 #include "AgoraBase.h"
13 #include "AgoraOptional.h"
14 
15 namespace agora {
16 namespace media {
17 class IAudioFrameObserver;
18 }
19 
20 namespace rtc {
21 class IAudioEngineWrapper;
22 
23 class ILocalUserObserver;
24 class ILocalVideoTrack;
25 class IRemoteVideoTrack;
26 class IVideoFrameObserver2;
27 
28 class IMediaControlPacketSender;
29 class IMediaControlPacketReceiver;
30 struct AudioEncoderConfiguration;
31 struct VideoEncoderConfiguration;
32 
33 class ILocalAudioTrack;
34 struct RemoteAudioTrackStats;
35 class IRemoteAudioTrack;
36 struct LocalVideoTrackStats;
37 struct RemoteVideoTrackStats;
38 class IMediaPacketReceiver;
39 class IVideoSinkBase;
51 class ILocalUser {
52  public:
56  struct ANAStats {
101  };
102 
116  //
133 
151 
160 
166  };
167 
175  uint32_t local_ssrc;
179  int64_t bytes_sent;
183  int32_t packets_sent;
187  int32_t packets_lost;
203  int32_t ext_seqnum;
207  int32_t jitter_ms;
211  int64_t rtt_ms;
215  int32_t audio_level;
230 
237 
239  ext_seqnum(-1), jitter_ms(-1), rtt_ms(-1), audio_level(-1),
241  memset(codec_name, 0, sizeof(codec_name));
242  }
243  };
244 
245  public:
246  virtual ~ILocalUser() {}
247 
264  virtual void setUserRole(rtc::CLIENT_ROLE_TYPE role) = 0;
265 
272 
273 
275 
277 
289 
299  virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario) = 0;
300 
310 
322  virtual int publishAudio(agora_refptr<ILocalAudioTrack> audioTrack) = 0;
323 
332  virtual int unpublishAudio(agora_refptr<ILocalAudioTrack> audioTrack) = 0;
333 
342  virtual int publishVideo(agora_refptr<ILocalVideoTrack> videoTrack) = 0;
343 
352  virtual int unpublishVideo(agora_refptr<ILocalVideoTrack> videoTrack) = 0;
353 
363  virtual int subscribeAudio(user_id_t userId) = 0;
364 
374  virtual int subscribeAllAudio() = 0;
375 
385  virtual int unsubscribeAudio(user_id_t userId) = 0;
386 
397  virtual int unsubscribeAllAudio() = 0;
398 
409  virtual int adjustPlaybackSignalVolume(int volume) = 0;
410 
418  virtual int getPlaybackSignalVolume(int* volume) = 0;
419 
420  /*
421  * Adjust the playback volume of the user specified by uid.
422  *
423  * You can call this method to adjust the playback volume of the user specified by uid
424  * in call. If you want to adjust playback volume of the multi user, you can call this
425  * this method multi times.
426  *
427  * @note
428  * Please call this method after join channel.
429  * This method adjust the playback volume of specified user.
430  *
431  * @param userId The ID of the Remote user.
432  * @param volume The playback volume of the specified remote user. The value ranges between 0 and 400, including the following:
433  * 0: Mute.
434  * 100: (Default) Original volume.
435  * 400: Four times the original volume with signal-clipping protection.
436  * @return
437  * - 0: Success.
438  * - < 0: Failure.
439  */
440  virtual int adjustUserPlaybackSignalVolume(user_id_t userId, int volume) = 0;
441 
450  virtual int getUserPlaybackSignalVolume(user_id_t userId, int* volume) = 0;
451 
464  virtual int enableSoundPositionIndication(bool enabled) = 0;
465 
486  virtual int setRemoteVoicePosition(user_id_t userId, double pan, double gain) = 0;
487 
497  virtual int enableSpatialAudio(bool enabled) = 0;
498 
508  virtual int setRemoteUserSpatialAudioParams(user_id_t userId, const agora::SpatialAudioParams& param) = 0;
509 
526  virtual int setPlaybackAudioFrameParameters(size_t numberOfChannels,
527  uint32_t sampleRateHz,
529  int samplesPerCall = 0) = 0;
546  virtual int setRecordingAudioFrameParameters(size_t numberOfChannels,
547  uint32_t sampleRateHz,
549  int samplesPerCall = 0) = 0;
564  virtual int setMixedAudioFrameParameters(size_t numberOfChannels,
565  uint32_t sampleRateHz,
566  int samplesPerCall = 0) = 0;
567 
582  virtual int setPlaybackAudioFrameBeforeMixingParameters(size_t numberOfChannels,
583  uint32_t sampleRateHz) = 0;
584 
611 
622  virtual int enableAudioSpectrumMonitor(int intervalInMS = 100) = 0;
630  virtual int disableAudioSpectrumMonitor() = 0;
631 
657 
686  virtual int forceNextIntraFrame() = 0;
708 
730 
732  const VideoSubscriptionOptions& options) = 0;
733 
748  virtual int setSubscribeAudioBlacklist(user_id_t* userList, int userNumber) = 0;
749 
766  virtual int setSubscribeAudioWhitelist(user_id_t* userList, int userNumber) = 0;
767 
782  virtual int setSubscribeVideoBlacklist(user_id_t* userList, int userNumber) = 0;
783 
800  virtual int setSubscribeVideoWhitelist(user_id_t* userList, int userNumber) = 0;
801 
814  virtual int subscribeVideo(user_id_t userId,
815  const VideoSubscriptionOptions &subscriptionOptions) = 0;
816 
827  virtual int subscribeAllVideo(const VideoSubscriptionOptions &subscriptionOptions) = 0;
828 
838  virtual int unsubscribeVideo(user_id_t userId) = 0;
839 
850  virtual int unsubscribeAllVideo() = 0;
851 
871  virtual int setAudioVolumeIndicationParameters(int intervalInMS, int smooth, bool reportVad) = 0;
872 
885  ILocalUserObserver* observer,
886  void(*safeDeleter)(ILocalUserObserver*) = NULL) = 0;
887 
897 
906 
920 
929 
940  virtual int sendIntraRequest(user_id_t userId) = 0;
941 
953  virtual int setAudioFilterable(bool filterable) = 0;
954 };
955 
964 
968  unsigned int volume;
969 
970  /*
971  * The activity status of remote users
972  */
973  unsigned int vad;
974 
978  double voicePitch;
979 
980  AudioVolumeInformation() : userId(NULL), volume(0), vad(0), voicePitch(0.0) {}
981 };
982 
987  public:
988  virtual ~ILocalUserObserver() {}
989 
998 
1000 
1008  ERROR_CODE_TYPE error) = 0;
1009 
1015  virtual void onLocalAudioTrackStatistics(const LocalAudioStats& stats) = 0;
1033  agora_refptr<rtc::IRemoteAudioTrack> audioTrack) = 0;
1034 
1046  REMOTE_AUDIO_STATE state,
1048  int elapsed) = 0;
1049 
1057 
1065  ERROR_CODE_TYPE error) = 0;
1066 
1081  LOCAL_VIDEO_STREAM_ERROR errorCode) = 0;
1082 
1090  const LocalVideoTrackStats& stats) = 0;
1091 
1102  virtual void onUserVideoTrackSubscribed(user_id_t userId, VideoTrackInfo trackInfo,
1103  agora_refptr<rtc::IRemoteVideoTrack> videoTrack) = 0;
1104 
1116  REMOTE_VIDEO_STATE state,
1118  int elapsed) = 0;
1119 
1128  virtual void onFirstRemoteVideoFrameRendered(user_id_t userId, int width,
1129  int height, int elapsed) = 0;
1130 
1131 
1139  const RemoteVideoTrackStats& stats) = 0;
1140 
1170  virtual void onAudioVolumeIndication(const AudioVolumeInformation* speakers, unsigned int speakerNumber,
1171  int totalVolume) = 0;
1172 
1185  virtual void onActiveSpeaker(user_id_t userId) = 0;
1186 
1196  virtual void onAudioSubscribeStateChanged(const char* channel, user_id_t userId, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) = 0;
1197 
1207  virtual void onVideoSubscribeStateChanged(const char* channel, user_id_t userId, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) = 0;
1208 
1217  virtual void onAudioPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) = 0;
1218 
1227  virtual void onVideoPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) = 0;
1228 
1239  virtual void onRemoteSubscribeFallbackToAudioOnly(user_id_t userId, bool isFallbackOrRecover) {
1240  (void)userId;
1241  (void)isFallbackOrRecover;
1242  }
1243 
1249  virtual void onFirstRemoteAudioFrame(user_id_t userId, int elapsed) = 0;
1250 
1257  virtual void onFirstRemoteAudioDecoded(user_id_t userId, int elapsed) = 0;
1258 
1268  virtual void onFirstRemoteVideoFrame(user_id_t userId, int width, int height, int elapsed) = 0;
1269 
1278  virtual void onFirstRemoteVideoDecoded(user_id_t userId, int width, int height, int elapsed) = 0;
1279 
1288  virtual void onVideoSizeChanged(user_id_t userId, int width, int height, int rotation) = 0;
1289 
1310  };
1311 
1320  virtual void onUserInfoUpdated(user_id_t userId, USER_MEDIA_INFO msg, bool val) {
1321  (void)userId;
1322  (void)msg;
1323  (void)val;
1324  }
1325 
1332  virtual void onIntraRequestReceived() {}
1333 
1337  virtual void onStreamMessage(user_id_t userId, int streamId, const char* data, size_t length) {}
1338 
1344  virtual void onUserStateChanged(user_id_t userId, uint32_t state){}
1345 };
1346 
1348  public:
1358  virtual void onFrame(const char* channelId, user_id_t remoteUid, const media::base::VideoFrame* frame) = 0;
1359 
1361 };
1362 
1363 } // namespace rtc
1364 } // namespace agora
agora::rtc::ILocalUserObserver::onRemoteSubscribeFallbackToAudioOnly
virtual void onRemoteSubscribeFallbackToAudioOnly(user_id_t userId, bool isFallbackOrRecover)
Definition: NGIAgoraLocalUser.h:1239
agora::media::base::VideoFrame
Definition: AgoraMediaBase.h:641
agora::rtc::ILocalUser::setSubscribeVideoWhitelist
virtual int setSubscribeVideoWhitelist(user_id_t *userList, int userNumber)=0
agora::rtc::IMediaControlPacketReceiver
Definition: NGIAgoraMediaNode.h:545
agora::rtc::ILocalUser::LocalAudioDetailedStats
Definition: NGIAgoraLocalUser.h:171
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::ILocalUser::setAudioScenario
virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario)=0
agora::ERROR_CODE_TYPE
ERROR_CODE_TYPE
Definition: AgoraBase.h:460
agora::rtc::REMOTE_AUDIO_STATE
REMOTE_AUDIO_STATE
Definition: AgoraBase.h:2585
agora::rtc::ILocalUser::setSubscribeVideoBlacklist
virtual int setSubscribeVideoBlacklist(user_id_t *userList, int userNumber)=0
agora::rtc::ILocalUser::disableAudioSpectrumMonitor
virtual int disableAudioSpectrumMonitor()=0
agora::rtc::ILocalUser::AudioProcessingStats::delay_standard_deviation_ms
agora::Optional< int32_t > delay_standard_deviation_ms
Definition: NGIAgoraLocalUser.h:150
agora::media::IAudioFrameObserverBase
Definition: AgoraMediaBase.h:789
agora::rtc::ILocalUserObserver::onRemoteAudioTrackStatistics
virtual void onRemoteAudioTrackStatistics(agora_refptr< rtc::IRemoteAudioTrack > audioTrack, const RemoteAudioTrackStats &stats)=0
agora::rtc::ILocalUser::ANAStats::frame_length_decrease_counter
agora::Optional< uint32_t > frame_length_decrease_counter
Definition: NGIAgoraLocalUser.h:94
agora::rtc::ILocalUser::ANAStats::fec_action_counter
agora::Optional< uint32_t > fec_action_counter
Definition: NGIAgoraLocalUser.h:80
AgoraBase.h
agora::rtc::ILocalUser::setRemoteVoicePosition
virtual int setRemoteVoicePosition(user_id_t userId, double pan, double gain)=0
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::ILocalUserObserver::USER_MEDIA_INFO_ENABLE_LOCAL_VIDEO
@ USER_MEDIA_INFO_ENABLE_LOCAL_VIDEO
Definition: NGIAgoraLocalUser.h:1309
agora::media::IAudioSpectrumObserver
Definition: AgoraMediaBase.h:1048
agora::rtc::ILocalUser::setMixedAudioFrameParameters
virtual int setMixedAudioFrameParameters(size_t numberOfChannels, uint32_t sampleRateHz, int samplesPerCall=0)=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::ILocalUserObserver::onAudioTrackPublicationFailure
virtual void onAudioTrackPublicationFailure(agora_refptr< ILocalAudioTrack > audioTrack, ERROR_CODE_TYPE error)=0
agora::rtc::ILocalUserObserver::USER_MEDIA_INFO
USER_MEDIA_INFO
Definition: NGIAgoraLocalUser.h:1293
agora::rtc::ILocalUser::AudioProcessingStats::echo_return_loss
agora::Optional< double > echo_return_loss
Definition: NGIAgoraLocalUser.h:115
agora::rtc::ILocalUser::LocalAudioDetailedStats::local_ssrc
uint32_t local_ssrc
Definition: NGIAgoraLocalUser.h:175
agora::rtc::ILocalUser::LocalAudioDetailedStats::fraction_lost
float fraction_lost
Definition: NGIAgoraLocalUser.h:191
agora::rtc::ILocalUserObserver::onUserAudioTrackSubscribed
virtual void onUserAudioTrackSubscribed(user_id_t userId, agora_refptr< rtc::IRemoteAudioTrack > audioTrack)=0
agora::rtc::ILocalUserObserver::onRemoteVideoTrackStatistics
virtual void onRemoteVideoTrackStatistics(agora_refptr< rtc::IRemoteVideoTrack > videoTrack, const RemoteVideoTrackStats &stats)=0
agora::rtc::ILocalUser::setAudienceLatencyLevel
virtual void setAudienceLatencyLevel(AUDIENCE_LATENCY_LEVEL_TYPE level)=0
agora::rtc::ILocalUser::AudioProcessingStats::residual_echo_likelihood
agora::Optional< double > residual_echo_likelihood
Definition: NGIAgoraLocalUser.h:155
agora::rtc::ILocalUser::subscribeVideo
virtual int subscribeVideo(user_id_t userId, const VideoSubscriptionOptions &subscriptionOptions)=0
agora::rtc::ILocalUser::LocalAudioDetailedStats::bytes_sent
int64_t bytes_sent
Definition: NGIAgoraLocalUser.h:179
agora::rtc::ILocalUser::subscribeAllVideo
virtual int subscribeAllVideo(const VideoSubscriptionOptions &subscriptionOptions)=0
agora::rtc::ILocalUserObserver::onVideoSizeChanged
virtual void onVideoSizeChanged(user_id_t userId, int width, int height, int rotation)=0
agora::rtc::ILocalUserObserver
Definition: NGIAgoraLocalUser.h:986
agora::rtc::ILocalUser::unregisterAudioSpectrumObserver
virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
agora::rtc::ILocalUser::enableAudioSpectrumMonitor
virtual int enableAudioSpectrumMonitor(int intervalInMS=100)=0
agora::rtc::ILocalUser::ANAStats::uplink_packet_loss_fraction
agora::Optional< float > uplink_packet_loss_fraction
Definition: NGIAgoraLocalUser.h:100
agora::rtc::ILocalUserObserver::USER_MEDIA_INFO_ENABLE_VIDEO
@ USER_MEDIA_INFO_ENABLE_VIDEO
Definition: NGIAgoraLocalUser.h:1305
agora::rtc::ILocalUser::unregisterAudioFrameObserver
virtual int unregisterAudioFrameObserver(agora::media::IAudioFrameObserverBase *observer)=0
agora::rtc::ILocalUser::ANAStats::channel_action_counter
agora::Optional< uint32_t > channel_action_counter
Definition: NGIAgoraLocalUser.h:68
agora::rtc::VideoSubscriptionOptions
Definition: AgoraBase.h:1470
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::RemoteAudioTrackStats
Definition: NGIAgoraAudioTrack.h:378
agora::rtc::AudioVolumeInformation
Definition: NGIAgoraLocalUser.h:959
agora::rtc::ILocalUser::ANAStats
Definition: NGIAgoraLocalUser.h:56
agora::rtc::ILocalUser::adjustUserPlaybackSignalVolume
virtual int adjustUserPlaybackSignalVolume(user_id_t userId, int volume)=0
agora::rtc::ILocalUser::registerMediaControlPacketReceiver
virtual int registerMediaControlPacketReceiver(IMediaControlPacketReceiver *ctrlPacketReceiver)=0
agora::rtc::IVideoFrameObserver2
Definition: NGIAgoraLocalUser.h:1347
agora::rtc::ILocalUser::AudioProcessingStats::residual_echo_likelihood_recent_max
agora::Optional< double > residual_echo_likelihood_recent_max
Definition: NGIAgoraLocalUser.h:159
agora::rtc::ILocalUser::publishVideo
virtual int publishVideo(agora_refptr< ILocalVideoTrack > videoTrack)=0
agora::rtc::CLIENT_ROLE_TYPE
CLIENT_ROLE_TYPE
Definition: AgoraBase.h:2104
agora::rtc::ILocalUser::setUserRole
virtual void setUserRole(rtc::CLIENT_ROLE_TYPE role)=0
agora
Definition: AgoraAtomicOps.h:21
agora::rtc::ILocalUser::registerVideoEncodedFrameObserver
virtual int registerVideoEncodedFrameObserver(agora::media::IVideoEncodedFrameObserver *observer)=0
agora::rtc::ILocalUser::ANAStats::dtx_action_counter
agora::Optional< uint32_t > dtx_action_counter
Definition: NGIAgoraLocalUser.h:74
agora::rtc::ILocalUserObserver::onAudioVolumeIndication
virtual void onAudioVolumeIndication(const AudioVolumeInformation *speakers, unsigned int speakerNumber, int totalVolume)=0
agora::rtc::ILocalUser::LocalAudioDetailedStats::total_input_duration
double total_input_duration
Definition: NGIAgoraLocalUser.h:223
agora::rtc::ILocalUser::setSubscribeAudioBlacklist
virtual int setSubscribeAudioBlacklist(user_id_t *userList, int userNumber)=0
agora::rtc::ILocalUser::LocalAudioDetailedStats::codec_payload_type
agora::Optional< int > codec_payload_type
Definition: NGIAgoraLocalUser.h:199
agora::rtc::REMOTE_VIDEO_STATE
REMOTE_VIDEO_STATE
Definition: AgoraBase.h:2660
agora::rtc::AudioVolumeInformation::AudioVolumeInformation
AudioVolumeInformation()
Definition: NGIAgoraLocalUser.h:980
agora::rtc::ILocalUser::enableSpatialAudio
virtual int enableSpatialAudio(bool enabled)=0
agora::rtc::LOCAL_VIDEO_STREAM_STATE
LOCAL_VIDEO_STREAM_STATE
Definition: AgoraBase.h:2524
agora::rtc::ILocalUser::registerAudioSpectrumObserver
virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer, void(*safeDeleter)(agora::media::IAudioSpectrumObserver *))=0
agora::rtc::ILocalUser::unsubscribeAllAudio
virtual int unsubscribeAllAudio()=0
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::ILocalUserObserver::onUserStateChanged
virtual void onUserStateChanged(user_id_t userId, uint32_t state)
Definition: NGIAgoraLocalUser.h:1344
agora::rtc::ILocalUser::getAudienceLatencyLevel
virtual AUDIENCE_LATENCY_LEVEL_TYPE getAudienceLatencyLevel()=0
agora::rtc::ILocalUser::LocalAudioDetailedStats::typing_noise_detected
bool typing_noise_detected
Definition: NGIAgoraLocalUser.h:229
agora::rtc::ILocalUser::registerAudioFrameObserver
virtual int registerAudioFrameObserver(agora::media::IAudioFrameObserverBase *observer)=0
agora::rtc::ILocalUserObserver::~ILocalUserObserver
virtual ~ILocalUserObserver()
Definition: NGIAgoraLocalUser.h:988
agora::rtc::ILocalUser::setAudioFilterable
virtual int setAudioFilterable(bool filterable)=0
agora::rtc::ILocalUserObserver::onVideoTrackPublishStart
virtual void onVideoTrackPublishStart(agora_refptr< ILocalVideoTrack > videoTrack)=0
agora::rtc::ILocalUser::unsubscribeVideo
virtual int unsubscribeVideo(user_id_t userId)=0
agora::rtc::ILocalUser::getUserPlaybackSignalVolume
virtual int getUserPlaybackSignalVolume(user_id_t userId, int *volume)=0
agora::rtc::ILocalUser::LocalAudioDetailedStats::codec_name
char codec_name[media::base::kMaxCodecNameLength]
Definition: NGIAgoraLocalUser.h:195
agora::rtc::ILocalUser::AudioProcessingStats::delay_ms
agora::Optional< int32_t > delay_ms
Definition: NGIAgoraLocalUser.h:165
agora::rtc::AudioVolumeInformation::vad
unsigned int vad
Definition: NGIAgoraLocalUser.h:973
agora::rtc::ILocalUser::AudioProcessingStats::echo_return_loss_enhancement
agora::Optional< double > echo_return_loss_enhancement
Definition: NGIAgoraLocalUser.h:127
agora::rtc::STREAM_SUBSCRIBE_STATE
STREAM_SUBSCRIBE_STATE
Definition: AgoraBase.h:5085
agora::rtc::ILocalUser::unregisterMediaControlPacketReceiver
virtual int unregisterMediaControlPacketReceiver(IMediaControlPacketReceiver *ctrlPacketReceiver)=0
agora::rtc::ILocalUserObserver::USER_MEDIA_INFO_MUTE_AUDIO
@ USER_MEDIA_INFO_MUTE_AUDIO
Definition: NGIAgoraLocalUser.h:1297
agora::rtc::ILocalUser::getPlaybackSignalVolume
virtual int getPlaybackSignalVolume(int *volume)=0
agora::rtc::ILocalUser::enableSoundPositionIndication
virtual int enableSoundPositionIndication(bool enabled)=0
agora::rtc::ILocalUserObserver::onVideoTrackPublicationFailure
virtual void onVideoTrackPublicationFailure(agora_refptr< ILocalVideoTrack > videoTrack, ERROR_CODE_TYPE error)=0
agora::rtc::ILocalUserObserver::onAudioTrackPublishStart
virtual void onAudioTrackPublishStart(agora_refptr< ILocalAudioTrack > audioTrack)=0
agora::rtc::AudioVolumeInformation::voicePitch
double voicePitch
Definition: NGIAgoraLocalUser.h:978
agora::rtc::ILocalUser::AudioProcessingStats
Definition: NGIAgoraLocalUser.h:106
agora::rtc::ILocalUser::adjustPlaybackSignalVolume
virtual int adjustPlaybackSignalVolume(int volume)=0
agora::rtc::ILocalUser::unregisterLocalVideoEncodedFrameObserver
virtual int unregisterLocalVideoEncodedFrameObserver(agora::media::IVideoEncodedFrameObserver *observer)=0
agora::rtc::ILocalUser
Definition: NGIAgoraLocalUser.h:51
agora::rtc::ILocalUser::LocalAudioDetailedStats::ext_seqnum
int32_t ext_seqnum
Definition: NGIAgoraLocalUser.h:203
agora::rtc::ILocalUserObserver::onVideoTrackPublishSuccess
virtual void onVideoTrackPublishSuccess(agora_refptr< ILocalVideoTrack > videoTrack)=0
agora::rtc::RAW_AUDIO_FRAME_OP_MODE_READ_ONLY
@ RAW_AUDIO_FRAME_OP_MODE_READ_ONLY
Definition: AgoraMediaBase.h:117
agora::rtc::ILocalUser::registerLocalUserObserver
virtual int registerLocalUserObserver(ILocalUserObserver *observer, void(*safeDeleter)(ILocalUserObserver *)=NULL)=0
agora::rtc::ILocalUserObserver::onIntraRequestReceived
virtual void onIntraRequestReceived()
Definition: NGIAgoraLocalUser.h:1332
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::LocalAudioDetailedStats::packets_sent
int32_t packets_sent
Definition: NGIAgoraLocalUser.h:183
agora::rtc::ILocalUser::unsubscribeAudio
virtual int unsubscribeAudio(user_id_t userId)=0
agora::rtc::ILocalUser::ANAStats::bitrate_action_counter
agora::Optional< uint32_t > bitrate_action_counter
Definition: NGIAgoraLocalUser.h:62
agora::rtc::ILocalUser::subscribeAllAudio
virtual int subscribeAllAudio()=0
agora::rtc::AUDIO_SCENARIO_TYPE
AUDIO_SCENARIO_TYPE
Definition: AgoraBase.h:2328
agora::rtc::ILocalUserObserver::onAudioTrackPublishSuccess
virtual void onAudioTrackPublishSuccess(agora_refptr< ILocalAudioTrack > audioTrack)=0
agora::rtc::REMOTE_AUDIO_STATE_REASON
REMOTE_AUDIO_STATE_REASON
Definition: AgoraBase.h:2620
agora::rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE
RAW_AUDIO_FRAME_OP_MODE_TYPE
Definition: AgoraMediaBase.h:112
AgoraOptional.h
agora::rtc::ILocalUserObserver::onVideoTrackUnpublished
virtual void onVideoTrackUnpublished(agora_refptr< ILocalVideoTrack > videoTrack)=0
agora::rtc::ILocalUser::LocalAudioDetailedStats::rtt_ms
int64_t rtt_ms
Definition: NGIAgoraLocalUser.h:211
agora::rtc::ILocalUserObserver::onLocalVideoTrackStatistics
virtual void onLocalVideoTrackStatistics(agora_refptr< rtc::ILocalVideoTrack > videoTrack, const LocalVideoTrackStats &stats)=0
agora::rtc::ILocalUserObserver::onAudioPublishStateChanged
virtual void onAudioPublishStateChanged(const char *channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)=0
agora::rtc::ILocalUserObserver::onUserVideoTrackSubscribed
virtual void onUserVideoTrackSubscribed(user_id_t userId, VideoTrackInfo trackInfo, agora_refptr< rtc::IRemoteVideoTrack > videoTrack)=0
agora::rtc::ILocalUserObserver::onFirstRemoteVideoFrameRendered
virtual void onFirstRemoteVideoFrameRendered(user_id_t userId, int width, int height, int elapsed)=0
agora::rtc::ILocalUser::LocalAudioDetailedStats::total_input_energy
double total_input_energy
Definition: NGIAgoraLocalUser.h:219
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::AudioProcessingStats::delay_median_ms
agora::Optional< int32_t > delay_median_ms
Definition: NGIAgoraLocalUser.h:146
agora::rtc::ILocalUserObserver::onFirstRemoteVideoFrame
virtual void onFirstRemoteVideoFrame(user_id_t userId, int width, int height, int elapsed)=0
agora::rtc::STREAM_PUBLISH_STATE
STREAM_PUBLISH_STATE
Definition: AgoraBase.h:5095
agora::rtc::LocalAudioStats
Definition: AgoraBase.h:3019
agora::media::base::kMaxCodecNameLength
static const uint8_t kMaxCodecNameLength
Definition: AgoraMediaBase.h:256
agora::rtc::RemoteVideoTrackStats
Definition: NGIAgoraVideoTrack.h:381
agora::rtc::ILocalUser::sendIntraRequest
virtual int sendIntraRequest(user_id_t userId)=0
agora::rtc::ILocalUserObserver::onFirstRemoteAudioFrame
virtual void onFirstRemoteAudioFrame(user_id_t userId, int elapsed)=0
agora::rtc::ILocalUserObserver::onFirstRemoteAudioDecoded
virtual void onFirstRemoteAudioDecoded(user_id_t userId, int elapsed)=0
agora::rtc::IVideoFrameObserver2::onFrame
virtual void onFrame(const char *channelId, user_id_t remoteUid, const media::base::VideoFrame *frame)=0
agora::rtc::ILocalUser::registerVideoFrameObserver
virtual int registerVideoFrameObserver(IVideoFrameObserver2 *observer)=0
agora::rtc::ILocalUser::ANAStats::frame_length_increase_counter
agora::Optional< uint32_t > frame_length_increase_counter
Definition: NGIAgoraLocalUser.h:87
agora::rtc::IVideoFrameObserver2::~IVideoFrameObserver2
virtual ~IVideoFrameObserver2()
Definition: NGIAgoraLocalUser.h:1360
agora::rtc::ILocalUser::setAudioVolumeIndicationParameters
virtual int setAudioVolumeIndicationParameters(int intervalInMS, int smooth, bool reportVad)=0
agora::rtc::LOCAL_VIDEO_STREAM_ERROR
LOCAL_VIDEO_STREAM_ERROR
Definition: AgoraBase.h:2546
agora::rtc::ILocalUser::unpublishVideo
virtual int unpublishVideo(agora_refptr< ILocalVideoTrack > videoTrack)=0
agora::rtc::ILocalUser::AudioProcessingStats::divergent_filter_fraction
agora::Optional< double > divergent_filter_fraction
Definition: NGIAgoraLocalUser.h:132
agora::rtc::REMOTE_VIDEO_STATE_REASON
REMOTE_VIDEO_STATE_REASON
Definition: AgoraBase.h:2688
agora::rtc::ILocalUserObserver::onUserInfoUpdated
virtual void onUserInfoUpdated(user_id_t userId, USER_MEDIA_INFO msg, bool val)
Definition: NGIAgoraLocalUser.h:1320
agora::rtc::AUDIENCE_LATENCY_LEVEL_TYPE
AUDIENCE_LATENCY_LEVEL_TYPE
Definition: AgoraBase.h:2128
agora::rtc::ILocalUser::setVideoSubscriptionOptions
virtual int setVideoSubscriptionOptions(user_id_t userId, const VideoSubscriptionOptions &options)=0
agora::rtc::ILocalUserObserver::onLocalAudioTrackStatistics
virtual void onLocalAudioTrackStatistics(const LocalAudioStats &stats)=0
agora::rtc::ILocalUser::LocalAudioDetailedStats::apm_statistics
AudioProcessingStats apm_statistics
Definition: NGIAgoraLocalUser.h:236
agora::rtc::ILocalUser::unregisterVideoFrameObserver
virtual int unregisterVideoFrameObserver(IVideoFrameObserver2 *observer)=0
agora::rtc::ILocalUser::LocalAudioDetailedStats::ana_statistics
ANAStats ana_statistics
Definition: NGIAgoraLocalUser.h:235
agora::media::IVideoEncodedFrameObserver
Definition: AgoraMediaBase.h:1089
agora::rtc::ILocalUser::unsubscribeAllVideo
virtual int unsubscribeAllVideo()=0
agora::rtc::AudioEncoderConfiguration
Definition: IAgoraService.h:51
agora::rtc::AudioVolumeInformation::userId
user_id_t userId
Definition: NGIAgoraLocalUser.h:963
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::packets_lost
int32_t packets_lost
Definition: NGIAgoraLocalUser.h:187
agora::rtc::ILocalUserObserver::onFirstRemoteVideoDecoded
virtual void onFirstRemoteVideoDecoded(user_id_t userId, int width, int height, int elapsed)=0
agora::rtc::ILocalUserObserver::onAudioTrackUnpublished
virtual void onAudioTrackUnpublished(agora_refptr< ILocalAudioTrack > audioTrack)=0
agora::rtc::ILocalUserObserver::onActiveSpeaker
virtual void onActiveSpeaker(user_id_t userId)=0
agora::rtc::AudioVolumeInformation::volume
unsigned int volume
Definition: NGIAgoraLocalUser.h:968
agora::rtc::ILocalUserObserver::onVideoPublishStateChanged
virtual void onVideoPublishStateChanged(const char *channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)=0
agora::rtc::ILocalUser::setPlaybackAudioFrameBeforeMixingParameters
virtual int setPlaybackAudioFrameBeforeMixingParameters(size_t numberOfChannels, uint32_t sampleRateHz)=0
agora::rtc::IMediaControlPacketSender
Definition: NGIAgoraMediaNode.h:592
agora::rtc::ILocalUser::getLocalAudioStatistics
virtual bool getLocalAudioStatistics(LocalAudioDetailedStats &stats)=0
agora::rtc::VideoTrackInfo
Definition: AgoraBase.h:2780
agora::rtc::ILocalUser::LocalAudioDetailedStats::LocalAudioDetailedStats
LocalAudioDetailedStats()
Definition: NGIAgoraLocalUser.h:238
agora::rtc::ILocalUser::~ILocalUser
virtual ~ILocalUser()
Definition: NGIAgoraLocalUser.h:246
agora::rtc::ILocalUserObserver::USER_MEDIA_INFO_MUTE_VIDEO
@ USER_MEDIA_INFO_MUTE_VIDEO
Definition: NGIAgoraLocalUser.h:1301
agora::rtc::ILocalUser::getUserRole
virtual CLIENT_ROLE_TYPE getUserRole()=0
agora::rtc::ILocalUser::subscribeAudio
virtual int subscribeAudio(user_id_t userId)=0
agora::rtc::ILocalUser::registerLocalVideoEncodedFrameObserver
virtual int registerLocalVideoEncodedFrameObserver(agora::media::IVideoEncodedFrameObserver *observer)=0
agora::rtc::ILocalUser::publishAudio
virtual int publishAudio(agora_refptr< ILocalAudioTrack > audioTrack)=0
agora::rtc::ILocalUser::getMediaControlPacketSender
virtual IMediaControlPacketSender * getMediaControlPacketSender()=0
agora::rtc::ILocalUser::unregisterLocalUserObserver
virtual int unregisterLocalUserObserver(ILocalUserObserver *observer)=0
agora::rtc::ILocalUser::setAudioEncoderConfiguration
virtual int setAudioEncoderConfiguration(const rtc::AudioEncoderConfiguration &config)=0
agora::rtc::ILocalUser::LocalAudioDetailedStats::jitter_ms
int32_t jitter_ms
Definition: NGIAgoraLocalUser.h:207
agora::user_id_t
const char * user_id_t
Definition: AgoraBase.h:783
agora::rtc::ILocalUser::unregisterVideoEncodedFrameObserver
virtual int unregisterVideoEncodedFrameObserver(agora::media::IVideoEncodedFrameObserver *observer)=0
agora::rtc::ILocalUser::LocalAudioDetailedStats::audio_level
int32_t audio_level
Definition: NGIAgoraLocalUser.h:215
agora::rtc::ILocalUser::forceNextIntraFrame
virtual int forceNextIntraFrame()=0
agora::rtc::ILocalUser::unpublishAudio
virtual int unpublishAudio(agora_refptr< ILocalAudioTrack > audioTrack)=0
agora::Optional< uint32_t >
agora::rtc::ILocalUserObserver::onStreamMessage
virtual void onStreamMessage(user_id_t userId, int streamId, const char *data, size_t length)
Definition: NGIAgoraLocalUser.h:1337
agora::rtc::ILocalUser::setSubscribeAudioWhitelist
virtual int setSubscribeAudioWhitelist(user_id_t *userList, int userNumber)=0
agora::rtc::LocalVideoTrackStats
Definition: NGIAgoraVideoTrack.h:154