Agora Java API Reference for Android
Public Types | Public Member Functions | List of all members
agora::rtc::IExtensionProvider Class Reference

#include <NGIAgoraExtensionProvider.h>

Inheritance diagram for agora::rtc::IExtensionProvider:
agora::RefCountInterface

Public Types

enum  PROVIDER_TYPE {
  LOCAL_AUDIO_FILTER, REMOTE_AUDIO_FILTER, LOCAL_VIDEO_FILTER, REMOTE_VIDEO_FILTER,
  LOCAL_VIDEO_SINK, REMOTE_VIDEO_SINK, UNKNOWN
}
 

Public Member Functions

virtual PROVIDER_TYPE getProviderType ()
 
virtual void setExtensionControl (IExtensionControl *control)
 
virtual agora_refptr< IAudioFiltercreateAudioFilter ()
 
virtual agora_refptr< IVideoFiltercreateVideoFilter ()
 
virtual agora_refptr< IVideoSinkBasecreateVideoSink ()
 
- Public Member Functions inherited from agora::RefCountInterface
virtual void AddRef () const =0
 
virtual RefCountReleaseStatus Release () const =0
 
virtual bool HasOneRef () const =0
 

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.