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 
12 #include "AgoraBase.h"
13 #include "IAgoraService.h"
14 #include "NGIAgoraAudioTrack.h"
15 #include "NGIAgoraVideoTrack.h"
16 
17 namespace agora {
18 namespace media {
19 class IAudioFrameObserver;
20 }
21 
22 namespace rtc {
23 class IAudioEngineWrapper;
24 
25 class ILocalUserObserver;
26 class ILocalVideoTrack;
27 class IRemoteVideoTrack;
28 
40 class ILocalUser {
41  public:
52  VIDEO_STREAM_TYPE type;
59 
60  VideoSubscriptionOptions() : type(VIDEO_STREAM_HIGH),
61  encodedFrameOnly(false) {}
62  };
63 
67  struct ANAStats {
112  };
113 
127  //
144 
162 
171 
177  };
178 
186  uint32_t local_ssrc;
190  int64_t bytes_sent;
194  int32_t packets_sent;
198  int32_t packets_lost;
206  char codec_name[media::base::kMaxCodecNameLength];
214  int32_t ext_seqnum;
218  int32_t jitter_ms;
222  int64_t rtt_ms;
226  int32_t audio_level;
241 
246 
247  ANAStats ana_statistics;
248  AudioProcessingStats apm_statistics;
249 
251  ext_seqnum(-1), jitter_ms(-1), rtt_ms(-1), audio_level(-1),
253  memset(codec_name, 0, sizeof(codec_name));
254  }
255  };
256 
257  public:
258  virtual ~ILocalUser() {}
259 
276  virtual void setUserRole(rtc::CLIENT_ROLE_TYPE role) = 0;
277 
283  virtual CLIENT_ROLE_TYPE getUserRole() = 0;
284 
296 
306 
318  virtual int publishAudio(agora_refptr<ILocalAudioTrack> audioTrack) = 0;
319 
328  virtual int unpublishAudio(agora_refptr<ILocalAudioTrack> audioTrack) = 0;
329 
338  virtual int publishVideo(agora_refptr<ILocalVideoTrack> videoTrack) = 0;
339 
348  virtual int unpublishVideo(agora_refptr<ILocalVideoTrack> videoTrack) = 0;
349 
359  virtual int subscribeAudio(user_id_t userId) = 0;
360 
370  virtual int subscribeAllAudio() = 0;
371 
381  virtual int unsubscribeAudio(user_id_t userId) = 0;
382 
393  virtual int unsubscribeAllAudio() = 0;
394 
402  virtual int adjustPlaybackSignalVolume(int volume) = 0;
403 
411  virtual int getPlaybackSignalVolume(int* volume) = 0;
412 
413  /*
414  * Adjust the playback volume of the user specified by uid.
415  *
416  * You can call this method to adjust the playback volume of the user specified by uid
417  * in call. If you want to adjust playback volume of the multi user, you can call this
418  * this method multi times.
419  *
420  * @note
421  * Please call this method after join channel.
422  * This method adjust the playback volume of specified user.
423  *
424  * @param uid Remote user ID。
425  * @param volume The playback volume, range is [0,100]:
426  * 0: mute, 100: The original volume
427  * @return
428  * - 0: Success.
429  * - < 0: Failure.
430  */
431  virtual int adjustUserPlaybackSignalVolume(uid_t uid, int volume) = 0;
432 
441  virtual int getUserPlaybackSignalVolume(uid_t uid, int* volume) = 0;
442 
457  virtual bool pullMixedAudioPcmData(void* payload_data, AudioPcmDataInfo &audioFrameInfo) = 0;
472  virtual int setPlaybackAudioFrameParameters(size_t numberOfChannels, uint32_t sampleRateHz) = 0;
487  virtual int setRecordingAudioFrameParameters(size_t numberOfChannels, uint32_t sampleRateHz) = 0;
502  virtual int setMixedAudioFrameParameters(size_t numberOfChannels, uint32_t sampleRateHz) = 0;
503 
518  virtual int setPlaybackAudioFrameBeforeMixingParameters(size_t numberOfChannels,
519  uint32_t sampleRateHz) = 0;
520 
547 
560  virtual int subscribeVideo(user_id_t userId,
561  const VideoSubscriptionOptions &subscriptionOptions) = 0;
562 
573  virtual int subscribeAllVideo(const VideoSubscriptionOptions &subscriptionOptions) = 0;
574 
584  virtual int unsubscribeVideo(user_id_t userId) = 0;
585 
596  virtual int unsubscribeAllVideo() = 0;
597 
617  virtual int setAudioVolumeIndicationParameters(int intervalInMS, int smooth) = 0;
618 
631  ILocalUserObserver* observer,
632  void(*safeDeleter)(ILocalUserObserver*) = NULL) = 0;
633 
643 
652 
666 
675 
686  virtual int sendIntraRequest(user_id_t userId) = 0;
687 };
688 
693  public:
694  virtual ~ILocalUserObserver() {}
695 
703 
711  ERROR_CODE_TYPE error) = 0;
712 
721  LOCAL_AUDIO_STREAM_STATE state,
722  LOCAL_AUDIO_STREAM_ERROR errorCode) = 0;
728  virtual void onLocalAudioTrackStatistics(const LocalAudioStats& stats) = 0;
745  virtual void onUserAudioTrackSubscribed(user_id_t userId,
746  agora_refptr<rtc::IRemoteAudioTrack> audioTrack) = 0;
747 
757  virtual void onUserAudioTrackStateChanged(user_id_t userId,
759  REMOTE_AUDIO_STATE state,
760  REMOTE_AUDIO_STATE_REASON reason,
761  int elapsed) = 0;
762 
769 
777  ERROR_CODE_TYPE error) = 0;
778 
791  LOCAL_VIDEO_STREAM_STATE state,
792  LOCAL_VIDEO_STREAM_ERROR errorCode) = 0;
793 
801  const LocalVideoTrackStats& stats) = 0;
802 
813  virtual void onUserVideoTrackSubscribed(user_id_t userId, VideoTrackInfo trackInfo,
814  agora_refptr<rtc::IRemoteVideoTrack> videoTrack) = 0;
815 
825  virtual void onUserVideoTrackStateChanged(user_id_t userId,
827  REMOTE_VIDEO_STATE state,
828  REMOTE_VIDEO_STATE_REASON reason,
829  int elapsed) = 0;
830 
838  const RemoteVideoTrackStats& stats) = 0;
839 
846 
876  virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, unsigned int speakerNumber,
877  int totalVolume) = 0;
878 
888  virtual void onAudioSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) = 0;
889 
899  virtual void onVideoSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) = 0;
900 
909  virtual void onAudioPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) = 0;
910 
919  virtual void onVideoPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) = 0;
920 
941  };
942 
951  virtual void onUserInfoUpdated(user_id_t userId, USER_MEDIA_INFO msg, bool val) {
952  (void)userId;
953  (void)msg;
954  (void)val;
955  }
956 
963  virtual void onIntraRequestReceived() {}
964 
968  virtual void onStreamMessage(user_id_t userId, int streamId, const char* data,
969  size_t length) {}
970 };
971 
972 } // namespace rtc
973 } // namespace agora
agora::rtc::ILocalUserObserver::onLocalVideoTrackStatistics
virtual void onLocalVideoTrackStatistics(agora_refptr< rtc::ILocalVideoTrack > videoTrack, const LocalVideoTrackStats &stats)=0
agora::rtc::ILocalUser::ANAStats::dtx_action_counter
agora::Optional< uint32_t > dtx_action_counter
Definition: NGIAgoraLocalUser.h:85
agora::rtc::ILocalUser::AudioProcessingStats::residual_echo_likelihood_recent_max
agora::Optional< double > residual_echo_likelihood_recent_max
Definition: NGIAgoraLocalUser.h:170
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::IMediaControlPacketReceiver
Definition: NGIAgoraMediaNode.h:320
agora::rtc::ILocalUser::unregisterAudioFrameObserver
virtual int unregisterAudioFrameObserver(agora::media::IAudioFrameObserver *observer)=0
agora::rtc::ILocalUser::LocalAudioDetailedStats
Definition: NGIAgoraLocalUser.h:182
agora::rtc::ILocalUser::unpublishAudio
virtual int unpublishAudio(agora_refptr< ILocalAudioTrack > audioTrack)=0
agora::rtc::AudioVolumeInfo
Definition: AgoraBase.h:2729
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:940
agora::rtc::ILocalUser::LocalAudioDetailedStats::codec_name
char codec_name[media::base::kMaxCodecNameLength]
Definition: NGIAgoraLocalUser.h:206
agora::rtc::ILocalUser::getPlaybackSignalVolume
virtual int getPlaybackSignalVolume(int *volume)=0
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::AudioProcessingStats::delay_ms
agora::Optional< int32_t > delay_ms
Definition: NGIAgoraLocalUser.h:176
agora::rtc::ILocalUser::LocalAudioDetailedStats::fraction_lost
float fraction_lost
Definition: NGIAgoraLocalUser.h:202
agora::agora_refptr
Definition: AgoraRefPtr.h:34
agora::rtc::ILocalUserObserver::onAudioPublishStateChanged
virtual void onAudioPublishStateChanged(const char *channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)=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:126
agora::rtc::ILocalUser::setUserRole
virtual void setUserRole(rtc::CLIENT_ROLE_TYPE role)=0
agora::media::IAudioFrameObserver
Definition: AgoraMediaBase.h:504
agora::rtc::ILocalUser::LocalAudioDetailedStats::jitter_ms
int32_t jitter_ms
Definition: NGIAgoraLocalUser.h:218
agora::rtc::ILocalUserObserver
Definition: NGIAgoraLocalUser.h:692
agora::rtc::ILocalUser::pullMixedAudioPcmData
virtual bool pullMixedAudioPcmData(void *payload_data, AudioPcmDataInfo &audioFrameInfo)=0
agora::rtc::ILocalUser::sendIntraRequest
virtual int sendIntraRequest(user_id_t userId)=0
agora::rtc::ILocalUser::registerAudioFrameObserver
virtual int registerAudioFrameObserver(agora::media::IAudioFrameObserver *observer)=0
agora::rtc::ILocalUserObserver::onAudioTrackPublishSuccess
virtual void onAudioTrackPublishSuccess(agora_refptr< ILocalAudioTrack > audioTrack)=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:283
agora::rtc::ILocalUser::registerLocalUserObserver
virtual int registerLocalUserObserver(ILocalUserObserver *observer, void(*safeDeleter)(ILocalUserObserver *)=NULL)=0
agora::rtc::ILocalUser::ANAStats
Definition: NGIAgoraLocalUser.h:67
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::ILocalUser::setAudioEncoderConfiguration
virtual int setAudioEncoderConfiguration(const rtc::AudioEncoderConfiguration &config)=0
agora::rtc::ILocalUserObserver::USER_MEDIA_INFO_MUTE_AUDIO
@ USER_MEDIA_INFO_MUTE_AUDIO
Definition: NGIAgoraLocalUser.h:928
agora::rtc::ILocalUserObserver::onAudioVolumeIndication
virtual void onAudioVolumeIndication(const AudioVolumeInfo *speakers, unsigned int speakerNumber, int totalVolume)=0
agora::rtc::ILocalUser::ANAStats::uplink_packet_loss_fraction
agora::Optional< float > uplink_packet_loss_fraction
Definition: NGIAgoraLocalUser.h:111
agora::rtc::ILocalUser::setRecordingAudioFrameParameters
virtual int setRecordingAudioFrameParameters(size_t numberOfChannels, uint32_t sampleRateHz)=0
agora::rtc::ILocalUser::getMediaControlPacketSender
virtual IMediaControlPacketSender * getMediaControlPacketSender()=0
agora::rtc::ILocalUser::setPlaybackAudioFrameParameters
virtual int setPlaybackAudioFrameParameters(size_t numberOfChannels, uint32_t sampleRateHz)=0
agora::rtc::ILocalUser::VideoSubscriptionOptions::encodedFrameOnly
bool encodedFrameOnly
Definition: NGIAgoraLocalUser.h:58
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::getLocalAudioStatistics
virtual bool getLocalAudioStatistics(LocalAudioDetailedStats &stats)=0
agora::rtc::ILocalUser::LocalAudioDetailedStats::rtt_ms
int64_t rtt_ms
Definition: NGIAgoraLocalUser.h:222
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:166
agora::rtc::ILocalUser::LocalAudioDetailedStats::uplink_process_time_ms
int32_t uplink_process_time_ms
Definition: NGIAgoraLocalUser.h:245
agora::rtc::ILocalUser::ANAStats::fec_action_counter
agora::Optional< uint32_t > fec_action_counter
Definition: NGIAgoraLocalUser.h:91
agora::rtc::ILocalUser::VideoSubscriptionOptions
Definition: NGIAgoraLocalUser.h:45
agora::rtc::ILocalUserObserver::onAudioSubscribeStateChanged
virtual void onAudioSubscribeStateChanged(const char *channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState)=0
agora::rtc::ILocalUser::ANAStats::bitrate_action_counter
agora::Optional< uint32_t > bitrate_action_counter
Definition: NGIAgoraLocalUser.h:73
agora::rtc::ILocalUser::LocalAudioDetailedStats::packets_sent
int32_t packets_sent
Definition: NGIAgoraLocalUser.h:194
agora::rtc::ILocalUser::AudioProcessingStats
Definition: NGIAgoraLocalUser.h:117
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::AudioProcessingStats::divergent_filter_fraction
agora::Optional< double > divergent_filter_fraction
Definition: NGIAgoraLocalUser.h:143
agora::rtc::ILocalUser::LocalAudioDetailedStats::total_input_energy
double total_input_energy
Definition: NGIAgoraLocalUser.h:230
agora::rtc::ILocalUser::VideoSubscriptionOptions::type
VIDEO_STREAM_TYPE type
Definition: NGIAgoraLocalUser.h:52
agora::rtc::ILocalUser
Definition: NGIAgoraLocalUser.h:40
agora::rtc::ILocalUser::ANAStats::frame_length_increase_counter
agora::Optional< uint32_t > frame_length_increase_counter
Definition: NGIAgoraLocalUser.h:98
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:936
agora::rtc::ILocalUserObserver::USER_MEDIA_INFO
USER_MEDIA_INFO
Definition: NGIAgoraLocalUser.h:924
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:79
agora::rtc::ILocalUserObserver::onStreamMessage
virtual void onStreamMessage(user_id_t userId, int streamId, const char *data, size_t length)
Definition: NGIAgoraLocalUser.h:968
agora::rtc::ILocalUserObserver::onLocalAudioTrackStatistics
virtual void onLocalAudioTrackStatistics(const LocalAudioStats &stats)=0
agora::rtc::AudioPcmDataInfo
Definition: AgoraBase.h:1547
agora::rtc::ILocalUserObserver::onIntraRequestReceived
virtual void onIntraRequestReceived()
Definition: NGIAgoraLocalUser.h:963
agora::rtc::ILocalUser::setPlaybackAudioFrameBeforeMixingParameters
virtual int setPlaybackAudioFrameBeforeMixingParameters(size_t numberOfChannels, uint32_t sampleRateHz)=0
agora::rtc::ILocalUser::LocalAudioDetailedStats::packets_lost
int32_t packets_lost
Definition: NGIAgoraLocalUser.h:198
agora::rtc::LocalAudioStats
Definition: AgoraBase.h:2871
agora::rtc::RemoteVideoTrackStats
Definition: NGIAgoraVideoTrack.h:295
agora::rtc::ILocalUser::registerMediaControlPacketReceiver
virtual int registerMediaControlPacketReceiver(IMediaControlPacketReceiver *ctrlPacketReceiver)=0
agora::rtc::ILocalUser::setMixedAudioFrameParameters
virtual int setMixedAudioFrameParameters(size_t numberOfChannels, uint32_t sampleRateHz)=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:226
agora::rtc::ILocalUser::AudioProcessingStats::echo_return_loss_enhancement
agora::Optional< double > echo_return_loss_enhancement
Definition: NGIAgoraLocalUser.h:138
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::USER_MEDIA_INFO_MUTE_VIDEO
@ USER_MEDIA_INFO_MUTE_VIDEO
Definition: NGIAgoraLocalUser.h:932
agora::rtc::ILocalUser::AudioProcessingStats::delay_median_ms
agora::Optional< int32_t > delay_median_ms
Definition: NGIAgoraLocalUser.h:157
agora::rtc::ILocalUser::LocalAudioDetailedStats::total_input_duration
double total_input_duration
Definition: NGIAgoraLocalUser.h:234
agora::rtc::AudioEncoderConfiguration
Definition: IAgoraService.h:45
agora::rtc::ILocalUser::LocalAudioDetailedStats::bytes_sent
int64_t bytes_sent
Definition: NGIAgoraLocalUser.h:190
agora::rtc::ILocalUser::adjustPlaybackSignalVolume
virtual int adjustPlaybackSignalVolume(int volume)=0
agora::rtc::IMediaControlPacketSender
Definition: NGIAgoraMediaNode.h:367
agora::rtc::ILocalUser::LocalAudioDetailedStats::typing_noise_detected
bool typing_noise_detected
Definition: NGIAgoraLocalUser.h:240
agora::rtc::ILocalUser::subscribeAllAudio
virtual int subscribeAllAudio()=0
agora::rtc::VideoTrackInfo
Definition: AgoraBase.h:2637
agora::rtc::ILocalUser::LocalAudioDetailedStats::local_ssrc
uint32_t local_ssrc
Definition: NGIAgoraLocalUser.h:186
agora::rtc::ILocalUserObserver::onLocalAudioTrackStateChanged
virtual void onLocalAudioTrackStateChanged(agora_refptr< rtc::ILocalAudioTrack > audioTrack, LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR errorCode)=0
agora::rtc::RemoteVideoStreamInfo
Definition: AgoraBase.h:2707
agora::rtc::ILocalUser::LocalAudioDetailedStats::codec_payload_type
agora::Optional< int > codec_payload_type
Definition: NGIAgoraLocalUser.h:210
agora::rtc::ILocalUser::unregisterLocalUserObserver
virtual int unregisterLocalUserObserver(ILocalUserObserver *observer)=0
agora::rtc::ILocalUserObserver::onRemoteVideoStreamInfoUpdated
virtual void onRemoteVideoStreamInfoUpdated(const RemoteVideoStreamInfo &info)=0
agora::rtc::ILocalUser::ANAStats::frame_length_decrease_counter
agora::Optional< uint32_t > frame_length_decrease_counter
Definition: NGIAgoraLocalUser.h:105
agora::rtc::ILocalUser::LocalAudioDetailedStats::ext_seqnum
int32_t ext_seqnum
Definition: NGIAgoraLocalUser.h:214
agora::rtc::ILocalUser::AudioProcessingStats::delay_standard_deviation_ms
agora::Optional< int32_t > delay_standard_deviation_ms
Definition: NGIAgoraLocalUser.h:161
agora::rtc::ILocalUserObserver::onUserInfoUpdated
virtual void onUserInfoUpdated(user_id_t userId, USER_MEDIA_INFO msg, bool val)
Definition: NGIAgoraLocalUser.h:951
agora::rtc::ILocalUser::setAudioVolumeIndicationParameters
virtual int setAudioVolumeIndicationParameters(int intervalInMS, int smooth)=0
agora::Optional< uint32_t >
agora::rtc::ILocalUser::getUserRole
virtual CLIENT_ROLE_TYPE getUserRole()=0
agora::rtc::ILocalUserObserver::onVideoSubscribeStateChanged
virtual void onVideoSubscribeStateChanged(const char *channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState)=0
agora::rtc::ILocalUser::getUserPlaybackSignalVolume
virtual int getUserPlaybackSignalVolume(uid_t uid, int *volume)=0
agora::rtc::LocalVideoTrackStats
Definition: NGIAgoraVideoTrack.h:134