Agora C++ API Reference for All Platforms

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

Inherits agora::rtc::IExtensionProvider.

## Public Member Functions
virtual | ~IVideoEncoderProvider ()
virtual int | enumerateEncoders (VideoCodecInfo *info_list, int &count)=0
virtual webrtc::VideoEncoder * | createEncoder (const VideoCodecInfo &info, aosl_mpq_t mpq=AOSL_MPQ_INVALID)=0
virtual int | destroyEncoder (webrtc::VideoEncoder *encoder)=0
virtual int | getCustomProperty (const VideoCodecInfo &info, const char *key, void *data)
virtual int | setCustomProperty (const VideoCodecInfo &info, const char *key, const void *data)
Public Member Functions inherited from agora::rtc::IExtensionProvider
virtual void | setExtensionControl (IExtensionControl *control)
virtual void | enumerateExtensions (ExtensionMetaInfo *extension_list, int &extension_count)
virtual agora_refptr< IAudioFilter > | createAudioFilter (const char *name)
virtual agora_refptr< IExtensionVideoFilter > | createVideoFilter (const char *name)
virtual agora_refptr< IVideoSinkBase > | createVideoSink (const char *name)
virtual void | setProperty (const char *key, const char *value)
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
Public Types inherited from agora::rtc::IExtensionProvider
enum | EXTENSION_TYPE { AUDIO_FILTER, VIDEO_PRE_PROCESSING_FILTER, VIDEO_POST_PROCESSING_FILTER, AUDIO_SINK, VIDEO_SINK, AUDIO_RECORDING_LOCAL_PLAYBACK_FILTER = 10000, AUDIO_POST_PROCESSING_FILTER = 10001, AUDIO_REMOTE_USER_PLAYBACK_FILTER = 10002, AUDIO_PCM_SOURCE_FILTER = 10003, AUDIO_PCM_SOURCE_SENDING_FILTER = 10004, AUDIO_PCM_SOURCE_LOCAL_PLAYBACK_FILTER = 10005, AUDIO_REMOTE_MIXED_PLAYBACK_FILTER = 10006, VIDEO_POST_CAPTURE_FILTER = 20001, VIDEO_PRE_PREVIEW_FILTER = 20002, VIDEO_PRE_ENCODER_FILTER = 20003, UNKNOWN = 0xFFFF }
Protected Member Functions inherited from agora::rtc::IExtensionProvider
virtual | ~IExtensionProvider ()
Protected Member Functions inherited from agora::RefCountInterface
virtual | ~RefCountInterface ()

## Constructor & Destructor Documentation

## ◆ ~IVideoEncoderProvider()

virtual agora::rtc::IVideoEncoderProvider::~IVideoEncoderProvider | ( |  | ) |
| inline virtual

## Member Function Documentation

## ◆ enumerateEncoders()

virtual int agora::rtc::IVideoEncoderProvider::enumerateEncoders | ( | VideoCodecInfo * | info_list,
|  | int & | count
| ) |  |
| pure virtual

## ◆ createEncoder()

virtual webrtc::VideoEncoder* agora::rtc::IVideoEncoderProvider::createEncoder | ( | const VideoCodecInfo & | info,
|  | aosl_mpq_t | mpq = `AOSL_MPQ_INVALID`
| ) |  |
| pure virtual

## ◆ destroyEncoder()

virtual int agora::rtc::IVideoEncoderProvider::destroyEncoder | ( | webrtc::VideoEncoder * | encoder | ) |
| pure virtual

## ◆ getCustomProperty()

virtual int agora::rtc::IVideoEncoderProvider::getCustomProperty | ( | const VideoCodecInfo & | info,
|  | const char * | key,
|  | void * | data
| ) |  |
| inline virtual

## ◆ setCustomProperty()

virtual int agora::rtc::IVideoEncoderProvider::setCustomProperty | ( | const VideoCodecInfo & | info,
|  | const char * | key,
|  | const void * | data
| ) |  |
| inline virtual