9 #include "AgoraRefPtr.h"
10 #include "NGIAgoraMediaNode.h"
11 #include "AgoraExtensionVersion.h"
15 class IExtensionControl;
46 VIDEO_POST_PROCESSING_FILTER,
52 AUDIO_RECORDING_LOCAL_PLAYBACK_FILTER = 10000,
56 AUDIO_POST_PROCESSING_FILTER = 10001,
60 AUDIO_REMOTE_USER_PLAYBACK_FILTER = 10002,
66 AUDIO_PCM_SOURCE_FILTER = 10003,
72 AUDIO_PCM_SOURCE_SENDING_FILTER = 10004,
78 AUDIO_PCM_SOURCE_LOCAL_PLAYBACK_FILTER = 10005,
84 AUDIO_REMOTE_MIXED_PLAYBACK_FILTER = 10006,
88 VIDEO_POST_CAPTURE_FILTER = 20001,
92 VIDEO_PRE_PREVIEW_FILTER = 20002,
96 VIDEO_PRE_ENCODER_FILTER = 20003,
102 const char* extension_name;
107 virtual void enumerateExtensions(ExtensionMetaInfo* extension_list,
108 int& extension_count) {
109 (void) extension_list;
117 virtual agora_refptr<IExtensionVideoFilter> createVideoFilter(
const char* name) {
121 virtual agora_refptr<IVideoSinkBase> createVideoSink(
const char* name) {
125 virtual void setProperty(
const char* key,
const char* value) {}
128 virtual ~IExtensionProvider() {}
133 virtual void getExtensionVersion(
const char* extension_name,
ExtensionVersion& version) = 0;