fix: Fix AVAudioSession not allowing background music playback (#155)

* Set category always if different

* rename org

* Fix video format sorting

* fix format filtering

* Update AVAudioSession+setCategoryIfNotSet.swift

* upgrade all dependencies

* Also run dependabot for JS codebase

* Update MediaPage.tsx

* Use typescript 4.2.4

* Also run TS in check-all

* Downgrade typescript to 4.2.3

* f

* recreate lockfiles

* docs: Revert package.json changes

* revert all package.json changes

* Update Podfile.lock

* bump all dependencies, pin typescript to 4.2.4

* Downgrade react-native-navigation for now

* upgrade to later snapshot

* Update yarn.lock

* remove yeet
This commit is contained in:
Marc Rousavy 2021-06-01 13:07:57 +02:00 committed by GitHub
parent 8189173120
commit 71730a73ef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
76 changed files with 2416 additions and 3789 deletions

View File

@ -1,18 +1,36 @@
version: 2 version: 2
updates: updates:
# - package-ecosystem: "npm" - package-ecosystem: "npm"
# directory: "/" directory: "/"
# schedule: schedule:
# interval: "daily" interval: "weekly"
# labels: labels:
# - "dependencies" - "🛠 dependencies"
# - "js" - "☕️ js"
- package-ecosystem: "npm"
directory: "/docs/"
schedule:
interval: "weekly"
labels:
- "🛠 dependencies"
- "☕️ js"
- "📚 documentation"
- package-ecosystem: "npm"
directory: "/example/"
schedule:
interval: "weekly"
labels:
- "🛠 dependencies"
- "☕️ js"
- "🛸 example"
- package-ecosystem: "gradle" - package-ecosystem: "gradle"
directory: "/android/" directory: "/android/"
schedule: schedule:
interval: "daily" interval: "weekly"
labels: labels:
- "🛠 dependencies" - "🛠 dependencies"
- "🤖 android" - "🤖 android"

View File

@ -12,12 +12,12 @@
"clear": "docusaurus clear" "clear": "docusaurus clear"
}, },
"dependencies": { "dependencies": {
"@docusaurus/core": "2.0.0-alpha.75", "@docusaurus/core": "^2.0.0-beta.0",
"@docusaurus/preset-classic": "2.0.0-alpha.75", "@docusaurus/preset-classic": "^2.0.0-beta.0",
"@mdx-js/react": "^1.6.21", "@mdx-js/react": "^1.6.22",
"clsx": "^1.1.1", "clsx": "^1.1.1",
"react": "^17.0.1", "react": "^17.0.2",
"react-dom": "^17.0.1" "react-dom": "^17.0.2"
}, },
"browserslist": { "browserslist": {
"production": [ "production": [
@ -32,9 +32,9 @@
] ]
}, },
"devDependencies": { "devDependencies": {
"docusaurus-plugin-typedoc": "^0.13.0", "docusaurus-plugin-typedoc": "^0.14.2",
"typedoc": "^0.20.36", "typedoc": "^0.20.36",
"typedoc-plugin-markdown": "^3.7.2", "typedoc-plugin-markdown": "^3.9.0",
"typescript": "^4.2.3" "typescript": "4.2.4"
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@
// VisionCamera // VisionCamera
// //
// Created by Marc Rousavy on 01.05.21. // Created by Marc Rousavy on 01.05.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>

View File

@ -3,7 +3,7 @@
// VisionCamera // VisionCamera
// //
// Created by Marc Rousavy on 30.04.21. // Created by Marc Rousavy on 30.04.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
import AVKit import AVKit

View File

@ -1,14 +1,14 @@
PODS: PODS:
- boost-for-react-native (1.63.0) - boost-for-react-native (1.63.0)
- DoubleConversion (1.1.6) - DoubleConversion (1.1.6)
- FBLazyVector (0.64.0) - FBLazyVector (0.64.1)
- FBReactNativeSpec (0.64.0): - FBReactNativeSpec (0.64.1):
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- RCTRequired (= 0.64.0) - RCTRequired (= 0.64.1)
- RCTTypeSafety (= 0.64.0) - RCTTypeSafety (= 0.64.1)
- React-Core (= 0.64.0) - React-Core (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- ReactCommon/turbomodule/core (= 0.64.0) - ReactCommon/turbomodule/core (= 0.64.1)
- glog (0.3.5) - glog (0.3.5)
- RCT-Folly (2020.01.13.00): - RCT-Folly (2020.01.13.00):
- boost-for-react-native - boost-for-react-native
@ -19,190 +19,190 @@ PODS:
- boost-for-react-native - boost-for-react-native
- DoubleConversion - DoubleConversion
- glog - glog
- RCTRequired (0.64.0) - RCTRequired (0.64.1)
- RCTTypeSafety (0.64.0): - RCTTypeSafety (0.64.1):
- FBLazyVector (= 0.64.0) - FBLazyVector (= 0.64.1)
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- RCTRequired (= 0.64.0) - RCTRequired (= 0.64.1)
- React-Core (= 0.64.0) - React-Core (= 0.64.1)
- React (0.64.0): - React (0.64.1):
- React-Core (= 0.64.0) - React-Core (= 0.64.1)
- React-Core/DevSupport (= 0.64.0) - React-Core/DevSupport (= 0.64.1)
- React-Core/RCTWebSocket (= 0.64.0) - React-Core/RCTWebSocket (= 0.64.1)
- React-RCTActionSheet (= 0.64.0) - React-RCTActionSheet (= 0.64.1)
- React-RCTAnimation (= 0.64.0) - React-RCTAnimation (= 0.64.1)
- React-RCTBlob (= 0.64.0) - React-RCTBlob (= 0.64.1)
- React-RCTImage (= 0.64.0) - React-RCTImage (= 0.64.1)
- React-RCTLinking (= 0.64.0) - React-RCTLinking (= 0.64.1)
- React-RCTNetwork (= 0.64.0) - React-RCTNetwork (= 0.64.1)
- React-RCTSettings (= 0.64.0) - React-RCTSettings (= 0.64.1)
- React-RCTText (= 0.64.0) - React-RCTText (= 0.64.1)
- React-RCTVibration (= 0.64.0) - React-RCTVibration (= 0.64.1)
- React-callinvoker (0.64.0) - React-callinvoker (0.64.1)
- React-Core (0.64.0): - React-Core (0.64.1):
- glog - glog
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- React-Core/Default (= 0.64.0) - React-Core/Default (= 0.64.1)
- React-cxxreact (= 0.64.0) - React-cxxreact (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- React-jsiexecutor (= 0.64.0) - React-jsiexecutor (= 0.64.1)
- React-perflogger (= 0.64.0) - React-perflogger (= 0.64.1)
- Yoga - Yoga
- React-Core/CoreModulesHeaders (0.64.0): - React-Core/CoreModulesHeaders (0.64.1):
- glog - glog
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.64.0) - React-cxxreact (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- React-jsiexecutor (= 0.64.0) - React-jsiexecutor (= 0.64.1)
- React-perflogger (= 0.64.0) - React-perflogger (= 0.64.1)
- Yoga - Yoga
- React-Core/Default (0.64.0): - React-Core/Default (0.64.1):
- glog - glog
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- React-cxxreact (= 0.64.0) - React-cxxreact (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- React-jsiexecutor (= 0.64.0) - React-jsiexecutor (= 0.64.1)
- React-perflogger (= 0.64.0) - React-perflogger (= 0.64.1)
- Yoga - Yoga
- React-Core/DevSupport (0.64.0): - React-Core/DevSupport (0.64.1):
- glog - glog
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- React-Core/Default (= 0.64.0) - React-Core/Default (= 0.64.1)
- React-Core/RCTWebSocket (= 0.64.0) - React-Core/RCTWebSocket (= 0.64.1)
- React-cxxreact (= 0.64.0) - React-cxxreact (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- React-jsiexecutor (= 0.64.0) - React-jsiexecutor (= 0.64.1)
- React-jsinspector (= 0.64.0) - React-jsinspector (= 0.64.1)
- React-perflogger (= 0.64.0) - React-perflogger (= 0.64.1)
- Yoga - Yoga
- React-Core/RCTActionSheetHeaders (0.64.0): - React-Core/RCTActionSheetHeaders (0.64.1):
- glog - glog
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.64.0) - React-cxxreact (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- React-jsiexecutor (= 0.64.0) - React-jsiexecutor (= 0.64.1)
- React-perflogger (= 0.64.0) - React-perflogger (= 0.64.1)
- Yoga - Yoga
- React-Core/RCTAnimationHeaders (0.64.0): - React-Core/RCTAnimationHeaders (0.64.1):
- glog - glog
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.64.0) - React-cxxreact (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- React-jsiexecutor (= 0.64.0) - React-jsiexecutor (= 0.64.1)
- React-perflogger (= 0.64.0) - React-perflogger (= 0.64.1)
- Yoga - Yoga
- React-Core/RCTBlobHeaders (0.64.0): - React-Core/RCTBlobHeaders (0.64.1):
- glog - glog
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.64.0) - React-cxxreact (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- React-jsiexecutor (= 0.64.0) - React-jsiexecutor (= 0.64.1)
- React-perflogger (= 0.64.0) - React-perflogger (= 0.64.1)
- Yoga - Yoga
- React-Core/RCTImageHeaders (0.64.0): - React-Core/RCTImageHeaders (0.64.1):
- glog - glog
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.64.0) - React-cxxreact (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- React-jsiexecutor (= 0.64.0) - React-jsiexecutor (= 0.64.1)
- React-perflogger (= 0.64.0) - React-perflogger (= 0.64.1)
- Yoga - Yoga
- React-Core/RCTLinkingHeaders (0.64.0): - React-Core/RCTLinkingHeaders (0.64.1):
- glog - glog
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.64.0) - React-cxxreact (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- React-jsiexecutor (= 0.64.0) - React-jsiexecutor (= 0.64.1)
- React-perflogger (= 0.64.0) - React-perflogger (= 0.64.1)
- Yoga - Yoga
- React-Core/RCTNetworkHeaders (0.64.0): - React-Core/RCTNetworkHeaders (0.64.1):
- glog - glog
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.64.0) - React-cxxreact (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- React-jsiexecutor (= 0.64.0) - React-jsiexecutor (= 0.64.1)
- React-perflogger (= 0.64.0) - React-perflogger (= 0.64.1)
- Yoga - Yoga
- React-Core/RCTSettingsHeaders (0.64.0): - React-Core/RCTSettingsHeaders (0.64.1):
- glog - glog
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.64.0) - React-cxxreact (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- React-jsiexecutor (= 0.64.0) - React-jsiexecutor (= 0.64.1)
- React-perflogger (= 0.64.0) - React-perflogger (= 0.64.1)
- Yoga - Yoga
- React-Core/RCTTextHeaders (0.64.0): - React-Core/RCTTextHeaders (0.64.1):
- glog - glog
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.64.0) - React-cxxreact (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- React-jsiexecutor (= 0.64.0) - React-jsiexecutor (= 0.64.1)
- React-perflogger (= 0.64.0) - React-perflogger (= 0.64.1)
- Yoga - Yoga
- React-Core/RCTVibrationHeaders (0.64.0): - React-Core/RCTVibrationHeaders (0.64.1):
- glog - glog
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.64.0) - React-cxxreact (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- React-jsiexecutor (= 0.64.0) - React-jsiexecutor (= 0.64.1)
- React-perflogger (= 0.64.0) - React-perflogger (= 0.64.1)
- Yoga - Yoga
- React-Core/RCTWebSocket (0.64.0): - React-Core/RCTWebSocket (0.64.1):
- glog - glog
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- React-Core/Default (= 0.64.0) - React-Core/Default (= 0.64.1)
- React-cxxreact (= 0.64.0) - React-cxxreact (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- React-jsiexecutor (= 0.64.0) - React-jsiexecutor (= 0.64.1)
- React-perflogger (= 0.64.0) - React-perflogger (= 0.64.1)
- Yoga - Yoga
- React-CoreModules (0.64.0): - React-CoreModules (0.64.1):
- FBReactNativeSpec (= 0.64.0) - FBReactNativeSpec (= 0.64.1)
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- RCTTypeSafety (= 0.64.0) - RCTTypeSafety (= 0.64.1)
- React-Core/CoreModulesHeaders (= 0.64.0) - React-Core/CoreModulesHeaders (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- React-RCTImage (= 0.64.0) - React-RCTImage (= 0.64.1)
- ReactCommon/turbomodule/core (= 0.64.0) - ReactCommon/turbomodule/core (= 0.64.1)
- React-cxxreact (0.64.0): - React-cxxreact (0.64.1):
- boost-for-react-native (= 1.63.0) - boost-for-react-native (= 1.63.0)
- DoubleConversion - DoubleConversion
- glog - glog
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- React-callinvoker (= 0.64.0) - React-callinvoker (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- React-jsinspector (= 0.64.0) - React-jsinspector (= 0.64.1)
- React-perflogger (= 0.64.0) - React-perflogger (= 0.64.1)
- React-runtimeexecutor (= 0.64.0) - React-runtimeexecutor (= 0.64.1)
- React-jsi (0.64.0): - React-jsi (0.64.1):
- boost-for-react-native (= 1.63.0) - boost-for-react-native (= 1.63.0)
- DoubleConversion - DoubleConversion
- glog - glog
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- React-jsi/Default (= 0.64.0) - React-jsi/Default (= 0.64.1)
- React-jsi/Default (0.64.0): - React-jsi/Default (0.64.1):
- boost-for-react-native (= 1.63.0) - boost-for-react-native (= 1.63.0)
- DoubleConversion - DoubleConversion
- glog - glog
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- React-jsiexecutor (0.64.0): - React-jsiexecutor (0.64.1):
- DoubleConversion - DoubleConversion
- glog - glog
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- React-cxxreact (= 0.64.0) - React-cxxreact (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- React-perflogger (= 0.64.0) - React-perflogger (= 0.64.1)
- React-jsinspector (0.64.0) - React-jsinspector (0.64.1)
- react-native-blur (0.8.0): - react-native-blur (0.8.0):
- React - React
- react-native-cameraroll (4.0.4): - react-native-cameraroll (4.0.4):
@ -214,76 +214,76 @@ PODS:
- react-native-video/Video (= 5.1.1) - react-native-video/Video (= 5.1.1)
- react-native-video/Video (5.1.1): - react-native-video/Video (5.1.1):
- React-Core - React-Core
- React-perflogger (0.64.0) - React-perflogger (0.64.1)
- React-RCTActionSheet (0.64.0): - React-RCTActionSheet (0.64.1):
- React-Core/RCTActionSheetHeaders (= 0.64.0) - React-Core/RCTActionSheetHeaders (= 0.64.1)
- React-RCTAnimation (0.64.0): - React-RCTAnimation (0.64.1):
- FBReactNativeSpec (= 0.64.0) - FBReactNativeSpec (= 0.64.1)
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- RCTTypeSafety (= 0.64.0) - RCTTypeSafety (= 0.64.1)
- React-Core/RCTAnimationHeaders (= 0.64.0) - React-Core/RCTAnimationHeaders (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- ReactCommon/turbomodule/core (= 0.64.0) - ReactCommon/turbomodule/core (= 0.64.1)
- React-RCTBlob (0.64.0): - React-RCTBlob (0.64.1):
- FBReactNativeSpec (= 0.64.0) - FBReactNativeSpec (= 0.64.1)
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- React-Core/RCTBlobHeaders (= 0.64.0) - React-Core/RCTBlobHeaders (= 0.64.1)
- React-Core/RCTWebSocket (= 0.64.0) - React-Core/RCTWebSocket (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- React-RCTNetwork (= 0.64.0) - React-RCTNetwork (= 0.64.1)
- ReactCommon/turbomodule/core (= 0.64.0) - ReactCommon/turbomodule/core (= 0.64.1)
- React-RCTImage (0.64.0): - React-RCTImage (0.64.1):
- FBReactNativeSpec (= 0.64.0) - FBReactNativeSpec (= 0.64.1)
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- RCTTypeSafety (= 0.64.0) - RCTTypeSafety (= 0.64.1)
- React-Core/RCTImageHeaders (= 0.64.0) - React-Core/RCTImageHeaders (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- React-RCTNetwork (= 0.64.0) - React-RCTNetwork (= 0.64.1)
- ReactCommon/turbomodule/core (= 0.64.0) - ReactCommon/turbomodule/core (= 0.64.1)
- React-RCTLinking (0.64.0): - React-RCTLinking (0.64.1):
- FBReactNativeSpec (= 0.64.0) - FBReactNativeSpec (= 0.64.1)
- React-Core/RCTLinkingHeaders (= 0.64.0) - React-Core/RCTLinkingHeaders (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- ReactCommon/turbomodule/core (= 0.64.0) - ReactCommon/turbomodule/core (= 0.64.1)
- React-RCTNetwork (0.64.0): - React-RCTNetwork (0.64.1):
- FBReactNativeSpec (= 0.64.0) - FBReactNativeSpec (= 0.64.1)
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- RCTTypeSafety (= 0.64.0) - RCTTypeSafety (= 0.64.1)
- React-Core/RCTNetworkHeaders (= 0.64.0) - React-Core/RCTNetworkHeaders (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- ReactCommon/turbomodule/core (= 0.64.0) - ReactCommon/turbomodule/core (= 0.64.1)
- React-RCTSettings (0.64.0): - React-RCTSettings (0.64.1):
- FBReactNativeSpec (= 0.64.0) - FBReactNativeSpec (= 0.64.1)
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- RCTTypeSafety (= 0.64.0) - RCTTypeSafety (= 0.64.1)
- React-Core/RCTSettingsHeaders (= 0.64.0) - React-Core/RCTSettingsHeaders (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- ReactCommon/turbomodule/core (= 0.64.0) - ReactCommon/turbomodule/core (= 0.64.1)
- React-RCTText (0.64.0): - React-RCTText (0.64.1):
- React-Core/RCTTextHeaders (= 0.64.0) - React-Core/RCTTextHeaders (= 0.64.1)
- React-RCTVibration (0.64.0): - React-RCTVibration (0.64.1):
- FBReactNativeSpec (= 0.64.0) - FBReactNativeSpec (= 0.64.1)
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- React-Core/RCTVibrationHeaders (= 0.64.0) - React-Core/RCTVibrationHeaders (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- ReactCommon/turbomodule/core (= 0.64.0) - ReactCommon/turbomodule/core (= 0.64.1)
- React-runtimeexecutor (0.64.0): - React-runtimeexecutor (0.64.1):
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- ReactCommon/turbomodule/core (0.64.0): - ReactCommon/turbomodule/core (0.64.1):
- DoubleConversion - DoubleConversion
- glog - glog
- RCT-Folly (= 2020.01.13.00) - RCT-Folly (= 2020.01.13.00)
- React-callinvoker (= 0.64.0) - React-callinvoker (= 0.64.1)
- React-Core (= 0.64.0) - React-Core (= 0.64.1)
- React-cxxreact (= 0.64.0) - React-cxxreact (= 0.64.1)
- React-jsi (= 0.64.0) - React-jsi (= 0.64.1)
- React-perflogger (= 0.64.0) - React-perflogger (= 0.64.1)
- ReactNativeNavigation (7.8.4-snapshot.1439): - ReactNativeNavigation (7.15.0-snapshot.1548):
- React-Core - React-Core
- React-RCTImage - React-RCTImage
- React-RCTText - React-RCTText
- ReactNativeNavigation/Core (= 7.8.4-snapshot.1439) - ReactNativeNavigation/Core (= 7.15.0-snapshot.1548)
- ReactNativeNavigation/Core (7.8.4-snapshot.1439): - ReactNativeNavigation/Core (7.15.0-snapshot.1548):
- React-Core - React-Core
- React-RCTImage - React-RCTImage
- React-RCTText - React-RCTText
@ -322,7 +322,7 @@ PODS:
- React - React
- RNVectorIcons (8.1.0): - RNVectorIcons (8.1.0):
- React-Core - React-Core
- VisionCamera (2.0.1): - VisionCamera (2.0.2):
- React - React
- React-callinvoker - React-callinvoker
- React-Core - React-Core
@ -455,43 +455,43 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS: SPEC CHECKSUMS:
boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
DoubleConversion: cf9b38bf0b2d048436d9a82ad2abe1404f11e7de DoubleConversion: cf9b38bf0b2d048436d9a82ad2abe1404f11e7de
FBLazyVector: 49cbe4b43e445b06bf29199b6ad2057649e4c8f5 FBLazyVector: 7b423f9e248eae65987838148c36eec1dbfe0b53
FBReactNativeSpec: e800dc469340da7e8e47f45145f69d75a7b06874 FBReactNativeSpec: 17b92ef63a5334d2c068d3a05f0b49ace5649eb3
glog: 73c2498ac6884b13ede40eda8228cb1eee9d9d62 glog: 73c2498ac6884b13ede40eda8228cb1eee9d9d62
RCT-Folly: ec7a233ccc97cc556cf7237f0db1ff65b986f27c RCT-Folly: ec7a233ccc97cc556cf7237f0db1ff65b986f27c
RCTRequired: 2f8cb5b7533219bf4218a045f92768129cf7050a RCTRequired: ec2ebc96b7bfba3ca5c32740f5a0c6a014a274d2
RCTTypeSafety: 512728b73549e72ad7330b92f3d42936f2a4de5b RCTTypeSafety: 22567f31e67c3e088c7ac23ea46ab6d4779c0ea5
React: 98eac01574128a790f0bbbafe2d1a8607291ac24 React: a241e3dbb1e91d06332f1dbd2b3ab26e1a4c4b9d
React-callinvoker: def3f7fae16192df68d9b69fd4bbb59092ee36bc React-callinvoker: da4d1c6141696a00163960906bc8a55b985e4ce4
React-Core: 70a52aa5dbe9b83befae82038451a7df9fd54c5a React-Core: 46ba164c437d7dac607b470c83c8308b05799748
React-CoreModules: 052edef46117862e2570eb3a0f06d81c61d2c4b8 React-CoreModules: 217bd14904491c7b9940ff8b34a3fe08013c2f14
React-cxxreact: c1dc71b30653cfb4770efdafcbdc0ad6d388baab React-cxxreact: 0090588ae6660c4615d3629fdd5c768d0983add4
React-jsi: 74341196d9547cbcbcfa4b3bbbf03af56431d5a1 React-jsi: 5de8204706bd872b78ea646aee5d2561ca1214b6
React-jsiexecutor: 06a9c77b56902ae7ffcdd7a4905f664adc5d237b React-jsiexecutor: 124e8f99992490d0d13e0649d950d3e1aae06fe9
React-jsinspector: 0ae35a37b20d5e031eb020a69cc5afdbd6406301 React-jsinspector: 500a59626037be5b3b3d89c5151bc3baa9abf1a9
react-native-blur: cad4d93b364f91e7b7931b3fa935455487e5c33c react-native-blur: cad4d93b364f91e7b7931b3fa935455487e5c33c
react-native-cameraroll: 88f4e62d9ecd0e1f253abe4f685474f2ea14bfa2 react-native-cameraroll: 88f4e62d9ecd0e1f253abe4f685474f2ea14bfa2
react-native-slider: e99fc201cefe81270fc9d81714a7a0f5e566b168 react-native-slider: e99fc201cefe81270fc9d81714a7a0f5e566b168
react-native-video: 0bb76b6d6b77da3009611586c7dbf817b947f30e react-native-video: 0bb76b6d6b77da3009611586c7dbf817b947f30e
React-perflogger: 9c547d8f06b9bf00cb447f2b75e8d7f19b7e02af React-perflogger: aad6d4b4a267936b3667260d1f649b6f6069a675
React-RCTActionSheet: 3080b6e12e0e1a5b313c8c0050699b5c794a1b11 React-RCTActionSheet: fc376be462c9c8d6ad82c0905442fd77f82a9d2a
React-RCTAnimation: 3f96f21a497ae7dabf4d2f150ee43f906aaf516f React-RCTAnimation: ba0a1c3a2738be224a08092fa7f1b444ab77d309
React-RCTBlob: 283b8e5025e7f954176bc48164f846909002f3ed React-RCTBlob: f758d4403fc5828a326dc69e27b41e1a92f34947
React-RCTImage: 5088a484faac78f2d877e1b79125d3bb1ea94a16 React-RCTImage: ce57088705f4a8d03f6594b066a59c29143ba73e
React-RCTLinking: 5e8fbb3e9a8bc2e4e3eb15b1eb8bda5fcac27b8c React-RCTLinking: 852a3a95c65fa63f657a4b4e2d3d83a815e00a7c
React-RCTNetwork: 38ec277217b1e841d5e6a1fa78da65b9212ccb28 React-RCTNetwork: 9d7ccb8a08d522d71700b4fb677d9fa28cccd118
React-RCTSettings: 242d6e692108c3de4f3bb74b7586a8799e9ab070 React-RCTSettings: d8aaf4389ff06114dee8c42ef5f0f2915946011e
React-RCTText: 8746736ac8eb5a4a74719aa695b7a236a93a83d2 React-RCTText: 809c12ed6b261796ba056c04fcd20d8b90bcc81d
React-RCTVibration: 0fd6b21751a33cb72fce1a4a33ab9678416d307a React-RCTVibration: 4b99a7f5c6c0abbc5256410cc5425fb8531986e1
React-runtimeexecutor: cad74a1eaa53ee6e7a3620231939d8fe2c6afcf0 React-runtimeexecutor: ff951a0c241bfaefc4940a3f1f1a229e7cb32fa6
ReactCommon: cfe2b7fd20e0dbd2d1185cd7d8f99633fbc5ff05 ReactCommon: bedc99ed4dae329c4fcf128d0c31b9115e5365ca
ReactNativeNavigation: 63321d37e8172bdcc1fbb93e77cffc74a0ba6d20 ReactNativeNavigation: 1357861a63f5d4da6ee099062c4d3473d777c86a
RNGestureHandler: a479ebd5ed4221a810967000735517df0d2db211 RNGestureHandler: a479ebd5ed4221a810967000735517df0d2db211
RNReanimated: 9c13c86454bfd54dab7505c1a054470bfecd2563 RNReanimated: 9c13c86454bfd54dab7505c1a054470bfecd2563
RNStaticSafeAreaInsets: 6103cf09647fa427186d30f67b0f5163c1ae8252 RNStaticSafeAreaInsets: 6103cf09647fa427186d30f67b0f5163c1ae8252
RNVectorIcons: 31cebfcf94e8cf8686eb5303ae0357da64d7a5a4 RNVectorIcons: 31cebfcf94e8cf8686eb5303ae0357da64d7a5a4
VisionCamera: 117cb3364d4f23fb786a60a8942031ba34bb039a VisionCamera: d274e912758134d5275d1ee3b9873d40d1fbb2a1
Yoga: 8c8436d4171c87504c648ae23b1d81242bdf3bbf Yoga: a7de31c64fe738607e7a3803e3f591a4b1df7393
PODFILE CHECKSUM: 4b093c1d474775c2eac3268011e4b0b80929d3a2 PODFILE CHECKSUM: 4b093c1d474775c2eac3268011e4b0b80929d3a2

View File

@ -1,5 +1,5 @@
/** /**
* Copyright (c) Facebook, Inc. and its affiliates. * Copyright (c) mrousavy
* *
* This source code is licensed under the MIT license found in the * This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree. * LICENSE file in the root directory of this source tree.

View File

@ -1,5 +1,5 @@
/** /**
* Copyright (c) Facebook, Inc. and its affiliates. * Copyright (c) mrousavy
* *
* This source code is licensed under the MIT license found in the * This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree. * LICENSE file in the root directory of this source tree.

View File

@ -1,5 +1,5 @@
/** /**
* Copyright (c) Facebook, Inc. and its affiliates. * Copyright (c) mrousavy
* *
* This source code is licensed under the MIT license found in the * This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree. * LICENSE file in the root directory of this source tree.

View File

@ -12,12 +12,12 @@
}, },
"dependencies": { "dependencies": {
"@react-native-community/blur": "^3.6.0", "@react-native-community/blur": "^3.6.0",
"@react-native-community/cameraroll": "^4.0.2", "@react-native-community/cameraroll": "^4.0.4",
"@react-native-community/slider": "^3.0.3", "@react-native-community/slider": "^3.0.3",
"react": "17.0.2", "react": "^17.0.2",
"react-native": "0.64", "react-native": "^0.64.1",
"react-native-gesture-handler": "^1.10.3", "react-native-gesture-handler": "^1.10.3",
"react-native-navigation": "7.8.4-snapshot.1439", "react-native-navigation": "7.15.0-snapshot.1548",
"react-native-pressable-opacity": "^1.0.4", "react-native-pressable-opacity": "^1.0.4",
"react-native-reanimated": "^2.2.0", "react-native-reanimated": "^2.2.0",
"react-native-static-safe-area-insets": "^2.1.1", "react-native-static-safe-area-insets": "^2.1.1",
@ -25,25 +25,25 @@
"react-native-video": "^5.1.1" "react-native-video": "^5.1.1"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.14.0", "@babel/core": "^7.14.3",
"@babel/runtime": "^7.14.0", "@babel/runtime": "^7.14.0",
"@react-native-community/eslint-config": "^2.0.0", "@react-native-community/eslint-config": "^2.0.0",
"@react-native-community/eslint-plugin": "^1.1.0", "@react-native-community/eslint-plugin": "^1.1.0",
"@types/react": "^17.0.4", "@types/react": "^17.0.8",
"@types/react-native": "^0.64.4", "@types/react-native": "^0.64.8",
"@types/react-native-vector-icons": "^6.4.6", "@types/react-native-vector-icons": "^6.4.6",
"@types/react-native-video": "^5.0.4", "@types/react-native-video": "^5.0.5",
"@typescript-eslint/eslint-plugin": "^4.22.0", "@typescript-eslint/eslint-plugin": "^4.26.0",
"@typescript-eslint/parser": "^4.22.0", "@typescript-eslint/parser": "^4.26.0",
"babel-plugin-module-resolver": "^4.0.0", "babel-plugin-module-resolver": "^4.1.0",
"eslint": "^7.25.0", "eslint": "^7.25.0",
"eslint-config-prettier": "^8.3.0", "eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^3.4.0", "eslint-plugin-prettier": "^3.4.0",
"eslint-plugin-react-hooks": "^4.2.0", "eslint-plugin-react-hooks": "^4.2.0",
"eslint-plugin-react-native": "^3.10.0", "eslint-plugin-react-native": "^3.11.0",
"metro-config": "^0.66.0", "metro-config": "^0.66.0",
"metro-react-native-babel-preset": "^0.66.0", "metro-react-native-babel-preset": "^0.66.0",
"prettier": "^2.2.1", "prettier": "^2.2.1",
"typescript": "^4.2.4" "typescript": "4.2.4"
} }
} }

View File

@ -127,9 +127,6 @@ export const MediaPage: NavigationFunctionComponent<MediaProps> = ({ componentId
}; };
MediaPage.options = { MediaPage.options = {
modal: {
swipeToDismiss: false,
},
modalPresentationStyle: OptionsModalPresentationStyle.overCurrentContext, modalPresentationStyle: OptionsModalPresentationStyle.overCurrentContext,
animations: { animations: {
showModal: { showModal: {

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 09.11.20. // Created by Marc Rousavy on 09.11.20.
// Copyright © 2020 Facebook. All rights reserved. // Copyright © 2020 mrousavy. All rights reserved.
// //
#pragma once #pragma once

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 14.01.21. // Created by Marc Rousavy on 14.01.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
import Foundation import Foundation

View File

@ -3,7 +3,7 @@
// VisionCamera // VisionCamera
// //
// Created by Marc Rousavy on 22.03.21. // Created by Marc Rousavy on 22.03.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
import Foundation import Foundation

View File

@ -3,7 +3,7 @@
// VisionCamera // VisionCamera
// //
// Created by Marc Rousavy on 26.03.21. // Created by Marc Rousavy on 26.03.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation
@ -22,10 +22,7 @@ extension CameraView {
try addAudioInput() try addAudioInput()
let audioSession = AVAudioSession.sharedInstance() let audioSession = AVAudioSession.sharedInstance()
if audioSession.category != .playAndRecord { try audioSession.setCategoryIfNotSet(AVAudioSession.Category.playAndRecord, options: [.mixWithOthers, .allowBluetoothA2DP, .defaultToSpeaker])
// allow background music playback
try audioSession.setCategory(AVAudioSession.Category.playAndRecord, options: [.mixWithOthers, .allowBluetoothA2DP, .defaultToSpeaker])
}
audioSession.trySetAllowHaptics(true) audioSession.trySetAllowHaptics(true)
// activate current audio session because camera is active // activate current audio session because camera is active

View File

@ -3,7 +3,7 @@
// VisionCamera // VisionCamera
// //
// Created by Marc Rousavy on 26.03.21. // Created by Marc Rousavy on 26.03.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 19.02.21. // Created by Marc Rousavy on 19.02.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
import Foundation import Foundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 16.12.20. // Created by Marc Rousavy on 16.12.20.
// Copyright © 2020 Facebook. All rights reserved. // Copyright © 2020 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 16.12.20. // Created by Marc Rousavy on 16.12.20.
// Copyright © 2020 Facebook. All rights reserved. // Copyright © 2020 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 18.12.20. // Created by Marc Rousavy on 18.12.20.
// Copyright © 2020 Facebook. All rights reserved. // Copyright © 2020 mrousavy. All rights reserved.
// //
import Foundation import Foundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 09.11.20. // Created by Marc Rousavy on 09.11.20.
// Copyright © 2020 Facebook. All rights reserved. // Copyright © 2020 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 09.11.20. // Created by Marc Rousavy on 09.11.20.
// Copyright © 2020 Facebook. All rights reserved. // Copyright © 2020 mrousavy. All rights reserved.
// //
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 09.11.20. // Created by Marc Rousavy on 09.11.20.
// Copyright © 2020 Facebook. All rights reserved. // Copyright © 2020 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// VisionCamera // VisionCamera
// //
// Created by Marc Rousavy on 05.05.21. // Created by Marc Rousavy on 05.05.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -0,0 +1,21 @@
//
// AVAudioSession+trySetCategory.swift
// VisionCamera
//
// Created by Marc Rousavy on 01.06.21.
// Copyright © 2021 mrousavy. All rights reserved.
//
import AVFoundation
import Foundation
extension AVAudioSession {
/**
Calls [setCategory] if the given category or options are not equal to the currently set category and options.
*/
func setCategoryIfNotSet(_ category: AVAudioSession.Category, options: AVAudioSession.CategoryOptions = []) throws {
if self.category != category || categoryOptions.rawValue != options.rawValue {
try setCategory(category, options: options)
}
}
}

View File

@ -3,7 +3,7 @@
// VisionCamera // VisionCamera
// //
// Created by Marc Rousavy on 26.03.21. // Created by Marc Rousavy on 26.03.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 07.01.21. // Created by Marc Rousavy on 07.01.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 10.01.21. // Created by Marc Rousavy on 10.01.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 10.01.21. // Created by Marc Rousavy on 10.01.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 19.12.20. // Created by Marc Rousavy on 19.12.20.
// Copyright © 2020 Facebook. All rights reserved. // Copyright © 2020 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 15.01.21. // Created by Marc Rousavy on 15.01.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 15.01.21. // Created by Marc Rousavy on 15.01.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 18.01.21. // Created by Marc Rousavy on 18.01.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 18.01.21. // Created by Marc Rousavy on 18.01.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 15.01.21. // Created by Marc Rousavy on 15.01.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 10.01.21. // Created by Marc Rousavy on 10.01.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
import Foundation import Foundation

View File

@ -3,7 +3,7 @@
// VisionCamera // VisionCamera
// //
// Created by Marc Rousavy on 15.03.21. // Created by Marc Rousavy on 15.03.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
#pragma once #pragma once

View File

@ -3,7 +3,7 @@
// VisionCamera // VisionCamera
// //
// Created by Marc Rousavy on 22.03.21. // Created by Marc Rousavy on 22.03.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
#pragma once #pragma once
@ -18,7 +18,7 @@ class JSI_EXPORT FrameHostObject: public Frame, public jsi::HostObject {
public: public:
explicit FrameHostObject(CMSampleBufferRef buffer): Frame(buffer) {} explicit FrameHostObject(CMSampleBufferRef buffer): Frame(buffer) {}
~FrameHostObject(); ~FrameHostObject();
public: public:
jsi::Value get(jsi::Runtime&, const jsi::PropNameID& name) override; jsi::Value get(jsi::Runtime&, const jsi::PropNameID& name) override;
std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& rt) override; std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& rt) override;

View File

@ -3,7 +3,7 @@
// VisionCamera // VisionCamera
// //
// Created by Marc Rousavy on 22.03.21. // Created by Marc Rousavy on 22.03.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
#import "FrameHostObject.h" #import "FrameHostObject.h"
@ -25,8 +25,8 @@ std::vector<jsi::PropNameID> FrameHostObject::getPropertyNames(jsi::Runtime& rt)
jsi::Value FrameHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID& propName) { jsi::Value FrameHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID& propName) {
auto name = propName.utf8(runtime); auto name = propName.utf8(runtime);
if (name == "Symbol.toPrimitive") { if (name == "Symbol.toPrimitive") {
// not implemented // not implemented
return jsi::Value::undefined(); return jsi::Value::undefined();
@ -40,13 +40,13 @@ jsi::Value FrameHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID& pr
auto imageBuffer = CMSampleBufferGetImageBuffer(buffer); auto imageBuffer = CMSampleBufferGetImageBuffer(buffer);
auto width = CVPixelBufferGetWidth(imageBuffer); auto width = CVPixelBufferGetWidth(imageBuffer);
auto height = CVPixelBufferGetHeight(imageBuffer); auto height = CVPixelBufferGetHeight(imageBuffer);
NSMutableString* string = [NSMutableString stringWithFormat:@"%lu x %lu Frame", width, height]; NSMutableString* string = [NSMutableString stringWithFormat:@"%lu x %lu Frame", width, height];
return jsi::String::createFromUtf8(runtime, string.UTF8String); return jsi::String::createFromUtf8(runtime, string.UTF8String);
}; };
return jsi::Function::createFromHostFunction(runtime, jsi::PropNameID::forUtf8(runtime, "toString"), 0, toString); return jsi::Function::createFromHostFunction(runtime, jsi::PropNameID::forUtf8(runtime, "toString"), 0, toString);
} }
if (name == "isValid") { if (name == "isValid") {
auto isValid = buffer != nil && CMSampleBufferIsValid(buffer); auto isValid = buffer != nil && CMSampleBufferIsValid(buffer);
return jsi::Value(isValid); return jsi::Value(isValid);
@ -79,7 +79,7 @@ jsi::Value FrameHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID& pr
// TODO: Actually return the pixels of the buffer. Not sure if this will be a huge performance hit or not // TODO: Actually return the pixels of the buffer. Not sure if this will be a huge performance hit or not
return jsi::Array(runtime, 0); return jsi::Array(runtime, 0);
} }
return jsi::Value::undefined(); return jsi::Value::undefined();
} }

View File

@ -3,7 +3,7 @@
// VisionCamera // VisionCamera
// //
// Created by Marc Rousavy on 11.03.21. // Created by Marc Rousavy on 11.03.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
#pragma once #pragma once

View File

@ -3,7 +3,7 @@
// VisionCamera // VisionCamera
// //
// Created by Marc Rousavy on 01.05.21. // Created by Marc Rousavy on 01.05.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
#ifndef FrameProcessorPlugin_h #ifndef FrameProcessorPlugin_h

View File

@ -3,7 +3,7 @@
// VisionCamera // VisionCamera
// //
// Created by Marc Rousavy on 24.03.21. // Created by Marc Rousavy on 24.03.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
#pragma once #pragma once

View File

@ -3,7 +3,7 @@
// VisionCamera // VisionCamera
// //
// Created by Marc Rousavy on 24.03.21. // Created by Marc Rousavy on 24.03.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
#import "FrameProcessorPluginRegistry.h" #import "FrameProcessorPluginRegistry.h"
@ -27,10 +27,10 @@ static BOOL _isValid = YES;
+ (void) addFrameProcessorPlugin:(NSString*)name callback:(FrameProcessorPlugin)callback { + (void) addFrameProcessorPlugin:(NSString*)name callback:(FrameProcessorPlugin)callback {
NSAssert(_isValid, @"Tried to add Frame Processor Plugin but Frame Processor Registry has already registered all plugins!"); NSAssert(_isValid, @"Tried to add Frame Processor Plugin but Frame Processor Registry has already registered all plugins!");
BOOL alreadyExists = [[FrameProcessorPluginRegistry frameProcessorPlugins] valueForKey:name] != nil; BOOL alreadyExists = [[FrameProcessorPluginRegistry frameProcessorPlugins] valueForKey:name] != nil;
NSAssert(!alreadyExists, @"Tried to two Frame Processor Plugins with the same name! Either choose unique names, or remove the unused plugin."); NSAssert(!alreadyExists, @"Tried to two Frame Processor Plugins with the same name! Either choose unique names, or remove the unused plugin.");
[[FrameProcessorPluginRegistry frameProcessorPlugins] setValue:callback forKey:name]; [[FrameProcessorPluginRegistry frameProcessorPlugins] setValue:callback forKey:name];
} }

View File

@ -3,7 +3,7 @@
// VisionCamera // VisionCamera
// //
// Created by Marc Rousavy on 23.03.21. // Created by Marc Rousavy on 23.03.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
#pragma once #pragma once

View File

@ -3,7 +3,7 @@
// VisionCamera // VisionCamera
// //
// Created by Marc Rousavy on 23.03.21. // Created by Marc Rousavy on 23.03.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>

View File

@ -3,7 +3,7 @@
// VisionCamera // VisionCamera
// //
// Created by Marc Rousavy on 15.03.21. // Created by Marc Rousavy on 15.03.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
#pragma once #pragma once

View File

@ -3,7 +3,7 @@
// VisionCamera // VisionCamera
// //
// Created by Marc Rousavy on 15.03.21. // Created by Marc Rousavy on 15.03.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
#import "FrameProcessorUtils.h" #import "FrameProcessorUtils.h"
@ -14,19 +14,19 @@
FrameProcessorCallback convertJSIFunctionToFrameProcessorCallback(jsi::Runtime &runtime, const jsi::Function &value) { FrameProcessorCallback convertJSIFunctionToFrameProcessorCallback(jsi::Runtime &runtime, const jsi::Function &value) {
__block auto cb = value.getFunction(runtime); __block auto cb = value.getFunction(runtime);
return ^(CMSampleBufferRef buffer) { return ^(CMSampleBufferRef buffer) {
#if DEBUG #if DEBUG
std::chrono::steady_clock::time_point begin = std::chrono::steady_clock::now(); std::chrono::steady_clock::time_point begin = std::chrono::steady_clock::now();
#endif #endif
auto frame = std::make_shared<FrameHostObject>(buffer); auto frame = std::make_shared<FrameHostObject>(buffer);
try { try {
cb.call(runtime, jsi::Object::createFromHostObject(runtime, frame)); cb.call(runtime, jsi::Object::createFromHostObject(runtime, frame));
} catch (jsi::JSError& jsError) { } catch (jsi::JSError& jsError) {
NSLog(@"Frame Processor threw an error: %s", jsError.getMessage().c_str()); NSLog(@"Frame Processor threw an error: %s", jsError.getMessage().c_str());
} }
#if DEBUG #if DEBUG
std::chrono::steady_clock::time_point end = std::chrono::steady_clock::now(); std::chrono::steady_clock::time_point end = std::chrono::steady_clock::now();
auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(end - begin).count(); auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(end - begin).count();
@ -34,7 +34,7 @@ FrameProcessorCallback convertJSIFunctionToFrameProcessorCallback(jsi::Runtime &
NSLog(@"Warning: Frame Processor function took %lld ms to execute. This blocks the video queue from recording, optimize your frame processor!", duration); NSLog(@"Warning: Frame Processor function took %lld ms to execute. This blocks the video queue from recording, optimize your frame processor!", duration);
} }
#endif #endif
// Manually free the buffer because: // Manually free the buffer because:
// 1. we are sure we don't need it anymore, the frame processor worklet has finished executing. // 1. we are sure we don't need it anymore, the frame processor worklet has finished executing.
// 2. we don't know when the JS runtime garbage collects this object, it might be holding it for a few more frames // 2. we don't know when the JS runtime garbage collects this object, it might be holding it for a few more frames

View File

@ -3,7 +3,7 @@
// VisionCamera // VisionCamera
// //
// Created by Marc Rousavy on 01.05.21. // Created by Marc Rousavy on 01.05.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 29.12.20. // Created by Marc Rousavy on 29.12.20.
// Copyright © 2020 Facebook. All rights reserved. // Copyright © 2020 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 19.12.20. // Created by Marc Rousavy on 19.12.20.
// Copyright © 2020 Facebook. All rights reserved. // Copyright © 2020 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 15.12.20. // Created by Marc Rousavy on 15.12.20.
// Copyright © 2020 Facebook. All rights reserved. // Copyright © 2020 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 15.12.20. // Created by Marc Rousavy on 15.12.20.
// Copyright © 2020 Facebook. All rights reserved. // Copyright © 2020 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 29.12.20. // Created by Marc Rousavy on 29.12.20.
// Copyright © 2020 Facebook. All rights reserved. // Copyright © 2020 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 15.12.20. // Created by Marc Rousavy on 15.12.20.
// Copyright © 2020 Facebook. All rights reserved. // Copyright © 2020 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 18.12.20. // Created by Marc Rousavy on 18.12.20.
// Copyright © 2020 Facebook. All rights reserved. // Copyright © 2020 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 15.12.20. // Created by Marc Rousavy on 15.12.20.
// Copyright © 2020 Facebook. All rights reserved. // Copyright © 2020 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 15.12.20. // Created by Marc Rousavy on 15.12.20.
// Copyright © 2020 Facebook. All rights reserved. // Copyright © 2020 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 29.12.20. // Created by Marc Rousavy on 29.12.20.
// Copyright © 2020 Facebook. All rights reserved. // Copyright © 2020 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// VisionCamera // VisionCamera
// //
// Created by Marc Rousavy on 01.05.21. // Created by Marc Rousavy on 01.05.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 15.12.20. // Created by Marc Rousavy on 15.12.20.
// Copyright © 2020 Facebook. All rights reserved. // Copyright © 2020 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 18.12.20. // Created by Marc Rousavy on 18.12.20.
// Copyright © 2020 Facebook. All rights reserved. // Copyright © 2020 mrousavy. All rights reserved.
// //
import Foundation import Foundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 15.12.20. // Created by Marc Rousavy on 15.12.20.
// Copyright © 2020 Facebook. All rights reserved. // Copyright © 2020 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -3,7 +3,7 @@
// VisionCamera // VisionCamera
// //
// Created by Marc Rousavy on 30.04.21. // Created by Marc Rousavy on 30.04.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
#pragma once #pragma once

View File

@ -3,7 +3,7 @@
// VisionCamera // VisionCamera
// //
// Created by Marc Rousavy on 02.05.21. // Created by Marc Rousavy on 02.05.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
#import "JSIUtils.h" #import "JSIUtils.h"
@ -146,7 +146,7 @@ id convertJSIValueToObjCObject(jsi::Runtime &runtime, const jsi::Value &value, s
} }
return convertJSIObjectToNSDictionary(runtime, o, jsInvoker); return convertJSIObjectToNSDictionary(runtime, o, jsInvoker);
} }
throw std::runtime_error("Unsupported jsi::jsi::Value kind"); throw std::runtime_error("Unsupported jsi::jsi::Value kind");
} }
@ -158,30 +158,30 @@ RCTResponseSenderBlock convertJSIFunctionToCallback(jsi::Runtime &runtime, const
if (wrapperWasCalled) { if (wrapperWasCalled) {
throw std::runtime_error("callback arg cannot be called more than once"); throw std::runtime_error("callback arg cannot be called more than once");
} }
auto strongWrapper = weakWrapper.lock(); auto strongWrapper = weakWrapper.lock();
if (!strongWrapper) { if (!strongWrapper) {
return; return;
} }
strongWrapper->jsInvoker().invokeAsync([weakWrapper, responses]() { strongWrapper->jsInvoker().invokeAsync([weakWrapper, responses]() {
auto strongWrapper2 = weakWrapper.lock(); auto strongWrapper2 = weakWrapper.lock();
if (!strongWrapper2) { if (!strongWrapper2) {
return; return;
} }
const jsi::Value* args = convertNSArrayToJSICStyleArray(strongWrapper2->runtime(), responses); const jsi::Value* args = convertNSArrayToJSICStyleArray(strongWrapper2->runtime(), responses);
strongWrapper2->callback().call(strongWrapper2->runtime(), args, static_cast<size_t>(responses.count)); strongWrapper2->callback().call(strongWrapper2->runtime(), args, static_cast<size_t>(responses.count));
strongWrapper2->destroy(); strongWrapper2->destroy();
delete[] args; delete[] args;
}); });
wrapperWasCalled = YES; wrapperWasCalled = YES;
}; };
if (RCTTurboModuleBlockCopyEnabled()) { if (RCTTurboModuleBlockCopyEnabled()) {
return [callback copy]; return [callback copy];
} }
return callback; return callback;
} }

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 15.01.21. // Created by Marc Rousavy on 15.01.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
import Foundation import Foundation

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 14.01.21. // Created by Marc Rousavy on 14.01.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
import Foundation import Foundation

View File

@ -3,7 +3,7 @@
// VisionCamera // VisionCamera
// //
// Created by Marc Rousavy on 23.03.21. // Created by Marc Rousavy on 23.03.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
#pragma once #pragma once

View File

@ -3,7 +3,7 @@
// VisionCamera // VisionCamera
// //
// Created by Marc Rousavy on 23.03.21. // Created by Marc Rousavy on 23.03.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
#import "RCTBridge+runOnJS.h" #import "RCTBridge+runOnJS.h"

View File

@ -3,7 +3,7 @@
// Cuvent // Cuvent
// //
// Created by Marc Rousavy on 15.12.20. // Created by Marc Rousavy on 15.12.20.
// Copyright © 2020 Facebook. All rights reserved. // Copyright © 2020 mrousavy. All rights reserved.
// //
import Foundation import Foundation

View File

@ -3,7 +3,7 @@
// VisionCamera // VisionCamera
// //
// Created by Marc Rousavy on 01.05.21. // Created by Marc Rousavy on 01.05.21.
// Copyright © 2021 Facebook. All rights reserved. // Copyright © 2021 mrousavy. All rights reserved.
// //
import AVFoundation import AVFoundation

View File

@ -8,6 +8,7 @@
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
B80C0E00260BDDF7001699AB /* FrameProcessorPluginRegistry.mm in Sources */ = {isa = PBXBuildFile; fileRef = B80C0DFF260BDDF7001699AB /* FrameProcessorPluginRegistry.mm */; }; B80C0E00260BDDF7001699AB /* FrameProcessorPluginRegistry.mm in Sources */ = {isa = PBXBuildFile; fileRef = B80C0DFF260BDDF7001699AB /* FrameProcessorPluginRegistry.mm */; };
B80E06A0266632F000728644 /* AVAudioSession+setCategoryIfNotSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = B80E069F266632F000728644 /* AVAudioSession+setCategoryIfNotSet.swift */; };
B8103E1C25FF553B007A1684 /* FrameProcessorUtils.mm in Sources */ = {isa = PBXBuildFile; fileRef = B8103E1B25FF553B007A1684 /* FrameProcessorUtils.mm */; }; B8103E1C25FF553B007A1684 /* FrameProcessorUtils.mm in Sources */ = {isa = PBXBuildFile; fileRef = B8103E1B25FF553B007A1684 /* FrameProcessorUtils.mm */; };
B82FBA962614B69D00909718 /* RCTBridge+runOnJS.mm in Sources */ = {isa = PBXBuildFile; fileRef = B82FBA952614B69D00909718 /* RCTBridge+runOnJS.mm */; }; B82FBA962614B69D00909718 /* RCTBridge+runOnJS.mm in Sources */ = {isa = PBXBuildFile; fileRef = B82FBA952614B69D00909718 /* RCTBridge+runOnJS.mm */; };
B84760A62608EE7C004C3180 /* FrameHostObject.mm in Sources */ = {isa = PBXBuildFile; fileRef = B84760A52608EE7C004C3180 /* FrameHostObject.mm */; }; B84760A62608EE7C004C3180 /* FrameHostObject.mm in Sources */ = {isa = PBXBuildFile; fileRef = B84760A52608EE7C004C3180 /* FrameHostObject.mm */; };
@ -74,6 +75,7 @@
B80C0DFE260BDD97001699AB /* FrameProcessorPluginRegistry.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FrameProcessorPluginRegistry.h; sourceTree = "<group>"; }; B80C0DFE260BDD97001699AB /* FrameProcessorPluginRegistry.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FrameProcessorPluginRegistry.h; sourceTree = "<group>"; };
B80C0DFF260BDDF7001699AB /* FrameProcessorPluginRegistry.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = FrameProcessorPluginRegistry.mm; sourceTree = "<group>"; }; B80C0DFF260BDDF7001699AB /* FrameProcessorPluginRegistry.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = FrameProcessorPluginRegistry.mm; sourceTree = "<group>"; };
B80D67A825FA25380008FE8D /* FrameProcessorCallback.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FrameProcessorCallback.h; sourceTree = "<group>"; }; B80D67A825FA25380008FE8D /* FrameProcessorCallback.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FrameProcessorCallback.h; sourceTree = "<group>"; };
B80E069F266632F000728644 /* AVAudioSession+setCategoryIfNotSet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AVAudioSession+setCategoryIfNotSet.swift"; sourceTree = "<group>"; };
B8103E1B25FF553B007A1684 /* FrameProcessorUtils.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = FrameProcessorUtils.mm; sourceTree = "<group>"; }; B8103E1B25FF553B007A1684 /* FrameProcessorUtils.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = FrameProcessorUtils.mm; sourceTree = "<group>"; };
B8103E1E25FF5550007A1684 /* FrameProcessorUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FrameProcessorUtils.h; sourceTree = "<group>"; }; B8103E1E25FF5550007A1684 /* FrameProcessorUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FrameProcessorUtils.h; sourceTree = "<group>"; };
B8103E5725FF56F0007A1684 /* Frame.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Frame.h; sourceTree = "<group>"; }; B8103E5725FF56F0007A1684 /* Frame.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Frame.h; sourceTree = "<group>"; };
@ -183,6 +185,7 @@
children = ( children = (
B8D22CDB2642DB4D00234472 /* AVAssetWriterInputPixelBufferAdaptor+initWithVideoSettings.swift */, B8D22CDB2642DB4D00234472 /* AVAssetWriterInputPixelBufferAdaptor+initWithVideoSettings.swift */,
B86DC970260E2D5200FB17B2 /* AVAudioSession+trySetAllowHaptics.swift */, B86DC970260E2D5200FB17B2 /* AVAudioSession+trySetAllowHaptics.swift */,
B80E069F266632F000728644 /* AVAudioSession+setCategoryIfNotSet.swift */,
B887516325E0102000DB86D6 /* AVCaptureDevice+neutralZoom.swift */, B887516325E0102000DB86D6 /* AVCaptureDevice+neutralZoom.swift */,
B887516425E0102000DB86D6 /* AVCaptureDevice.Format+isBetterThan.swift */, B887516425E0102000DB86D6 /* AVCaptureDevice.Format+isBetterThan.swift */,
B887516525E0102000DB86D6 /* AVCaptureDevice+isMultiCam.swift */, B887516525E0102000DB86D6 /* AVCaptureDevice+isMultiCam.swift */,
@ -373,6 +376,7 @@
B887518725E0102000DB86D6 /* CameraViewManager.m in Sources */, B887518725E0102000DB86D6 /* CameraViewManager.m in Sources */,
B88751A925E0102000DB86D6 /* CameraView.swift in Sources */, B88751A925E0102000DB86D6 /* CameraView.swift in Sources */,
B887519925E0102000DB86D6 /* AVCaptureVideoStabilizationMode+descriptor.swift in Sources */, B887519925E0102000DB86D6 /* AVCaptureVideoStabilizationMode+descriptor.swift in Sources */,
B80E06A0266632F000728644 /* AVAudioSession+setCategoryIfNotSet.swift in Sources */,
B887519425E0102000DB86D6 /* MakeReactError.swift in Sources */, B887519425E0102000DB86D6 /* MakeReactError.swift in Sources */,
B887519525E0102000DB86D6 /* ReactLogger.swift in Sources */, B887519525E0102000DB86D6 /* ReactLogger.swift in Sources */,
B887519B25E0102000DB86D6 /* AVCaptureSession.Preset+descriptor.swift in Sources */, B887519B25E0102000DB86D6 /* AVCaptureSession.Preset+descriptor.swift in Sources */,

View File

@ -74,24 +74,23 @@
"@react-native-community/eslint-config": "^2.0.0", "@react-native-community/eslint-config": "^2.0.0",
"@react-native-community/eslint-plugin": "^1.1.0", "@react-native-community/eslint-plugin": "^1.1.0",
"@release-it/conventional-changelog": "^2.0.0", "@release-it/conventional-changelog": "^2.0.0",
"@types/react": "^17.0.4", "@types/react": "^17.0.8",
"@types/react-native": "0.64.4", "@types/react-native": "^0.64.8",
"@typescript-eslint/eslint-plugin": "^4.22.0", "@typescript-eslint/eslint-plugin": "^4.26.0",
"@typescript-eslint/parser": "^4.22.0", "@typescript-eslint/parser": "^4.26.0",
"eslint": "^7.25.0", "eslint": "^7.27.0",
"eslint-config-prettier": "^8.3.0", "eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^3.4.0", "eslint-plugin-prettier": "^3.4.0",
"eslint-plugin-react-hooks": "^4.2.0", "eslint-plugin-react-hooks": "^4.2.0",
"eslint-plugin-react-native": "^3.10.0", "eslint-plugin-react-native": "^3.11.0",
"jest": "^26.0.1", "pod-install": "^0.1.23",
"pod-install": "^0.1.0",
"prettier": "^2.3.0", "prettier": "^2.3.0",
"react": "17.0.2", "react": "^17.0.2",
"react-native": "0.64.0", "react-native": "^0.64.1",
"react-native-builder-bob": "^0.18.1", "react-native-builder-bob": "^0.18.1",
"react-native-reanimated": "^2.2.0", "react-native-reanimated": "^2.2.0",
"release-it": "^14.6.1", "release-it": "^14.6.1",
"typescript": "^4.2.4" "typescript": "4.2.4"
}, },
"peerDependencies": { "peerDependencies": {
"react": "*", "react": "*",

View File

@ -14,5 +14,6 @@ echo "Linting C++ code.."
echo "Linting JS/TS code.." echo "Linting JS/TS code.."
yarn lint --fix yarn lint --fix
yarn typescript
echo "All done!" echo "All done!"

View File

@ -21,11 +21,17 @@ export const sortDevices = (left: CameraDevice, right: CameraDevice): number =>
const leftHasWideAngle = left.devices.includes('wide-angle-camera'); const leftHasWideAngle = left.devices.includes('wide-angle-camera');
const rightHasWideAngle = right.devices.includes('wide-angle-camera'); const rightHasWideAngle = right.devices.includes('wide-angle-camera');
if (leftHasWideAngle) leftPoints += 5; if (leftHasWideAngle) leftPoints += 2;
if (rightHasWideAngle) rightPoints += 5; if (rightHasWideAngle) rightPoints += 2;
if (left.devices.length > right.devices.length) leftPoints += 3; // telephoto cameras often have very poor quality.
if (right.devices.length > left.devices.length) rightPoints += 3; const leftHasTelephoto = left.devices.includes('telephoto-camera');
const rightHasTelephoto = right.devices.includes('telephoto-camera');
if (leftHasTelephoto) leftPoints -= 2;
if (rightHasTelephoto) rightPoints -= 2;
if (left.devices.length > right.devices.length) leftPoints += 1;
if (right.devices.length > left.devices.length) rightPoints += 1;
return rightPoints - leftPoints; return rightPoints - leftPoints;
}; };
@ -46,14 +52,22 @@ export const sortFormats = (left: CameraDeviceFormat, right: CameraDeviceFormat)
rightPoints = 0; rightPoints = 0;
// we downscale the points so much that we are in smaller number ranges for future calculations // we downscale the points so much that we are in smaller number ranges for future calculations
// e.g. for 4k (4096), this adds 4 points. // e.g. for 4k (4096), this adds 8 points.
leftPoints += Math.round(left.photoWidth / 1000); leftPoints += Math.round(left.photoWidth / 500);
rightPoints += Math.round(right.photoWidth / 1000); rightPoints += Math.round(right.photoWidth / 500);
// e.g. for 4k (4096), this adds 8 points.
if (left.videoWidth != null && right.videoWidth != null) {
leftPoints += Math.round(left.videoWidth / 500);
rightPoints += Math.round(right.videoWidth / 500);
}
// we downscale the points here as well, so if left has 16:9 and right has 21:9, this roughly
// adds 5 points. If the difference is smaller, e.g. 16:9 vs 17:9, this roughly adds a little
// bit over 1 point, just enough to overrule the FPS below.
const leftAspectRatioDiff = left.photoHeight / left.photoWidth - SCREEN_ASPECT_RATIO; const leftAspectRatioDiff = left.photoHeight / left.photoWidth - SCREEN_ASPECT_RATIO;
const rightAspectRatioDiff = right.photoHeight / right.photoWidth - SCREEN_ASPECT_RATIO; const rightAspectRatioDiff = right.photoHeight / right.photoWidth - SCREEN_ASPECT_RATIO;
leftPoints -= Math.abs(leftAspectRatioDiff) * 50; leftPoints -= Math.abs(leftAspectRatioDiff) * 10;
rightPoints -= Math.abs(rightAspectRatioDiff) * 50; rightPoints -= Math.abs(rightAspectRatioDiff) * 10;
return rightPoints - leftPoints; return rightPoints - leftPoints;
}; };

2789
yarn.lock

File diff suppressed because it is too large Load Diff