Marc Rousavy
03ee0a2099
feat: Expose FrameProcessorPlugin
TS type
2024-01-17 11:58:32 +01:00
Marc Rousavy
e825e21e1d
fix: Make Frame
properties readonly in Types ( #2397 )
2024-01-16 18:00:13 +01:00
Marc Rousavy
58ef21ebfd
feat: Add minFocusDistance
prop to CameraDevice
( #2392 )
...
* docs: Link `videoHdr`
* Update PERFORMANCE.mdx
* docs: Add isActive to perf
* docs: Update errors
* feat: Add `minFocusDistance` prop
* Format
* Update Podfile.lock
* fix: To Double
* fix: Import AVFoundation
* fix: Move from format -> device
* fix: Use centi-meters (cm) instead of meters
* Fix deadloop
* fix: Avoid -1 values
2024-01-15 19:30:20 +01:00
Marc Rousavy
9ecc09cfe4
docs: Add platform: iOS
annotation to regionOfInterest
prop
2024-01-13 19:35:30 +01:00
Marc Rousavy
34c5b11927
feat: Re-throw error on JS side instead of just logging on native side ( #2366 )
...
* 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)
2024-01-11 17:23:38 +01:00
Marc Rousavy
5c99728561
feat: Add new enableCodeScanner
prop to build.gradle
to make sure CodeScanner
always works ( #2355 )
...
* feat: Always download model instead of relying on Google Play Services
* feat: Use `VisionCamera_enableCodeScanner` flag instead of unsafely replacing
* Update CODE_SCANNING.mdx
2024-01-08 13:14:47 +01:00
Erwan LE PRADO
a8c16e31d6
feat: Make enableCodeScanner
expo config-plugin install the native dependency ( #2348 )
...
* feat: with gradle implementation
* chore: remove unused vars
* chore: eslint
* chore: eslint
2024-01-08 12:54:01 +01:00
Marc Rousavy
cc60ad296a
fix: Validate input props (fps
, hdr
, torch
, ...) instead of silently crashing ( #2354 )
...
* fix: Fix Blackscreen by deterministically destroying session if `isActive=false`
* Re-open Camera if session died
* Simplify Camera
* Disconnect is optional, block when resetting state
* fix: Log in `configure { ... }`
* fix: Make concurrent configure safe
* fix: Don't resize preview
* fix: Use current `CameraConfiguration`
* Don't start if no outputs are available
* Only mount with preview outputs
* Update CameraSession.kt
* Update PreviewView.kt
* Better logging
* Update CameraSession.kt
* Extract
* fix: Rebuild entire session if `isActive` changed
* isActive safe
* Start session at 1
* Create ActiveCameraDevice.kt
* interrupts
* chore: Freeze `frame` in `useFrameProcessor`
* Revert "chore: Freeze `frame` in `useFrameProcessor`"
This reverts commit dff93d506e29a791d8dea8842b880ab5c892211e.
* chore: Better logging
* fix: Move HDR to `video`/`photo` config
* fix: Fix hdr usage
* fix: Ignore any updates after destroying Camera
* fix: Fix video HDR
* chore: Format code
* fix: Check Camera permission
* Remove unneeded error
* Update CameraSession.kt
* Update CameraPage.tsx
* Delete OutputConfiguration.toDebugString.kt
* Update CameraSession.kt
* fix: Perform sanity checks to make sure props are valid
* format
2024-01-08 12:13:05 +01:00
Marc Rousavy
e4393cd83a
chore: Import type
only from CodeScanner
2023-12-28 11:56:40 +01:00
Marc Rousavy
591cf30a06
perf: Make getCameraPermission
and getMicrophonePermission
synchronous ( #2302 )
2023-12-19 14:22:04 +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
52f78a119b
feat: Add format filter for iso
( #2234 )
2023-12-12 11:16:08 +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
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
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
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
49d58d0d0c
perf: Use lossy
compressed YUV buffers if available ( #2195 )
2023-11-22 16:19:29 +01:00
Marc Rousavy
ef58d13b87
feat: Implement exposure
( #2173 )
...
* feat: Implement `exposure` (iOS)
* Update Podfile.lock
* Format
* Expose exposure in format
* Set exposure in Camera2
* fix: Fix exposure calculation
* Add exposure docs
2023-11-19 15:26:43 +01:00
Marc Rousavy
98a641702c
fix: Log errors to console if no onError
handler is passed
2023-11-18 12:16:52 +01:00
Marc Rousavy
c5dfb6c247
feat: Split videoHdr
and photoHdr
into two settings ( #2161 )
...
* 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
2023-11-15 18:33:12 +01:00
Marc Rousavy
e8ebc6ee9f
chore: Move code
2023-11-15 15:44:19 +01:00
Metrix Hungary Kft
e649aba8e1
feat: Implement cornerPoints
and frame
for scanned codes ( #2117 )
...
* 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>
2023-11-09 11:57:05 +01:00
Marc Rousavy
40268c4a05
fix: Fix getting triple devices with useCameraDevice
( #2074 )
2023-10-24 15:48:39 +02:00
Marc Rousavy
8a5dfd6ac6
fix: Fix physicalDevices
DeviceType computation on Android ( #2072 )
...
* fix: Fix device type calculation on Android
* fix: Type safety for deviceTypes
* fix: Update docs
2023-10-24 14:27:47 +02:00
Marc Rousavy
f91adb13be
fix: Use same error message
2023-10-24 13:44:03 +02:00
Marc Rousavy
da25aa1c1f
fix: Add getFrameProcessorPlugin
for backwards compatibility ( #2040 )
2023-10-19 11:35:02 +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
e8bb5cfec0
docs: Remove some links that just didn't work for some reason
2023-10-12 10:14:48 +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
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
36e9e00930
docs: Add **Flash** documentation
2023-10-05 16:40:15 +02:00
Marc Rousavy
ffd64feee8
feat: Add enableCodeScanner
to Expo Config Plugin
2023-10-05 11:06:38 +02:00
Jakov Glavina
6e249d165a
feat: Add Expo Config Plugin for CodeScanner MLKit Barcode Model downloader ( #1916 )
2023-10-05 10:58:31 +02:00
Marc Rousavy
93019c37e6
docs: Update example
2023-10-04 13:00:23 +02:00
Marc Rousavy
6640b72a00
feat: Code Scanner API ( #1912 )
...
* feat: CodeScanner JS API
* feat: iOS
* Use guard
* Format
* feat: Android base
* fix: Attach Surfaces
* Use isBusy var
* fix: Use separate Queue
* feat: Finish iOS types
* feat: Implement all other code types on Android
* fix: Call JS event
* fix: Pass codetypes on Android
* fix: iOS use Preview coordinate system
* docs: Add comments
* chore: Format code
* Update CameraView+AVCaptureSession.swift
* docs: Add Code Scanner docs
* docs: Update
* feat: Use lazily downloaded model on Android
* Revert changes in CameraPage
* Format
* fix: Fix empty QR codes
* Update README.md
2023-10-04 12:53:52 +02:00
Marc Rousavy
24f77fb224
fix: Use simple wide-angle device if no options are passed ( #1909 )
2023-10-03 12:03:20 +02:00
Marc Rousavy
d465c37bea
fix: Remove dng
PixelFormat
2023-10-03 11:27:46 +02:00
Marc Rousavy
edd73619c3
fix: Fix useCameraDevices
ignoring position
2023-09-30 11:20:11 +02:00
Marc Rousavy
85564d6d02
fix: Remove unused Error codes ( #1887 )
...
* fix: Remove unused Errors
* Errors.kt -> CameraError.kt
* fix: remove .system
2023-09-29 21:54:35 +02:00
Marc Rousavy
902dc634a4
feat: Add customizable Video Bit Rate (videoBitRate
) ( #1882 )
...
* feat: Add `videoBitRate` option to `RecordVideoOptions`
* feat: Implement `videoBitRate` on iOS
* feat: Implement `videoBitRate` on Android
* chore: Format
* docs: Separate recording and photo docs
* docs: Fix links
* docs: Add docs about bitrate and quality
* docs: Add blob
* fix: Don't use inline style for CI
* fix: Correctly log default bitRate
* fix: Fix typo
* fix: Calculate default bit-rate on Android depending on resolution
* Update RecordingSession.kt
2023-09-29 15:27:09 +02:00
Marc Rousavy
14721d314f
chore: Remove semicolons ( #1846 )
...
* chore: Disable `semi` in Prettier
* chore: Format w/o semi
* Remove more `;`
* Lint example
* More ;
2023-09-26 11:39:17 +02:00
Marc Rousavy
f7428f26a4
fix: Allow getCameraDevice
to return undefined
when no Devices are available (e.g. iOS Simulator) ( #1848 )
...
fix: Allow `getCameraDevice` to return `undefined` when no Devices are available
2023-09-26 11:24:24 +02:00
Marc Rousavy
706341fbdb
feat: Add Templates
API for choosing Camera Formats ( #1844 )
...
* docs: New V3 docs for new API
* fix: Prefer Wide-Angle unless explicitly opted-out
* docs: Update DEVICES
* Finish Devices docs
* Switch links
* Revert "Switch links"
This reverts commit 06f196ae0e67787cbd5768e125be6d0a3cb5bbc9.
* docs: New LIFECYCLE
* docs: New CAPTURING docs
* Update Worklets links
* docs: Update TROUBLESHOOTING and ZOOMING
* fix: Update `getAvailableCameraDevices()` usages
* docs: Update FORMATS
* Update Errors.kt
* docs: Fix broken links
* docs: Update references to old hooks
* docs: Create Frame Processor Tips
* docs: Auto-dark mode
* fix: Fix FPS filter
* feat: Add `'max'` flag to format filter
* fix: Use loop
* fix: Fix bug in `getCameraFormat`
* fix: Find best aspect ratio as well
* fix: Switch between formats on FPS change
* Update FRAME_PROCESSOR_PLUGIN_LIST.mdx
* Add FPS graph explanation
* feat: Add `Templates` API for choosing Camera Formats
2023-09-25 13:00:25 +02:00
Marc Rousavy
2d66d5893c
docs: New V3 docs for new API ( #1842 )
...
* docs: New V3 docs for new API
* fix: Prefer Wide-Angle unless explicitly opted-out
* docs: Update DEVICES
* Finish Devices docs
* Switch links
* Revert "Switch links"
This reverts commit 06f196ae0e67787cbd5768e125be6d0a3cb5bbc9.
* docs: New LIFECYCLE
* docs: New CAPTURING docs
* Update Worklets links
* docs: Update TROUBLESHOOTING and ZOOMING
* fix: Update `getAvailableCameraDevices()` usages
* docs: Update FORMATS
* Update Errors.kt
* docs: Fix broken links
* docs: Update references to old hooks
* docs: Create Frame Processor Tips
* docs: Auto-dark mode
* fix: Fix FPS filter
* feat: Add `'max'` flag to format filter
* fix: Use loop
* fix: Fix bug in `getCameraFormat`
* fix: Find best aspect ratio as well
* fix: Switch between formats on FPS change
* Update FRAME_PROCESSOR_PLUGIN_LIST.mdx
* Add FPS graph explanation
* feat: Support HDR filter
* docs: Add HDR docs
* docs: Add Video Stabilization
* docs: Update Skia docs
* Skia links
* Add Skia labels
* Update SKIA_FRAME_PROCESSORS.mdx
* docs: Add Performance
* Update some wording
* Update headers / and zoom
* Add examples for devices
* fix highlights
* fix: Expose `Frame`
* docs: Update FP docs
* Update links
* Update FRAME_PROCESSOR_CREATE_PLUGIN_IOS.mdx
2023-09-25 12:57:03 +02:00