* 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)
* feat: Re-throw error on JS side instead of just logging on native side
* fix: Fix proxy
* fix: Fix app crash by only logging error
* fix: Use `global.ErrorUtils` (from reanimated)
* feat: Always download model instead of relying on Google Play Services
* feat: Use `VisionCamera_enableCodeScanner` flag instead of unsafely replacing
* Update CODE_SCANNING.mdx
* 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++
* Remove unused hasConstants method. Do no thrown error on minBy call when filterd videoProfiles contains zero items.
* Remove not related to the fix changes.
* 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
* fix: Close `CameraSession` if the View is removed
* fix: Use ViewManager's `onDropViewInstance` instead
* fix: Only stop repeating if we have a session
* fix: Reset `configuration` on `close()`
* feat: Split `videoHdr` and `photoHdr` into two settings
* fix: Rename all `hdr`
* fix: Fix HDR on Android
* Update CameraDeviceDetails.kt
* Update CameraDeviceDetails.kt
* fix: Correctly configure `pixelFormat` AFTER `format`
* Update CameraSession+Configuration.swift
* fix: Also after format changed
* Android & TypeScript part of scanned code corner points. Scanned frame dimensions also included in callback. #2076
* TS fix. #2076
* Implement iOS parts of code scanner corner points with additional scanned frame data.
* Add example page for code scanning
* Use Point type from Point.ts
* Update package/src/CodeScanner.ts
Add parameters description to CodeScanner callback.
Co-authored-by: Marc Rousavy <marcrousavy@hotmail.com>
* Update package/src/CodeScanner.ts
More expressive description for CodeScannerFrame.
Co-authored-by: Marc Rousavy <marcrousavy@hotmail.com>
* Update package/src/CodeScanner.ts
Co-authored-by: Marc Rousavy <marcrousavy@hotmail.com>
* Update package/src/CodeScanner.ts
Co-authored-by: Marc Rousavy <marcrousavy@hotmail.com>
* Update package/ios/Core/CameraSession+CodeScanner.swift
Co-authored-by: Marc Rousavy <marcrousavy@hotmail.com>
* Update package/ios/Core/CameraSession+CodeScanner.swift
Co-authored-by: Marc Rousavy <marcrousavy@hotmail.com>
* Remove default values from CodeSCannerFrame
* Linting
* Multiply code corner points in swift
---------
Co-authored-by: stemy <balazs.stemler@metrix.co.hu>
Co-authored-by: Zoli <iamzozo@metrix.co.hu>
Co-authored-by: Marc Rousavy <marcrousavy@hotmail.com>
* fix: set correct namespace in build.gradle
* chore: refactor Android project for compatibility with multiple Gradle versions
---------
Co-authored-by: Marc Rousavy <me@mrousavy.com>
Also changed the namespace in the build gradle to
not be com.mrousavy.camera.example - this would
crash when using dex in release mode on android.
Changed to `com.mrousavy.camera`.
Implements a semi-working version of flash photo capture for Android.
This isn't properly implemented because a proper implementation requires a fully custom precapture sequence that enables the torch, then waits for AE/AF to adjust, lock AE/AF, then capture with a single torch burst, and then turn the torch off again. This is quite complex, that's why the feature request #1890 is marked at $3,000.
For now, this is a simple flash burst which _sometimes works_, _sometimes not_ - highly depends on the device.
If anyone wants true working flash capture, sponsor in #1890.