Marc Rousavy
160ec77940
devops: Notice yarn.lock changes ( #145 )
...
* test
* Update notice-yarn-changes.yml
* upgrade prettier
2021-05-20 10:31:25 +02:00
Marc Rousavy
b6a67d5ced
feature: Frame Processors (iOS) ( #2 )
...
* Clean up Frame Processor
* Create FrameProcessorHolder
* Create FrameProcessorDelegate in ObjC++
* Move frame processor to FrameProcessorDelegate
* Decorate runtime, check for null
* Update FrameProcessorDelegate.mm
* Cleanup FrameProcessorBindings.mm
* Fix RuntimeDecorator.h import
* Update FrameProcessorDelegate.mm
* "React" -> "React Helper" to avoid confusion
* Rename folders again
* Fix podspec flattening a lot of headers, causing REA nameclash
* Fix header imports to avoid REA naming collision
* Lazily initialize jsi::Runtime on DispatchQueue
* Install frame processor bindings from Swift
* First try to call jsi::Function (frame processor) 👀
* Call viewForReactTag on RCT main thread
* Fix bridge accessing
* Add more logs
* Update CameraViewManager.swift
* Add more TODOs
* Re-indent .cpp files
* Fix RCTTurboModule import podspec
* Remove unnecessary include check for swift umbrella header
* Merge branch 'main' into frame-processors
* Docs: use static width for images (283)
* Create validate-cpp.yml
* Update a lot of packages to latest
* Set SWIFT_VERSION to 5.2 in podspec
* Create clean.sh
* Delete unused C++ files
* podspec: Remove CLANG_CXX_LANGUAGE_STANDARD and OTHER_CFLAGS
* Update pod lockfiles
* Regenerate lockfiles
* Remove IOSLogger
* Use NSLog
* Create FrameProcessorManager (inherits from REA RuntimeManager)
* Create reanimated::RuntimeManager shared_ptr
* Re-integrate pods
* Add react-native-reanimated >=2 peerDependency
* Add metro-config
* blacklist -> exclusionList
* Try to call worklet
* Fix jsi::Value* initializer
* Call ShareableValue::adapt (makeShareable) with React/JS Runtime
* Add null-checks
* Lift runtime manager creation out of delegate, into bindings
* Remove debug statement
* Make RuntimeManager unique_ptr
* Set _FRAME_PROCESSOR
* Extract convertJSIFunctionToFrameProcessorCallback
* Print frame
* Merge branch 'main' into frame-processors
* Reformat Swift code
* Install reanimated from npm again
* Re-integrate Pods
* Dependabot: Also scan example/ and docs/
* Update validate-cpp.yml
* Create FrameProcessorUtils
* Create Frame.h
* Abstract HostObject creation away
* Fix types
* Fix frame processor call
* Add todo
* Update lockfiles
* Add C++ contributing instructions
* Update CONTRIBUTING.md
* Add android/src/main/cpp to cpplint
* Update cpplint.sh
* Fix a few cpplint errors
* Fix globals
* Fix a few more cpplint errors
* Update App.tsx
* Update AndroidLogger.cpp
* Format
* Fix cpplint script (check-cpp)
* Try to simplify frame processor
* y
* Update FrameProcessorUtils.mm
* Update FrameProcessorBindings.mm
* Update CameraView.swift
* Update CameraViewManager.m
* Restructure everything
* fix
* Fix `@objc` export (make public)
* Refactor installFrameProcessorBindings into FrameProcessorRuntimeManager
* Add swift RCTBridge.runOnJS helper
* Fix run(onJS)
* Add pragma once
* Add `&self` to lambda
* Update FrameProcessorRuntimeManager.mm
* reorder imports
* Fix imports
* forward declare
* Rename extension
* Destroy buffer after execution
* Add FrameProcessorPluginRegistry base
* Merge branch 'main' into frame-processors
* Add frameProcessor to types
* Update Camera.tsx
* Fix rebase merge
* Remove movieOutput
* Use `useFrameProcessor`
* Fix bad merge
* Add additional ESLint rules
* Update lockfiles
* Update CameraViewManager.m
* Add support for V8 runtime
* Add frame processor plugins API
* Print plugin invoke
* Fix React Utils in podspec
* Fix runOnJS swift name
* Remove invalid redecl of `captureSession`
* Use REA 2.1.0 which includes all my big PRs 🎉
* Update validate-cpp.yml
* Update Podfile.lock
* Remove Flipper
* Fix dereferencing
* Capture `self` by value. Fucking hell, what a dumb mistake.
* Override a few HostObject functions
* Expose isReady, width, height, bytesPerRow and planesCount
* use hook again
* Expose property names
* FrameProcessor -> Frame
* Update CameraView+RecordVideo.swift
* Add Swift support for Frame Processors Plugins
* Add macros for plugin installation
* Add ObjC frame processor plugin
* Correctly install frame processor plugins
* Don't require custom name for macro
* Check if plugin already exists
* Implement QR Code Frame Processor Plugin in Swift
* Adjust ObjC style frame processor macro
* optimize
* Add `frameProcessorFrameDropRate`
* Fix types
* Only log once
* Log if it executes slowly
* Implement `frameProcessorFps`
* Implement manual encoded video recordings
* Use recommended video settings
* Add fileType types
* Ignore if input is not ready for media data
* Add completion handler
* Add audio buffer sampling
* Init only for video frame
* use AVAssetWriterInputPixelBufferAdaptor
* Remove AVAssetWriterInputPixelBufferAdaptor
* Rotate VideoWriter
* Always assume portrait orientation
* Update RecordingSession.swift
* Use a separate Queue for Audio
* Format Swift
* Update CameraView+RecordVideo.swift
* Use `videoQueue` instead of `cameraQueue`
* Move example plugins to example app
* Fix hardcoded name in plugin macro
* QRFrame... -> QRCodeFrame...
* Update FrameProcessorPlugin.h
* Add example frame processors to JS base
* Update QRCodeFrameProcessorPluginSwift.m
* Add docs to create FP Plugins
* Update FRAME_PROCESSORS_CREATE.mdx
* Update FRAME_PROCESSORS_CREATE.mdx
* Use `AVAssetWriterInputPixelBufferAdaptor` for efficient pixel buffer recycling
* Add customizable `pixelFormat`
* Use native format if available
* Update project.pbxproj
* Set video width and height as source-pixel-buffer attributes
* Catch
* Update App.tsx
* Don't explicitly set video dimensions, let CVPixelBufferPool handle it
* Add a few logs
* Cleanup
* Update CameraView+RecordVideo.swift
* Eagerly initialize asset writer to fix stutter at first frame
* Use `cameraQueue` DispatchQueue to not block CaptureDataOutputDelegate
* Fix duration calculation
* cleanup
* Cleanup
* Swiftformat
* Return available video codecs
* Only show frame drop notification for video output
* Remove photo and video codec functionality
It was too much complexity and probably never used anyways.
* Revert all android related changes for now
* Cleanup
* Remove unused header
* Update AVAssetWriter.Status+descriptor.swift
* Only call Frame Processor for Video Frames
* Fix `if`
* Add support for Frame Processor plugin parameters/arguments
* Fix arg support
* Move to JSIUtils.mm
* Update JSIUtils.h
* Update FRAME_PROCESSORS_CREATE.mdx
* Update FRAME_PROCESSORS_CREATE.mdx
* Upgrade packages for docs/
* fix docs
* Rename
* highlight lines
* docs
* community plugins
* Update FRAME_PROCESSOR_CREATE_FINAL.mdx
* Update FRAME_PROCESSOR_PLUGIN_LIST.mdx
* Update FRAME_PROCESSOR_PLUGIN_LIST.mdx
* Update dependencies (1/2)
* Update dependencies (2/2)
* Update Gemfile.lock
* add FP docs
* Update README.md
* Make `lastFrameProcessor` private
* add `frameProcessor` docs
* fix docs
* adjust docs
* Update DEVICES.mdx
* fix
* s
* Add logs demo
* add metro restart note
* Update FRAME_PROCESSOR_CREATE_PLUGIN_IOS.mdx
* Mirror video device
* Update AVCaptureVideoDataOutput+mirror.swift
* Create .swift-version
* Enable whole module optimization
* Fix recording mirrored video
* Swift format
* Clean dictionary on `markInvalid`
* Fix cleanup
* Add docs for disabling frame processors
* Update project.pbxproj
* Revert "Update project.pbxproj"
This reverts commit e67861e51b88b4888a6940e2d20388f3044211d0.
* Log frame drop reason
* Format
* add more samples
* Add clang-format
* also check .mm
* Revert "also check .mm"
This reverts commit 8b9d5e2c29866b05909530d104f6633d6c49eadd.
* Revert "Add clang-format"
This reverts commit 7643ac808e0fc34567ea1f814e73d84955381636.
* Use `kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange` as default
* Read matching video attributes from videoSettings
* Add TODO
* Swiftformat
* Conditionally disable frame processors
* Assert if trying to use frame processors when disabled
* Add frame-processors demo gif
* Allow disabling frame processors via `VISION_CAMERA_DISABLE_FRAME_PROCESSORS`
* Update FrameProcessorRuntimeManager.mm
* Update FRAME_PROCESSORS.mdx
* Update project.pbxproj
* Update FRAME_PROCESSORS_CREATE_OVERVIEW.mdx
2021-05-06 14:11:55 +02:00
Marc Rousavy
9f956a6f2f
devops: Use buildcache for iOS builds ( #131 )
...
* Use buildcache for iOS builds
from https://github.com/mikehardy/buildcache-action
* Update build-ios.yml
* Update build-ios.yml
* Specify compiler options to make buildcache work
* Update build-ios.yml
2021-05-05 15:28:14 +02:00
Marc Rousavy
1341d3ca92
fix: Actions labels ( #133 )
...
* Fix labels
* update
2021-05-05 10:38:26 +02:00
Marc Rousavy
53281dfb57
Create FUNDING.yml
2021-04-18 19:05:34 +02:00
Marc Rousavy
a0c9a0477b
Update BUG_REPORT.md
2021-03-29 17:27:13 +02:00
Marc Rousavy
12f6ab5217
Disable dependabot for package.json
...
It's only devDependencies and some upgrades won't work with the example
2021-03-26 17:34:50 +01:00
Marc Rousavy
8e396c329a
Disable dependabot for docs/ and example/
2021-03-26 17:33:07 +01:00
Marc Rousavy
48821d50ca
Move Guides to docs/guides directory ( #96 )
...
* Move Guides to docs/guides directory
* Rename sidebar
* Fix api/ links
* Update SETUP.mdx
2021-03-23 15:25:27 +01:00
Marc Rousavy
0ce6f3eddd
Add autofix/diff checker to ESLint
2021-03-12 15:10:44 +01:00
Marc Rousavy
04163160ff
Also run validate-js for example/
2021-03-12 14:58:09 +01:00
Marc Rousavy
dee957648b
Fix tsc (again) ( #50 )
...
* Test forbid `<View>`
* Update validate-js.yml
* Run yarn lint with custom formatter lib
* Revert "Test forbid `<View>`"
This reverts commit d36ab54b48b7e86e594d360bd71c82b541ed63fa.
* Test: Intentional tsc error
* Update notice-new-dependencies.yml
* Update validate-js.yml
* Use reviewdog again, but with custom efm
* Fix <Camera> props
* Update validate-js.yml
* Try use github-check
* Update validate-js.yml
* Update validate-js.yml
* Add two reporters
* Update validate-js.yml
* Level error
* Use github-pr-review
* Update validate-js.yml
* Revert "Test: Intentional tsc error"
This reverts commit a4e7f6f599d403848729143f1bd87a3435c70826.
2021-03-12 14:19:22 +01:00
Marc Rousavy
33483cba94
Fix tsc ( #49 )
...
* Test: Rename a used prop
* Use `github-check` reporter
* Also output to CI
* Update validate-js.yml
* Update validate-js.yml
* Update validate-js.yml
* Revert "Test: Rename a used prop"
This reverts commit 266b2716ea591a1e826279c1f573870bee3b13e5.
* Run tsc and lint in parallel
* Flatten `CameraProps` into single `interface`
* Type NativeCameraViewProps
* Fix native method typings
* Force `as any` for now
2021-03-12 13:21:46 +01:00
Marc Rousavy
b3881db9b8
Only build iOS if native files changed
2021-03-12 09:59:45 +01:00
Marc Rousavy
1f08a44100
Use Ruby Gemfile (bundle) to optimize pod install times
2021-03-11 19:08:51 +01:00
Marc Rousavy
9cbb5ad68e
Update build-ios.yml
2021-03-11 19:02:10 +01:00
Marc Rousavy
832d6155eb
Cache Pods in any path that contains "Pods"
2021-03-11 18:36:35 +01:00
Marc Rousavy
c84fa68357
Fix iOS build action ( #43 )
2021-03-11 18:27:10 +01:00
Marc Rousavy
0d717f0dbe
Build App Actions ( #41 )
...
* Adds a "Build Android App" action that builds example/android (I think we can also just build android/, but this is just double safety)
* Adds a "Build iOS App" action that builds example/ios (disabled for now as that is very expensive)
2021-03-11 16:51:28 +01:00
Marc Rousavy
305c11fe7b
Dependabot: Also scan example/ and docs/
2021-03-11 15:53:14 +01:00
Marc Rousavy
47276997e3
Documentation: Use checkout-v2, remove setup-node
2021-03-09 14:16:21 +01:00
Marc Rousavy
630f47da92
Revert "Cleanup Build & Release Documentation action"
...
This reverts commit a2c85cc7a5
.
2021-03-09 14:14:54 +01:00
Marc Rousavy
27f9fec281
Revert "don't use ssh"
...
This reverts commit 9c3071ec03
.
2021-03-09 14:14:52 +01:00
Marc Rousavy
9c3071ec03
don't use ssh
2021-03-09 14:14:30 +01:00
Marc Rousavy
a2c85cc7a5
Cleanup Build & Release Documentation action
2021-03-09 14:11:38 +01:00
Marc Rousavy
cd55596ebd
Create notice-new-dependencies.yml
2021-03-09 11:14:45 +01:00
Marc Rousavy
64bb6f6a2a
Run SwiftFormat in GH Action ( #28 )
2021-03-09 10:53:29 +01:00
Marc Rousavy
168ba054d1
Update workflow glob matchers
2021-03-09 09:45:06 +01:00
Marc Rousavy
fcda8dd75a
Reviewdog: Fail on error
2021-03-08 19:34:46 +01:00
Marc Rousavy
f051481010
Devops/reviewdog typescript ( #25 )
...
* Use reviewdog for TSC
* Replace all `type Readonly<T>` with `interface T`
* Use --frozen-lockfile for yarn
* Give all actions a name
* Fix yarn example
2021-03-08 17:51:47 +01:00
Marc Rousavy
33794d7dc4
Update dependabot.yml
2021-03-04 13:17:44 +01:00
Marc Rousavy
47c57298fc
Create dependabot.yml
2021-03-04 13:15:17 +01:00
Marc Rousavy
15709e9f53
Fix old links
2021-03-04 10:45:50 +01:00
Marc Rousavy
138e7bd0ec
Ignore example/
for building docs
2021-03-04 10:38:42 +01:00
Marc Rousavy
71b442aeb4
Fix docs build path
2021-03-04 10:36:27 +01:00
Marc Rousavy
0709711b07
Only trigger on source code changes
2021-03-04 10:28:51 +01:00
Marc Rousavy
e7f696112e
Install node_modules in build-docs.yml
2021-03-04 10:27:37 +01:00
Marc Rousavy
78aa90109a
Update build-docs.yml
2021-03-03 21:31:22 +01:00
Marc Rousavy
734c84579b
build-docs: use ssh
2021-03-03 14:45:57 +01:00
Marc Rousavy
a97a3cf6ec
Update build-docs.yml
2021-03-03 13:29:35 +01:00
Marc Rousavy
ef1b9e0d20
Update build-docs.yml
2021-03-03 13:22:40 +01:00
Marc Rousavy
9eb1f5d04c
Update build-docs.yml
2021-03-03 13:17:34 +01:00
Marc Rousavy
0fc0dc04ae
Add typescript dep
2021-03-03 13:03:29 +01:00
Marc Rousavy
d1516ae622
Create build-docs.yml
2021-03-03 12:53:13 +01:00
Marc Rousavy
6438b9a8bc
Bump CameraX versions to alpha2/alpha22 ( #7 )
...
* Bump CameraX versions to alpha2/alpha22
* Use `setDefaultResolution` to set format's photoSize
2021-02-26 17:34:28 +01:00
Marc Rousavy
03b9246afe
Devops: KTLint to lint Kotlin code ( #6 )
...
* Adds KTLint as a GitHub action
* Adds KTLint to the gradle project for IDE integration
* Adds .editorconfig to configure KTLint (android/)
2021-02-26 10:56:20 +01:00
Marc Rousavy
12236735b0
Update PULL_REQUEST_TEMPLATE.md
2021-02-23 16:47:35 +01:00
Marc Rousavy
3339c19e05
Update BUG_REPORT.md
2021-02-23 16:39:34 +01:00
Marc Rousavy
d60a3a34bc
fix issue template emojis
2021-02-23 15:30:42 +01:00
Marc Rousavy
5a863b2bff
Create QUESTION.md
2021-02-23 15:29:37 +01:00
Marc Rousavy
ca85d5968a
Update FEATURE_REQUEST.md
2021-02-23 15:22:05 +01:00
Marc Rousavy
8c26a1737c
rename ISSUE_TEMPLATEs
2021-02-23 15:21:21 +01:00
Marc Rousavy
eef1075776
Update ---bug-report.md
2021-02-23 15:19:43 +01:00
Marc Rousavy
b300b8fad0
Update ---bug-report.md
2021-02-23 15:19:08 +01:00
Marc Rousavy
6134d6cf8a
Delete bug_report.md
2021-02-23 15:15:39 +01:00
Marc Rousavy
1e75db6a2e
Update issue templates
2021-02-23 15:15:14 +01:00
Marc Rousavy
35542a710a
Create PULL_REQUEST_TEMPLATE.md
2021-02-23 15:01:28 +01:00
Marc Rousavy
c1a679bf2a
Merge Validate JS into single job
2021-02-23 14:52:41 +01:00
Marc Rousavy
4277907af9
Update validate-js.yml
2021-02-23 14:49:17 +01:00
Marc Rousavy
c2908e12e1
Use yarn cache dir for correct caching
2021-02-23 14:46:11 +01:00
Marc Rousavy
e8aa9d81c2
Add cache action
2021-02-23 14:43:23 +01:00
Marc Rousavy
da514bb99b
Update validate-js.yml
2021-02-23 14:40:14 +01:00
Marc Rousavy
915492f108
Update validate-js.yml
2021-02-23 14:39:54 +01:00
Marc Rousavy
371b602d3a
Rename jobs
2021-02-23 14:35:55 +01:00
Marc Rousavy
1cb3a63557
Update validate-js.yml
2021-02-23 14:34:46 +01:00
Marc Rousavy
338e7efa1e
Rename
2021-02-23 14:29:59 +01:00
Marc Rousavy
1747c9a1c2
Run TypeScript again
2021-02-23 14:27:16 +01:00
Marc Rousavy
96b9ca666e
Update validate-typescript.yml
2021-02-23 14:22:05 +01:00
Marc Rousavy
27ec27abcd
Run lint through formatter
2021-02-23 14:17:10 +01:00
Marc Rousavy
3a8ba79a0c
Update validate-typescript.yml
2021-02-23 14:12:57 +01:00
Marc Rousavy
f05c5d9f6e
Update validate-kotlin.yml
2021-02-23 14:12:17 +01:00
Marc Rousavy
626d69f455
Update validate-typescript.yml
2021-02-23 14:11:33 +01:00
Marc Rousavy
0885e6ef20
Update validate-kotlin.yml
2021-02-23 14:08:10 +01:00
Marc Rousavy
0ce157aed5
Update validate-typescript.yml
2021-02-23 14:06:46 +01:00
Marc Rousavy
78b15665dc
Fix working-directory
2021-02-23 14:06:15 +01:00
Marc Rousavy
e4d5d5dac5
Multithread validate-typescript
2021-02-23 14:03:39 +01:00
Marc Rousavy
38bdcef721
Fix branches master -> main
2021-02-23 14:00:32 +01:00
Marc Rousavy
8067a7534b
Create validate-kotlin.yml
2021-02-23 13:59:42 +01:00
Marc Rousavy
73b9ee1d66
Fix wildcard syntax
2021-02-23 12:41:31 +01:00
Marc Rousavy
3f4c1c112e
Update validate-swift.yml
2021-02-23 12:38:59 +01:00
Marc Rousavy
e71a708774
Update validate-swift.yml
2021-02-23 12:33:06 +01:00
Marc Rousavy
0a96f3c62a
Fix workflows
2021-02-23 12:32:43 +01:00
Marc Rousavy
3157341a0e
update readme
2021-02-23 12:32:03 +01:00
Marc Rousavy
6f2046c7ed
Update validate-swift.yml
2021-02-23 12:29:16 +01:00
Marc Rousavy
62959c79d4
Update validate-typescript.yml
2021-02-23 12:19:07 +01:00
Marc Rousavy
f0c0d25197
Update validate-swift.yml
2021-02-23 12:18:13 +01:00
Marc Rousavy
7308d6e218
Update validate-swift.yml
2021-02-23 12:16:41 +01:00
Marc Rousavy
749f01b271
Cache node_modules
2021-02-23 12:15:33 +01:00
Marc Rousavy
e74e232043
Update validate-typescript.yml
2021-02-23 12:13:11 +01:00
Marc Rousavy
85fc9b35be
Create validate-swift.yml
2021-02-23 12:12:04 +01:00
Marc Rousavy
f94597d78e
Add Validate TypeScript workflow
2021-02-23 11:58:30 +01:00