Agora C++ API Reference for All Platforms
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 
29  public:
37  };
38 
41  const char* extension_name;
42  };
43 
44  virtual void setExtensionControl(IExtensionControl* control) {}
45 
46  virtual void enumerateExtensions(ExtensionMetaInfo* extension_list,
47  int& extension_count) {
48  (void) extension_list;
49  extension_count = 0;
50  }
51 
52  virtual agora_refptr<IAudioFilter> createAudioFilter(const char* name) {
53  return NULL;
54  }
55 
57  return NULL;
58  }
59 
60  virtual agora_refptr<IVideoSinkBase> createVideoSink(const char* name) {
61  return NULL;
62  }
63 
64  virtual void setProperty(const char* key, const char* value) {}
65 
66  protected:
67  virtual ~IExtensionProvider() {}
68 };
69 
70 } // namespace rtc
71 } // namespace agora
agora::rtc::IExtensionProvider::ExtensionMetaInfo
Definition: NGIAgoraExtensionProvider.h:39
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::IExtensionProvider::UNKNOWN
@ UNKNOWN
Definition: NGIAgoraExtensionProvider.h:36
agora::rtc::IExtensionProvider::VIDEO_SINK
@ VIDEO_SINK
Definition: NGIAgoraExtensionProvider.h:35
agora::rtc::IExtensionProvider::ExtensionMetaInfo::extension_name
const char * extension_name
Definition: NGIAgoraExtensionProvider.h:41
agora::rtc::IExtensionProvider::AUDIO_SINK
@ AUDIO_SINK
Definition: NGIAgoraExtensionProvider.h:34
agora::rtc::IExtensionProvider::enumerateExtensions
virtual void enumerateExtensions(ExtensionMetaInfo *extension_list, int &extension_count)
Definition: NGIAgoraExtensionProvider.h:46
agora
Definition: AgoraAtomicOps.h:21
agora::rtc::IExtensionProvider::setProperty
virtual void setProperty(const char *key, const char *value)
Definition: NGIAgoraExtensionProvider.h:64
agora::rtc::IExtensionProvider::~IExtensionProvider
virtual ~IExtensionProvider()
Definition: NGIAgoraExtensionProvider.h:67
agora::rtc::IExtensionProvider::VIDEO_POST_PROCESSING_FILTER
@ VIDEO_POST_PROCESSING_FILTER
Definition: NGIAgoraExtensionProvider.h:33
agora::rtc::IExtensionProvider::createVideoSink
virtual agora_refptr< IVideoSinkBase > createVideoSink(const char *name)
Definition: NGIAgoraExtensionProvider.h:60
agora::rtc::IExtensionProvider::createAudioFilter
virtual agora_refptr< IAudioFilter > createAudioFilter(const char *name)
Definition: NGIAgoraExtensionProvider.h:52
agora::rtc::IExtensionProvider::createVideoFilter
virtual agora_refptr< IExtensionVideoFilter > createVideoFilter(const char *name)
Definition: NGIAgoraExtensionProvider.h:56
agora::rtc::IExtensionProvider::ExtensionMetaInfo::type
EXTENSION_TYPE type
Definition: NGIAgoraExtensionProvider.h:40
agora::rtc::IExtensionProvider
Definition: NGIAgoraExtensionProvider.h:28
agora::rtc::IExtensionProvider::VIDEO_PRE_PROCESSING_FILTER
@ VIDEO_PRE_PROCESSING_FILTER
Definition: NGIAgoraExtensionProvider.h:32
agora::rtc::IExtensionProvider::setExtensionControl
virtual void setExtensionControl(IExtensionControl *control)
Definition: NGIAgoraExtensionProvider.h:44
agora::RefCountInterface
Definition: AgoraRefPtr.h:31
agora::rtc::IExtensionProvider::EXTENSION_TYPE
EXTENSION_TYPE
Definition: NGIAgoraExtensionProvider.h:30
agora::rtc::IExtensionControl
Definition: NGIAgoraExtensionControl.h:23
rtc
Definition: video_node_i.h:27
agora::rtc::IExtensionProvider::AUDIO_FILTER
@ AUDIO_FILTER
Definition: NGIAgoraExtensionProvider.h:31