Agora C++ API Reference for All Platforms
Loading...
Searching...
No Matches
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#include <api/cpp/aosl_ares_class.h>
15
16namespace agora {
17namespace media {
19}
20
23
24namespace rtc {
25class IAudioEngineWrapper;
26
31
36
43class IVideoSinkBase;
44
57 public:
107
172
249
250 enum NS_MODE {
251 ElderNsStatistical = 0, /* Elder Statistical Noise Suppression.*/
252 NsNGStatistical = 1, /* Next Generation Statistical Noise Suppression.*/
253 NsNG = 2 /* Next Generation Noise Suppression.*/
254 };
255 enum NS_LEVEL {
256 Soft = 0,/* Soft Noise Suppression.*/
257 Aggressive = 1 /* Aggressiveness Noise Suppression.*/
258 };
259 enum NS_DELAY {
260 HighQuality = 0,/* High Audio Quality with High Delay.*/
261 Balance = 1,/* Balanced Audio Quality and Delay.*/
262 LowDelay = 2/* Slight Low Audio Quality with Low Delay.*/
263 };
264
265 public:
266 virtual ~ILocalUser() {}
267
284 virtual int setUserRole(rtc::CLIENT_ROLE_TYPE role, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
285
292
300 virtual int setAudienceLatencyLevel(AUDIENCE_LATENCY_LEVEL_TYPE level, int role, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
301
303
314 virtual int setAudioEncoderConfiguration(const rtc::AudioEncoderConfiguration& config, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
315
325 virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
326
337 virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
338
352 virtual int setVideoQoEPreference(VIDEO_QOE_PREFERENCE_TYPE qoePreference, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
353
363
375 virtual int publishAudio(agora_refptr<ILocalAudioTrack> audioTrack, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
376
385 virtual int unpublishAudio(agora_refptr<ILocalAudioTrack> audioTrack, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
386
395 virtual int publishVideo(agora_refptr<ILocalVideoTrack> videoTrack, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
396
405 virtual int unpublishVideo(agora_refptr<ILocalVideoTrack> videoTrack, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
406
416 virtual int subscribeAudio(user_id_t userId, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
417
427 virtual int subscribeAllAudio(aosl_ref_t ares = AOSL_REF_INVALID) = 0;
428
438 virtual int unsubscribeAudio(user_id_t userId, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
439
450 virtual int unsubscribeAllAudio(aosl_ref_t ares = AOSL_REF_INVALID) = 0;
451
462 virtual int adjustPlaybackSignalVolume(int volume, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
463
471 virtual int getPlaybackSignalVolume(int* volume) = 0;
472
473 /*
474 * Adjust the playback volume of the user specified by uid.
475 *
476 * You can call this method to adjust the playback volume of the user specified by uid
477 * in call. If you want to adjust playback volume of the multi user, you can call this
478 * this method multi times.
479 *
480 * @note
481 * Please call this method after join channel.
482 * This method adjust the playback volume of specified user.
483 *
484 * @param userId The ID of the Remote user.
485 * @param volume The playback volume of the specified remote user. The value ranges between 0 and 400, including the following:
486 * 0: Mute.
487 * 100: (Default) Original volume.
488 * 400: Four times the original volume with signal-clipping protection.
489 * @return
490 * - 0: Success.
491 * - < 0: Failure.
492 */
493 virtual int adjustUserPlaybackSignalVolume(user_id_t userId, int volume, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
494
503 virtual int getUserPlaybackSignalVolume(user_id_t userId, int* volume) = 0;
504
517 virtual int enableSoundPositionIndication(bool enabled, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
518
539 virtual int setRemoteVoicePosition(user_id_t userId, double pan, double gain, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
540
550 virtual int enableSpatialAudio(bool enabled, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
551
561 virtual int setRemoteUserSpatialAudioParams(user_id_t userId, const agora::SpatialAudioParams& param, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
562
579 virtual int setPlaybackAudioFrameParameters(size_t numberOfChannels,
580 uint32_t sampleRateHz,
582 int samplesPerCall = 0, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
599 virtual int setRecordingAudioFrameParameters(size_t numberOfChannels,
600 uint32_t sampleRateHz,
602 int samplesPerCall = 0, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
617 virtual int setMixedAudioFrameParameters(size_t numberOfChannels,
618 uint32_t sampleRateHz,
619 int samplesPerCall = 0, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
620
639 virtual int setEarMonitoringAudioFrameParameters(bool enabled,
640 size_t numberOfChannels,
641 uint32_t sampleRateHz,
643 int samplesPerCall = 0, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
644
659 virtual int setPlaybackAudioFrameBeforeMixingParameters(size_t numberOfChannels,
660 uint32_t sampleRateHz, int samplesPerCall = 0, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
661
678 virtual int registerAudioFrameObserver(agora::media::IAudioFrameObserverBase* observer, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
688
699 virtual int enableAudioSpectrumMonitor(int intervalInMS = 100, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
707 virtual int disableAudioSpectrumMonitor(aosl_ref_t ares = AOSL_REF_INVALID) = 0;
708
723 virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver * observer, void (*safeDeleter)(agora::media::IAudioSpectrumObserver*), aosl_ref_t ares = AOSL_REF_INVALID) = 0;
734
747 virtual int registerLocalVideoEncodedFrameObserver(agora::media::IVideoEncodedFrameObserver* observer, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
763 virtual int forceNextIntraFrame(aosl_ref_t ares = AOSL_REF_INVALID) = 0;
776 virtual int registerVideoEncodedFrameObserver(agora::media::IVideoEncodedFrameObserver* observer, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
785
798 virtual int registerVideoFrameObserver(IVideoFrameObserver2* observer, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
807
809 const VideoSubscriptionOptions& options, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
810
811 virtual int setHighPriorityUserList(uid_t* vipList, int uidNum, int option, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
812
813 virtual int getHighPriorityUserList(std::vector<uid_t>& vipList, int& option) = 0;
814
815 virtual int setRemoteSubscribeFallbackOption(int option, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
816
831 virtual int setSubscribeAudioBlocklist(user_id_t* userList, int userNumber, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
832
849 virtual int setSubscribeAudioAllowlist(user_id_t* userList, int userNumber, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
850
865 virtual int setSubscribeVideoBlocklist(user_id_t* userList, int userNumber, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
866
883 virtual int setSubscribeVideoAllowlist(user_id_t* userList, int userNumber, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
884
897 virtual int subscribeVideo(user_id_t userId,
898 const VideoSubscriptionOptions &subscriptionOptions, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
899
910 virtual int subscribeAllVideo(const VideoSubscriptionOptions &subscriptionOptions, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
911
921 virtual int unsubscribeVideo(user_id_t userId, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
922
933 virtual int unsubscribeAllVideo(aosl_ref_t ares = AOSL_REF_INVALID) = 0;
934
954 virtual int setAudioVolumeIndicationParameters(int intervalInMS, int smooth, bool reportVad, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
955
968 ILocalUserObserver* observer,
969 void(*safeDeleter)(ILocalUserObserver*) = NULL, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
970
980
989
1002 virtual int registerMediaControlPacketReceiver(IMediaControlPacketReceiver* ctrlPacketReceiver, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
1003
1012
1023 virtual int sendIntraRequest(user_id_t userId, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
1024
1035
1036 virtual int setAudioFilterable(bool filterable, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
1037
1047 virtual int enableRemoteAudioTrackFilter(user_id_t userId, const char* id, bool enable, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
1048
1059 virtual int setRemoteAudioTrackFilterProperty(user_id_t userId, const char* id, const char* key, const char* jsonValue, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
1060
1072 virtual int getRemoteAudioTrackFilterProperty(user_id_t userId, const char* id, const char* key, char* jsonValue, size_t bufSize) = 0;
1081 virtual int publishDataChannel(agora_refptr<ILocalDataChannel> channel, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
1090 virtual int unpublishDataChannel(agora_refptr<ILocalDataChannel> channel, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
1100 virtual int subscribeDataChannel(user_id_t userId, int channelId, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
1111 virtual int unsubscribeDataChannel(user_id_t userId, int channelId, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
1122 virtual int registerDataChannelObserver(IDataChannelObserver * observer, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
1143 virtual int SetAudioNsMode(bool NsEnable, NS_MODE NsMode, NS_LEVEL NsLevel, NS_DELAY NsDelay, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
1153 virtual int RegisterLocalMixedAudioTrack(agora_refptr<ILocalAudioTrack>& track, bool enable, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
1161 virtual int takeDataChannelSnapshot(aosl_ref_t ares = AOSL_REF_INVALID) = 0;
1172 virtual int sendAudioMetadata(const char* metadata, size_t length, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
1182 virtual int setRemoteRenderTargetFps(int targetFps) = 0;
1183};
1184
1193
1197 unsigned int volume;
1198
1199 /*
1200 * The activity status of remote users
1201 */
1202 unsigned int vad;
1203
1208
1210};
1211
1216 public:
1218
1227
1229
1237 ERROR_CODE_TYPE error) = 0;
1238
1244 virtual void onLocalAudioTrackStatistics(const LocalAudioStats& stats) = 0;
1263
1275 REMOTE_AUDIO_STATE state,
1277 int elapsed) = 0;
1278
1286
1294 ERROR_CODE_TYPE error) = 0;
1295
1310 LOCAL_VIDEO_STREAM_REASON reason) = 0;
1311
1319 const LocalVideoTrackStats& stats) = 0;
1320
1331 virtual void onUserVideoTrackSubscribed(user_id_t userId, const VideoTrackInfo& trackInfo,
1333
1345 REMOTE_VIDEO_STATE state,
1347 int elapsed) = 0;
1348
1357 virtual void onFirstRemoteVideoFrameRendered(user_id_t userId, int width,
1358 int height, int elapsed) = 0;
1359
1360
1368 const RemoteVideoTrackStats& stats) = 0;
1369
1399 virtual void onAudioVolumeIndication(const AudioVolumeInformation* speakers, unsigned int speakerNumber,
1400 int totalVolume) = 0;
1401
1414 virtual void onActiveSpeaker(user_id_t userId) = 0;
1415
1425 virtual void onAudioSubscribeStateChanged(const char* channel, user_id_t userId, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) = 0;
1426
1436 virtual void onVideoSubscribeStateChanged(const char* channel, user_id_t userId, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) = 0;
1437
1446 virtual void onAudioPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) = 0;
1447
1456 virtual void onVideoPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) = 0;
1457
1468 virtual void onRemoteSubscribeFallbackToAudioOnly(user_id_t userId, bool isFallbackOrRecover) {
1469 (void)userId;
1470 (void)isFallbackOrRecover;
1471 }
1472
1478 virtual void onFirstRemoteAudioFrame(user_id_t userId, int elapsed) = 0;
1479
1486 virtual void onFirstRemoteAudioDecoded(user_id_t userId, int elapsed) = 0;
1487
1497 virtual void onFirstRemoteVideoFrame(user_id_t userId, int width, int height, int elapsed) = 0;
1498
1507 virtual void onFirstRemoteVideoDecoded(user_id_t userId, int width, int height, int elapsed) = 0;
1508
1517 virtual void onVideoSizeChanged(user_id_t userId, int width, int height, int rotation) = 0;
1518
1527 virtual void onAudioMetadataReceived(user_id_t userId, const char* metadata, size_t length) {
1528 (void)userId;
1529 (void)metadata;
1530 (void)length;
1531 }
1532
1554
1563 virtual void onUserInfoUpdated(user_id_t userId, USER_MEDIA_INFO msg, bool val) {
1564 (void)userId;
1565 (void)msg;
1566 (void)val;
1567 }
1568
1575 virtual void onIntraRequestReceived() {}
1576
1580 virtual void onStreamMessage(user_id_t userId, int streamId, const char* data, size_t length, uint64_t sendTs = 0) {}
1581
1587 virtual void onUserStateChanged(user_id_t userId, uint32_t state){}
1588
1590
1598 virtual void onRdtMessage(user_id_t userId, RdtStreamType type, const char *data, size_t length) {}
1599
1605 virtual void onRdtStateChanged(user_id_t userId, RdtState state) {}
1606};
1607
1609 public:
1619 virtual void onFrame(const char* channelId, user_id_t remoteUid, const media::base::VideoFrame* frame) = 0;
1620
1622};
1623
1624} // namespace rtc
1625} // namespace agora
Definition NGIAgoraDataChannel.h:128
Definition NGIAgoraDataChannel.h:84
Definition AgoraOptional.h:413
Definition AgoraRefPtr.h:44
Definition AgoraMediaBase.h:1267
Definition AgoraMediaBase.h:1549
Definition AgoraMediaBase.h:1598
Definition AgoraMediaBase.h:1642
Definition NGIAgoraAudioTrack.h:262
Definition NGIAgoraLocalUser.h:56
virtual int enableSpatialAudio(bool enabled, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer, void(*safeDeleter)(agora::media::IAudioSpectrumObserver *), aosl_ref_t ares=AOSL_REF_INVALID)=0
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, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int unsubscribeAllAudio(aosl_ref_t ares=AOSL_REF_INVALID)=0
NS_MODE
Definition NGIAgoraLocalUser.h:250
@ NsNG
Definition NGIAgoraLocalUser.h:253
@ NsNGStatistical
Definition NGIAgoraLocalUser.h:252
@ ElderNsStatistical
Definition NGIAgoraLocalUser.h:251
virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setRemoteUserSpatialAudioParams(user_id_t userId, const agora::SpatialAudioParams &param, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int sendAudioMetadata(const char *metadata, size_t length, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setSubscribeAudioBlocklist(user_id_t *userList, int userNumber, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int sendIntraRequest(user_id_t userId, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int unregisterMediaControlPacketReceiver(IMediaControlPacketReceiver *ctrlPacketReceiver)=0
virtual int unsubscribeAudio(user_id_t userId, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int registerMediaControlPacketReceiver(IMediaControlPacketReceiver *ctrlPacketReceiver, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int enableAudioSpectrumMonitor(int intervalInMS=100, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int disableAudioSpectrumMonitor(aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int registerLocalUserObserver(ILocalUserObserver *observer, void(*safeDeleter)(ILocalUserObserver *)=NULL, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int takeDataChannelSnapshot(aosl_ref_t ares=AOSL_REF_INVALID)=0
NS_DELAY
Definition NGIAgoraLocalUser.h:259
@ LowDelay
Definition NGIAgoraLocalUser.h:262
@ HighQuality
Definition NGIAgoraLocalUser.h:260
@ Balance
Definition NGIAgoraLocalUser.h:261
virtual int setSubscribeAudioAllowlist(user_id_t *userList, int userNumber, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int getPlaybackSignalVolume(int *volume)=0
virtual int unsubscribeDataChannel(user_id_t userId, int channelId, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int publishVideo(agora_refptr< ILocalVideoTrack > videoTrack, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setAudioEncoderConfiguration(const rtc::AudioEncoderConfiguration &config, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int subscribeDataChannel(user_id_t userId, int channelId, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int unregisterDataChannelObserver(IDataChannelObserver *observer)=0
virtual int getUserPlaybackSignalVolume(user_id_t userId, int *volume)=0
virtual int RegisterLocalMixedAudioTrack(agora_refptr< ILocalAudioTrack > &track, bool enable, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setAudioFilterable(bool filterable, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int publishAudio(agora_refptr< ILocalAudioTrack > audioTrack, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int SetAudioNsMode(bool NsEnable, NS_MODE NsMode, NS_LEVEL NsLevel, NS_DELAY NsDelay, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int unsubscribeVideo(user_id_t userId, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int adjustUserPlaybackSignalVolume(user_id_t userId, int volume, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int subscribeAllVideo(const VideoSubscriptionOptions &subscriptionOptions, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual bool getLocalAudioStatistics(LocalAudioDetailedStats &stats)=0
virtual int enableRemoteAudioTrackFilter(user_id_t userId, const char *id, bool enable, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int subscribeAllAudio(aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual CLIENT_ROLE_TYPE getUserRole()=0
virtual int setAudienceLatencyLevel(AUDIENCE_LATENCY_LEVEL_TYPE level, int role, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setRemoteSubscribeFallbackOption(int option, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual AUDIENCE_LATENCY_LEVEL_TYPE getAudienceLatencyLevel()=0
virtual int subscribeVideo(user_id_t userId, const VideoSubscriptionOptions &subscriptionOptions, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setUserRole(rtc::CLIENT_ROLE_TYPE role, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setPlaybackAudioFrameBeforeMixingParameters(size_t numberOfChannels, uint32_t sampleRateHz, int samplesPerCall=0, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int registerLocalVideoEncodedFrameObserver(agora::media::IVideoEncodedFrameObserver *observer, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int unregisterLocalUserObserver(ILocalUserObserver *observer)=0
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, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int subscribeAudio(user_id_t userId, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int publishDataChannel(agora_refptr< ILocalDataChannel > channel, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual ~ILocalUser()
Definition NGIAgoraLocalUser.h:266
virtual int unregisterAudioFrameObserver(agora::media::IAudioFrameObserverBase *observer)=0
virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver *observer)=0
virtual int registerAudioFrameObserver(agora::media::IAudioFrameObserverBase *observer, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int unregisterVideoFrameObserver(IVideoFrameObserver2 *observer)=0
virtual int getRemoteAudioTrackFilterProperty(user_id_t userId, const char *id, const char *key, char *jsonValue, size_t bufSize)=0
virtual int unpublishVideo(agora_refptr< ILocalVideoTrack > videoTrack, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int registerVideoEncodedFrameObserver(agora::media::IVideoEncodedFrameObserver *observer, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int adjustPlaybackSignalVolume(int volume, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int unpublishAudio(agora_refptr< ILocalAudioTrack > audioTrack, aosl_ref_t ares=AOSL_REF_INVALID)=0
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, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int getHighPriorityUserList(std::vector< uid_t > &vipList, int &option)=0
virtual int unregisterVideoEncodedFrameObserver(agora::media::IVideoEncodedFrameObserver *observer)=0
virtual int unregisterLocalVideoEncodedFrameObserver(agora::media::IVideoEncodedFrameObserver *observer)=0
virtual int setSubscribeVideoAllowlist(user_id_t *userList, int userNumber, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int forceNextIntraFrame(aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setVideoSubscriptionOptions(user_id_t userId, const VideoSubscriptionOptions &options, aosl_ref_t ares=AOSL_REF_INVALID)=0
NS_LEVEL
Definition NGIAgoraLocalUser.h:255
@ Soft
Definition NGIAgoraLocalUser.h:256
@ Aggressive
Definition NGIAgoraLocalUser.h:257
virtual IMediaControlPacketSender * getMediaControlPacketSender()=0
virtual int setAudioVolumeIndicationParameters(int intervalInMS, int smooth, bool reportVad, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int unsubscribeAllVideo(aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setRemoteAudioTrackFilterProperty(user_id_t userId, const char *id, const char *key, const char *jsonValue, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setMixedAudioFrameParameters(size_t numberOfChannels, uint32_t sampleRateHz, int samplesPerCall=0, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int registerDataChannelObserver(IDataChannelObserver *observer, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int registerVideoFrameObserver(IVideoFrameObserver2 *observer, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int unpublishDataChannel(agora_refptr< ILocalDataChannel > channel, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setVideoQoEPreference(VIDEO_QOE_PREFERENCE_TYPE qoePreference, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int enableSoundPositionIndication(bool enabled, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setHighPriorityUserList(uid_t *vipList, int uidNum, int option, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setSubscribeVideoBlocklist(user_id_t *userList, int userNumber, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setRemoteRenderTargetFps(int targetFps)=0
virtual int setRemoteVoicePosition(user_id_t userId, double pan, double gain, aosl_ref_t ares=AOSL_REF_INVALID)=0
Definition NGIAgoraLocalUser.h:1215
virtual void onVideoPublishStateChanged(const char *channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)=0
virtual ~ILocalUserObserver()
Definition NGIAgoraLocalUser.h:1217
virtual void onAudioVolumeIndication(const AudioVolumeInformation *speakers, unsigned int speakerNumber, int totalVolume)=0
virtual void onLocalVideoTrackStateChanged(agora_refptr< rtc::ILocalVideoTrack > videoTrack, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_REASON reason)=0
virtual void onAudioSubscribeStateChanged(const char *channel, user_id_t userId, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState)=0
virtual void onFirstRemoteVideoFrame(user_id_t userId, int width, int height, int elapsed)=0
virtual void onLocalVideoTrackStatistics(agora_refptr< rtc::ILocalVideoTrack > videoTrack, const LocalVideoTrackStats &stats)=0
virtual void onVideoTrackPublicationFailure(agora_refptr< ILocalVideoTrack > videoTrack, ERROR_CODE_TYPE error)=0
virtual void onActiveSpeaker(user_id_t userId)=0
virtual void onAudioTrackPublishSuccess(agora_refptr< ILocalAudioTrack > audioTrack)=0
virtual void onAudioPublishStateChanged(const char *channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState)=0
virtual void onVideoSubscribeStateChanged(const char *channel, user_id_t userId, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState)=0
virtual void onUserInfoUpdated(user_id_t userId, USER_MEDIA_INFO msg, bool val)
Definition NGIAgoraLocalUser.h:1563
virtual void onVideoTrackPublishStart(agora_refptr< ILocalVideoTrack > videoTrack)=0
virtual void onLocalAudioTrackStatistics(const LocalAudioStats &stats)=0
virtual void onAudioTrackPublicationFailure(agora_refptr< ILocalAudioTrack > audioTrack, ERROR_CODE_TYPE error)=0
virtual void onAudioTrackPublishStart(agora_refptr< ILocalAudioTrack > audioTrack)=0
virtual void onRdtMessage(user_id_t userId, RdtStreamType type, const char *data, size_t length)
Definition NGIAgoraLocalUser.h:1598
virtual void onUserVideoTrackStateChanged(user_id_t userId, agora_refptr< rtc::IRemoteVideoTrack > videoTrack, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed)=0
virtual void onStreamMessage(user_id_t userId, int streamId, const char *data, size_t length, uint64_t sendTs=0)
Definition NGIAgoraLocalUser.h:1580
virtual void onFirstRemoteAudioDecoded(user_id_t userId, int elapsed)=0
virtual void onVideoTrackPublishSuccess(agora_refptr< ILocalVideoTrack > videoTrack)=0
virtual void onVideoSizeChanged(user_id_t userId, int width, int height, int rotation)=0
virtual void onRemoteAudioTrackStatistics(agora_refptr< rtc::IRemoteAudioTrack > audioTrack, const RemoteAudioTrackStats &stats)=0
virtual void onFirstRemoteVideoFrameRendered(user_id_t userId, int width, int height, int elapsed)=0
virtual void onVideoRenderingTracingResult(user_id_t user_id, MEDIA_TRACE_EVENT currentState, VideoRenderingTracingInfo tracingInfo)
Definition NGIAgoraLocalUser.h:1589
virtual void onAudioTrackUnpublished(agora_refptr< ILocalAudioTrack > audioTrack)=0
virtual void onVideoTrackUnpublished(agora_refptr< ILocalVideoTrack > videoTrack)=0
virtual void onUserAudioTrackSubscribed(user_id_t userId, agora_refptr< rtc::IRemoteAudioTrack > audioTrack)=0
virtual void onUserStateChanged(user_id_t userId, uint32_t state)
Definition NGIAgoraLocalUser.h:1587
virtual void onFirstRemoteAudioFrame(user_id_t userId, int elapsed)=0
virtual void onUserVideoTrackSubscribed(user_id_t userId, const VideoTrackInfo &trackInfo, agora_refptr< rtc::IRemoteVideoTrack > videoTrack)=0
virtual void onIntraRequestReceived()
Definition NGIAgoraLocalUser.h:1575
virtual void onFirstRemoteVideoDecoded(user_id_t userId, int width, int height, int elapsed)=0
virtual void onRemoteVideoTrackStatistics(agora_refptr< rtc::IRemoteVideoTrack > videoTrack, const RemoteVideoTrackStats &stats)=0
virtual void onRemoteSubscribeFallbackToAudioOnly(user_id_t userId, bool isFallbackOrRecover)
Definition NGIAgoraLocalUser.h:1468
virtual void onRdtStateChanged(user_id_t userId, RdtState state)
Definition NGIAgoraLocalUser.h:1605
virtual void onUserAudioTrackStateChanged(user_id_t userId, agora_refptr< rtc::IRemoteAudioTrack > audioTrack, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed)=0
virtual void onAudioMetadataReceived(user_id_t userId, const char *metadata, size_t length)
Definition NGIAgoraLocalUser.h:1527
USER_MEDIA_INFO
Definition NGIAgoraLocalUser.h:1536
@ USER_MEDIA_INFO_MUTE_VIDEO
Definition NGIAgoraLocalUser.h:1544
@ USER_MEDIA_INFO_ENABLE_LOCAL_VIDEO
Definition NGIAgoraLocalUser.h:1552
@ USER_MEDIA_INFO_ENABLE_VIDEO
Definition NGIAgoraLocalUser.h:1548
@ USER_MEDIA_INFO_MUTE_AUDIO
Definition NGIAgoraLocalUser.h:1540
Definition NGIAgoraVideoTrack.h:394
Definition NGIAgoraMediaNode.h:340
Definition NGIAgoraMediaNode.h:387
Definition NGIAgoraMediaNode.h:318
Definition NGIAgoraAudioTrack.h:778
Definition NGIAgoraVideoTrack.h:574
Definition NGIAgoraLocalUser.h:1608
virtual ~IVideoFrameObserver2()
Definition NGIAgoraLocalUser.h:1621
virtual void onFrame(const char *channelId, user_id_t remoteUid, const media::base::VideoFrame *frame)=0
Definition NGIAgoraMediaNode.h:167
static const uint8_t kMaxCodecNameLength
Definition AgoraMediaBase.h:316
Definition content_inspect_i.h:15
Definition AgoraExtensions.h:5
MEDIA_TRACE_EVENT
Definition AgoraBase.h:7230
AUDIENCE_LATENCY_LEVEL_TYPE
Definition AgoraBase.h:2913
AUDIO_SCENARIO_TYPE
Definition AgoraBase.h:3042
VIDEO_QOE_PREFERENCE_TYPE
Definition AgoraBase.h:3202
CLIENT_ROLE_TYPE
Definition AgoraBase.h:2879
REMOTE_AUDIO_STATE_REASON
Definition AgoraBase.h:3530
STREAM_PUBLISH_STATE
Definition AgoraBase.h:7001
LOCAL_VIDEO_STREAM_STATE
Definition AgoraBase.h:3337
REMOTE_VIDEO_STATE
Definition AgoraBase.h:3580
RdtState
Reliable Data Transmission tunnel state.
Definition AgoraBase.h:7442
RdtStreamType
Reliable Data Transmission Tunnel message stream type.
Definition AgoraBase.h:7418
LOCAL_VIDEO_STREAM_REASON
Definition AgoraBase.h:3360
REMOTE_AUDIO_STATE
Definition AgoraBase.h:3496
unsigned int uid_t
Definition AgoraMediaBase.h:28
VIDEO_APPLICATION_SCENARIO_TYPE
Definition AgoraBase.h:3180
STREAM_SUBSCRIBE_STATE
Definition AgoraBase.h:6969
REMOTE_VIDEO_STATE_REASON
Definition AgoraBase.h:3611
RAW_AUDIO_FRAME_OP_MODE_TYPE
Definition AgoraMediaBase.h:228
@ RAW_AUDIO_FRAME_OP_MODE_READ_ONLY
Definition AgoraMediaBase.h:232
Definition AgoraAtomicOps.h:21
const char * user_id_t
Definition AgoraBase.h:853
ERROR_CODE_TYPE
Definition AgoraBase.h:456
Definition AgoraBase.h:7507
Definition AgoraMediaBase.h:963
Definition IAgoraService.h:57
Definition NGIAgoraLocalUser.h:1188
unsigned int vad
Definition NGIAgoraLocalUser.h:1202
unsigned int volume
Definition NGIAgoraLocalUser.h:1197
AudioVolumeInformation()
Definition NGIAgoraLocalUser.h:1209
user_id_t userId
Definition NGIAgoraLocalUser.h:1192
double voicePitch
Definition NGIAgoraLocalUser.h:1207
Definition NGIAgoraLocalUser.h:61
agora::Optional< uint32_t > fec_action_counter
Definition NGIAgoraLocalUser.h:85
agora::Optional< uint32_t > frame_length_decrease_counter
Definition NGIAgoraLocalUser.h:99
agora::Optional< uint32_t > bitrate_action_counter
Definition NGIAgoraLocalUser.h:67
agora::Optional< uint32_t > dtx_action_counter
Definition NGIAgoraLocalUser.h:79
agora::Optional< float > uplink_packet_loss_fraction
Definition NGIAgoraLocalUser.h:105
agora::Optional< uint32_t > frame_length_increase_counter
Definition NGIAgoraLocalUser.h:92
agora::Optional< uint32_t > channel_action_counter
Definition NGIAgoraLocalUser.h:73
Definition NGIAgoraLocalUser.h:111
agora::Optional< int32_t > delay_standard_deviation_ms
Definition NGIAgoraLocalUser.h:155
agora::Optional< double > echo_return_loss
Definition NGIAgoraLocalUser.h:120
agora::Optional< double > residual_echo_likelihood_recent_max
Definition NGIAgoraLocalUser.h:164
agora::Optional< double > residual_echo_likelihood
Definition NGIAgoraLocalUser.h:160
agora::Optional< double > echo_return_loss_enhancement
Definition NGIAgoraLocalUser.h:132
agora::Optional< double > divergent_filter_fraction
Definition NGIAgoraLocalUser.h:137
agora::Optional< int32_t > delay_ms
Definition NGIAgoraLocalUser.h:170
agora::Optional< int32_t > delay_median_ms
Definition NGIAgoraLocalUser.h:151
Definition NGIAgoraLocalUser.h:176
LocalAudioDetailedStats()
Definition NGIAgoraLocalUser.h:243
int32_t jitter_ms
Definition NGIAgoraLocalUser.h:212
int64_t rtt_ms
Definition NGIAgoraLocalUser.h:216
agora::Optional< int > codec_payload_type
Definition NGIAgoraLocalUser.h:204
int32_t packets_lost
Definition NGIAgoraLocalUser.h:192
char codec_name[media::base::kMaxCodecNameLength]
Definition NGIAgoraLocalUser.h:200
double total_input_energy
Definition NGIAgoraLocalUser.h:224
ANAStats ana_statistics
Definition NGIAgoraLocalUser.h:240
int32_t packets_sent
Definition NGIAgoraLocalUser.h:188
int32_t audio_level
Definition NGIAgoraLocalUser.h:220
AudioProcessingStats apm_statistics
Definition NGIAgoraLocalUser.h:241
uint32_t local_ssrc
Definition NGIAgoraLocalUser.h:180
bool typing_noise_detected
Definition NGIAgoraLocalUser.h:234
int64_t bytes_sent
Definition NGIAgoraLocalUser.h:184
double total_input_duration
Definition NGIAgoraLocalUser.h:228
float fraction_lost
Definition NGIAgoraLocalUser.h:196
int32_t ext_seqnum
Definition NGIAgoraLocalUser.h:208
Definition AgoraBase.h:3949
Definition NGIAgoraVideoTrack.h:246
Definition NGIAgoraAudioTrack.h:454
Definition NGIAgoraVideoTrack.h:461
Definition AgoraBase.h:1960
Definition AgoraBase.h:7244
Definition AgoraBase.h:1649
Definition AgoraBase.h:3694