Agora C++ API Reference for All Platforms

Public Member Functions | Protected Member Functions | List of all members
agora::rtc::IVideoFilterEx Class Referenceabstract

Inherits agora::rtc::IVideoFilter.

Inherited by agora::rtc::IObservableVideoFilter, and agora::rtc::IVideoFrameAdapter.

## Public Member Functions
virtual void | adaptVideoFrameAsync (const webrtc::VideoFrame &inputFrame, std::shared_ptr< FrameProcessResult > resultSp)=0
virtual void | onSinkWantsChanged (const ::rtc::VideoSinkWants &wants)=0
bool | isExternal () override
virtual void | attachStatsSpace (uint64_t stats_space)
virtual void | setVideoQoEPusher (std::weak_ptr< VideoStatsEventsPusher > pusher)
virtual void | onDropFrame (agora::rtc::VideoQoEDropType drop_type)
virtual void | SetFilterId (std::string id)
Public Member Functions inherited from agora::rtc::IVideoFilter
virtual void | setEnabled (bool enable)
virtual bool | isEnabled ()
virtual int | setProperty (const char *key, const void *buf, size_t buf_size)
virtual int | getProperty (const char *key, void *buf, size_t buf_size)
virtual bool | onDataStreamWillStart ()
virtual void | onDataStreamWillStop ()
virtual bool | isExtensionFilter ()
Public Member Functions inherited from agora::rtc::IVideoFilterBase
virtual bool | adaptVideoFrame (const media::base::VideoFrame &capturedFrame, media::base::VideoFrame &adaptedFrame)=0
Public Member Functions inherited from agora::RefCountInterface
virtual void | AddRef () const =0
virtual RefCountReleaseStatus | Release () const =0
virtual bool | HasOneRef () const =0

## Protected Member Functions
| ~IVideoFilterEx ()
Protected Member Functions inherited from agora::RefCountInterface
virtual | ~RefCountInterface ()

## Detailed Description

Filter definition for internal pipeline usage.

## Constructor & Destructor Documentation

## ◆ ~IVideoFilterEx()

agora::rtc::IVideoFilterEx::~IVideoFilterEx | ( |  | ) |
| inline protected

## Member Function Documentation

## ◆ adaptVideoFrameAsync()

virtual void agora::rtc::IVideoFilterEx::adaptVideoFrameAsync | ( | const webrtc::VideoFrame & | inputFrame,
|  | std::shared_ptr< FrameProcessResult > | resultSp
| ) |  |
| pure virtual

## ◆ onSinkWantsChanged()

virtual void agora::rtc::IVideoFilterEx::onSinkWantsChanged | ( | const ::rtc::VideoSinkWants & | wants | ) |
| pure virtual

## ◆ isExternal()

bool agora::rtc::IVideoFilterEx::isExternal | ( |  | ) |
| inline override virtual

This function indicates if the filter is for internal use.

Note
  Do not override this function.

Returns
  - `true`: The filter is implemented by external users.
  - `false`: The filter is implemented by internal users.

Reimplemented from agora::rtc::IVideoFilter.

## ◆ attachStatsSpace()

virtual void agora::rtc::IVideoFilterEx::attachStatsSpace | ( | uint64_t | stats_space | ) |
| inline virtual

## ◆ setVideoQoEPusher()

virtual void agora::rtc::IVideoFilterEx::setVideoQoEPusher | ( | std::weak_ptr< VideoStatsEventsPusher > | pusher | ) |
| inline virtual

## ◆ onDropFrame()

virtual void agora::rtc::IVideoFilterEx::onDropFrame | ( | agora::rtc::VideoQoEDropType | drop_type | ) |
| inline virtual

## ◆ SetFilterId()

virtual void agora::rtc::IVideoFilterEx::SetFilterId | ( | std::string | id | ) |
| inline virtual