Commit Graph

1424 Commits

Author SHA1 Message Date
Marc Rousavy
895f3ec889 feat: Make Frame thread-safe and improve error messages (#2327)
* fix: Fix multi-Thread access on Java

* fix: Thread-lock access on iOS as well

* whoops add missing header impl

* Update Podfile.lock

* fix: Don't use `CFGetRetainCount`

* fix: Lock access on iOS as well

* C++ format

* More detailed error

* chore: Move getters into `Frame`

* Format c++

* Use enum `orientation` again

* format

* fix: Synchronize `isValid` on Java

* Also log pixelformat

* feat: Use Java enums in C++

* Format C++
2023-12-29 14:09:56 +01:00
Marc Rousavy
e4393cd83a chore: Import type only from CodeScanner 2023-12-28 11:56:40 +01:00
David Gruseck
7905f2c057 fix: Fix for inset of SENSOR_INFO_ACTIVE_ARRAY_SIZE for Android < 11 (#2306)
fix for inset of SENSOR_INFO_ACTIVE_ARRAY_SIZE

Co-authored-by: David Gruseck <david.gruseck@actinate.com>
2023-12-22 10:59:23 +01:00
Marc Rousavy
7241342fd8 docs: Add plugin by mgcrea/vision-camera-barcode-scanner 2023-12-22 10:42:34 +01:00
Marc Rousavy
0d3ecd1131 fix: Fix min/max exposure range on Android (#2304) 2023-12-21 12:25:46 +01:00
Marc Rousavy
591cf30a06 perf: Make getCameraPermission and getMicrophonePermission synchronous (#2302) 2023-12-19 14:22:04 +01:00
Marc Rousavy
3d2feb6f6c Revert "Update banner for Producthunt"
This reverts commit 2fb56e5802.
2023-12-18 12:36:49 +01:00
Marc Rousavy
2fb56e5802 Update banner for Producthunt 2023-12-14 11:54:45 +01:00
Marc Rousavy
975b9f1959 chore: release 3.6.17 2023-12-14 10:55:11 +01:00
Marc Rousavy
bd5c9675b7 fix: Check torch only if needed (#2215) 2023-12-14 10:54:19 +01:00
Marc Rousavy
3a627c7262 docs: Add ShadowLens announcement (#2285)
* docs: Add ShadowLens announcement

* Update docusaurus.config.js

* Update docusaurus.config.js
2023-12-13 22:46:03 +01:00
Marc Rousavy
977bf56c6d feat: Concurrent/Cancellable configure (#2282)
* feat: Cancellable `configure`

* Android

* Update Podfile.lock

* Configure outside of lock

* Update lockfiles

* Use `bundle` for CI

* Update script

* Update Podfile.lock

* fix: Set config at end

* Lint
2023-12-13 16:38:02 +01:00
Marc Rousavy
5a81fabedd chore: release 3.6.16 2023-12-12 16:44:47 +01:00
Marc Rousavy
7d6c058806 Update Podfile.lock 2023-12-12 16:44:28 +01:00
Marc Rousavy
9a187c6d19 feat: Add width and height to VideoFile output (#2281)
* feat: Add `width` and `height` to `VideoFile` output

* Format
2023-12-12 16:43:57 +01:00
Marc Rousavy
98f08800f2 chore: release 3.6.15 2023-12-12 12:09:52 +01:00
Marc Rousavy
263065048c fix: Fix Only the original thread that created a view hierarchy can touch it's views error (#2278)
* fix: Fix `Only the original thread that created a view hierarchy can touch its views` error

* fix: Also call `SurfaceHolder` method on UI Thread
2023-12-12 12:00:29 +01:00
Marc Rousavy
7fccee226c docs: Update C++ Frame Processor docs (#2277) 2023-12-12 11:39:36 +01:00
Marc Rousavy
6107a245c4 fix: Only copy over C++ headers 2023-12-12 11:23:49 +01:00
Rodrigo Gomes
248a08b18c feat: Support for C++ Frame Processor Plugins by publishing VisionCamera as a prefab (#2251)
* update docs

* add prefabs support
2023-12-12 11:21:21 +01:00
Marc Rousavy
df32d2c5e9 fix: Only close image once 2023-12-12 11:19:42 +01:00
Rodrigo Gomes
9600a38398 fix: Fix out-of-memory crash in QR code scanner by closing Image (#2267)
cover onCompleted listener for codescanner
2023-12-12 11:18:55 +01:00
Marc Rousavy
52f78a119b feat: Add format filter for iso (#2234) 2023-12-12 11:16:08 +01:00
Przemysław Arlet
99491846a9 fix: Fix RN 0.73 error "'hasConstants' overrides nothing" at CameraDevicesManager.kt (#2264)
Co-authored-by: Przemysław Arlet <przemyslaw.arlet@lamel.pl>
2023-12-12 11:15:46 +01:00
Romick2005
a612eb9d38 fix: Fix NoSuchElementException in getRecommendedBitRate (#2266)
* Remove unused hasConstants method.  Do no thrown error on minBy call when filterd videoProfiles contains zero items.

* Remove not related to the fix changes.
2023-12-12 11:15:10 +01:00
Marc Rousavy
4ee52d6211 feat: Add onStarted and onStopped events (#2273)
* feat: Add `onStarted` and `onStopped` events

* Implement `onStart` for Android

* Update CameraSession.kt

* Update CameraSessionDelegate.swift
2023-12-09 19:09:55 +01:00
Marc Rousavy
9ef4a9a210 chore: release 3.6.14 2023-12-07 18:10:27 +01:00
Marc Rousavy
2ce3b4a0ef fix: Fix RN 0.73 compatibility (#2260) 2023-12-07 18:09:15 +01:00
Matthew Terry
a77939f6c4 docs: Add missing import for FP docs (#2254) 2023-12-05 20:33:46 +01:00
Marc Rousavy
d47d12edcf chore: release 3.6.13 2023-12-04 11:48:00 +01:00
Marc Rousavy
c23f49e6bd fix: Fix VideoProfile possibly being null (#2231)
* fix: Fix `VideoProfile` possibly being null

* Format
2023-12-04 11:46:21 +01:00
RhysJosmin
9df46670a8 docs: Use npx expo instead of expo for snippets (#2241)
updated The installation snippet from `expo install react-native-vision-camera` to `npx expo install react-native-vision-camera` since the The global expo-cli package has been deprecated.
2023-12-04 11:45:49 +01:00
Marc Rousavy
a5e10a8606 fix: Fix torch not staying on while recording (#2249)
* fix: Fix `zoom` on native gesture

* fix: Control `torch` from JS side

* Update CameraView+RecordVideo.kt

* Update CameraView+Zoom.swift
2023-12-04 11:43:17 +01:00
Marc Rousavy
d78d3ea214 fix: Fix minFps being wrong (#2248)
* fix: Fix `minFps` being wrong

* Update AVCaptureDevice.Format+toDictionary.swift
2023-12-04 11:41:56 +01:00
Marc Rousavy
edb415e913 fix: Fix videoCodec being parsed wrong on Android 2023-11-28 20:23:28 +01:00
Marc Rousavy
980961d76f chore: release 3.6.12 2023-11-28 12:11:08 +01:00
Marc Rousavy
c68da4540d fix: Fix first Frame not being written in Video (#2228)
* fix: Fix first Frame not being written in Video

* Update Podfile.lock
2023-11-28 12:10:21 +01:00
Marc Rousavy
fc5fba1234 chore: release 3.6.11 2023-11-27 17:30:05 +01:00
Marc Rousavy
a28135da20 feat: Add extra-low and extra-high bit-rate options (#2225) 2023-11-27 17:29:25 +01:00
Marc Rousavy
d7f7095d1a fix: Use bitRate multiplier instead of setting it to an absolute value (#2216)
* fix: Use `bitRate` multiplier instead of setting it to an absolute value

* Pass override

* Format

* Rename

* feat: Also implement Android

* fix: Log Mbps properly

* fix: Up-/Down-scale bit-rate if different options

* fix: Parse in Manager

* Update RecordingSession+getRecommendedBitRate.kt
2023-11-27 17:20:26 +01:00
Marc Rousavy
d78798ff84 fix: Fix focus(..) on iOS (#2220) 2023-11-27 14:43:56 +01:00
Marc Rousavy
7047686ff9 fix: Fix Recordings with audio={false} timeouting (#2221) 2023-11-27 14:43:48 +01:00
Marc Rousavy
cad5240420 fix: Move minExposure/maxExposure from format into device (#2211)
* fix: Move `minExposure`/`maxExposure` into `device`

* Update docs

* chore: Remove unneeded dependency

* chore: Update code
2023-11-24 18:20:56 +01:00
Marc Rousavy
bb3a42e6bc fix: Fix torch not being reset after video recording (#2209) 2023-11-23 22:19:44 +01:00
Marc Rousavy
717a3534bc chore: release 3.6.10 2023-11-23 18:17:57 +01:00
Marc Rousavy
1767e6e881 fix: Fully synchronize buffers in RecordingSession to account for late-running frames (#2206)
* fix: Fully synchronize `RecordingSession` to account for late Frames

* Restructure Code

* Update RecordingSession.swift

* Fix last audio timestamp not being used

* fix: Remove `capture/aborted` error

* Update RecordingSession.swift

* Don't log for every Frame

* Format
2023-11-23 18:17:15 +01:00
Marc Rousavy
29e649937e Update Podfile.lock 2023-11-23 15:22:51 +01:00
Marc Rousavy
ccb04016a0 chore: release 3.6.9 2023-11-22 17:55:32 +01:00
Marc Rousavy
da0067d9f7 fix: Fix iOS not reading videoCodec and videoBitRate from options (#2202)
* fix: Fix iOS not reading `videoCodec` and `videoBitRate` from options

* Update AVVideoCodecType+descriptor.swift
2023-11-22 17:54:49 +01:00
Marc Rousavy
cf8f3d05e3 fix: Fix Video Recording delay and improve startRecording() performance (#2192)
* fix: Add more logs

* perf: Init audio AVAssetWriter in parallel

* chore: Log Audio Session activation

* perf: Init Audio Session asynchronously

* chore: Log when category changed

* fix: Revert lazy audio initialization

* Update Podfile.lock

* Pass `sourceFormatHint` to video and audio AVAssetWriter

* fix: Remove `sourceFormatHint` from Video Asset Writer

* Use default options for Audio Asset Writer

* Update Podfile.lock

* Revert "Use default options for Audio Asset Writer"

This reverts commit e575a14c5342ddc7f9db557d5e3915328ed9e798.

* Add time logs

* fix: Don't synchronize audio buffers, they are already in sync

* shouldOptimizeForNetworkUse = false

* fix: Only update `latestTimestamp` once video buffer has been written

* perf: Use `AVAssetWriterInput` instead of `AVAssetWriterInputPixelBufferAdaptor`

* fix: Fix Audio not being synchronized with Video

* Remove logs add comments

* Format

* feat: Set `.videoRecording` AVAudioSession mode

* Refactor `startRecording()` a bit

* Format

* chore: Throw error directly instead of double-checking
2023-11-22 17:53:10 +01:00