feat: Add zero-copy SharedArray type to Frame Processor Plugins (#2383)
				
					
				
			* feat: Create `TypedArray` class for Frame Processor Plugins * Type * feat: Pass `VisionCameraProxy` along (BREAKING) * feat: Finish implementation * Log a bit * feat: Successfully convert JSI <> JNI buffers * Wrap buffer * fix: Fix using wrong Runtime * feat: Add docs * add zero copy example * Format C++ * Create iOS base * feat: Finish iOS implementation * chore: Format * fix: Use `NSData` instead of `NSMutableData` * Format * fix: Fix build when Frame Processors are disabled * chore: Rename `TypedArray` to `SharedArray` * fix: Fix Swift typings for Array * Remove a few default inits * fix: Fix Android build * fix: Use `NSInteger` * Update SharedArray.mm * fix: Expose bytes directly on iOS (NSData was immutable)
This commit is contained in:
		| @@ -10,14 +10,18 @@ | ||||
|  | ||||
| #import "Frame.h" | ||||
| #import "FrameProcessorPlugin.h" | ||||
| #import "VisionCameraProxy.h" | ||||
| #import <Foundation/Foundation.h> | ||||
|  | ||||
| @interface FrameProcessorPluginRegistry : NSObject | ||||
|  | ||||
| typedef FrameProcessorPlugin* _Nonnull (^PluginInitializerFunction)(NSDictionary* _Nullable options); | ||||
| typedef FrameProcessorPlugin* _Nonnull (^PluginInitializerFunction)(VisionCameraProxyHolder* _Nonnull proxy, | ||||
|                                                                     NSDictionary* _Nullable options); | ||||
|  | ||||
| + (void)addFrameProcessorPlugin:(NSString* _Nonnull)name withInitializer:(PluginInitializerFunction _Nonnull)pluginInitializer; | ||||
|  | ||||
| + (FrameProcessorPlugin* _Nullable)getPlugin:(NSString* _Nonnull)name withOptions:(NSDictionary* _Nullable)options; | ||||
| + (FrameProcessorPlugin* _Nullable)getPlugin:(NSString* _Nonnull)name | ||||
|                                    withProxy:(VisionCameraProxyHolder* _Nonnull)proxy | ||||
|                                  withOptions:(NSDictionary* _Nullable)options; | ||||
|  | ||||
| @end | ||||
|   | ||||
		Reference in New Issue
	
	Block a user