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
13 // FIXME(Ender): use this class instead of AudioSendStream as local track
14 namespace agora {
15 namespace rtc {
16 class IAudioTrackStateObserver;
17 class IAudioFilter;
18 class IAudioSinkBase;
19 class IMediaPacketReceiver;
20 class IAudioEncodedFrameReceiver;
28 struct AudioSinkWants {
30 int samplesPerSec;
31
33 size_t channels;
34
35 AudioSinkWants() : samplesPerSec(0),
36 channels(0) {}
37 AudioSinkWants(int sampleRate, size_t chs) : samplesPerSec(sampleRate),
38 channels(chs) {}
39 AudioSinkWants(int sampleRate, size_t chs, int trackNum) : samplesPerSec(sampleRate), channels(chs) {}
40 };
41
45 class IAudioTrack : public RefCountInterface {
46 public:
50 enum AudioFilterPosition {
54 RecordingLocalPlayback,
58 PostAudioProcessing,
62 RemoteUserPlayback,
66 PcmSource,
70 PcmSourceSending,
74 PcmSourceLocalPlayback,
78 RemoteMixedPlayback,
79 };
80
81 public:
89 virtual int adjustPlayoutVolume(int volume) = 0;
90
98 virtual int getPlayoutVolume(int* volume) = 0;
99
110 virtual bool addAudioFilter(agora_refptr<IAudioFilter> filter, AudioFilterPosition position) = 0;
120 virtual bool removeAudioFilter(agora_refptr<IAudioFilter> filter, AudioFilterPosition position) = 0;
121
131 virtual int enableAudioFilter(const char* id, bool enable, AudioFilterPosition position) {
132 (void)id;
133 (void)enable;
134 (void)position;
135 return -1;
136 }
137
148 virtual int setFilterProperty(const char* id, const char* key, const char* jsonValue, AudioFilterPosition position) {
149 (void)id;
150 (void)key;
151 (void)jsonValue;
152 (void)position;
153 return -1;
154 }
155
167 virtual int getFilterProperty(const char* id, const char* key, char* jsonValue, size_t bufSize, AudioFilterPosition position) {
168 (void)id;
169 (void)key;
170 (void)jsonValue;
171 (void)bufSize;
172 (void)position;
173 return -1;
174 }
175
185 virtual agora_refptr<IAudioFilter> getAudioFilter(const char *name, AudioFilterPosition position) const = 0;
186
196 virtual bool addAudioSink(agora_refptr<IAudioSinkBase> sink, const AudioSinkWants& wants) = 0;
197
206 virtual bool removeAudioSink(agora_refptr<IAudioSinkBase> sink) = 0;
207 };
208
212 class ILocalAudioTrackObserver {
213 public:
214 virtual ~ILocalAudioTrackObserver() {}
215
222 virtual void onLocalAudioTrackStateChanged(LOCAL_AUDIO_STREAM_STATE state,
223 LOCAL_AUDIO_STREAM_ERROR errorCode) = 0;
224 };
225
240 class ILocalAudioTrack : public IAudioTrack {
241 public:
245 struct LocalAudioTrackStats {
249 uint32_t source_id;
256 uint32_t buffered_pcm_data_list_size;
260 uint32_t missed_audio_frames;
264 uint32_t sent_audio_frames;
268 uint32_t pushed_audio_frames;
272 uint32_t dropped_audio_frames;
276 uint32_t playout_audio_frames;
280 uint32_t effect_type;
284 uint32_t hw_ear_monitor;
288 bool enabled;
292 uint32_t audio_volume; // [0,255]
293
294 LocalAudioTrackStats() : source_id(0),
295 buffered_pcm_data_list_size(0),
296 missed_audio_frames(0),
297 sent_audio_frames(0),
298 pushed_audio_frames(0),
299 dropped_audio_frames(0),
300 playout_audio_frames(0),
301 effect_type(0),
302 hw_ear_monitor(0),
303 enabled(false),
304 audio_volume(0) {}
305 };
306
307 public:
317 virtual void setEnabled(bool enable) = 0;
318
325 virtual bool isEnabled() const = 0;
326
331 virtual LOCAL_AUDIO_STREAM_STATE getState() = 0;
332
337 virtual LocalAudioTrackStats GetStats() = 0;
338
347 virtual int adjustPublishVolume(int volume) = 0;
348
356 virtual int getPublishVolume(int* volume) = 0;
357
370 virtual int enableLocalPlayback(bool enable, bool sync = true) = 0;
371
383 virtual int enableEarMonitor(bool enable, int includeAudioFilters) = 0;
392 virtual int registerTrackObserver(ILocalAudioTrackObserver* observer) = 0;
401 virtual int unregisterTrackObserver(ILocalAudioTrackObserver* observer) = 0;
402
408 virtual void setMaxBufferedAudioFrameNumber(int number) = 0;
409
416 virtual int ClearSenderBuffer() = 0;
417
418 protected:
419 ~ILocalAudioTrack() {}
420 };
421
425 struct RemoteAudioTrackStats {
429 uid_t uid;
433 int quality;
437 int network_transport_delay;
441 uint32_t jitter_buffer_delay;
445 int audio_loss_rate;
449 int num_channels;
453 int received_sample_rate;
457 int received_bitrate;
463 int total_frozen_time;
467 int frozen_rate;
471 int64_t received_bytes;
475 int mean_waiting_time;
479 size_t expanded_speech_samples;
483 size_t expanded_noise_samples;
487 uint32_t timestamps_since_last_report;
491 uint16_t min_sequence_number;
495 uint16_t max_sequence_number;
499 int32_t audio_level;
503 uint32_t downlink_process_time_ms;
507 uint32_t packet_expired_loss;
511 uint32_t packet_max_expired_ms;
515 uint32_t burst_peak_num;
519 uint32_t burst_jitter;
523 uint32_t target_level_base_ms;
527 uint32_t target_level_prefered_ms;
531 uint16_t accelerate_rate;
535 uint16_t preemptive_expand_rate;
539 uint16_t frozen_count_80_ms;
543 uint16_t frozen_time_80_ms;
547 uint16_t frozen_count_200_ms;
551 uint16_t frozen_time_200_ms;
555 uint32_t delay_estimate_ms;
559 uint32_t mos_value;
564 uint32_t frozen_rate_by_custom_plc_count;
568 uint32_t plc_count;
572 int32_t fec_decode_ms;
577 uint64_t total_active_time;
581 uint64_t publish_duration;
582
583 int32_t e2e_delay_ms;
587 int qoe_quality;
591 int32_t quality_changed_reason;
592
596 int32_t downlink_effect_type;
597
598 RemoteAudioTrackStats() :
599 uid(0),
600 quality(0),
601 network_transport_delay(0),
602 jitter_buffer_delay(0),
603 audio_loss_rate(0),
604 num_channels(0),
605 received_sample_rate(0),
606 received_bitrate(0),
607 total_frozen_time(0),
608 frozen_rate(0),
609 received_bytes(0),
610 mean_waiting_time(0),
611 expanded_speech_samples(0),
612 expanded_noise_samples(0),
613 timestamps_since_last_report(0),
614 min_sequence_number(0xFFFF),
615 max_sequence_number(0),
616 audio_level(0),
617 downlink_process_time_ms(0),
618 packet_expired_loss(0),
619 packet_max_expired_ms(0),
620 burst_peak_num(0),
621 burst_jitter(0),
622 target_level_base_ms(0),
623 target_level_prefered_ms(0),
624 accelerate_rate(0),
625 preemptive_expand_rate(0),
626 frozen_count_80_ms(0),
627 frozen_time_80_ms(0),
628 frozen_count_200_ms(0),
629 frozen_time_200_ms(0),
630 delay_estimate_ms(0),
631 mos_value(0),
632 frozen_rate_by_custom_plc_count(0),
633 plc_count(0),
634 fec_decode_ms(-1),
635 total_active_time(0),
636 publish_duration(0),
637 e2e_delay_ms(0),
638 qoe_quality(0),
639 quality_changed_reason(0),
640 downlink_effect_type(0) {}
641 };
642
646 class IRemoteAudioTrack : public IAudioTrack {
647 public:
655 virtual bool getStatistics(RemoteAudioTrackStats& stats) = 0;
656
661 virtual REMOTE_AUDIO_STATE getState() = 0;
662
675 virtual int registerMediaPacketReceiver(IMediaPacketReceiver* packetReceiver) = 0;
676
684 virtual int unregisterMediaPacketReceiver(IMediaPacketReceiver* packetReceiver) = 0;
685
698 virtual int registerAudioEncodedFrameReceiver(IAudioEncodedFrameReceiver* packetReceiver) = 0;
699
707 virtual int unregisterAudioEncodedFrameReceiver(IAudioEncodedFrameReceiver* packetReceiver) = 0;
708
721 virtual int setRemoteVoicePosition(float pan, float gain) = 0;
722
734 virtual int adjustDecodedAudioVolume(int decoded_index, int volume) = 0;
735
746 virtual int muteRemoteFromTimestamp(uint32_t timestamp) = 0;
747
758 virtual int unmuteRemoteFromTimestamp(uint32_t timestamp) = 0;
759
773 virtual int adjustAudioAcceleration(int percentage) = 0;
774
788 virtual int adjustAudioDeceleration(int percentage) = 0;
789
799 virtual int enableSpatialAudio(bool enabled) = 0;
800
809 virtual int setRemoteUserSpatialAudioParams(const agora::SpatialAudioParams& params) = 0;
810 };
811
812 } // namespace rtc
813 } // namespace agora
agora::rtc::ILocalAudioTrack::registerTrackObserver
virtual int registerTrackObserver(ILocalAudioTrackObserver *observer)=0
agora::rtc::IRemoteAudioTrack::enableSpatialAudio
virtual int enableSpatialAudio(bool enabled)=0
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats
Definition: NGIAgoraAudioTrack.h:245
agora::rtc::RemoteAudioTrackStats::target_level_base_ms
uint32_t target_level_base_ms
Definition: NGIAgoraAudioTrack.h:523
agora::rtc::REMOTE_AUDIO_STATE
REMOTE_AUDIO_STATE
Definition: AgoraBase.h:2863
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::hw_ear_monitor
uint32_t hw_ear_monitor
Definition: NGIAgoraAudioTrack.h:284
agora::rtc::RemoteAudioTrackStats::received_bitrate
int received_bitrate
Definition: NGIAgoraAudioTrack.h:457
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:551
AgoraBase.h
agora::rtc::RemoteAudioTrackStats::frozen_count_200_ms
uint16_t frozen_count_200_ms
Definition: NGIAgoraAudioTrack.h:547
agora::rtc::IAudioTrack::getFilterProperty
virtual int getFilterProperty(const char *id, const char *key, char *jsonValue, size_t bufSize, AudioFilterPosition position)
Definition: NGIAgoraAudioTrack.h:167
agora::rtc::uid_t
unsigned int uid_t
Definition: AgoraMediaBase.h:29
agora::rtc::RemoteAudioTrackStats::accelerate_rate
uint16_t accelerate_rate
Definition: NGIAgoraAudioTrack.h:531
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::RemoteAudioTrackStats::uid
uid_t uid
Definition: NGIAgoraAudioTrack.h:429
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::sent_audio_frames
uint32_t sent_audio_frames
Definition: NGIAgoraAudioTrack.h:264
agora::rtc::ILocalAudioTrack::~ILocalAudioTrack
~ILocalAudioTrack()
Definition: NGIAgoraAudioTrack.h:419
agora::rtc::IAudioTrack::RemoteUserPlayback
@ RemoteUserPlayback
Definition: NGIAgoraAudioTrack.h:62
agora::rtc::RemoteAudioTrackStats::delay_estimate_ms
uint32_t delay_estimate_ms
Definition: NGIAgoraAudioTrack.h:555
agora::rtc::RemoteAudioTrackStats::received_sample_rate
int received_sample_rate
Definition: NGIAgoraAudioTrack.h:453
agora::rtc::ILocalAudioTrack
Definition: NGIAgoraAudioTrack.h:240
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::dropped_audio_frames
uint32_t dropped_audio_frames
Definition: NGIAgoraAudioTrack.h:272
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:539
agora::rtc::ILocalAudioTrack::adjustPublishVolume
virtual int adjustPublishVolume(int volume)=0
agora::rtc::ILocalAudioTrack::GetStats
virtual LocalAudioTrackStats GetStats()=0
agora::rtc::RemoteAudioTrackStats::frozen_rate
int frozen_rate
Definition: NGIAgoraAudioTrack.h:467
agora::rtc::RemoteAudioTrackStats::RemoteAudioTrackStats
RemoteAudioTrackStats()
Definition: NGIAgoraAudioTrack.h:598
agora::rtc::AudioSinkWants::channels
size_t channels
Definition: NGIAgoraAudioTrack.h:33
agora::rtc::IAudioTrack::getPlayoutVolume
virtual int getPlayoutVolume(int *volume)=0
agora::rtc::IRemoteAudioTrack::adjustDecodedAudioVolume
virtual int adjustDecodedAudioVolume(int decoded_index, int volume)=0
agora::rtc::RemoteAudioTrackStats
Definition: NGIAgoraAudioTrack.h:425
agora::rtc::IAudioTrack::removeAudioSink
virtual bool removeAudioSink(agora_refptr< IAudioSinkBase > sink)=0
agora::rtc::ILocalAudioTrackObserver::onLocalAudioTrackStateChanged
virtual void onLocalAudioTrackStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR errorCode)=0
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::missed_audio_frames
uint32_t missed_audio_frames
Definition: NGIAgoraAudioTrack.h:260
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::buffered_pcm_data_list_size
uint32_t buffered_pcm_data_list_size
Definition: NGIAgoraAudioTrack.h:256
agora::rtc::IAudioTrack::PostAudioProcessing
@ PostAudioProcessing
Definition: NGIAgoraAudioTrack.h:58
agora::rtc::RemoteAudioTrackStats::burst_jitter
uint32_t burst_jitter
Definition: NGIAgoraAudioTrack.h:519
agora::rtc::ILocalAudioTrackObserver::~ILocalAudioTrackObserver
virtual ~ILocalAudioTrackObserver()
Definition: NGIAgoraAudioTrack.h:214
agora::rtc::ILocalAudioTrack::enableEarMonitor
virtual int enableEarMonitor(bool enable, int includeAudioFilters)=0
agora::rtc::AudioSinkWants::AudioSinkWants
AudioSinkWants()
Definition: NGIAgoraAudioTrack.h:35
agora::rtc::RemoteAudioTrackStats::downlink_process_time_ms
uint32_t downlink_process_time_ms
Definition: NGIAgoraAudioTrack.h:503
agora
Definition: AgoraAtomicOps.h:21
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::playout_audio_frames
uint32_t playout_audio_frames
Definition: NGIAgoraAudioTrack.h:276
agora::rtc::RemoteAudioTrackStats::expanded_speech_samples
size_t expanded_speech_samples
Definition: NGIAgoraAudioTrack.h:479
agora::rtc::RemoteAudioTrackStats::network_transport_delay
int network_transport_delay
Definition: NGIAgoraAudioTrack.h:437
agora::rtc::IAudioTrack::PcmSourceSending
@ PcmSourceSending
Definition: NGIAgoraAudioTrack.h:70
agora::rtc::IRemoteAudioTrack::adjustAudioAcceleration
virtual int adjustAudioAcceleration(int percentage)=0
agora::rtc::RemoteAudioTrackStats::received_bytes
int64_t received_bytes
Definition: NGIAgoraAudioTrack.h:471
agora::rtc::ILocalAudioTrack::getPublishVolume
virtual int getPublishVolume(int *volume)=0
agora::rtc::ILocalAudioTrackObserver
Definition: NGIAgoraAudioTrack.h:212
agora::rtc::ILocalAudioTrack::getState
virtual LOCAL_AUDIO_STREAM_STATE getState()=0
agora::rtc::RemoteAudioTrackStats::audio_loss_rate
int audio_loss_rate
Definition: NGIAgoraAudioTrack.h:445
agora::rtc::RemoteAudioTrackStats::packet_max_expired_ms
uint32_t packet_max_expired_ms
Definition: NGIAgoraAudioTrack.h:511
agora::rtc::RemoteAudioTrackStats::publish_duration
uint64_t publish_duration
Definition: NGIAgoraAudioTrack.h:581
agora::rtc::IAudioTrack
Definition: NGIAgoraAudioTrack.h:45
agora::rtc::ILocalAudioTrack::isEnabled
virtual bool isEnabled() const =0
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::LocalAudioTrackStats
LocalAudioTrackStats()
Definition: NGIAgoraAudioTrack.h:294
agora::rtc::RemoteAudioTrackStats::min_sequence_number
uint16_t min_sequence_number
Definition: NGIAgoraAudioTrack.h:491
agora::rtc::RemoteAudioTrackStats::mos_value
uint32_t mos_value
Definition: NGIAgoraAudioTrack.h:559
agora::rtc::RemoteAudioTrackStats::mean_waiting_time
int mean_waiting_time
Definition: NGIAgoraAudioTrack.h:475
agora::rtc::ILocalAudioTrack::setMaxBufferedAudioFrameNumber
virtual void setMaxBufferedAudioFrameNumber(int number)=0
agora::rtc::IRemoteAudioTrack::setRemoteVoicePosition
virtual int setRemoteVoicePosition(float pan, float gain)=0
agora::rtc::IRemoteAudioTrack::unregisterMediaPacketReceiver
virtual int unregisterMediaPacketReceiver(IMediaPacketReceiver *packetReceiver)=0
agora::rtc::RemoteAudioTrackStats::quality_changed_reason
int32_t quality_changed_reason
Definition: NGIAgoraAudioTrack.h:591
agora::rtc::IAudioEncodedFrameReceiver
Definition: NGIAgoraMediaNode.h:561
agora::rtc::RemoteAudioTrackStats::frozen_time_80_ms
uint16_t frozen_time_80_ms
Definition: NGIAgoraAudioTrack.h:543
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::audio_volume
uint32_t audio_volume
Definition: NGIAgoraAudioTrack.h:292
agora::rtc::IRemoteAudioTrack::adjustAudioDeceleration
virtual int adjustAudioDeceleration(int percentage)=0
agora::rtc::IAudioTrack::removeAudioFilter
virtual bool removeAudioFilter(agora_refptr< IAudioFilter > filter, AudioFilterPosition position)=0
agora::rtc::RemoteAudioTrackStats::audio_level
int32_t audio_level
Definition: NGIAgoraAudioTrack.h:499
agora::rtc::LOCAL_AUDIO_STREAM_ERROR
LOCAL_AUDIO_STREAM_ERROR
Definition: AgoraBase.h:2668
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::effect_type
uint32_t effect_type
Definition: NGIAgoraAudioTrack.h:280
agora::rtc::RemoteAudioTrackStats::quality
int quality
Definition: NGIAgoraAudioTrack.h:433
agora::rtc::IMediaPacketReceiver
Definition: NGIAgoraMediaNode.h:581
agora::rtc::RemoteAudioTrackStats::fec_decode_ms
int32_t fec_decode_ms
Definition: NGIAgoraAudioTrack.h:572
agora::rtc::RemoteAudioTrackStats::num_channels
int num_channels
Definition: NGIAgoraAudioTrack.h:449
agora::rtc::IRemoteAudioTrack::getStatistics
virtual bool getStatistics(RemoteAudioTrackStats &stats)=0
agora::rtc::RemoteAudioTrackStats::plc_count
uint32_t plc_count
Definition: NGIAgoraAudioTrack.h:568
agora::rtc::IAudioTrack::adjustPlayoutVolume
virtual int adjustPlayoutVolume(int volume)=0
agora::rtc::RemoteAudioTrackStats::qoe_quality
int qoe_quality
Definition: NGIAgoraAudioTrack.h:587
agora::rtc::RemoteAudioTrackStats::total_active_time
uint64_t total_active_time
Definition: NGIAgoraAudioTrack.h:577
agora::rtc::ILocalAudioTrack::setEnabled
virtual void setEnabled(bool enable)=0
agora::rtc::IAudioTrack::addAudioSink
virtual bool addAudioSink(agora_refptr< IAudioSinkBase > sink, const AudioSinkWants &wants)=0
agora::rtc::IAudioTrack::enableAudioFilter
virtual int enableAudioFilter(const char *id, bool enable, AudioFilterPosition position)
Definition: NGIAgoraAudioTrack.h:131
agora::rtc::AudioSinkWants::AudioSinkWants
AudioSinkWants(int sampleRate, size_t chs)
Definition: NGIAgoraAudioTrack.h:37
agora::rtc::RemoteAudioTrackStats::packet_expired_loss
uint32_t packet_expired_loss
Definition: NGIAgoraAudioTrack.h:507
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:527
agora::rtc::RemoteAudioTrackStats::timestamps_since_last_report
uint32_t timestamps_since_last_report
Definition: NGIAgoraAudioTrack.h:487
agora::rtc::IAudioTrack::RemoteMixedPlayback
@ RemoteMixedPlayback
Definition: NGIAgoraAudioTrack.h:78
agora::rtc::LOCAL_AUDIO_STREAM_STATE
LOCAL_AUDIO_STREAM_STATE
Definition: AgoraBase.h:2646
agora::rtc::IRemoteAudioTrack::muteRemoteFromTimestamp
virtual int muteRemoteFromTimestamp(uint32_t timestamp)=0
agora::rtc::AudioSinkWants
Definition: NGIAgoraAudioTrack.h:28
agora::RefCountInterface
Definition: AgoraRefPtr.h:31
agora::rtc::IRemoteAudioTrack::registerMediaPacketReceiver
virtual int registerMediaPacketReceiver(IMediaPacketReceiver *packetReceiver)=0
agora::rtc::IAudioTrack::PcmSource
@ PcmSource
Definition: NGIAgoraAudioTrack.h:66
agora::rtc::ILocalAudioTrack::enableLocalPlayback
virtual int enableLocalPlayback(bool enable, bool sync=true)=0
agora::rtc::IAudioTrack::setFilterProperty
virtual int setFilterProperty(const char *id, const char *key, const char *jsonValue, AudioFilterPosition position)
Definition: NGIAgoraAudioTrack.h:148
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::pushed_audio_frames
uint32_t pushed_audio_frames
Definition: NGIAgoraAudioTrack.h:268
agora::rtc::RemoteAudioTrackStats::preemptive_expand_rate
uint16_t preemptive_expand_rate
Definition: NGIAgoraAudioTrack.h:535
agora::rtc::RemoteAudioTrackStats::burst_peak_num
uint32_t burst_peak_num
Definition: NGIAgoraAudioTrack.h:515
agora::rtc::IAudioTrack::AudioFilterPosition
AudioFilterPosition
Definition: NGIAgoraAudioTrack.h:50
agora::rtc::AudioSinkWants::samplesPerSec
int samplesPerSec
Definition: NGIAgoraAudioTrack.h:30
agora::rtc::RemoteAudioTrackStats::e2e_delay_ms
int32_t e2e_delay_ms
Definition: NGIAgoraAudioTrack.h:583
agora::rtc::RemoteAudioTrackStats::frozen_rate_by_custom_plc_count
uint32_t frozen_rate_by_custom_plc_count
Definition: NGIAgoraAudioTrack.h:564
agora::rtc::ILocalAudioTrack::unregisterTrackObserver
virtual int unregisterTrackObserver(ILocalAudioTrackObserver *observer)=0
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::enabled
bool enabled
Definition: NGIAgoraAudioTrack.h:288
agora::rtc::RemoteAudioTrackStats::total_frozen_time
int total_frozen_time
Definition: NGIAgoraAudioTrack.h:463
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:54
agora::rtc::RemoteAudioTrackStats::downlink_effect_type
int32_t downlink_effect_type
Definition: NGIAgoraAudioTrack.h:596
agora::rtc::IAudioTrack::addAudioFilter
virtual bool addAudioFilter(agora_refptr< IAudioFilter > filter, AudioFilterPosition position)=0
agora::rtc::RemoteAudioTrackStats::jitter_buffer_delay
uint32_t jitter_buffer_delay
Definition: NGIAgoraAudioTrack.h:441
agora::rtc::RemoteAudioTrackStats::expanded_noise_samples
size_t expanded_noise_samples
Definition: NGIAgoraAudioTrack.h:483
agora::rtc::IAudioTrack::PcmSourceLocalPlayback
@ PcmSourceLocalPlayback
Definition: NGIAgoraAudioTrack.h:74
agora::rtc::AudioSinkWants::AudioSinkWants
AudioSinkWants(int sampleRate, size_t chs, int trackNum)
Definition: NGIAgoraAudioTrack.h:39
agora::rtc::IRemoteAudioTrack::registerAudioEncodedFrameReceiver
virtual int registerAudioEncodedFrameReceiver(IAudioEncodedFrameReceiver *packetReceiver)=0
agora::rtc::RemoteAudioTrackStats::max_sequence_number
uint16_t max_sequence_number
Definition: NGIAgoraAudioTrack.h:495
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::source_id
uint32_t source_id
Definition: NGIAgoraAudioTrack.h:249
agora::rtc::IRemoteAudioTrack
Definition: NGIAgoraAudioTrack.h:646