Agora RTC Objective-C API Reference  Refactor
AgoraMediaFilterExtensionDelegate.h
Go to the documentation of this file.
1 //
2 // AgoraMediaFilterExtensionDelegate.h
3 // Agora SDK
4 //
5 // Created by LLF on 2020-9-21.
6 // Copyright (c) 2020 Agora. All rights reserved.
7 //
8 
9 #import <Foundation/Foundation.h>
13 
14 typedef NS_ENUM(NSInteger, AgoraExtProviderType) {
22 };
23 
24 typedef NS_ENUM(NSInteger, AgoraExtLogLevel) {
30 };
31 
32 @protocol AgoraExtControlDelegate <NSObject>
41 - (NSInteger)log:(AgoraExtLogLevel)level
42  message:(NSString * __nullable)message;
43 
44 - (NSInteger)fireEvent:(NSString * __nonnull)provider
45  extension:(NSString * __nullable)extension
46  key:(NSString * __nullable)key
47  value:(NSString * __nullable)value;
48 
49 @end
50 
51 @protocol AgoraExtProviderDelegate <NSObject>
52 
53 - (NSArray<AgoraExtensionMetaInfo*> * __nonnull)getExtenionMetaInfoList;
54 
55 - (void)setExtensionControl:(id<AgoraExtControlDelegate> __nullable)control;
58 - (id<AgoraVideoSinkDelegate> __nullable)createVideoSink;
59 
60 @end
61 
62 /*
63  * If you prefer to use cpp to implement Extension Plugin, you MUST implement
64  * - (NSString * __nonnull)vendor; & - (void * __nullable)mediaFilterRawProvider; interface methods
65  * If you prefer to use ObjC to implement Extension Plugin, you MUST implement
66  * - (NSString * __nonnull)vendor; & - (id<AgoraExtProviderDelegate> __nullable)mediaFilterProvider; interface methods
67  */
69 /* Media filter(audio filter or video fitler) name, shoud be unique
70  *
71  */
72 - (NSString * __nonnull)vendor;
73 
74 @optional
75 /* Meida filter(audio filter or video filter or video sink) pointer,
76  * this pointer MUST implement AgoraExtProviderDelegate interface
77  */
79 
80 /* Meida filter(audio filter or video filter) pointer,
81  * this pointer MUST implement IExtensionProvider interface
82  */
83 - (void * __nullable)mediaFilterRawProvider;
84 
85 @end
-[AgoraMediaFilterExtensionDelegate-p vendor]
NSString *__nonnull vendor()
AgoraExtProviderTypeLocalVideoSink
@ AgoraExtProviderTypeLocalVideoSink
Definition: AgoraMediaFilterExtensionDelegate.h:19
AgoraAudioFilterDelegate-p
Definition: AgoraAudioFilterDelegate.h:18
AgoraExtLogLevelInfo
@ AgoraExtLogLevelInfo
Definition: AgoraMediaFilterExtensionDelegate.h:26
AgoraExtensionMetaInfo
Definition: AgoraExtObjects.h:181
AgoraExtProviderTypeRemoteVideoSink
@ AgoraExtProviderTypeRemoteVideoSink
Definition: AgoraMediaFilterExtensionDelegate.h:20
AgoraExtLogLevelError
@ AgoraExtLogLevelError
Definition: AgoraMediaFilterExtensionDelegate.h:28
AgoraVideoFilterDelegate.h
AgoraExtLogLevelFatal
@ AgoraExtLogLevelFatal
Definition: AgoraMediaFilterExtensionDelegate.h:29
-[AgoraExtProviderDelegate-p createVideoFilter]
id< AgoraVideoFilterDelegate > __nullable createVideoFilter()
-[AgoraMediaFilterExtensionDelegate-p mediaFilterRawProvider]
void *__nullable mediaFilterRawProvider()
AgoraExtLogLevelWarn
@ AgoraExtLogLevelWarn
Definition: AgoraMediaFilterExtensionDelegate.h:27
AgoraExtProviderTypeRemoteVideoFilter
@ AgoraExtProviderTypeRemoteVideoFilter
Definition: AgoraMediaFilterExtensionDelegate.h:18
AgoraMediaFilterExtensionDelegate-p
Definition: AgoraMediaFilterExtensionDelegate.h:68
AgoraAudioFilterDelegate.h
AgoraExtProviderDelegate-p
Definition: AgoraMediaFilterExtensionDelegate.h:51
AgoraExtLogLevel
AgoraExtLogLevel
Definition: AgoraMediaFilterExtensionDelegate.h:24
-[AgoraMediaFilterExtensionDelegate-p mediaFilterProvider]
id< AgoraExtProviderDelegate > __nullable mediaFilterProvider()
AgoraExtProviderTypeLocalVideoFilter
@ AgoraExtProviderTypeLocalVideoFilter
Definition: AgoraMediaFilterExtensionDelegate.h:17
AgoraVideoSinkDelegate.h
-[AgoraExtProviderDelegate-p getExtenionMetaInfoList]
NSArray< AgoraExtensionMetaInfo * > *__nonnull getExtenionMetaInfoList()
AgoraExtProviderTypeRemoteAudioFilter
@ AgoraExtProviderTypeRemoteAudioFilter
Definition: AgoraMediaFilterExtensionDelegate.h:16
AgoraExtProviderTypeUnknown
@ AgoraExtProviderTypeUnknown
Definition: AgoraMediaFilterExtensionDelegate.h:21
AgoraVideoSinkDelegate-p
Definition: AgoraVideoSinkDelegate.h:15
AgoraExtLogLevelNone
@ AgoraExtLogLevelNone
Definition: AgoraMediaFilterExtensionDelegate.h:25
AgoraExtControlDelegate-p
Definition: AgoraMediaFilterExtensionDelegate.h:32
AgoraVideoFilterDelegate-p
Definition: AgoraVideoFilterDelegate.h:43
AgoraExtProviderType
AgoraExtProviderType
Definition: AgoraMediaFilterExtensionDelegate.h:14
-[AgoraExtProviderDelegate-p createVideoSink]
id< AgoraVideoSinkDelegate > __nullable createVideoSink()
AgoraExtProviderTypeLocalAudioFilter
@ AgoraExtProviderTypeLocalAudioFilter
Definition: AgoraMediaFilterExtensionDelegate.h:15
-[AgoraExtProviderDelegate-p createAudioFilter]
id< AgoraAudioFilterDelegate > __nullable createAudioFilter()