Commit Graph

1366 Commits

Author SHA1 Message Date
Marc Rousavy
da25aa1c1f
fix: Add getFrameProcessorPlugin for backwards compatibility (#2040) 2023-10-19 11:35:02 +02:00
Marc Rousavy
3929c0ac46
fix: Initialize Plugins in a static block of ReactPackage (#2039)
* fix: Initialize Plugins in a `static` block of ReactPackage

* fix: Also register FP Plugins in Example
2023-10-19 11:34:09 +02:00
Marc Rousavy
07027d8010
fix: Rename getFrameProcessorPlugin to initFrameProcessorPlugin (#2038)
* fix: Rename `getFrameProcessorPlugin` to `initFrameProcessorPlugin`

* fix: Make nullable, add comments

* Format

* Update FrameProcessorPlugin.java

* Update FrameProcessorPlugin.h

* fix: Fix dead links

* Call super constructor

* Update ExampleFrameProcessorPlugin.java

* fix: Init calls
2023-10-19 11:19:47 +02:00
Mateusz Mędrek
a291642c53
feat: Reintroduce Macros for Frame Processor Plugin registration (#2027)
in VisionCamera v1 & v2 there were two ObjC macros that were helping
in creation/registration of Frame Processors, but these were removed with
v3

This PR reintroduces such macros, which will not only make FP development
easier, but also it will also fix issues people had with registration of
Swift Frame Processors (+load vs +initialize issues)

Docs were also updated to reflect that the macros should be used to
correctly initialize and register ObjC/Swift Frame Processors
2023-10-19 10:35:14 +02:00
Marc Rousavy
2666ac53a6
fix: Fix build on Xcode 14 (#2033)
* fix: Fix build on Xcode 14

* Format

* Make CI run on `macOS-latest`

* Nested if
2023-10-18 18:25:30 +02:00
Marc Rousavy
9573ae19cb
fix: Remove unneeded kotlin-android-extensions dependency (#2034) 2023-10-18 18:22:34 +02:00
Marc Rousavy
89dfd351e0
fix: Fix torch not working on iOS (#2031)
* fix: Fix `torch` not working on iOS

* Format

* fix: Use `withSessionLock` and `withDeviceLock`

* Update CameraSession.swift

* Update RecordingSession.swift
2023-10-18 18:04:58 +02:00
Marc Rousavy
6956fded2d
chore: release 3.4.1 2023-10-18 17:48:04 +02:00
Marc Rousavy
764897dcf1
Update .gitattributes 2023-10-18 13:13:40 +02:00
Marc Rousavy
e845dc8397
Update .gitattributes 2023-10-18 11:30:01 +02:00
Marc Rousavy
b4960d1e5f
Update .gitattributes 2023-10-17 15:04:06 +02:00
Marc Rousavy
674d96706a
fix: Fix Code Type not supported error (#2022) 2023-10-17 11:55:11 +02:00
Marc Rousavy
4e1a1fd68b
fix: Rename parsers/ to types/ (#2021)
chore: Rename `parsers/` to `types/`
2023-10-17 11:49:04 +02:00
Marc Rousavy
3b1d8353a5
chore: Add .gitattributes 2023-10-16 18:07:04 +02:00
Marc Rousavy
2af965d1ad
fix: Log in FrameProcessorPluginRegistry (#2012)
* fix: Log when adding Frame Processor Plugin

* fix: Also log on Android

* Add logs in get as well

* fix: Fix string concat on Android
2023-10-16 17:51:18 +02:00
Marc Rousavy
ce9a505776
chore: release 3.4.0 2023-10-16 17:15:12 +02:00
Marc Rousavy
5e20f9c8fa
chore: Rename CodeScanner to CodeScannerOptions in native (#2010)
* chore: Rename `CodeScanner` to `CodeScannerOptions` on native

* chore: Rename `CodeScanner` on iOS

* fix: Unwrap `options`

* Format
2023-10-16 16:56:39 +02:00
Marc Rousavy
e8ae11e30b
fix: Fix CodeScanner stalling on Android (#2009) 2023-10-16 16:28:51 +02:00
Marc Rousavy
8884a1c3e4
docs: Update phrasing 2023-10-16 13:40:52 +02:00
Marc Rousavy
208d737e9d
docs: Update meta tags 2023-10-16 13:37:09 +02:00
Marc Rousavy
53475dc1f3
docs: Use wrong index again 2023-10-16 13:24:08 +02:00
Marc Rousavy
e8df7148fa
fix: Run CodeScanner on default queue, fix stalling (#2002)
* fix: Run CodeScanner on default queue, fix stalling

* fix: Use `MAX_IMAGES` of 3
2023-10-14 13:30:21 +02:00
Marc Rousavy
ea98112a21
fix: Fix basic Orientation on iOS (#2000)
* fix: Fix basic Orientation on iOS

* ci: Use macOS 13 runner for latest Xcode 15

* chore: Remove Xcode 15 checks

* Format
2023-10-14 13:17:14 +02:00
Marc Rousavy
fab5bdc0cd
fix: Fix PreviewView overflowing on Android (#2001)
* fix: Run `addView` on UI Thread

* fix: Fix overflow of PreviewView
2023-10-14 13:17:05 +02:00
Marc Rousavy
315fcb68a8
fix: Fix FpsGraph not updating 2023-10-14 12:41:53 +02:00
Marc Rousavy
62ca95725d
fix: Fix torch not turning off after it has been enabled (#1997)
fix: Fix torch and low-light boost not turning off again
2023-10-13 18:44:44 +02:00
Marc Rousavy
cd0b413706
feat: New Core/ library (#1975)
Moves everything Camera related into `core/` / `Core/` so that it is better encapsulated from React Native.

Benefits:

1. Code is much better organized. Should be easier for collaborators now, and cleaner codebase for me.
2. Locking is fully atomically as you can now only configure the session through a lock/Mutex which is batch-overridable
    * On iOS, this makes Camera startup time **MUCH** faster, I measured speedups from **1.5 seconds** to only **240 milliseconds** since we only lock/commit once! 🚀 
    * On Android, this fixes a few out-of-sync/concurrency issues like "Capture Request contains unconfigured Input/Output Surface!" since it is now a single lock-operation! 💪 
3. It is easier to integrate VisionCamera outside of React Native (e.g. Native iOS Apps, NativeScript, Flutter, etc)

With this PR, VisionCamera V3 is up to **7x** faster than V2
2023-10-13 18:33:20 +02:00
Marc Rousavy
54871022f4
docs: Use correct index 2023-10-12 10:15:01 +02:00
Marc Rousavy
e8bb5cfec0
docs: Remove some links that just didn't work for some reason 2023-10-12 10:14:48 +02:00
Marc Rousavy
18e69269d4
fix: Catch errors in CaptureSession configuration 2023-10-10 19:18:54 +02:00
Marc Rousavy
727fb39f01
fix: Close previous Outputs to free memory 2023-10-10 19:17:36 +02:00
Marc Rousavy
10a44d5b79
fix: Also close outputs in destroy() 2023-10-10 19:10:42 +02:00
Marc Rousavy
bccd73d704
Revert "fix: Close CameraSession in onDetachedFromWindow() (#1962)"
This reverts commit 02726d47f7.
2023-10-10 19:06:06 +02:00
Vahid Hasani
02726d47f7
fix: Close CameraSession in onDetachedFromWindow() (#1962)
* Close camera session in onDetachedFromWindow

* Remove cache folder

---------

Co-authored-by: Marc Rousavy <me@mrousavy.com>
2023-10-10 19:01:54 +02:00
Marc Rousavy
1e7059ca8f
Revert "fix: Remove Frame Processor when Camera unmounts (#1960)"
This reverts commit d51ac1529b.
2023-10-10 18:58:47 +02:00
Tuan Luong
d51ac1529b
fix: Remove Frame Processor when Camera unmounts (#1960)
* unsetFrameProcessor when camera view is removed

* Use `this.lastFrameProcessor` instead

---------

Co-authored-by: Marc Rousavy <marcrousavy@hotmail.com>
2023-10-10 18:55:08 +02:00
Marc Rousavy
18b30cd073
fix: Always call CaptureSession fully synchronously under Mutex (#1972)
* fix: Always call `CaptureSession` fully synchronously under Mutex

* Update CameraView.kt

* chore: Format
2023-10-10 18:51:46 +02:00
Marc Rousavy
915ef331d3
feat: Extract CodeScannerPipeline & fix stalling (#1971)
* chore: Extract CodeScannerPipeline

* chore: Format

* Update CodeScannerPipeline.kt
2023-10-10 18:51:36 +02:00
Marc Rousavy
a2e5cef37e
chore: Fix docs links 2023-10-10 18:40:15 +02:00
Marc Rousavy
b33174399e
docs: Fix broken links 2023-10-10 18:21:39 +02:00
Marc Rousavy
a498144fd5
chore: Update doc URLs 2023-10-09 11:17:07 +02:00
Marc Rousavy
6e72781500
feat: Use correct photo and video format dimensions on iOS (#1929)
* feat: Use new photo dimensions API

* Update AVCaptureDevice.Format+matchesFilter.swift

* fix: Use Pixels instead of Points for video size

* feat: Set `PhotoOutput`'s maximum photo resolution

* fix: Compare dictionaries instead

* chore: Format code

* fix: Try to use hash.... failing atm

* fix: Use rough comparison again

* fix: Also take video HDR into consideration

* chore: Format

* Use contains

* Update AVCaptureDevice.Format+toDictionary.swift

* docs: Add better docs to Camera props

* Update CameraView+AVCaptureSession.swift

* Update CameraView+AVCaptureSession.swift
2023-10-06 16:11:09 +02:00
Marc Rousavy
a4448c3a7d
fix: Fix focus() on iOS (#1943) 2023-10-06 14:30:12 +02:00
Erwan LE PRADO
9d71990570
feat: Activate Torch Mode on Android (#1932) 2023-10-06 14:28:57 +02:00
Marc Rousavy
4cbe8324d5
chore: Replace ' with " 2023-10-06 13:04:34 +02:00
Marc Rousavy
92c27b06ae Update DEVICES.mdx 2023-10-06 11:53:13 +02:00
Marc Rousavy
36e9e00930
docs: Add **Flash** documentation 2023-10-05 16:40:15 +02:00
Marc Rousavy
3750734578 chore: release 3.3.1 2023-10-05 14:52:47 +02:00
Marc Rousavy
1843f7ac3a
feat: Add "Camera Devices" screen to Example (#1927)
* feat: Add "Camera Devices" screen to Example

* feat: Store device in MMKV
2023-10-05 14:52:03 +02:00
Marc Rousavy
658695dca5
docs: Use smaller title on mobile (#1928) 2023-10-05 14:50:36 +02:00