Commit Graph

307 Commits

Author SHA1 Message Date
05d36aecc9 Add onVideoChunkReady callback 2024-02-01 19:41:58 -07:00
fb42545890 some camera orientation stuff, maybe toss? 2024-01-31 16:50:36 -07:00
e82f068b21 Add isLandscape to orientation 2024-01-31 16:50:36 -07:00
08f37070a4 Simplify ChunkedRecorder 2024-01-31 16:50:36 -07:00
d95057fa47 Initial chunked recording implementation 2024-01-31 16:50:34 -07:00
999e789eee Get flake working 2024-01-31 16:44:01 -07:00
Marc Rousavy
5f339c60c6
chore: Update Podfile.lock 2024-01-31 21:09:42 +01:00
Marc Rousavy
ae75e22fc0
fix: Fix crash in toArrayBuffer() by properly acquiring a reference on AHardwareBuffer* (#2490)
* fix: Fix crash in `toArrayBuffer()` by properly acquiring a reference on `AHardwareBuffer*`

* Format

* Update Podfile.lock
2024-01-31 20:32:02 +01:00
Marc Rousavy
f896831d4a
fix: Properly check HardwareBuffer usage flags before setting them (#2488)
* fix: Properly check `HardwareBuffer` usage flags before setting them

* fix: Use GPU flag if pixel format is NATIVE

* Update VideoPipeline.kt

* Add some logs

* fix: Properly convert ImageFormat to HardwareBufferFormat

* Update Podfile.lock

* fix: Add a safe `getHardwareBufferFormat` method

* Format
2024-01-31 20:31:56 +01:00
dependabot[bot]
fb96d000bc
feat: Bump org.jetbrains.kotlinx:kotlinx-coroutines-android from 1.5.2 to 1.7.3 (#2467)
Might be a breaking change as there have been some in that dependency.

chore(deps): bump org.jetbrains.kotlinx:kotlinx-coroutines-android

Bumps [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) from 1.5.2 to 1.7.3.
- [Release notes](https://github.com/Kotlin/kotlinx.coroutines/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md)
- [Commits](https://github.com/Kotlin/kotlinx.coroutines/compare/1.5.2...1.7.3)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlinx:kotlinx-coroutines-android
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-31 17:32:01 +01:00
dependabot[bot]
26579cd931
chore(deps-dev): bump @babel/runtime from 7.23.6 to 7.23.9 in /package/example (#2485)
chore(deps-dev): bump @babel/runtime in /package/example

Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.23.6 to 7.23.9.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.9/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-31 17:30:31 +01:00
dependabot[bot]
ba2aa89781
chore(deps): bump react-native-safe-area-context from 4.8.0 to 4.8.2 in /package/example (#2484)
chore(deps): bump react-native-safe-area-context in /package/example

Bumps [react-native-safe-area-context](https://github.com/th3rdwave/react-native-safe-area-context) from 4.8.0 to 4.8.2.
- [Release notes](https://github.com/th3rdwave/react-native-safe-area-context/releases)
- [Commits](https://github.com/th3rdwave/react-native-safe-area-context/commits/v4.8.2)

---
updated-dependencies:
- dependency-name: react-native-safe-area-context
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-31 17:30:06 +01:00
dependabot[bot]
793ba4860d
chore(deps-dev): bump @types/react from 18.2.43 to 18.2.48 in /package/example (#2483)
chore(deps-dev): bump @types/react in /package/example

Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 18.2.43 to 18.2.48.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-31 17:29:57 +01:00
dependabot[bot]
ac69bfda44
chore(deps-dev): bump prettier from 3.1.1 to 3.2.4 in /package/example (#2482)
Bumps [prettier](https://github.com/prettier/prettier) from 3.1.1 to 3.2.4.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.1.1...3.2.4)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-31 17:29:50 +01:00
dependabot[bot]
75bd937473
chore(deps-dev): bump @expo/config-plugins from 7.2.5 to 7.8.4 in /package (#2477)
chore(deps-dev): bump @expo/config-plugins in /package

Bumps [@expo/config-plugins](https://github.com/expo/expo/tree/HEAD/packages/@expo/config-plugins) from 7.2.5 to 7.8.4.
- [Changelog](https://github.com/expo/expo/blob/main/packages/@expo/config-plugins/CHANGELOG.md)
- [Commits](https://github.com/expo/expo/commits/HEAD/packages/@expo/config-plugins)

---
updated-dependencies:
- dependency-name: "@expo/config-plugins"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-31 17:29:28 +01:00
dependabot[bot]
d8e0577698
chore(deps-dev): bump prettier from 3.1.1 to 3.2.4 in /package (#2475)
Bumps [prettier](https://github.com/prettier/prettier) from 3.1.1 to 3.2.4.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.1.1...3.2.4)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-31 17:29:06 +01:00
dependabot[bot]
d5d7471f80
chore(deps-dev): bump @react-native/typescript-config from 0.73.1 to 0.74.0 in /package (#2473)
chore(deps-dev): bump @react-native/typescript-config in /package

Bumps [@react-native/typescript-config](https://github.com/facebook/react-native/tree/HEAD/packages/typescript-config) from 0.73.1 to 0.74.0.
- [Release notes](https://github.com/facebook/react-native/releases)
- [Changelog](https://github.com/facebook/react-native/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react-native/commits/HEAD/packages/typescript-config)

---
updated-dependencies:
- dependency-name: "@react-native/typescript-config"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-31 17:28:52 +01:00
dependabot[bot]
a346a011b2
chore(deps-dev): bump @types/react from 18.2.43 to 18.2.48 in /package (#2470)
Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 18.2.43 to 18.2.48.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-31 17:28:25 +01:00
Marc Rousavy
060d3f6831
chore: Use npm for demos 2024-01-31 17:17:58 +01:00
Marc Rousavy
af314dacf3
chore: Update react-native-worklets-core
Fixes the JNI Thread not attached error in `runAsync`
2024-01-30 17:58:48 +01:00
Marc Rousavy
5f75b9e8dc
fix: Fix HostObject destructors to make sure a JNI Environment is set up (#2462)
* fix: Fix HostObject destructors to make sure a JNI Environment is set up

* Use `reset` instead of `= nullptr`

* Format

* Format
2024-01-30 16:51:09 +01:00
Marc Rousavy
9e1297531e
fix: Use ThreadScope::WithClassLoader to also load custom JNI Types (#2461)
* fix: Fix `ThreadScope` in `runAsync`

* fix: Use `&`

* Update JVisionCameraScheduler.cpp
2024-01-30 16:37:00 +01:00
Marc Rousavy
33e2adcec6
fix: Fix Unable to retrieve jni environment. Is the thread attached? errors by using jni::ThreadScope (#2457)
fix: Add `jni::ThreadScope` to `JVisionCameraScheduler`
2024-01-30 15:39:33 +01:00
Marc Rousavy
9089014ed8
feat: Add FPS Counter to Android (enableFpsGraph) (#2460)
* feat: Add FPS Counter to Android (`enableFpsGraph`)

* feat: Add FPS View

* Update FpsCounterView.kt

* Implement actual graph

* fix layout

* Update FpsGraphView.kt

* Update CameraPage.tsx
2024-01-30 15:28:18 +01:00
Marc Rousavy
8c5b60355f
perf: Use existing cameraQueue instead of yet another Thread (#2459)
* perf: Use existing `cameraQueue` instead of yet another Thread

* fix: Use `coroutineScope` to avoid wrong use of isActive

* fix: Do the same for `CameraSession`

* Lint
2024-01-30 14:26:55 +01:00
Marc Rousavy
af14f912fb
chore: Move onFrame into Callback on Android (#2458)
* Separate to onFrame

* Restructure FP

* Move lib loading into `CameraViewModule`
2024-01-30 14:17:32 +01:00
Amir Hossein Shekari
02bc8a979c
fix: Fix NullPointerException in initFrameProcessorPlugin if plugin is not found (#2454)
* fix: fix the null exception

* Add `Nullable` and `NonNull` annotations

---------

Co-authored-by: Marc Rousavy <me@mrousavy.com>
2024-01-30 10:52:42 +01:00
Marc Rousavy
d9a301100f
fix: Fix priority being ignored in some Format filters (#2456)
* fix: Expose auto-focus system for Android

* Add `autoFocusSystem` to filter

* Update CameraDeviceDetails.kt

* Update getCameraFormat.ts

* fix: Fix `priority` being ignored in some Format filters

* Update getCameraFormat.ts
2024-01-30 10:52:34 +01:00
Marc Rousavy
b5eb01bac8
fix: Expose auto-focus system for Android (#2455)
* fix: Expose auto-focus system for Android

* Add `autoFocusSystem` to filter

* Update CameraDeviceDetails.kt

* Update getCameraFormat.ts
2024-01-30 10:49:28 +01:00
Marc Rousavy
bdbcf05d14
fix: Fix NullPointerException in VideoPipeline.removeRecordingSessionOutputSurface (#2453) 2024-01-29 18:59:12 +01:00
Marc Rousavy
6d3a3c3c2f
chore: Move perf before fix 2024-01-29 13:47:12 +01:00
Marc Rousavy
d64fc08e16
fix: Fix pixelFormat being native when FP is set (#2450) 2024-01-29 13:39:16 +01:00
Marc Rousavy
587f2b164b
fix: Enable processNestedWorklets to fix runAsync in example (#2449) 2024-01-29 13:39:09 +01:00
Marc Rousavy
c911d25727
fix: Fix SharedArray JSI constructor allocating a new array instead of wrapping (#2444) 2024-01-26 12:05:00 +01:00
Marc Rousavy
8d59f7c3d0
chore: Remove unused file AVCaptureConnection+setInterfaceOrientation.swift 2024-01-26 10:20:55 +01:00
Marc Rousavy
11eb1f68e4
feat: Use yuv by default if no pixelFormat is set (#2441) 2024-01-26 10:07:16 +01:00
Daniel Prado
7e2889cf84
fix: Fix maxImages have been acquired error in Frame Processor (#2430)
* fix: maxImages when frameprocessor error

* fix: Use `try`/`finally` for safety

---------

Co-authored-by: Marc Rousavy <me@mrousavy.com>
2024-01-25 18:17:48 +01:00
Marc Rousavy
bc6f954bf1
fix: Fix Android C++ SharedArray logs 2024-01-25 16:34:45 +01:00
Marc Rousavy
b1fa06514f
fix: Catch insufficient-storage errors (#2422)
* fix: Catch `insufficient-storage` errors

* feat: Implement `insufficient-storage` error for Android

* fix: Catch insufficient storage error also on takePhoto android
2024-01-24 11:48:38 +01:00
Marc Rousavy
7894779094
chore: Remove _log from eslint 2024-01-19 14:33:45 +01:00
Marc Rousavy
b5d039b470
chore: Update Podfile.lock 2024-01-19 12:36:15 +01:00
Marc Rousavy
a739ca18e0
fix: Prevent phone from going to sleep if Camera is active (#2421) 2024-01-19 12:35:33 +01:00
Marc Rousavy
97684af851
fix: Refresh Permissions on AppState change (#2420) 2024-01-19 12:17:04 +01:00
Marc Rousavy
f400487a8d
fix: Remove unneeded synchronized keyword 2024-01-18 20:02:48 +01:00
Marc Rousavy
bae1f52d4a
chore: Cleanup Android codebase (#2415) 2024-01-18 18:55:49 +01:00
Marc Rousavy
50437b6568
chore: release 3.8.2 2024-01-18 10:49:39 +01:00
Marc Rousavy
992934e00e
feat: SharedArray:wrapData:withSize init for iOS (#2410)
* feat: `ArrayBuffer:wrapData:withSize` init for iOS

* Format

* fix build error

* Update ExampleFrameProcessorPlugin.m

* docs: Add class docs for SharedArray
2024-01-18 10:41:26 +01:00
Marc Rousavy
e21a1c2110
fix: Throw not-compatible-with-outputs error when adding both CodeScannerPipeline and VideoPipeline (#2411)
* fix: Throw `not-compatible-with-outputs` error when adding CodeScanner and Video

* Format
2024-01-18 10:40:15 +01:00
Marc Rousavy
ba576054c3
chore: release 3.8.1 2024-01-17 20:20:54 +01:00
Marc Rousavy
ba1d7eec9c
feat: Use JSI's ArrayBuffer instead of TypedArray (#2408)
* feat: Use JSI's `ArrayBuffer` instead of `TypedArray`

* fix: Fix move memory

* feat: Implement iOS

* Format

* Update JSIJNIConversion.cpp

* fix: Fix Android `toArrayBuffer` and other

* Catch FP call errors

* Update return type

* Use `CPU_READ_OFTEN` flag as well

* CPU flag

* Run destructors under `jni::ThreadScope`

* Update FrameProcessorPluginHostObject.cpp

* fix: Fix `toArrayBuffer()` crash

* Update Frame.ts
2024-01-17 20:18:46 +01:00