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 ( )
inlineprotected

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 ( )
inlineoverridevirtual

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)
inlinevirtual

◆ setVideoQoEPusher()

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

◆ onDropFrame()

virtual void agora::rtc::IVideoFilterEx::onDropFrame ( agora::rtc::VideoQoEDropType  drop_type)
inlinevirtual

◆ SetFilterId()

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