Agora C++ API Reference for All Platforms
|
2 #include "AgoraRefPtr.h"
5 #include "NGIAgoraVideoFrame.h"
6 #include "AgoraExtensionVersion.h"
8 #ifndef OPTIONAL_PROCESSRESULT_SPECIFIER
9 #if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1800)
10 #define OPTIONAL_PROCESSRESULT_SPECIFIER ProcessResult::
12 #define OPTIONAL_PROCESSRESULT_SPECIFIER
17 struct AudioFrameHandleInfo;
97 virtual int setProperty(
const char* key,
const void* buf,
int buf_size) = 0;
108 virtual int getProperty(
const char* key,
void* buf,
int buf_size)
const = 0;
197 virtual int setProperty(
const char* key,
const void* buf,
size_t buf_size) {
return -1; }
208 virtual int getProperty(
const char* key,
void* buf,
size_t buf_size) {
return -1; }
285 virtual int postEvent(
const char* key,
const char* value) = 0;
342 return OPTIONAL_PROCESSRESULT_SPECIFIER
kBypass;
350 return OPTIONAL_PROCESSRESULT_SPECIFIER
kBypass;
384 virtual int setProperty(
const char* key,
const void* buf,
int buf_size) {
return -1; }
395 virtual int getProperty(
const char* key,
void* buf,
int buf_size) {
return -1; }
438 virtual void onEvent(
const char* provider,
const char* extension,
const char* key,
const char* json_value) {}
441 virtual void onExtensionError(
const char* provider,
const char* extension,
int error,
const char* message) {}
465 const void* audio_data, uint32_t capture_timestamp,
466 const size_t samples_per_channel,
468 const size_t number_of_channels,
469 const uint32_t sample_rate) = 0;
607 const uint8_t *packet,
ProcessResult
Definition: NGIAgoraMediaNode.h:253
virtual bool onDataStreamWillStart()
Definition: NGIAgoraMediaNode.h:413
@ kDrop
Definition: NGIAgoraMediaNode.h:256
virtual int addVideoTrack(agora_refptr< IVideoTrack > track)=0
virtual void onDataStreamWillStop()
Definition: NGIAgoraMediaNode.h:221
virtual bool onEncodedAudioFrameReceived(const uint8_t *packet, size_t length, const media::base::AudioEncodedFrameInfo &info)=0
virtual int sendVideoFrame(const media::base::ExternalVideoFrame &videoFrame)=0
virtual bool applyRotation()
Definition: NGIAgoraMediaNode.h:432
Definition: NGIAgoraMediaNode.h:698
Definition: NGIAgoraMediaNode.h:26
virtual bool adaptVideoFrame(const media::base::VideoFrame &capturedFrame, media::base::VideoFrame &adaptedFrame)=0
Definition: NGIAgoraVideoTrack.h:37
Definition: AgoraRefPtr.h:44
Definition: NGIAgoraMediaNode.h:853
virtual bool adaptAudioFrame(const media::base::AudioPcmFrame &inAudioFrame, media::base::AudioPcmFrame &adaptedFrame)=0
virtual bool isExtensionFilter()
Definition: NGIAgoraMediaNode.h:361
virtual int setView(void *view)=0
virtual int setProperty(const char *key, const void *buf, size_t buf_size)
Definition: NGIAgoraMediaNode.h:197
Definition: common_defines.h:11
virtual bool isExtensionFilter()
Definition: NGIAgoraMediaNode.h:237
Definition: AgoraBase.h:1930
Definition: NGIAgoraMediaNode.h:372
virtual bool applyMirror()
Definition: NGIAgoraMediaNode.h:425
virtual int getTranscodingDelayMs()=0
Definition: AgoraBase.h:1526
@ kAsync
Definition: NGIAgoraMediaNode.h:250
virtual bool onDataStreamWillStart()
Definition: NGIAgoraMediaNode.h:216
Definition: AgoraBase.h:1400
virtual int unsetView()=0
BYTES_PER_SAMPLE
Definition: AgoraMediaBase.h:94
virtual bool sendEncodedVideoImage(const uint8_t *imageBuffer, size_t length, const EncodedVideoFrameInfo &videoEncodedFrameInfo)=0
Definition: NGIAgoraMediaNode.h:449
virtual int removeVideoTrack(agora_refptr< IVideoTrack > track)=0
~IAudioPcmDataSender()
Definition: NGIAgoraMediaNode.h:472
virtual int removeView(void *view)=0
@ kBypass
Definition: NGIAgoraMediaNode.h:255
~IAudioFilterBase()
Definition: NGIAgoraMediaNode.h:62
Definition: NGIAgoraMediaNode.h:675
~IAudioEncodedFrameSender()
Definition: NGIAgoraMediaNode.h:500
Definition: AgoraAtomicOps.h:21
virtual bool adaptVideoFrame(const media::base::VideoFrame &capturedFrame, media::base::VideoFrame &adaptedFrame)
Definition: NGIAgoraMediaNode.h:362
virtual int setProperty(const char *key, const void *buf, int buf_size)=0
OPTIONAL_ENUM_CLASS Type
Definition: NGIAgoraVideoFrame.h:158
virtual bool isEnabled() const =0
Definition: NGIAgoraMediaNode.h:71
virtual int stop()=0
SDK will invoke this API when the data stream is about to stop. Filter can perform cleanup jobs in th...
BeautyOptions()
Definition: NGIAgoraMediaNode.h:752
virtual int getPreferredSampleRate()=0
virtual int setProperty(const char *key, const void *buf, int buf_size)
Definition: NGIAgoraMediaNode.h:384
virtual int addView(void *view, const Rectangle &cropArea)=0
~IVideoFrameSender()
Definition: NGIAgoraMediaNode.h:665
virtual void onDataStreamWillStop()
Definition: NGIAgoraMediaNode.h:418
virtual int setRenderMode(void *view, media::base::RENDER_MODE_TYPE renderMode)=0
OPTIONAL_ENUM_CLASS LOG_LEVEL
Definition: IAgoraLog.h:33
ProcessMode
Definition: NGIAgoraMediaNode.h:248
virtual void disableMe(int error, const char *msg)=0
Ask SDK to disable the current filter if a fatal error is detected.
Definition: NGIAgoraMediaNode.h:503
@ LIGHTENING_CONTRAST_HIGH
Definition: NGIAgoraMediaNode.h:719
virtual void getProcessMode(ProcessMode &mode, bool &independent_thread)=0
SDK will invoke this API first to get the filter's requested process mode ProcessMode and threading m...
Definition: NGIAgoraMediaNode.h:482
virtual bool sendEncodedAudioFrame(const uint8_t *payload_data, size_t payload_size, const EncodedAudioFrameInfo &audioFrameInfo)=0
virtual int getPreferredChannelNumbers()=0
OPTIONAL_ENUM_CLASS Format
Definition: NGIAgoraVideoFrame.h:51
virtual int onFrame(const media::base::VideoFrame &videoFrame)=0
Definition: NGIAgoraMediaNode.h:146
virtual ProcessResult adaptVideoFrame(agora::agora_refptr< IVideoFrame > in, agora::agora_refptr< IVideoFrame > &out)
SDK will invoke this API to send video frame to the filter if process mode is "Sync".
Definition: NGIAgoraMediaNode.h:349
LIGHTENING_CONTRAST_LEVEL
Definition: NGIAgoraMediaNode.h:707
virtual int sendAudioPcmData(const void *audio_data, uint32_t capture_timestamp, const size_t samples_per_channel, const agora::rtc::BYTES_PER_SAMPLE bytes_per_sample, const size_t number_of_channels, const uint32_t sample_rate)=0
Definition: NGIAgoraMediaNode.h:774
virtual int setRenderMode(media::base::RENDER_MODE_TYPE renderMode)=0
virtual void getVideoFormatWanted(VideoFrameData::Type &type, RawPixelBuffer::Format &format)=0
SDK will invoke this API every time before sending data to the filter. Filter can desigante the type ...
@ kSync
Definition: NGIAgoraMediaNode.h:249
Definition: NGIAgoraMediaNode.h:266
virtual ProcessResult pendVideoFrame(agora::agora_refptr< IVideoFrame > frame)
SDK will invoke this API to send video frame to the filter if process mode is "Async"....
Definition: NGIAgoraMediaNode.h:341
float rednessLevel
Definition: NGIAgoraMediaNode.h:743
~IAudioSinkBase()
Definition: NGIAgoraMediaNode.h:641
@ ERR_NOT_SUPPORTED
Definition: AgoraBase.h:474
@ LIGHTENING_CONTRAST_LOW
Definition: NGIAgoraMediaNode.h:711
@ kSuccess
Definition: NGIAgoraMediaNode.h:254
Definition: NGIAgoraMediaNode.h:629
virtual bool onAudioFrame(const media::base::AudioPcmFrame &audioFrame)=0
Definition: NGIAgoraMediaNode.h:651
Definition: NGIAgoraMediaNode.h:246
virtual int getPreferredChannelNumbers()
Definition: NGIAgoraMediaNode.h:136
static const int kDeviceIdSize
Definition: NGIAgoraMediaNode.h:847
virtual bool getRotationApplied()
Definition: NGIAgoraMediaNode.h:358
virtual agora::agora_refptr< IVideoFrameMemoryPool > getMemoryPool()=0
Filter can invoke this function to get the IVideoFrameMemoryPool object if a new IVideoFrame data obj...
Definition: AgoraRefPtr.h:31
virtual int getProperty(const char *key, void *buf, size_t buf_size)
Definition: NGIAgoraMediaNode.h:208
virtual ~IAudioEncodedFrameReceiver()
Definition: NGIAgoraMediaNode.h:516
virtual bool isEnabled()
Definition: NGIAgoraMediaNode.h:186
BeautyOptions(LIGHTENING_CONTRAST_LEVEL contrastLevel, float lightening, float smoothness, float redness)
Definition: NGIAgoraMediaNode.h:745
virtual void setEnabled(bool enable)
Definition: NGIAgoraMediaNode.h:179
float smoothnessLevel
Definition: NGIAgoraMediaNode.h:737
virtual ProcessResult deliverVideoFrame(agora::agora_refptr< IVideoFrame > frame)=0
Filter can invoke this function to deliver the processed frame to SDK if the Process Mode is designat...
virtual void setEnabled(bool enable)=0
virtual int setBeautyEffectOptions(bool enabled, BeautyOptions options)=0
float lighteningLevel
Definition: NGIAgoraMediaNode.h:731
virtual bool isExternal()
Definition: NGIAgoraMediaNode.h:229
virtual int getPreferredSampleRate()
Definition: NGIAgoraMediaNode.h:126
virtual int setMirror(void *view, bool mirror)=0
LIGHTENING_CONTRAST_LEVEL lighteningContrastLevel
Definition: NGIAgoraMediaNode.h:726
@ LIGHTENING_CONTRAST_NORMAL
Definition: NGIAgoraMediaNode.h:715
virtual void printLog(commons::LOG_LEVEL level, const char *format,...)=0
print log to the SDK.
unsigned int uid_t
Definition: AgoraMediaBase.h:29
virtual int getProperty(const char *key, void *buf, int buf_size) const =0
~IAudioFilter()
Definition: NGIAgoraMediaNode.h:139
~IVideoEncodedImageSender()
Definition: NGIAgoraMediaNode.h:692
virtual int setMirror(bool mirror)=0
Definition: NGIAgoraMediaNode.h:170
virtual int start(agora::agora_refptr< Control > control)=0
SDK will invoke this API before feeding video frame data to the filter. Filter can perform its initia...
virtual bool isExternalSink()
Definition: NGIAgoraMediaNode.h:405
Definition: video_node_i.h:25
Definition: NGIAgoraMediaNode.h:703
virtual const char * getName() const =0
virtual int getProperty(const char *key, void *buf, int buf_size)
Definition: NGIAgoraMediaNode.h:395
virtual int postEvent(const char *key, const char *value)=0
Post an event and notify the end users.