Agora RTC Objective-C API Reference Refactor

NGIAgoraAudioTrack.h
Go to the documentation of this file.
1
2 // Copyright (c) 2018 Agora.io. All rights reserved
3
4 // This program is confidential and proprietary to Agora.io.
5 // And may not be copied, reproduced, modified, disclosed to others, published
6 // or used, in whole or in part, without the express prior written permission
7 // of Agora.io.
8
9 #pragma once // NOLINT(build/header_guard)
10
11 #include "AgoraBase.h"
12 #include <api/cpp/aosl_ares_class.h>
13
14 // FIXME(Ender): use this class instead of AudioSendStream as local track
15 namespace agora {
16 namespace rtc {
17 class IAudioTrackStateObserver;
18 class IAudioFilter;
19 class IAudioSinkBase;
20 class IMediaPacketReceiver;
21 class IAudioEncodedFrameReceiver;
29 struct AudioSinkWants {
31 int samplesPerSec;
32
34 size_t channels;
35
36 AudioSinkWants() : samplesPerSec(0),
37 channels(0) {}
38 AudioSinkWants(int sampleRate, size_t chs) : samplesPerSec(sampleRate),
39 channels(chs) {}
40 AudioSinkWants(int sampleRate, size_t chs, int trackNum) : samplesPerSec(sampleRate), channels(chs) {}
41 };
42
46 class IAudioTrack : public RefCountInterface {
47 public:
51 enum AudioFilterPosition {
55 RecordingLocalPlayback,
59 PostAudioProcessing,
63 RemoteUserPlayback,
67 PcmSource,
71 PcmSourceSending,
75 PcmSourceLocalPlayback,
79 RemoteMixedPlayback,
80 };
81
82 public:
90 virtual int adjustPlayoutVolume(int volume, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
91
99 virtual int getPlayoutVolume(int* volume) = 0;
100
112 virtual bool addAudioFilter(agora_refptr<IAudioFilter> filter, AudioFilterPosition position, ExtensionContext *extContext = NULL, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
122 virtual bool removeAudioFilter(agora_refptr<IAudioFilter> filter, AudioFilterPosition position, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
123
133 virtual int enableAudioFilter(const char* id, bool enable, AudioFilterPosition position, aosl_ref_t ares = AOSL_REF_INVALID) {
134 (void)id;
135 (void)enable;
136 (void)position;
137 return -1;
138 }
139
150 virtual int setFilterProperty(const char* id, const char* key, const char* jsonValue, AudioFilterPosition position, aosl_ref_t ares = AOSL_REF_INVALID) {
151 (void)id;
152 (void)key;
153 (void)jsonValue;
154 (void)position;
155 return -1;
156 }
157
169 virtual int getFilterProperty(const char* id, const char* key, char* jsonValue, size_t bufSize, AudioFilterPosition position) {
170 (void)id;
171 (void)key;
172 (void)jsonValue;
173 (void)bufSize;
174 (void)position;
175 return -1;
176 }
177
187 virtual agora_refptr<IAudioFilter> getAudioFilter(const char *name, AudioFilterPosition position) const = 0;
188
198 virtual bool addAudioSink(agora_refptr<IAudioSinkBase> sink, const AudioSinkWants& wants, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
199
208 virtual bool removeAudioSink(agora_refptr<IAudioSinkBase> sink, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
209 };
210
214 class ILocalAudioTrackObserver {
215 public:
216 virtual ~ILocalAudioTrackObserver() {}
217
224 virtual void onLocalAudioTrackStateChanged(LOCAL_AUDIO_STREAM_STATE state,
225 LOCAL_AUDIO_STREAM_REASON reasonCode) = 0;
226 };
227
242 class ILocalAudioTrack : public IAudioTrack {
243 public:
247 struct LocalAudioTrackStats {
251 uint32_t source_id;
258 uint32_t buffered_pcm_data_list_size;
262 uint32_t missed_audio_frames;
266 uint32_t sent_audio_frames;
270 uint32_t pushed_audio_frames;
274 uint32_t dropped_audio_frames;
278 uint32_t playout_audio_frames;
282 uint32_t effect_type;
286 uint32_t hw_ear_monitor;
290 bool enabled;
294 uint32_t audio_volume; // [0,255]
295
296 LocalAudioTrackStats() : source_id(0),
297 buffered_pcm_data_list_size(0),
298 missed_audio_frames(0),
299 sent_audio_frames(0),
300 pushed_audio_frames(0),
301 dropped_audio_frames(0),
302 playout_audio_frames(0),
303 effect_type(0),
304 hw_ear_monitor(0),
305 enabled(false),
306 audio_volume(0) {}
307 };
308
309 public:
319 virtual int setEnabled(bool enable, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
320
327 virtual bool isEnabled() const = 0;
328
333 virtual LOCAL_AUDIO_STREAM_STATE getState() = 0;
334
339 virtual LocalAudioTrackStats GetStats() = 0;
340
349 virtual int adjustPublishVolume(int volume, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
350
358 virtual int getPublishVolume(int* volume) = 0;
359
372 virtual int enableLocalPlayback(bool enable, bool sync = true, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
373
385 virtual int enableEarMonitor(bool enable, int includeAudioFilters, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
394 virtual int registerTrackObserver(ILocalAudioTrackObserver* observer, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
403 virtual int unregisterTrackObserver(ILocalAudioTrackObserver* observer) = 0;
404
410 virtual void setMaxBufferedAudioFrameNumber(int number, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
411
418 virtual int ClearSenderBuffer() = 0;
419
420 protected:
421 ~ILocalAudioTrack() {}
422 };
423
427 struct RemoteAudioTrackStats {
431 uid_t uid;
435 int quality;
439 int network_transport_delay;
443 uint32_t jitter_buffer_delay;
447 int audio_loss_rate;
451 int num_channels;
455 int received_sample_rate;
459 int received_bitrate;
465 int total_frozen_time;
469 int frozen_rate;
473 int64_t received_bytes;
477 int mean_waiting_time;
481 size_t expanded_speech_samples;
485 size_t expanded_noise_samples;
489 uint32_t timestamps_since_last_report;
493 uint16_t min_sequence_number;
497 uint16_t max_sequence_number;
501 int32_t audio_level;
505 uint32_t downlink_process_time_ms;
509 uint32_t packet_expired_loss;
513 uint32_t packet_max_expired_ms;
517 uint32_t burst_peak_num;
521 uint32_t burst_jitter;
525 uint32_t target_level_base_ms;
529 uint32_t target_level_prefered_ms;
533 uint16_t accelerate_rate;
537 uint16_t preemptive_expand_rate;
541 uint16_t frozen_count_80_ms;
545 uint16_t frozen_time_80_ms;
549 uint16_t frozen_count_200_ms;
553 uint16_t frozen_time_200_ms;
557 uint16_t full_frozen_time_80_ms;
561 uint16_t full_frozen_time_200_ms;
565 uint32_t delay_estimate_ms;
569 uint32_t mos_value;
574 uint32_t frozen_rate_by_custom_plc_count;
578 uint32_t plc_count;
582 int32_t fec_decode_ms;
586 uint16_t frozen_count_10_ms;
591 uint64_t total_active_time;
595 uint64_t publish_duration;
596
597 int32_t e2e_delay_ms;
598
602 int32_t new_e2e_delay_ms;
606 int qoe_quality;
610 int32_t quality_changed_reason;
611
615 int32_t downlink_effect_type;
616
620 int32_t total_stream_duration;
621
625 int32_t total_frame_duration;
626
630 int32_t bad_network_duration;
631
635 int32_t total_inorder_packet_num;
636
640 int32_t total_unorder_packet_num;
641
645 int32_t tota_recv_packets_num;
646
650 int32_t last_packet_recv_elapse;
651
655 int32_t codec_type;
656
661 uint32_t p_time;
662
666 bool recv_dtx_enabled;
667
668 RemoteAudioTrackStats() :
669 uid(0),
670 quality(0),
671 network_transport_delay(0),
672 jitter_buffer_delay(0),
673 audio_loss_rate(0),
674 num_channels(0),
675 received_sample_rate(0),
676 received_bitrate(0),
677 total_frozen_time(0),
678 frozen_rate(0),
679 received_bytes(0),
680 mean_waiting_time(0),
681 expanded_speech_samples(0),
682 expanded_noise_samples(0),
683 timestamps_since_last_report(0),
684 min_sequence_number(0xFFFF),
685 max_sequence_number(0),
686 audio_level(0),
687 downlink_process_time_ms(0),
688 packet_expired_loss(0),
689 packet_max_expired_ms(0),
690 burst_peak_num(0),
691 burst_jitter(0),
692 target_level_base_ms(0),
693 target_level_prefered_ms(0),
694 accelerate_rate(0),
695 preemptive_expand_rate(0),
696 frozen_count_80_ms(0),
697 frozen_time_80_ms(0),
698 frozen_count_200_ms(0),
699 frozen_time_200_ms(0),
700 full_frozen_time_80_ms(0),
701 full_frozen_time_200_ms(0),
702 delay_estimate_ms(0),
703 mos_value(0),
704 frozen_rate_by_custom_plc_count(0),
705 plc_count(0),
706 fec_decode_ms(-1),
707 frozen_count_10_ms(0),
708 total_active_time(0),
709 publish_duration(0),
710 e2e_delay_ms(0),
711 new_e2e_delay_ms(0),
712 qoe_quality(0),
713 quality_changed_reason(0),
714 downlink_effect_type(0),
715 total_stream_duration(0),
716 total_frame_duration(0),
717 bad_network_duration(0),
718 total_inorder_packet_num(0),
719 total_unorder_packet_num(0),
720 tota_recv_packets_num(0),
721 last_packet_recv_elapse(0),
722 codec_type(AUDIO_CODEC_OPUS),
723 p_time(0),
724 recv_dtx_enabled(false) {}
725 };
726
727
732 struct AudioEncFrameRecvParams {
733
737 enum ReceiveMode {
741 ORIGINAL = 0,
742
750 MATCHED_CODEC = 1,
751
760 MATCHED_ALL = 2,
761 };
762
766 ReceiveMode receive_mode;
767
771 AUDIO_CODEC_TYPE target_codec;
772
776 int32_t target_sample_rate;
777
781 int32_t target_num_channels;
782
783
784 AudioEncFrameRecvParams() :
785 receive_mode(ORIGINAL),
786 target_codec(AUDIO_CODEC_AACLC),
787 target_sample_rate(0),
788 target_num_channels(0) {}
789
790 AudioEncFrameRecvParams(const AudioEncFrameRecvParams& src_params) {
791 receive_mode = src_params.receive_mode;
792 target_codec = src_params.target_codec;
793 target_sample_rate = src_params.target_sample_rate;
794 target_num_channels = src_params.target_num_channels;
795 }
796 };
797
801 class IRemoteAudioTrack : public IAudioTrack {
802 public:
810 virtual bool getStatistics(RemoteAudioTrackStats& stats) = 0;
811
816 virtual REMOTE_AUDIO_STATE getState() = 0;
817
830 virtual int registerMediaPacketReceiver(IMediaPacketReceiver* packetReceiver, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
831
839 virtual int unregisterMediaPacketReceiver(IMediaPacketReceiver* packetReceiver) = 0;
840
854 virtual int registerAudioEncodedFrameReceiver(IAudioEncodedFrameReceiver* packetReceiver,
855 const AudioEncFrameRecvParams& recvParams,
856 aosl_ref_t ares = AOSL_REF_INVALID) = 0;
864 virtual int unregisterAudioEncodedFrameReceiver(IAudioEncodedFrameReceiver* packetReceiver) = 0;
865
878 virtual int setRemoteVoicePosition(float pan, float gain, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
879
891 virtual int adjustDecodedAudioVolume(int decoded_index, int volume, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
892
903 virtual int muteRemoteFromTimestamp(uint32_t timestamp) = 0;
904
915 virtual int unmuteRemoteFromTimestamp(uint32_t timestamp) = 0;
916
930 virtual int adjustAudioAcceleration(int percentage, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
931
945 virtual int adjustAudioDeceleration(int percentage, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
946
954 virtual int enableAudioBurstAccelerate(bool enable, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
955
965 virtual int enableSpatialAudio(bool enabled, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
966
975 virtual int setRemoteUserSpatialAudioParams(const agora::SpatialAudioParams& params, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
976 };
977
978 } // namespace rtc
979 } // namespace agora
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats
Definition: NGIAgoraAudioTrack.h:247
agora::rtc::RemoteAudioTrackStats::target_level_base_ms
uint32_t target_level_base_ms
Definition: NGIAgoraAudioTrack.h:525
agora::rtc::RemoteAudioTrackStats::last_packet_recv_elapse
int32_t last_packet_recv_elapse
Definition: NGIAgoraAudioTrack.h:650
agora::rtc::REMOTE_AUDIO_STATE
REMOTE_AUDIO_STATE
Definition: AgoraBase.h:3262
agora::rtc::RemoteAudioTrackStats::total_inorder_packet_num
int32_t total_inorder_packet_num
Definition: NGIAgoraAudioTrack.h:635
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::hw_ear_monitor
uint32_t hw_ear_monitor
Definition: NGIAgoraAudioTrack.h:286
agora::rtc::RemoteAudioTrackStats::p_time
uint32_t p_time
Definition: NGIAgoraAudioTrack.h:661
agora::rtc::RemoteAudioTrackStats::received_bitrate
int received_bitrate
Definition: NGIAgoraAudioTrack.h:459
agora::rtc::IAudioTrack::getAudioFilter
virtual agora_refptr< IAudioFilter > getAudioFilter(const char *name, AudioFilterPosition position) const =0
agora::rtc::RemoteAudioTrackStats::frozen_time_200_ms
uint16_t frozen_time_200_ms
Definition: NGIAgoraAudioTrack.h:553
AgoraBase.h
agora::rtc::RemoteAudioTrackStats::frozen_count_200_ms
uint16_t frozen_count_200_ms
Definition: NGIAgoraAudioTrack.h:549
agora::rtc::IAudioTrack::getFilterProperty
virtual int getFilterProperty(const char *id, const char *key, char *jsonValue, size_t bufSize, AudioFilterPosition position)
Definition: NGIAgoraAudioTrack.h:169
agora::rtc::ILocalAudioTrack::adjustPublishVolume
virtual int adjustPublishVolume(int volume, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::uid_t
unsigned int uid_t
Definition: AgoraMediaBase.h:28
agora::rtc::RemoteAudioTrackStats::accelerate_rate
uint16_t accelerate_rate
Definition: NGIAgoraAudioTrack.h:533
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::RemoteAudioTrackStats::uid
uid_t uid
Definition: NGIAgoraAudioTrack.h:431
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::sent_audio_frames
uint32_t sent_audio_frames
Definition: NGIAgoraAudioTrack.h:266
agora::rtc::ILocalAudioTrack::~ILocalAudioTrack
~ILocalAudioTrack()
Definition: NGIAgoraAudioTrack.h:421
agora::rtc::IAudioTrack::RemoteUserPlayback
@ RemoteUserPlayback
Definition: NGIAgoraAudioTrack.h:63
agora::rtc::RemoteAudioTrackStats::delay_estimate_ms
uint32_t delay_estimate_ms
Definition: NGIAgoraAudioTrack.h:565
agora::rtc::IAudioTrack::addAudioSink
virtual bool addAudioSink(agora_refptr< IAudioSinkBase > sink, const AudioSinkWants &wants, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::RemoteAudioTrackStats::received_sample_rate
int received_sample_rate
Definition: NGIAgoraAudioTrack.h:455
agora::rtc::ILocalAudioTrack
Definition: NGIAgoraAudioTrack.h:242
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::dropped_audio_frames
uint32_t dropped_audio_frames
Definition: NGIAgoraAudioTrack.h:274
agora::rtc::IRemoteAudioTrack::unmuteRemoteFromTimestamp
virtual int unmuteRemoteFromTimestamp(uint32_t timestamp)=0
agora::rtc::RemoteAudioTrackStats::frozen_count_80_ms
uint16_t frozen_count_80_ms
Definition: NGIAgoraAudioTrack.h:541
agora::rtc::ILocalAudioTrack::GetStats
virtual LocalAudioTrackStats GetStats()=0
agora::rtc::RemoteAudioTrackStats::frozen_rate
int frozen_rate
Definition: NGIAgoraAudioTrack.h:469
agora::rtc::RemoteAudioTrackStats::RemoteAudioTrackStats
RemoteAudioTrackStats()
Definition: NGIAgoraAudioTrack.h:668
agora::rtc::AudioSinkWants::channels
size_t channels
Definition: NGIAgoraAudioTrack.h:34
agora::rtc::IAudioTrack::getPlayoutVolume
virtual int getPlayoutVolume(int *volume)=0
agora::rtc::IRemoteAudioTrack::enableSpatialAudio
virtual int enableSpatialAudio(bool enabled, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::IRemoteAudioTrack::enableAudioBurstAccelerate
virtual int enableAudioBurstAccelerate(bool enable, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::RemoteAudioTrackStats
Definition: NGIAgoraAudioTrack.h:427
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::missed_audio_frames
uint32_t missed_audio_frames
Definition: NGIAgoraAudioTrack.h:262
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::buffered_pcm_data_list_size
uint32_t buffered_pcm_data_list_size
Definition: NGIAgoraAudioTrack.h:258
agora::rtc::RemoteAudioTrackStats::bad_network_duration
int32_t bad_network_duration
Definition: NGIAgoraAudioTrack.h:630
agora::rtc::RemoteAudioTrackStats::full_frozen_time_200_ms
uint16_t full_frozen_time_200_ms
Definition: NGIAgoraAudioTrack.h:561
agora::rtc::IAudioTrack::PostAudioProcessing
@ PostAudioProcessing
Definition: NGIAgoraAudioTrack.h:59
agora::rtc::RemoteAudioTrackStats::burst_jitter
uint32_t burst_jitter
Definition: NGIAgoraAudioTrack.h:521
agora::rtc::ILocalAudioTrackObserver::~ILocalAudioTrackObserver
virtual ~ILocalAudioTrackObserver()
Definition: NGIAgoraAudioTrack.h:216
agora::rtc::ExtensionContext
Definition: AgoraMediaBase.h:41
agora::rtc::AudioSinkWants::AudioSinkWants
AudioSinkWants()
Definition: NGIAgoraAudioTrack.h:36
agora::rtc::IRemoteAudioTrack::registerMediaPacketReceiver
virtual int registerMediaPacketReceiver(IMediaPacketReceiver *packetReceiver, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::RemoteAudioTrackStats::downlink_process_time_ms
uint32_t downlink_process_time_ms
Definition: NGIAgoraAudioTrack.h:505
agora
Definition: AgoraAtomicOps.h:21
agora::rtc::RemoteAudioTrackStats::total_frame_duration
int32_t total_frame_duration
Definition: NGIAgoraAudioTrack.h:625
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::playout_audio_frames
uint32_t playout_audio_frames
Definition: NGIAgoraAudioTrack.h:278
agora::rtc::ILocalAudioTrack::enableLocalPlayback
virtual int enableLocalPlayback(bool enable, bool sync=true, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::RemoteAudioTrackStats::expanded_speech_samples
size_t expanded_speech_samples
Definition: NGIAgoraAudioTrack.h:481
agora::rtc::RemoteAudioTrackStats::network_transport_delay
int network_transport_delay
Definition: NGIAgoraAudioTrack.h:439
agora::rtc::IAudioTrack::PcmSourceSending
@ PcmSourceSending
Definition: NGIAgoraAudioTrack.h:71
agora::rtc::RemoteAudioTrackStats::received_bytes
int64_t received_bytes
Definition: NGIAgoraAudioTrack.h:473
agora::rtc::ILocalAudioTrack::getPublishVolume
virtual int getPublishVolume(int *volume)=0
agora::rtc::ILocalAudioTrackObserver
Definition: NGIAgoraAudioTrack.h:214
agora::rtc::ILocalAudioTrack::getState
virtual LOCAL_AUDIO_STREAM_STATE getState()=0
agora::rtc::RemoteAudioTrackStats::audio_loss_rate
int audio_loss_rate
Definition: NGIAgoraAudioTrack.h:447
agora::rtc::RemoteAudioTrackStats::recv_dtx_enabled
bool recv_dtx_enabled
Definition: NGIAgoraAudioTrack.h:666
agora::rtc::RemoteAudioTrackStats::packet_max_expired_ms
uint32_t packet_max_expired_ms
Definition: NGIAgoraAudioTrack.h:513
agora::rtc::RemoteAudioTrackStats::publish_duration
uint64_t publish_duration
Definition: NGIAgoraAudioTrack.h:595
agora::rtc::IAudioTrack
Definition: NGIAgoraAudioTrack.h:46
agora::rtc::ILocalAudioTrack::isEnabled
virtual bool isEnabled() const =0
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::LocalAudioTrackStats
LocalAudioTrackStats()
Definition: NGIAgoraAudioTrack.h:296
agora::rtc::RemoteAudioTrackStats::min_sequence_number
uint16_t min_sequence_number
Definition: NGIAgoraAudioTrack.h:493
agora::rtc::RemoteAudioTrackStats::mos_value
uint32_t mos_value
Definition: NGIAgoraAudioTrack.h:569
agora::rtc::RemoteAudioTrackStats::mean_waiting_time
int mean_waiting_time
Definition: NGIAgoraAudioTrack.h:477
agora::rtc::IRemoteAudioTrack::unregisterMediaPacketReceiver
virtual int unregisterMediaPacketReceiver(IMediaPacketReceiver *packetReceiver)=0
agora::rtc::IRemoteAudioTrack::registerAudioEncodedFrameReceiver
virtual int registerAudioEncodedFrameReceiver(IAudioEncodedFrameReceiver *packetReceiver, const AudioEncFrameRecvParams &recvParams, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::IAudioTrack::setFilterProperty
virtual int setFilterProperty(const char *id, const char *key, const char *jsonValue, AudioFilterPosition position, aosl_ref_t ares=AOSL_REF_INVALID)
Definition: NGIAgoraAudioTrack.h:150
agora::rtc::IRemoteAudioTrack::setRemoteVoicePosition
virtual int setRemoteVoicePosition(float pan, float gain, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::RemoteAudioTrackStats::quality_changed_reason
int32_t quality_changed_reason
Definition: NGIAgoraAudioTrack.h:610
agora::rtc::ILocalAudioTrack::setMaxBufferedAudioFrameNumber
virtual void setMaxBufferedAudioFrameNumber(int number, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::IAudioEncodedFrameReceiver
Definition: NGIAgoraMediaNode.h:586
agora::rtc::RemoteAudioTrackStats::frozen_time_80_ms
uint16_t frozen_time_80_ms
Definition: NGIAgoraAudioTrack.h:545
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::audio_volume
uint32_t audio_volume
Definition: NGIAgoraAudioTrack.h:294
agora::rtc::IAudioTrack::adjustPlayoutVolume
virtual int adjustPlayoutVolume(int volume, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::ILocalAudioTrack::registerTrackObserver
virtual int registerTrackObserver(ILocalAudioTrackObserver *observer, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::RemoteAudioTrackStats::audio_level
int32_t audio_level
Definition: NGIAgoraAudioTrack.h:501
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::effect_type
uint32_t effect_type
Definition: NGIAgoraAudioTrack.h:282
agora::rtc::RemoteAudioTrackStats::quality
int quality
Definition: NGIAgoraAudioTrack.h:435
agora::rtc::IMediaPacketReceiver
Definition: NGIAgoraMediaNode.h:606
agora::rtc::RemoteAudioTrackStats::fec_decode_ms
int32_t fec_decode_ms
Definition: NGIAgoraAudioTrack.h:582
agora::rtc::IRemoteAudioTrack::adjustAudioAcceleration
virtual int adjustAudioAcceleration(int percentage, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::ILocalAudioTrack::setEnabled
virtual int setEnabled(bool enable, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::IRemoteAudioTrack::adjustDecodedAudioVolume
virtual int adjustDecodedAudioVolume(int decoded_index, int volume, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::RemoteAudioTrackStats::num_channels
int num_channels
Definition: NGIAgoraAudioTrack.h:451
agora::rtc::IRemoteAudioTrack::getStatistics
virtual bool getStatistics(RemoteAudioTrackStats &stats)=0
agora::rtc::RemoteAudioTrackStats::full_frozen_time_80_ms
uint16_t full_frozen_time_80_ms
Definition: NGIAgoraAudioTrack.h:557
agora::rtc::RemoteAudioTrackStats::total_unorder_packet_num
int32_t total_unorder_packet_num
Definition: NGIAgoraAudioTrack.h:640
agora::rtc::RemoteAudioTrackStats::plc_count
uint32_t plc_count
Definition: NGIAgoraAudioTrack.h:578
agora::rtc::ILocalAudioTrack::enableEarMonitor
virtual int enableEarMonitor(bool enable, int includeAudioFilters, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::RemoteAudioTrackStats::qoe_quality
int qoe_quality
Definition: NGIAgoraAudioTrack.h:606
agora::rtc::RemoteAudioTrackStats::tota_recv_packets_num
int32_t tota_recv_packets_num
Definition: NGIAgoraAudioTrack.h:645
agora::rtc::RemoteAudioTrackStats::total_active_time
uint64_t total_active_time
Definition: NGIAgoraAudioTrack.h:591
agora::rtc::AUDIO_CODEC_AACLC
@ AUDIO_CODEC_AACLC
Definition: AgoraBase.h:1360
agora::rtc::AudioSinkWants::AudioSinkWants
AudioSinkWants(int sampleRate, size_t chs)
Definition: NGIAgoraAudioTrack.h:38
agora::rtc::RemoteAudioTrackStats::packet_expired_loss
uint32_t packet_expired_loss
Definition: NGIAgoraAudioTrack.h:509
agora::rtc::AUDIO_CODEC_TYPE
AUDIO_CODEC_TYPE
Definition: AgoraBase.h:1336
agora::rtc::IRemoteAudioTrack::getState
virtual REMOTE_AUDIO_STATE getState()=0
agora::rtc::RemoteAudioTrackStats::target_level_prefered_ms
uint32_t target_level_prefered_ms
Definition: NGIAgoraAudioTrack.h:529
agora::rtc::RemoteAudioTrackStats::timestamps_since_last_report
uint32_t timestamps_since_last_report
Definition: NGIAgoraAudioTrack.h:489
agora::rtc::IAudioTrack::RemoteMixedPlayback
@ RemoteMixedPlayback
Definition: NGIAgoraAudioTrack.h:79
agora::rtc::LOCAL_AUDIO_STREAM_STATE
LOCAL_AUDIO_STREAM_STATE
Definition: AgoraBase.h:3014
agora::rtc::IRemoteAudioTrack::muteRemoteFromTimestamp
virtual int muteRemoteFromTimestamp(uint32_t timestamp)=0
agora::rtc::AudioSinkWants
Definition: NGIAgoraAudioTrack.h:29
agora::rtc::IAudioTrack::addAudioFilter
virtual bool addAudioFilter(agora_refptr< IAudioFilter > filter, AudioFilterPosition position, ExtensionContext *extContext=NULL, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::RefCountInterface
Definition: AgoraRefPtr.h:31
agora::rtc::RemoteAudioTrackStats::new_e2e_delay_ms
int32_t new_e2e_delay_ms
Definition: NGIAgoraAudioTrack.h:602
agora::rtc::IRemoteAudioTrack::adjustAudioDeceleration
virtual int adjustAudioDeceleration(int percentage, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::IAudioTrack::PcmSource
@ PcmSource
Definition: NGIAgoraAudioTrack.h:67
agora::rtc::IAudioTrack::enableAudioFilter
virtual int enableAudioFilter(const char *id, bool enable, AudioFilterPosition position, aosl_ref_t ares=AOSL_REF_INVALID)
Definition: NGIAgoraAudioTrack.h:133
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::pushed_audio_frames
uint32_t pushed_audio_frames
Definition: NGIAgoraAudioTrack.h:270
agora::rtc::IAudioTrack::removeAudioSink
virtual bool removeAudioSink(agora_refptr< IAudioSinkBase > sink, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::RemoteAudioTrackStats::preemptive_expand_rate
uint16_t preemptive_expand_rate
Definition: NGIAgoraAudioTrack.h:537
agora::rtc::RemoteAudioTrackStats::burst_peak_num
uint32_t burst_peak_num
Definition: NGIAgoraAudioTrack.h:517
agora::rtc::IAudioTrack::removeAudioFilter
virtual bool removeAudioFilter(agora_refptr< IAudioFilter > filter, AudioFilterPosition position, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::RemoteAudioTrackStats::total_stream_duration
int32_t total_stream_duration
Definition: NGIAgoraAudioTrack.h:620
agora::rtc::IAudioTrack::AudioFilterPosition
AudioFilterPosition
Definition: NGIAgoraAudioTrack.h:51
agora::rtc::AudioSinkWants::samplesPerSec
int samplesPerSec
Definition: NGIAgoraAudioTrack.h:31
agora::rtc::RemoteAudioTrackStats::e2e_delay_ms
int32_t e2e_delay_ms
Definition: NGIAgoraAudioTrack.h:597
agora::rtc::AUDIO_CODEC_OPUS
@ AUDIO_CODEC_OPUS
Definition: AgoraBase.h:1340
agora::rtc::RemoteAudioTrackStats::frozen_count_10_ms
uint16_t frozen_count_10_ms
Definition: NGIAgoraAudioTrack.h:586
agora::rtc::RemoteAudioTrackStats::codec_type
int32_t codec_type
Definition: NGIAgoraAudioTrack.h:655
agora::rtc::RemoteAudioTrackStats::frozen_rate_by_custom_plc_count
uint32_t frozen_rate_by_custom_plc_count
Definition: NGIAgoraAudioTrack.h:574
agora::rtc::ILocalAudioTrack::unregisterTrackObserver
virtual int unregisterTrackObserver(ILocalAudioTrackObserver *observer)=0
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::enabled
bool enabled
Definition: NGIAgoraAudioTrack.h:290
agora::rtc::RemoteAudioTrackStats::total_frozen_time
int total_frozen_time
Definition: NGIAgoraAudioTrack.h:465
agora::rtc::ILocalAudioTrack::ClearSenderBuffer
virtual int ClearSenderBuffer()=0
agora::rtc::IRemoteAudioTrack::unregisterAudioEncodedFrameReceiver
virtual int unregisterAudioEncodedFrameReceiver(IAudioEncodedFrameReceiver *packetReceiver)=0
agora::rtc::IAudioTrack::RecordingLocalPlayback
@ RecordingLocalPlayback
Definition: NGIAgoraAudioTrack.h:55
agora::rtc::RemoteAudioTrackStats::downlink_effect_type
int32_t downlink_effect_type
Definition: NGIAgoraAudioTrack.h:615
agora::rtc::ILocalAudioTrackObserver::onLocalAudioTrackStateChanged
virtual void onLocalAudioTrackStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_REASON reasonCode)=0
agora::rtc::RemoteAudioTrackStats::jitter_buffer_delay
uint32_t jitter_buffer_delay
Definition: NGIAgoraAudioTrack.h:443
agora::rtc::RemoteAudioTrackStats::expanded_noise_samples
size_t expanded_noise_samples
Definition: NGIAgoraAudioTrack.h:485
agora::rtc::IAudioTrack::PcmSourceLocalPlayback
@ PcmSourceLocalPlayback
Definition: NGIAgoraAudioTrack.h:75
agora::rtc::AudioSinkWants::AudioSinkWants
AudioSinkWants(int sampleRate, size_t chs, int trackNum)
Definition: NGIAgoraAudioTrack.h:40
agora::rtc::RemoteAudioTrackStats::max_sequence_number
uint16_t max_sequence_number
Definition: NGIAgoraAudioTrack.h:497
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::source_id
uint32_t source_id
Definition: NGIAgoraAudioTrack.h:251
agora::rtc::IRemoteAudioTrack
Definition: NGIAgoraAudioTrack.h:801
agora::rtc::LOCAL_AUDIO_STREAM_REASON
LOCAL_AUDIO_STREAM_REASON
Definition: AgoraBase.h:3036