Agora C++ API Reference for All Platforms
audio_node_i.h
1 //
2 // Agora RTC/MEDIA SDK
3 //
4 // Created by Ender Zheng in 2018-09.
5 // Copyright (c) 2018 Agora.io. All rights reserved.
6 //
7 #pragma once
8 
9 #include <string>
10 
11 #include "AgoraRefPtr.h"
12 #include "NGIAgoraAudioDeviceManager.h"
13 #include "NGIAgoraMediaNodeFactory.h"
14 #include "NGIAgoraMediaNode.h"
15 #include "NGIAgoraRemoteAudioMixerSource.h"
16 
17 namespace agora {
18 namespace rtc {
19 
20 enum class PcmSendErrorCode {
21  ERR_OK,
23 };
24 
26  std::string data;
31  uint32_t sample_rate;
32 };
33 
35  public:
38 };
39 
41  public:
43  virtual void RegisterPcmDataCallback(IAudioPcmDataCallback* dataCallback) = 0;
44  virtual void DeRegisterPcmDataCallback(IAudioPcmDataCallback* dataCallback) = 0;
45 };
46 
48  std::string data;
49  uint32_t sample_rate = 0;
50  bool send_even_if_empty = false;
51  bool speech = false;
55 };
56 
58  public:
60 };
61 
63  public:
66 };
67 
69  public:
73 };
74 
76  public:
78 
80 };
81 
82 } // namespace rtc
83 } // namespace agora
agora::rtc::PcmSendErrorCode
PcmSendErrorCode
Definition: audio_node_i.h:20
agora::rtc::AudioPcmData::bytes_per_sample
size_t bytes_per_sample
Definition: audio_node_i.h:29
agora::rtc::IRecordingDeviceSourceEx::~IRecordingDeviceSourceEx
virtual ~IRecordingDeviceSourceEx()
Definition: audio_node_i.h:77
agora::rtc::AudioPcmData::samples_per_channel
size_t samples_per_channel
Definition: audio_node_i.h:28
agora::rtc::IRemoteAudioMixerSourceEx
Definition: audio_node_i.h:57
agora::rtc::AUDIO_CODEC_TYPE
AUDIO_CODEC_TYPE
Definition: AgoraBase.h:1473
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::IAudioEncodedFrameSenderEx::DeRegisterEncodedFrameDataCallback
virtual void DeRegisterEncodedFrameDataCallback()=0
agora::rtc::IAudioEncodedFrameSenderEx::RegisterEncodedFrameDataCallback
virtual void RegisterEncodedFrameDataCallback(IAudioEncodedFrameDataCallback *dataCallback)=0
agora::rtc::IRecordingDeviceSourceEx::getAudioPcmDataSender
virtual agora_refptr< rtc::IAudioPcmDataSender > getAudioPcmDataSender()=0
agora::rtc::IAudioEncodedFrameDataCallback
Definition: audio_node_i.h:62
agora::rtc::IAudioEncodedFrameDataCallback::~IAudioEncodedFrameDataCallback
virtual ~IAudioEncodedFrameDataCallback()
Definition: audio_node_i.h:64
agora::rtc::IAudioEncodedFrameSenderEx::~IAudioEncodedFrameSenderEx
virtual ~IAudioEncodedFrameSenderEx()
Definition: audio_node_i.h:70
agora::rtc::AudioPcmData::capture_timestamp
uint32_t capture_timestamp
Definition: audio_node_i.h:27
agora::rtc::AUDIO_CODEC_OPUS
@ AUDIO_CODEC_OPUS
Definition: AgoraBase.h:1477
agora::rtc::AudioEncodedFrameData::samples_per_channel
int samples_per_channel
Definition: audio_node_i.h:53
agora::rtc::IAudioPcmDataSender
Definition: NGIAgoraMediaNode.h:403
agora::rtc::IAudioPcmDataSenderEx::RegisterPcmDataCallback
virtual void RegisterPcmDataCallback(IAudioPcmDataCallback *dataCallback)=0
agora::rtc::IAudioPcmDataSenderEx::DeRegisterPcmDataCallback
virtual void DeRegisterPcmDataCallback(IAudioPcmDataCallback *dataCallback)=0
agora
Definition: AgoraAtomicOps.h:21
agora::rtc::IAudioPcmDataSenderEx
Definition: audio_node_i.h:40
agora::rtc::IRemoteAudioMixerSource
Definition: NGIAgoraRemoteAudioMixerSource.h:21
agora::rtc::IAudioPcmDataSenderEx::~IAudioPcmDataSenderEx
virtual ~IAudioPcmDataSenderEx()
Definition: audio_node_i.h:42
agora::rtc::IRecordingDeviceSource
Definition: NGIAgoraAudioDeviceManager.h:94
agora::rtc::AudioEncodedFrameData::number_of_channels
int number_of_channels
Definition: audio_node_i.h:54
agora::rtc::IAudioPcmDataCallback::OnPcmData
virtual PcmSendErrorCode OnPcmData(agora_refptr< AudioPcmData > data)=0
agora::rtc::AudioEncodedFrameData::send_even_if_empty
bool send_even_if_empty
Definition: audio_node_i.h:50
agora::rtc::AudioPcmData::sample_rate
uint32_t sample_rate
Definition: audio_node_i.h:31
agora::rtc::IRemoteAudioMixerSourceEx::getAudioPcmDataSender
virtual agora_refptr< rtc::IAudioPcmDataSender > getAudioPcmDataSender() const =0
agora::rtc::IAudioEncodedFrameSender
Definition: NGIAgoraMediaNode.h:436
agora::rtc::IAudioEncodedFrameSenderEx
Definition: audio_node_i.h:68
agora::rtc::AudioPcmData::number_of_channels
size_t number_of_channels
Definition: audio_node_i.h:30
agora::rtc::IAudioPcmDataCallback::~IAudioPcmDataCallback
virtual ~IAudioPcmDataCallback()
Definition: audio_node_i.h:36
agora::rtc::AudioEncodedFrameData::data
std::string data
Definition: audio_node_i.h:48
agora::rtc::AudioPcmData
Definition: audio_node_i.h:25
agora::rtc::PcmSendErrorCode::ERR_OK
@ ERR_OK
agora::rtc::IRecordingDeviceSourceEx
Definition: audio_node_i.h:75
agora::rtc::AudioEncodedFrameData::sample_rate
uint32_t sample_rate
Definition: audio_node_i.h:49
agora::rtc::AudioPcmData::data
std::string data
Definition: audio_node_i.h:26
agora::RefCountInterface
Definition: AgoraRefPtr.h:31
agora::rtc::AudioEncodedFrameData
Definition: audio_node_i.h:47
agora::rtc::IAudioPcmDataCallback
Definition: audio_node_i.h:34
agora::rtc::IAudioEncodedFrameDataCallback::OnEncodedFrameData
virtual bool OnEncodedFrameData(agora_refptr< AudioEncodedFrameData > data)=0
agora::rtc::PcmSendErrorCode::ERR_BUFFEROVERFLOW
@ ERR_BUFFEROVERFLOW
agora::rtc::AudioEncodedFrameData::speech
bool speech
Definition: audio_node_i.h:51
rtc
Definition: video_node_i.h:27
agora::rtc::AudioEncodedFrameData::encoder_type
AUDIO_CODEC_TYPE encoder_type
Definition: audio_node_i.h:52