Agora C++ API Reference for All Platforms
Public Member Functions | List of all members
agora::rtc::IExtensionVideoFilter::Control Class Referenceabstract

Inherits agora::RefCountInterface.

Public Member Functions

virtual ProcessResult deliverVideoFrame (agora::agora_refptr< IVideoFrame > frame)=0
 
virtual agora::agora_refptr< IVideoFrameMemoryPoolgetMemoryPool ()=0
 
virtual int postEvent (const char *key, const char *value)=0
 
virtual void printLog (commons::LOG_LEVEL level, const char *format,...)=0
 
virtual void disableMe (int error, const char *msg)=0
 
- Public Member Functions inherited from agora::RefCountInterface
virtual void AddRef () const =0
 
virtual RefCountReleaseStatus Release () const =0
 
virtual bool HasOneRef () const =0
 

Additional Inherited Members

- Protected Member Functions inherited from agora::RefCountInterface
virtual ~RefCountInterface ()
 

Detailed Description

The IExtensionVideoFilter::Control class.

This class defines the interfaces that the extension filter can leverage to interact with the SDK. The "IExtensionVideoFilter::Control" object will be passed to the filter when SDK invoke the filter's "start" interface.

Member Function Documentation

◆ deliverVideoFrame()

virtual ProcessResult agora::rtc::IExtensionVideoFilter::Control::deliverVideoFrame ( agora::agora_refptr< IVideoFrame frame)
pure virtual

Filter can invoke this function to deliver the processed frame to SDK if the Process Mode is designated as "kAsync" by the filter via "getProcessMode".

Parameters
framethe processed video frame
Returns
see ProcessResult

◆ getMemoryPool()

virtual agora::agora_refptr<IVideoFrameMemoryPool> agora::rtc::IExtensionVideoFilter::Control::getMemoryPool ( )
pure virtual

Filter can invoke this function to get the IVideoFrameMemoryPool object if a new IVideoFrame data object is needed.

◆ postEvent()

virtual int agora::rtc::IExtensionVideoFilter::Control::postEvent ( const char *  key,
const char *  value 
)
pure virtual

Post an event and notify the end users.

Parameters
key'\0' ended string that describes the key of the event
value'\0' ended string that describes the value of the event

◆ printLog()

virtual void agora::rtc::IExtensionVideoFilter::Control::printLog ( commons::LOG_LEVEL  level,
const char *  format,
  ... 
)
pure virtual

print log to the SDK.

Parameters
levelLog level agora::commons::LOG_LEVEL
formatlog formatter string
...variadic arguments

◆ disableMe()

virtual void agora::rtc::IExtensionVideoFilter::Control::disableMe ( int  error,
const char *  msg 
)
pure virtual

Ask SDK to disable the current filter if a fatal error is detected.

Parameters
errorerror code
msgerror message