Agora RTC Objective-C API Reference  Refactor
Data Structures
IExtensionProvider Class Referenceabstract

Inherits RefCountInterface.

Inherited by IExtensionProviderV2.

Data Structures

struct  ExtensionMetaInfo
 

Detailed Description

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.

Member Enumeration Documentation

◆ EXTENSION_TYPE

Enumerator
AUDIO_FILTER 

note: discarded, Don't use it anymore.

VIDEO_PRE_PROCESSING_FILTER 
VIDEO_POST_PROCESSING_FILTER 
AUDIO_SINK 
VIDEO_SINK 
AUDIO_RECORDING_LOCAL_PLAYBACK_FILTER 
AUDIO_POST_PROCESSING_FILTER 
AUDIO_REMOTE_USER_PLAYBACK_FILTER 
AUDIO_PCM_SOURCE_FILTER 
AUDIO_PCM_SOURCE_SENDING_FILTER 
AUDIO_PCM_SOURCE_LOCAL_PLAYBACK_FILTER 
AUDIO_REMOTE_MIXED_PLAYBACK_FILTER 
UNKNOWN 

Constructor & Destructor Documentation

◆ ~IExtensionProvider()

virtual ~IExtensionProvider ( )
inlineprotectedvirtual

Member Function Documentation

◆ setExtensionControl()

virtual void setExtensionControl ( IExtensionControl control)
inlinevirtual

◆ enumerateExtensions()

virtual void enumerateExtensions ( ExtensionMetaInfo extension_list,
int &  extension_count 
)
inlinevirtual

◆ createAudioFilter()

virtual agora_refptr<IAudioFilter> createAudioFilter ( const char *  name)
inlinevirtual

◆ createVideoFilter()

virtual agora_refptr<IExtensionVideoFilter> createVideoFilter ( const char *  name)
inlinevirtual

◆ createVideoSink()

virtual agora_refptr<IVideoSinkBase> createVideoSink ( const char *  name)
inlinevirtual

◆ setProperty()

virtual void setProperty ( const char *  key,
const char *  value 
)
inlinevirtual

◆ AddRef()

virtual void AddRef ( ) const
pure virtualinherited

◆ Release()

virtual RefCountReleaseStatus Release ( ) const
pure virtualinherited

◆ HasOneRef()

virtual bool HasOneRef ( ) const
pure virtualinherited