Agora C++ API Reference for All Platforms

Loading...
Searching...
No Matches
NGIAgoraAudioTrack.h
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#ifndef OPTIONAL_OVERRIDE
15#if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1800)
16#define OPTIONAL_OVERRIDE override
17#else
18#define OPTIONAL_OVERRIDE
19#endif
20#endif
21
22// FIXME(Ender): use this class instead of AudioSendStream as local track
23namespace agora {
24namespace rtc {
25class IAudioTrackStateObserver;
26class IAudioFilter;
27class IAudioSinkBase;
28class IMediaPacketReceiver;
29class IAudioEncodedFrameReceiver;
37 struct AudioSinkWants {
39 int samplesPerSec;
40
42 size_t channels;
43
44 AudioSinkWants() : samplesPerSec(0),
45 channels(0) {}
46 AudioSinkWants(int sampleRate, size_t chs) : samplesPerSec(sampleRate),
47 channels(chs) {}
48 AudioSinkWants(int sampleRate, size_t chs, int trackNum) : samplesPerSec(sampleRate), channels(chs) {}
49};
50
51 enum AudioTrackType {
52 LOCAL_AUDIO_TRACK,
53 REMOTE_AUDIO_TRACK,
54};
55
59 class IAudioTrack : public RefCountInterface {
60 public:
64 enum AudioFilterPosition {
68 RecordingLocalPlayback,
72 PostAudioProcessing,
76 RemoteUserPlayback,
80 PcmSource,
84 PcmSourceSending,
88 PcmSourceLocalPlayback,
92 RemoteMixedPlayback,
93 };
94
95 public:
103 virtual int adjustPlayoutVolume(int volume, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
104
112 virtual int getPlayoutVolume(int* volume) = 0;
113
125 virtual bool addAudioFilter(agora_refptr<IAudioFilter> filter, AudioFilterPosition position, ExtensionContext *extContext = NULL, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
135 virtual bool removeAudioFilter(agora_refptr<IAudioFilter> filter, AudioFilterPosition position, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
136
146 virtual int enableAudioFilter(const char* id, bool enable, AudioFilterPosition position, aosl_ref_t ares = AOSL_REF_INVALID) {
147 (void)id;
148 (void)enable;
149 (void)position;
150 return -1;
151 }
152
163 virtual int setFilterProperty(const char* id, const char* key, const char* jsonValue, AudioFilterPosition position, aosl_ref_t ares = AOSL_REF_INVALID) {
164 (void)id;
165 (void)key;
166 (void)jsonValue;
167 (void)position;
168 return -1;
169 }
170
182 virtual int getFilterProperty(const char* id, const char* key, char* jsonValue, size_t bufSize, AudioFilterPosition position) {
183 (void)id;
184 (void)key;
185 (void)jsonValue;
186 (void)bufSize;
187 (void)position;
188 return -1;
189 }
190
200 virtual agora_refptr<IAudioFilter> getAudioFilter(const char *name, AudioFilterPosition position) const = 0;
201
211 virtual bool addAudioSink(agora_refptr<IAudioSinkBase> sink, const AudioSinkWants& wants, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
212
221 virtual bool removeAudioSink(agora_refptr<IAudioSinkBase> sink, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
227 virtual AudioTrackType getType() = 0;
228
229};
230
234 class ILocalAudioTrackObserver {
235 public:
236 virtual ~ILocalAudioTrackObserver() {}
237
244 virtual void onLocalAudioTrackStateChanged(LOCAL_AUDIO_STREAM_STATE state,
245 LOCAL_AUDIO_STREAM_REASON reasonCode) = 0;
246};
247
262 class ILocalAudioTrack : public IAudioTrack {
263 public:
267 struct LocalAudioTrackStats {
271 uint32_t source_id;
278 uint32_t buffered_pcm_data_list_size;
282 uint32_t missed_audio_frames;
286 uint32_t sent_audio_frames;
290 uint32_t pushed_audio_frames;
294 uint32_t dropped_audio_frames;
298 uint32_t playout_audio_frames;
302 uint32_t effect_type;
306 uint32_t hw_ear_monitor;
310 bool enabled;
314 uint32_t audio_volume; // [0,255]
315
316 LocalAudioTrackStats() : source_id(0),
317 buffered_pcm_data_list_size(0),
318 missed_audio_frames(0),
319 sent_audio_frames(0),
320 pushed_audio_frames(0),
321 dropped_audio_frames(0),
322 playout_audio_frames(0),
323 effect_type(0),
324 hw_ear_monitor(0),
325 enabled(false),
326 audio_volume(0) {}
327 };
328
329 public:
339 virtual int setEnabled(bool enable, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
340
347 virtual bool isEnabled() const = 0;
348
353 virtual LOCAL_AUDIO_STREAM_STATE getState() = 0;
354
359 virtual LocalAudioTrackStats GetStats() = 0;
360
369 virtual int adjustPublishVolume(int volume, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
370
378 virtual int getPublishVolume(int* volume) = 0;
379
392 virtual int enableLocalPlayback(bool enable, bool sync = true, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
393
405 virtual int enableEarMonitor(bool enable, int includeAudioFilters, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
414 virtual int registerTrackObserver(ILocalAudioTrackObserver* observer, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
423 virtual int unregisterTrackObserver(ILocalAudioTrackObserver* observer) = 0;
424
430 virtual void setMaxBufferedAudioFrameNumber(int number, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
431
438 virtual int ClearSenderBuffer() = 0;
444 virtual AudioTrackType getType() OPTIONAL_OVERRIDE { return LOCAL_AUDIO_TRACK; }
445
446
447 protected:
448 ~ILocalAudioTrack() {}
449};
450
454 struct RemoteAudioTrackStats {
458 uid_t uid;
462 int quality;
466 int network_transport_delay;
470 uint32_t jitter_buffer_delay;
474 int audio_loss_rate;
478 int num_channels;
482 int received_sample_rate;
486 int received_bitrate;
492 int total_frozen_time;
496 int frozen_rate;
500 int64_t received_bytes;
504 int mean_waiting_time;
508 size_t expanded_speech_samples;
512 size_t expanded_noise_samples;
516 uint32_t timestamps_since_last_report;
520 uint16_t min_sequence_number;
524 uint16_t max_sequence_number;
528 int32_t audio_level;
532 uint32_t downlink_process_time_ms;
536 uint32_t packet_expired_loss;
540 uint32_t packet_max_expired_ms;
544 uint32_t burst_peak_num;
548 uint32_t burst_jitter;
552 uint32_t target_level_base_ms;
556 uint32_t target_level_prefered_ms;
560 uint16_t accelerate_rate;
564 uint16_t preemptive_expand_rate;
568 uint16_t frozen_count_80_ms;
572 uint16_t frozen_time_80_ms;
576 uint16_t frozen_count_200_ms;
580 uint16_t frozen_time_200_ms;
581
585 uint16_t frozen_count_by_custom;
589 uint16_t frozen_time_ms_by_custom;
593 uint16_t full_frozen_time_80_ms;
597 uint16_t full_frozen_time_200_ms;
601 uint32_t delay_estimate_ms;
605 uint32_t mos_value;
610 uint32_t frozen_rate_by_custom_plc_count;
614 uint32_t plc_count;
618 int32_t fec_decode_ms;
622 uint16_t frozen_count_10_ms;
627 uint64_t total_active_time;
631 uint64_t publish_duration;
632
633 int32_t e2e_delay_ms;
634
638 int32_t new_e2e_delay_ms;
642 int qoe_quality;
646 int32_t quality_changed_reason;
647
651 int32_t downlink_effect_type;
652
653 RemoteAudioTrackStats() :
654 uid(0),
655 quality(0),
656 network_transport_delay(0),
657 jitter_buffer_delay(0),
658 audio_loss_rate(0),
659 num_channels(0),
660 received_sample_rate(0),
661 received_bitrate(0),
662 total_frozen_time(0),
663 frozen_rate(0),
664 received_bytes(0),
665 mean_waiting_time(0),
666 expanded_speech_samples(0),
667 expanded_noise_samples(0),
668 timestamps_since_last_report(0),
669 min_sequence_number(0xFFFF),
670 max_sequence_number(0),
671 audio_level(0),
672 downlink_process_time_ms(0),
673 packet_expired_loss(0),
674 packet_max_expired_ms(0),
675 burst_peak_num(0),
676 burst_jitter(0),
677 target_level_base_ms(0),
678 target_level_prefered_ms(0),
679 accelerate_rate(0),
680 preemptive_expand_rate(0),
681 frozen_count_80_ms(0),
682 frozen_time_80_ms(0),
683 frozen_count_200_ms(0),
684 frozen_time_200_ms(0),
685 full_frozen_time_80_ms(0),
686 full_frozen_time_200_ms(0),
687 frozen_count_by_custom(0),
688 frozen_time_ms_by_custom(0),
689 delay_estimate_ms(0),
690 mos_value(0),
691 frozen_rate_by_custom_plc_count(0),
692 plc_count(0),
693 fec_decode_ms(-1),
694 frozen_count_10_ms(0),
695 total_active_time(0),
696 publish_duration(0),
697 e2e_delay_ms(0),
698 new_e2e_delay_ms(0),
699 qoe_quality(0),
700 quality_changed_reason(0),
701 downlink_effect_type(0) {}
702};
703
704
709 struct AudioEncFrameRecvParams {
710
714 enum ReceiveMode {
718 ORIGINAL = 0,
719
727 MATCHED_CODEC = 1,
728
737 MATCHED_ALL = 2,
738 };
739
743 ReceiveMode receive_mode;
744
748 AUDIO_CODEC_TYPE target_codec;
749
753 int32_t target_sample_rate;
754
758 int32_t target_num_channels;
759
760
761 AudioEncFrameRecvParams() :
762 receive_mode(ORIGINAL),
763 target_codec(AUDIO_CODEC_AACLC),
764 target_sample_rate(0),
765 target_num_channels(0) {}
766
767 AudioEncFrameRecvParams(const AudioEncFrameRecvParams& src_params) {
768 receive_mode = src_params.receive_mode;
769 target_codec = src_params.target_codec;
770 target_sample_rate = src_params.target_sample_rate;
771 target_num_channels = src_params.target_num_channels;
772 }
773};
774
778 class IRemoteAudioTrack : public IAudioTrack {
779 public:
787 virtual bool getStatistics(RemoteAudioTrackStats& stats) = 0;
788
793 virtual REMOTE_AUDIO_STATE getState() = 0;
794
807 virtual int registerMediaPacketReceiver(IMediaPacketReceiver* packetReceiver, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
808
816 virtual int unregisterMediaPacketReceiver(IMediaPacketReceiver* packetReceiver) = 0;
817
831 virtual int registerAudioEncodedFrameReceiver(IAudioEncodedFrameReceiver* packetReceiver,
832 const AudioEncFrameRecvParams& recvParams,
833 aosl_ref_t ares = AOSL_REF_INVALID) = 0;
841 virtual int unregisterAudioEncodedFrameReceiver(IAudioEncodedFrameReceiver* packetReceiver) = 0;
842
855 virtual int setRemoteVoicePosition(float pan, float gain, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
856
868 virtual int adjustDecodedAudioVolume(int decoded_index, int volume, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
869
880 virtual int muteRemoteFromTimestamp(uint32_t timestamp) = 0;
881
892 virtual int unmuteRemoteFromTimestamp(uint32_t timestamp) = 0;
893
907 virtual int adjustAudioAcceleration(int percentage, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
908
922 virtual int adjustAudioDeceleration(int percentage, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
923
933 virtual int enableSpatialAudio(bool enabled, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
934
943 virtual int setRemoteUserSpatialAudioParams(const agora::SpatialAudioParams& params, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
944
945 virtual AudioTrackType getType() OPTIONAL_OVERRIDE { return REMOTE_AUDIO_TRACK; }
946
947};
948
949} // namespace rtc
950} // namespace agora
agora::RefCountInterface
Definition AgoraRefPtr.h:31
agora::agora_refptr
Definition AgoraRefPtr.h:44
agora::rtc::IAudioEncodedFrameReceiver
Definition NGIAgoraMediaNode.h:298
agora::rtc::IAudioFilter
Definition AgoraExtensions.h:12
agora::rtc::IAudioSinkBase
Definition NGIAgoraMediaNode.h:424
agora::rtc::IAudioTrack
Definition NGIAgoraAudioTrack.h:59
agora::rtc::IAudioTrack::adjustPlayoutVolume
virtual int adjustPlayoutVolume(int volume, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::IAudioTrack::removeAudioFilter
virtual bool removeAudioFilter(agora_refptr< IAudioFilter > filter, AudioFilterPosition position, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::IAudioTrack::getPlayoutVolume
virtual int getPlayoutVolume(int *volume)=0
agora::rtc::IAudioTrack::removeAudioSink
virtual bool removeAudioSink(agora_refptr< IAudioSinkBase > sink, 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:163
agora::rtc::IAudioTrack::addAudioSink
virtual bool addAudioSink(agora_refptr< IAudioSinkBase > sink, const AudioSinkWants &wants, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::IAudioTrack::enableAudioFilter
virtual int enableAudioFilter(const char *id, bool enable, AudioFilterPosition position, aosl_ref_t ares=AOSL_REF_INVALID)
Definition NGIAgoraAudioTrack.h:146
agora::rtc::IAudioTrack::getType
virtual AudioTrackType getType()=0
agora::rtc::IAudioTrack::getAudioFilter
virtual agora_refptr< IAudioFilter > getAudioFilter(const char *name, AudioFilterPosition position) const =0
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::rtc::IAudioTrack::getFilterProperty
virtual int getFilterProperty(const char *id, const char *key, char *jsonValue, size_t bufSize, AudioFilterPosition position)
Definition NGIAgoraAudioTrack.h:182
agora::rtc::IAudioTrack::AudioFilterPosition
AudioFilterPosition
Definition NGIAgoraAudioTrack.h:64
agora::rtc::IAudioTrack::PcmSource
@ PcmSource
Definition NGIAgoraAudioTrack.h:80
agora::rtc::IAudioTrack::PostAudioProcessing
@ PostAudioProcessing
Definition NGIAgoraAudioTrack.h:72
agora::rtc::IAudioTrack::PcmSourceSending
@ PcmSourceSending
Definition NGIAgoraAudioTrack.h:84
agora::rtc::IAudioTrack::RemoteMixedPlayback
@ RemoteMixedPlayback
Definition NGIAgoraAudioTrack.h:92
agora::rtc::IAudioTrack::RemoteUserPlayback
@ RemoteUserPlayback
Definition NGIAgoraAudioTrack.h:76
agora::rtc::IAudioTrack::RecordingLocalPlayback
@ RecordingLocalPlayback
Definition NGIAgoraAudioTrack.h:68
agora::rtc::IAudioTrack::PcmSourceLocalPlayback
@ PcmSourceLocalPlayback
Definition NGIAgoraAudioTrack.h:88
agora::rtc::ILocalAudioTrack
Definition NGIAgoraAudioTrack.h:262
agora::rtc::ILocalAudioTrack::getPublishVolume
virtual int getPublishVolume(int *volume)=0
agora::rtc::ILocalAudioTrack::setMaxBufferedAudioFrameNumber
virtual void setMaxBufferedAudioFrameNumber(int number, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::ILocalAudioTrack::isEnabled
virtual bool isEnabled() const =0
agora::rtc::ILocalAudioTrack::adjustPublishVolume
virtual int adjustPublishVolume(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::ILocalAudioTrack::setEnabled
virtual int setEnabled(bool enable, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::ILocalAudioTrack::enableLocalPlayback
virtual int enableLocalPlayback(bool enable, bool sync=true, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::ILocalAudioTrack::ClearSenderBuffer
virtual int ClearSenderBuffer()=0
agora::rtc::ILocalAudioTrack::~ILocalAudioTrack
~ILocalAudioTrack()
Definition NGIAgoraAudioTrack.h:448
agora::rtc::ILocalAudioTrack::enableEarMonitor
virtual int enableEarMonitor(bool enable, int includeAudioFilters, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::ILocalAudioTrack::getType
virtual AudioTrackType getType() OPTIONAL_OVERRIDE
Definition NGIAgoraAudioTrack.h:444
agora::rtc::ILocalAudioTrack::getState
virtual LOCAL_AUDIO_STREAM_STATE getState()=0
agora::rtc::ILocalAudioTrack::GetStats
virtual LocalAudioTrackStats GetStats()=0
agora::rtc::ILocalAudioTrack::unregisterTrackObserver
virtual int unregisterTrackObserver(ILocalAudioTrackObserver *observer)=0
agora::rtc::ILocalAudioTrackObserver
Definition NGIAgoraAudioTrack.h:234
agora::rtc::ILocalAudioTrackObserver::~ILocalAudioTrackObserver
virtual ~ILocalAudioTrackObserver()
Definition NGIAgoraAudioTrack.h:236
agora::rtc::ILocalAudioTrackObserver::onLocalAudioTrackStateChanged
virtual void onLocalAudioTrackStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_REASON reasonCode)=0
agora::rtc::IMediaPacketReceiver
Definition NGIAgoraMediaNode.h:318
agora::rtc::IRemoteAudioTrack
Definition NGIAgoraAudioTrack.h:778
agora::rtc::IRemoteAudioTrack::setRemoteVoicePosition
virtual int setRemoteVoicePosition(float pan, float gain, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::IRemoteAudioTrack::adjustAudioDeceleration
virtual int adjustAudioDeceleration(int percentage, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::IRemoteAudioTrack::unregisterAudioEncodedFrameReceiver
virtual int unregisterAudioEncodedFrameReceiver(IAudioEncodedFrameReceiver *packetReceiver)=0
agora::rtc::IRemoteAudioTrack::getStatistics
virtual bool getStatistics(RemoteAudioTrackStats &stats)=0
agora::rtc::IRemoteAudioTrack::unregisterMediaPacketReceiver
virtual int unregisterMediaPacketReceiver(IMediaPacketReceiver *packetReceiver)=0
agora::rtc::IRemoteAudioTrack::muteRemoteFromTimestamp
virtual int muteRemoteFromTimestamp(uint32_t timestamp)=0
agora::rtc::IRemoteAudioTrack::setRemoteUserSpatialAudioParams
virtual int setRemoteUserSpatialAudioParams(const agora::SpatialAudioParams &params, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::IRemoteAudioTrack::registerMediaPacketReceiver
virtual int registerMediaPacketReceiver(IMediaPacketReceiver *packetReceiver, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::IRemoteAudioTrack::getType
virtual AudioTrackType getType() OPTIONAL_OVERRIDE
Definition NGIAgoraAudioTrack.h:945
agora::rtc::IRemoteAudioTrack::getState
virtual REMOTE_AUDIO_STATE getState()=0
agora::rtc::IRemoteAudioTrack::enableSpatialAudio
virtual int enableSpatialAudio(bool enabled, 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::IRemoteAudioTrack::unmuteRemoteFromTimestamp
virtual int unmuteRemoteFromTimestamp(uint32_t timestamp)=0
agora::rtc::IRemoteAudioTrack::adjustAudioAcceleration
virtual int adjustAudioAcceleration(int percentage, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::IRemoteAudioTrack::registerAudioEncodedFrameReceiver
virtual int registerAudioEncodedFrameReceiver(IAudioEncodedFrameReceiver *packetReceiver, const AudioEncFrameRecvParams &recvParams, aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc
Definition AgoraExtensions.h:5
agora::rtc::LOCAL_AUDIO_STREAM_STATE
LOCAL_AUDIO_STREAM_STATE
The state of the local audio.
Definition AgoraBase.h:3404
agora::rtc::LOCAL_AUDIO_STREAM_REASON
LOCAL_AUDIO_STREAM_REASON
Reasons for local audio state changes.
Definition AgoraBase.h:3426
agora::rtc::REMOTE_AUDIO_STATE
REMOTE_AUDIO_STATE
Remote audio states.
Definition AgoraBase.h:3696
agora::rtc::AudioTrackType
AudioTrackType
Definition NGIAgoraAudioTrack.h:51
agora::rtc::LOCAL_AUDIO_TRACK
@ LOCAL_AUDIO_TRACK
Definition NGIAgoraAudioTrack.h:52
agora::rtc::REMOTE_AUDIO_TRACK
@ REMOTE_AUDIO_TRACK
Definition NGIAgoraAudioTrack.h:53
agora::rtc::uid_t
unsigned int uid_t
Definition AgoraMediaBase.h:28
agora::rtc::AUDIO_CODEC_TYPE
AUDIO_CODEC_TYPE
The codec type of audio.
Definition AgoraBase.h:1420
agora::rtc::AUDIO_CODEC_AACLC
@ AUDIO_CODEC_AACLC
Definition AgoraBase.h:1444
agora
Definition AgoraAtomicOps.h:21
agora::SpatialAudioParams
The spatial audio parameters.
Definition AgoraBase.h:8055
agora::rtc::AudioEncFrameRecvParams
Definition NGIAgoraAudioTrack.h:709
agora::rtc::AudioEncFrameRecvParams::target_sample_rate
int32_t target_sample_rate
Definition NGIAgoraAudioTrack.h:753
agora::rtc::AudioEncFrameRecvParams::target_num_channels
int32_t target_num_channels
Definition NGIAgoraAudioTrack.h:758
agora::rtc::AudioEncFrameRecvParams::receive_mode
ReceiveMode receive_mode
Definition NGIAgoraAudioTrack.h:743
agora::rtc::AudioEncFrameRecvParams::AudioEncFrameRecvParams
AudioEncFrameRecvParams()
Definition NGIAgoraAudioTrack.h:761
agora::rtc::AudioEncFrameRecvParams::ReceiveMode
ReceiveMode
Definition NGIAgoraAudioTrack.h:714
agora::rtc::AudioEncFrameRecvParams::MATCHED_ALL
@ MATCHED_ALL
Definition NGIAgoraAudioTrack.h:737
agora::rtc::AudioEncFrameRecvParams::ORIGINAL
@ ORIGINAL
Definition NGIAgoraAudioTrack.h:718
agora::rtc::AudioEncFrameRecvParams::MATCHED_CODEC
@ MATCHED_CODEC
Definition NGIAgoraAudioTrack.h:727
agora::rtc::AudioEncFrameRecvParams::AudioEncFrameRecvParams
AudioEncFrameRecvParams(const AudioEncFrameRecvParams &src_params)
Definition NGIAgoraAudioTrack.h:767
agora::rtc::AudioEncFrameRecvParams::target_codec
AUDIO_CODEC_TYPE target_codec
Definition NGIAgoraAudioTrack.h:748
agora::rtc::AudioSinkWants
Definition NGIAgoraAudioTrack.h:37
agora::rtc::AudioSinkWants::AudioSinkWants
AudioSinkWants(int sampleRate, size_t chs, int trackNum)
Definition NGIAgoraAudioTrack.h:48
agora::rtc::AudioSinkWants::AudioSinkWants
AudioSinkWants()
Definition NGIAgoraAudioTrack.h:44
agora::rtc::AudioSinkWants::AudioSinkWants
AudioSinkWants(int sampleRate, size_t chs)
Definition NGIAgoraAudioTrack.h:46
agora::rtc::AudioSinkWants::samplesPerSec
int samplesPerSec
Definition NGIAgoraAudioTrack.h:39
agora::rtc::AudioSinkWants::channels
size_t channels
Definition NGIAgoraAudioTrack.h:42
agora::rtc::ExtensionContext
The context information of the extension.
Definition AgoraMediaBase.h:41
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats
Definition NGIAgoraAudioTrack.h:267
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::audio_volume
uint32_t audio_volume
Definition NGIAgoraAudioTrack.h:314
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::sent_audio_frames
uint32_t sent_audio_frames
Definition NGIAgoraAudioTrack.h:286
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::hw_ear_monitor
uint32_t hw_ear_monitor
Definition NGIAgoraAudioTrack.h:306
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::missed_audio_frames
uint32_t missed_audio_frames
Definition NGIAgoraAudioTrack.h:282
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::buffered_pcm_data_list_size
uint32_t buffered_pcm_data_list_size
Definition NGIAgoraAudioTrack.h:278
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::playout_audio_frames
uint32_t playout_audio_frames
Definition NGIAgoraAudioTrack.h:298
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::LocalAudioTrackStats
LocalAudioTrackStats()
Definition NGIAgoraAudioTrack.h:316
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::dropped_audio_frames
uint32_t dropped_audio_frames
Definition NGIAgoraAudioTrack.h:294
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::source_id
uint32_t source_id
Definition NGIAgoraAudioTrack.h:271
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::enabled
bool enabled
Definition NGIAgoraAudioTrack.h:310
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::pushed_audio_frames
uint32_t pushed_audio_frames
Definition NGIAgoraAudioTrack.h:290
agora::rtc::ILocalAudioTrack::LocalAudioTrackStats::effect_type
uint32_t effect_type
Definition NGIAgoraAudioTrack.h:302
agora::rtc::RemoteAudioTrackStats
Definition NGIAgoraAudioTrack.h:454
agora::rtc::RemoteAudioTrackStats::new_e2e_delay_ms
int32_t new_e2e_delay_ms
Definition NGIAgoraAudioTrack.h:638
agora::rtc::RemoteAudioTrackStats::frozen_count_200_ms
uint16_t frozen_count_200_ms
Definition NGIAgoraAudioTrack.h:576
agora::rtc::RemoteAudioTrackStats::fec_decode_ms
int32_t fec_decode_ms
Definition NGIAgoraAudioTrack.h:618
agora::rtc::RemoteAudioTrackStats::frozen_count_by_custom
uint16_t frozen_count_by_custom
Definition NGIAgoraAudioTrack.h:585
agora::rtc::RemoteAudioTrackStats::burst_jitter
uint32_t burst_jitter
Definition NGIAgoraAudioTrack.h:548
agora::rtc::RemoteAudioTrackStats::uid
uid_t uid
Definition NGIAgoraAudioTrack.h:458
agora::rtc::RemoteAudioTrackStats::plc_count
uint32_t plc_count
Definition NGIAgoraAudioTrack.h:614
agora::rtc::RemoteAudioTrackStats::frozen_time_200_ms
uint16_t frozen_time_200_ms
Definition NGIAgoraAudioTrack.h:580
agora::rtc::RemoteAudioTrackStats::downlink_effect_type
int32_t downlink_effect_type
Definition NGIAgoraAudioTrack.h:651
agora::rtc::RemoteAudioTrackStats::expanded_speech_samples
size_t expanded_speech_samples
Definition NGIAgoraAudioTrack.h:508
agora::rtc::RemoteAudioTrackStats::mean_waiting_time
int mean_waiting_time
Definition NGIAgoraAudioTrack.h:504
agora::rtc::RemoteAudioTrackStats::target_level_base_ms
uint32_t target_level_base_ms
Definition NGIAgoraAudioTrack.h:552
agora::rtc::RemoteAudioTrackStats::timestamps_since_last_report
uint32_t timestamps_since_last_report
Definition NGIAgoraAudioTrack.h:516
agora::rtc::RemoteAudioTrackStats::packet_max_expired_ms
uint32_t packet_max_expired_ms
Definition NGIAgoraAudioTrack.h:540
agora::rtc::RemoteAudioTrackStats::received_bitrate
int received_bitrate
Definition NGIAgoraAudioTrack.h:486
agora::rtc::RemoteAudioTrackStats::delay_estimate_ms
uint32_t delay_estimate_ms
Definition NGIAgoraAudioTrack.h:601
agora::rtc::RemoteAudioTrackStats::network_transport_delay
int network_transport_delay
Definition NGIAgoraAudioTrack.h:466
agora::rtc::RemoteAudioTrackStats::quality_changed_reason
int32_t quality_changed_reason
Definition NGIAgoraAudioTrack.h:646
agora::rtc::RemoteAudioTrackStats::min_sequence_number
uint16_t min_sequence_number
Definition NGIAgoraAudioTrack.h:520
agora::rtc::RemoteAudioTrackStats::frozen_rate
int frozen_rate
Definition NGIAgoraAudioTrack.h:496
agora::rtc::RemoteAudioTrackStats::mos_value
uint32_t mos_value
Definition NGIAgoraAudioTrack.h:605
agora::rtc::RemoteAudioTrackStats::max_sequence_number
uint16_t max_sequence_number
Definition NGIAgoraAudioTrack.h:524
agora::rtc::RemoteAudioTrackStats::total_frozen_time
int total_frozen_time
Definition NGIAgoraAudioTrack.h:492
agora::rtc::RemoteAudioTrackStats::frozen_rate_by_custom_plc_count
uint32_t frozen_rate_by_custom_plc_count
Definition NGIAgoraAudioTrack.h:610
agora::rtc::RemoteAudioTrackStats::jitter_buffer_delay
uint32_t jitter_buffer_delay
Definition NGIAgoraAudioTrack.h:470
agora::rtc::RemoteAudioTrackStats::RemoteAudioTrackStats
RemoteAudioTrackStats()
Definition NGIAgoraAudioTrack.h:653
agora::rtc::RemoteAudioTrackStats::frozen_count_80_ms
uint16_t frozen_count_80_ms
Definition NGIAgoraAudioTrack.h:568
agora::rtc::RemoteAudioTrackStats::audio_loss_rate
int audio_loss_rate
Definition NGIAgoraAudioTrack.h:474
agora::rtc::RemoteAudioTrackStats::frozen_time_80_ms
uint16_t frozen_time_80_ms
Definition NGIAgoraAudioTrack.h:572
agora::rtc::RemoteAudioTrackStats::received_sample_rate
int received_sample_rate
Definition NGIAgoraAudioTrack.h:482
agora::rtc::RemoteAudioTrackStats::publish_duration
uint64_t publish_duration
Definition NGIAgoraAudioTrack.h:631
agora::rtc::RemoteAudioTrackStats::expanded_noise_samples
size_t expanded_noise_samples
Definition NGIAgoraAudioTrack.h:512
agora::rtc::RemoteAudioTrackStats::accelerate_rate
uint16_t accelerate_rate
Definition NGIAgoraAudioTrack.h:560
agora::rtc::RemoteAudioTrackStats::qoe_quality
int qoe_quality
Definition NGIAgoraAudioTrack.h:642
agora::rtc::RemoteAudioTrackStats::preemptive_expand_rate
uint16_t preemptive_expand_rate
Definition NGIAgoraAudioTrack.h:564
agora::rtc::RemoteAudioTrackStats::audio_level
int32_t audio_level
Definition NGIAgoraAudioTrack.h:528
agora::rtc::RemoteAudioTrackStats::quality
int quality
Definition NGIAgoraAudioTrack.h:462
agora::rtc::RemoteAudioTrackStats::full_frozen_time_200_ms
uint16_t full_frozen_time_200_ms
Definition NGIAgoraAudioTrack.h:597
agora::rtc::RemoteAudioTrackStats::total_active_time
uint64_t total_active_time
Definition NGIAgoraAudioTrack.h:627
agora::rtc::RemoteAudioTrackStats::frozen_time_ms_by_custom
uint16_t frozen_time_ms_by_custom
Definition NGIAgoraAudioTrack.h:589
agora::rtc::RemoteAudioTrackStats::burst_peak_num
uint32_t burst_peak_num
Definition NGIAgoraAudioTrack.h:544
agora::rtc::RemoteAudioTrackStats::full_frozen_time_80_ms
uint16_t full_frozen_time_80_ms
Definition NGIAgoraAudioTrack.h:593
agora::rtc::RemoteAudioTrackStats::target_level_prefered_ms
uint32_t target_level_prefered_ms
Definition NGIAgoraAudioTrack.h:556
agora::rtc::RemoteAudioTrackStats::received_bytes
int64_t received_bytes
Definition NGIAgoraAudioTrack.h:500
agora::rtc::RemoteAudioTrackStats::packet_expired_loss
uint32_t packet_expired_loss
Definition NGIAgoraAudioTrack.h:536
agora::rtc::RemoteAudioTrackStats::e2e_delay_ms
int32_t e2e_delay_ms
Definition NGIAgoraAudioTrack.h:633
agora::rtc::RemoteAudioTrackStats::frozen_count_10_ms
uint16_t frozen_count_10_ms
Definition NGIAgoraAudioTrack.h:622
agora::rtc::RemoteAudioTrackStats::num_channels
int num_channels
Definition NGIAgoraAudioTrack.h:478
agora::rtc::RemoteAudioTrackStats::downlink_process_time_ms
uint32_t downlink_process_time_ms
Definition NGIAgoraAudioTrack.h:532