Agora Java API Reference for Android
NGIAgoraExtensionProvider.h
1 #pragma once
2 
3 #include "AgoraRefPtr.h"
4 #include "NGIAgoraMediaNode.h"
5 
6 namespace agora {
7 namespace rtc {
8 class IExtensionControl;
9 
28  public:
29  enum PROVIDER_TYPE {
30  LOCAL_AUDIO_FILTER,
31  REMOTE_AUDIO_FILTER,
32  LOCAL_VIDEO_FILTER,
33  REMOTE_VIDEO_FILTER,
34  LOCAL_VIDEO_SINK,
35  REMOTE_VIDEO_SINK,
36  UNKNOWN,
37  };
38 
39  virtual PROVIDER_TYPE getProviderType() {
40  return UNKNOWN;
41  }
42 
43  virtual void setExtensionControl(IExtensionControl* control) {}
44 
45  virtual agora_refptr<IAudioFilter> createAudioFilter() {
46  return NULL;
47  }
48 
49  virtual agora_refptr<IVideoFilter> createVideoFilter() {
50  return NULL;
51  }
52 
53  virtual agora_refptr<IVideoSinkBase> createVideoSink() {
54  return NULL;
55  }
56 
57  protected:
58  ~IExtensionProvider() {}
59 };
60 
61 }
62 }
agora::agora_refptr
Definition: AgoraRefPtr.h:34
agora::rtc::IExtensionProvider
Definition: NGIAgoraExtensionProvider.h:27
agora::RefCountInterface
Definition: AgoraRefPtr.h:21
agora::rtc::IExtensionControl
Definition: NGIAgoraExtensionControl.h:20