9 #include "AgoraRefPtr.h"
10 #include "NGIAgoraMediaNode.h"
11 #include "AgoraExtensionVersion.h"
15 class IExtensionControl;
42 VIDEO_PRE_PROCESSING_FILTER,
43 VIDEO_POST_PROCESSING_FILTER,
49 AUDIO_RECORDING_LOCAL_PLAYBACK_FILTER = 10000,
53 AUDIO_POST_PROCESSING_FILTER = 10001,
57 AUDIO_REMOTE_USER_PLAYBACK_FILTER = 10002,
63 AUDIO_PCM_SOURCE_FILTER = 10003,
69 AUDIO_PCM_SOURCE_SENDING_FILTER = 10004,
75 AUDIO_PCM_SOURCE_LOCAL_PLAYBACK_FILTER = 10005,
81 AUDIO_REMOTE_MIXED_PLAYBACK_FILTER = 10006,
87 const char* extension_name;
92 virtual void enumerateExtensions(ExtensionMetaInfo* extension_list,
93 int& extension_count) {
94 (void) extension_list;
102 virtual agora_refptr<IExtensionVideoFilter> createVideoFilter(
const char* name) {
106 virtual agora_refptr<IVideoSinkBase> createVideoSink(
const char* name) {
110 virtual void setProperty(
const char* key,
const char* value) {}
113 virtual ~IExtensionProvider() {}
118 virtual void getExtensionVersion(
const char* extension_name,
ExtensionVersion& version) = 0;