Agora C++ API Reference for All Platforms

Public Member Functions | List of all members
agora::rtc::IExtensionVideoFilter::Control Class Referenceabstract

Inherits agora::RefCountInterface.

Inherited by agora::rtc::IExtensionVideoFilterControlEx.

## Public Member Functions
virtual ProcessResult | deliverVideoFrame (agora::agora_refptr< IVideoFrame > frame)=0
virtual agora::agora_refptr< IVideoFrameMemoryPool > | getMemoryPool ()=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

  frame | the 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

  level | Log level agora::commons::LOG_LEVEL
  format | log 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

  error | error code
  msg | error message