feat: Complete iOS Codebase rewrite (#1647)
* Make Frame Processors an extra subspec * Update VisionCamera.podspec * Make optional * Make VisionCamera compile without Skia * Fix * Add skia again * Update VisionCamera.podspec * Make VisionCamera build without Frame Processors * Rename error to `system/frame-processors-unavailable` * Fix Frame Processor returning early * Remove `preset`, FP partial rewrite * Only warn on frame drop * Fix wrong queue * fix: Run on CameraQueue again * Update CameraView.swift * fix: Activate audio session asynchronously on audio queue * Update CameraView+RecordVideo.swift * Update PreviewView.h * Cleanups * Cleanup * fix cast * feat: Add LiDAR Depth Camera support * Upgrade Ruby * Add vector icons type * Update Gemfile.lock * fix: Stop queues on deinit * Also load `builtInTrueDepthCamera` * Update CameraViewManager.swift * Update SkImageHelpers.mm * Extract FrameProcessorCallback to FrameProcessor Holds more context now :) * Rename to .m * fix: Add `RCTLog` import * Create SkiaFrameProcessor * Update CameraBridge.h * Call Frame Processor * Fix defines * fix: Allow deleting callback funcs * fix Skia build * batch * Just call `setSkiaFrameProcessor` * Rewrite in Swift * Pass `SkiaRenderer` * Fix Import * Move `PreviewView` to Swift * Fix Layer * Set Skia Canvas to Frame Host Object * Make `DrawableFrameHostObject` subclass * Fix TS types * Use same MTLDevice and apply scale * Make getter * Extract `setTorch` and `Preview` * fix: Fix nil metal device * Don't wait for session stop in deinit * Use main pixel ratio * Use unique_ptr for Render Contexts * fix: Fix SkiaPreviewDisplayLink broken after deinit * inline `getTextureCache` * Update CameraPage.tsx * chore: Format iOS * perf: Allow MTLLayer to be optimized for only frame buffers * Add RN Video types * fix: Fix Frame Processors if guard * Find nodeModules recursively * Create `Frame.isDrawable` * Add `cocoapods-check` dependency
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
// Created by Marc Rousavy on 01.05.21.
|
||||
//
|
||||
|
||||
#if __has_include(<VisionCamera/FrameProcessorPlugin.h>)
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <VisionCamera/FrameProcessorPlugin.h>
|
||||
#import <VisionCamera/Frame.h>
|
||||
@@ -45,3 +46,4 @@
|
||||
}
|
||||
|
||||
@end
|
||||
#endif
|
||||
|
@@ -9,6 +9,7 @@
|
||||
import AVKit
|
||||
import Vision
|
||||
|
||||
#if VISION_CAMERA_ENABLE_FRAME_PROCESSORS
|
||||
@objc
|
||||
public class ExamplePluginSwift : FrameProcessorPlugin {
|
||||
|
||||
@@ -44,3 +45,4 @@ public class ExamplePluginSwift : FrameProcessorPlugin {
|
||||
]
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@@ -4,3 +4,4 @@ source 'https://rubygems.org'
|
||||
ruby '>= 2.6.10'
|
||||
|
||||
gem 'cocoapods', '>= 1.11.3'
|
||||
gem 'cocoapods-check', '>= 1.1.0'
|
||||
|
@@ -94,8 +94,11 @@ PLATFORMS
|
||||
x86_64-darwin-19
|
||||
|
||||
DEPENDENCIES
|
||||
cocoapods (= 1.11.3)
|
||||
cocoapods-check
|
||||
cocoapods (>= 1.11.3)
|
||||
cocoapods-check (>= 1.1.0)
|
||||
|
||||
RUBY VERSION
|
||||
ruby 2.6.10p210
|
||||
|
||||
BUNDLED WITH
|
||||
2.2.27
|
||||
2.3.22
|
||||
|
@@ -713,7 +713,7 @@ SPEC CHECKSUMS:
|
||||
RNStaticSafeAreaInsets: 055ddbf5e476321720457cdaeec0ff2ba40ec1b8
|
||||
RNVectorIcons: fcc2f6cb32f5735b586e66d14103a74ce6ad61f8
|
||||
SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17
|
||||
VisionCamera: 0ee46c2c5dd7b8aa3cc3152ff4deda60ac58276f
|
||||
VisionCamera: b4e91836f577249470ae42707782f4b44d875cd9
|
||||
Yoga: 65286bb6a07edce5e4fe8c90774da977ae8fc009
|
||||
|
||||
PODFILE CHECKSUM: ab9c06b18c63e741c04349c0fd630c6d3145081c
|
||||
|
@@ -2,5 +2,7 @@
|
||||
// Use this file to import your target's public headers that you would like to expose to Swift.
|
||||
//
|
||||
|
||||
#if VISION_CAMERA_ENABLE_FRAME_PROCESSORS
|
||||
#import <VisionCamera/FrameProcessorPlugin.h>
|
||||
#import <VisionCamera/Frame.h>
|
||||
#endif
|
||||
|
@@ -2,7 +2,9 @@
|
||||
|
||||
#import <React/RCTBundleURLProvider.h>
|
||||
#import "VisionCameraExample-Swift.h"
|
||||
#if VISION_CAMERA_ENABLE_FRAME_PROCESSORS
|
||||
#import <VisionCamera/FrameProcessorPlugin.h>
|
||||
#endif
|
||||
|
||||
@implementation AppDelegate
|
||||
|
||||
@@ -13,7 +15,9 @@
|
||||
// They will be passed down to the ViewController used by React Native.
|
||||
self.initialProps = @{};
|
||||
|
||||
#if VISION_CAMERA_ENABLE_FRAME_PROCESSORS
|
||||
[FrameProcessorPlugin registerPlugin:[[ExamplePluginSwift alloc] init]];
|
||||
#endif
|
||||
|
||||
return [super application:application didFinishLaunchingWithOptions:launchOptions];
|
||||
}
|
||||
|
Reference in New Issue
Block a user