|
Agora C++ API Reference for All Platforms
|
#include <NGIAgoraExtensionProvider.h>
Inherits agora::RefCountInterface.
Inherited by agora::rtc::ICustomExtensionProvider, agora::rtc::IExtensionProviderV2, and agora::rtc::IExtensionVideoCodecProvider.
Classes | |
| struct | ExtensionMetaInfo |
Public Types | |
| 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 , VIDEO_ENCODER = 20004 , VIDEO_DECODER = 20005 , UNKNOWN = 0xFFFF } |
Public Member Functions | |
| 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< IExtensionVideoSink > | 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 |
Protected Member Functions | |
| virtual | ~IExtensionProvider () |
Protected Member Functions inherited from agora::RefCountInterface | |
| virtual | ~RefCountInterface () |
Interfaces for Extension Provider User can implement these interfaces for providing their own media node implementations to SDK. Please refer to agora::RefCountedObject to wrap your implementation so that it can be held by agora::agora_refptr. For example: class YourExtensionProvide: public IExtensionProvider { // Your Concrete implementaion };
// Use agroa::RefCountedObject to provide RefCountInterface implementation for you implementation, // intantiate and wrap it with agora_refptr.
agora_refptr<IExtensionProvider> provider = new RefCountedObject<YourExtensionProvide>(Arg1, Arg2, ...);
You can instantiate your AudioFilter/VideoFilter/VideoSink in the same way.
|
inlineprotectedvirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |