Agora RTC Objective-C API Reference  Refactor
AgoraVideoFilterDelegate.h
Go to the documentation of this file.
1 //
2 // AgoraVideoFilterDelegate.h
3 // Agora SDK
4 //
5 // Created by LLF on 2021-3-9.
6 // Copyright (c) 2021 Agora. All rights reserved.
7 //
8 
9 #import <Foundation/Foundation.h>
10 #import "AgoraExtObjects.h"
11 
12 typedef NS_ENUM(NSInteger, AgoraVideoFilterProcessMode) {
15 };
16 
17 typedef NS_ENUM(NSInteger, AgoraVideoFilterProcessResult) {
21 };
22 
23 @protocol AgoraVideoFilterControlDelegate <NSObject>
24 
30 - (AgoraVideoFilterProcessResult)deliverVideoFrame:(AgoraVideoFilterFrame * __nonnull)dstFrame;
31 
32 - (int)postEvent:(NSString * __nonnull)key value:(NSString * __nonnull)value;
33 - (void)disableMe:(int)error value:(NSString * __nonnull)message;
34 
35 @end
36 
43 @protocol AgoraVideoFilterDelegate <NSObject>
44 
49 - (void)startExtensionControl:(id<AgoraVideoFilterControlDelegate> __nullable)control;
50 
55 - (int)stopVideoFilter;
56 
66 - (void)getProcessMode:(AgoraVideoFilterProcessMode * _Nullable)mode isolated:(BOOL * _Nullable)isolated;
67 
77 - (void)getVideoFormatWanted:(AgoraVideoFilterFrameType * _Nullable)type pixelBufferFormat:(AgoraMemPixelBufferFormatType * _Nullable)format;
78 
86 - (void)setEnabled:(BOOL)enabled;
87 
94 - (BOOL)isEnabled;
95 
105 - (NSInteger)setPropertyWithKey:(NSString * __nonnull)key value:(NSData * __nonnull)value;
106 
116 - (NSInteger)getPropertyWithKey:(NSString * __nonnull)key value:(NSData *_Nullable* _Nullable)value;
117 
118 @optional
119 
125 - (AgoraVideoFilterProcessResult)pendVideoFrame:(AgoraVideoFilterFrame * __nonnull)srcFrame;
126 
135 - (AgoraVideoFilterProcessResult)adaptVideoFrame:(AgoraVideoFilterFrame * __nonnull)srcFrame
136  dstFrame:(AgoraVideoFilterFrame *_Nullable* _Nullable)dstFrame;
137 
138 @end
AgoraVideoFilterFrame
Definition: AgoraExtObjects.h:68
AgoraExtObjects.h
AgoraVideoFilterProcessResultSuccess
@ AgoraVideoFilterProcessResultSuccess
Definition: AgoraVideoFilterDelegate.h:18
AgoraVideoFilterProcessMode
AgoraVideoFilterProcessMode
Definition: AgoraVideoFilterDelegate.h:12
AgoraVideoFilterProcessModeAsync
@ AgoraVideoFilterProcessModeAsync
Definition: AgoraVideoFilterDelegate.h:14
AgoraMemPixelBufferFormatType
AgoraMemPixelBufferFormatType
Definition: AgoraExtObjects.h:45
AgoraVideoFilterFrameType
AgoraVideoFilterFrameType
Definition: AgoraExtObjects.h:34
-[AgoraVideoFilterDelegate-p stopVideoFilter]
int stopVideoFilter()
AgoraVideoFilterProcessResultBypass
@ AgoraVideoFilterProcessResultBypass
Definition: AgoraVideoFilterDelegate.h:19
AgoraVideoFilterControlDelegate-p
Definition: AgoraVideoFilterDelegate.h:23
AgoraVideoFilterProcessResult
AgoraVideoFilterProcessResult
Definition: AgoraVideoFilterDelegate.h:17
AgoraVideoFilterProcessModeSync
@ AgoraVideoFilterProcessModeSync
Definition: AgoraVideoFilterDelegate.h:13
AgoraVideoFilterProcessResultDrop
@ AgoraVideoFilterProcessResultDrop
Definition: AgoraVideoFilterDelegate.h:20
-[AgoraVideoFilterDelegate-p isEnabled]
BOOL isEnabled()
AgoraVideoFilterDelegate-p
Definition: AgoraVideoFilterDelegate.h:43