9 #include "AgoraRefPtr.h"
10 #include "AgoraExtensions.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,
100 VIDEO_ENCODER = 20004,
104 VIDEO_DECODER = 20005,
110 const char* extension_name;
115 virtual void enumerateExtensions(ExtensionMetaInfo* extension_list,
116 int& extension_count) {
117 (void) extension_list;
125 virtual agora_refptr<IExtensionVideoFilter> createVideoFilter(
const char* name) {
129 virtual agora_refptr<IExtensionVideoSink> createVideoSink(
const char* name) {
133 virtual void setProperty(
const char* key,
const char* value) {}
136 virtual ~IExtensionProvider() {}
141 virtual void getExtensionVersion(
const char* extension_name,
ExtensionVersion& version) = 0;
147 VIDEO_CODEC_TYPE codec_type;
148 bool is_hw_accelerated;