fix: move code execution to background thread on iOS
This commit is contained in:
parent
05e54cfe21
commit
1e9199bb36
|
@ -21,7 +21,7 @@ target 'TransparentVideoExample' do
|
||||||
#
|
#
|
||||||
# Note that if you have use_frameworks! enabled, Flipper will not work and
|
# Note that if you have use_frameworks! enabled, Flipper will not work and
|
||||||
# you should disable the next line.
|
# you should disable the next line.
|
||||||
use_flipper!()
|
# use_flipper!()
|
||||||
|
|
||||||
post_install do |installer|
|
post_install do |installer|
|
||||||
react_native_post_install(installer)
|
react_native_post_install(installer)
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
PODS:
|
PODS:
|
||||||
- boost (1.76.0)
|
- boost (1.76.0)
|
||||||
- CocoaAsyncSocket (7.6.5)
|
|
||||||
- DoubleConversion (1.1.6)
|
- DoubleConversion (1.1.6)
|
||||||
- FBLazyVector (0.67.5)
|
- FBLazyVector (0.67.5)
|
||||||
- FBReactNativeSpec (0.67.5):
|
- FBReactNativeSpec (0.67.5):
|
||||||
|
@ -10,70 +9,8 @@ PODS:
|
||||||
- React-Core (= 0.67.5)
|
- React-Core (= 0.67.5)
|
||||||
- React-jsi (= 0.67.5)
|
- React-jsi (= 0.67.5)
|
||||||
- ReactCommon/turbomodule/core (= 0.67.5)
|
- ReactCommon/turbomodule/core (= 0.67.5)
|
||||||
- Flipper (0.99.0):
|
|
||||||
- Flipper-Folly (~> 2.6)
|
|
||||||
- Flipper-RSocket (~> 1.4)
|
|
||||||
- Flipper-Boost-iOSX (1.76.0.1.11)
|
|
||||||
- Flipper-DoubleConversion (3.1.7)
|
|
||||||
- Flipper-Fmt (7.1.7)
|
|
||||||
- Flipper-Folly (2.6.7):
|
|
||||||
- Flipper-Boost-iOSX
|
|
||||||
- Flipper-DoubleConversion
|
|
||||||
- Flipper-Fmt (= 7.1.7)
|
|
||||||
- Flipper-Glog
|
|
||||||
- libevent (~> 2.1.12)
|
|
||||||
- OpenSSL-Universal (= 1.1.180)
|
|
||||||
- Flipper-Glog (0.3.6)
|
|
||||||
- Flipper-PeerTalk (0.0.4)
|
|
||||||
- Flipper-RSocket (1.4.3):
|
|
||||||
- Flipper-Folly (~> 2.6)
|
|
||||||
- FlipperKit (0.99.0):
|
|
||||||
- FlipperKit/Core (= 0.99.0)
|
|
||||||
- FlipperKit/Core (0.99.0):
|
|
||||||
- Flipper (~> 0.99.0)
|
|
||||||
- FlipperKit/CppBridge
|
|
||||||
- FlipperKit/FBCxxFollyDynamicConvert
|
|
||||||
- FlipperKit/FBDefines
|
|
||||||
- FlipperKit/FKPortForwarding
|
|
||||||
- FlipperKit/CppBridge (0.99.0):
|
|
||||||
- Flipper (~> 0.99.0)
|
|
||||||
- FlipperKit/FBCxxFollyDynamicConvert (0.99.0):
|
|
||||||
- Flipper-Folly (~> 2.6)
|
|
||||||
- FlipperKit/FBDefines (0.99.0)
|
|
||||||
- FlipperKit/FKPortForwarding (0.99.0):
|
|
||||||
- CocoaAsyncSocket (~> 7.6)
|
|
||||||
- Flipper-PeerTalk (~> 0.0.4)
|
|
||||||
- FlipperKit/FlipperKitHighlightOverlay (0.99.0)
|
|
||||||
- FlipperKit/FlipperKitLayoutHelpers (0.99.0):
|
|
||||||
- FlipperKit/Core
|
|
||||||
- FlipperKit/FlipperKitHighlightOverlay
|
|
||||||
- FlipperKit/FlipperKitLayoutTextSearchable
|
|
||||||
- FlipperKit/FlipperKitLayoutIOSDescriptors (0.99.0):
|
|
||||||
- FlipperKit/Core
|
|
||||||
- FlipperKit/FlipperKitHighlightOverlay
|
|
||||||
- FlipperKit/FlipperKitLayoutHelpers
|
|
||||||
- YogaKit (~> 1.18)
|
|
||||||
- FlipperKit/FlipperKitLayoutPlugin (0.99.0):
|
|
||||||
- FlipperKit/Core
|
|
||||||
- FlipperKit/FlipperKitHighlightOverlay
|
|
||||||
- FlipperKit/FlipperKitLayoutHelpers
|
|
||||||
- FlipperKit/FlipperKitLayoutIOSDescriptors
|
|
||||||
- FlipperKit/FlipperKitLayoutTextSearchable
|
|
||||||
- YogaKit (~> 1.18)
|
|
||||||
- FlipperKit/FlipperKitLayoutTextSearchable (0.99.0)
|
|
||||||
- FlipperKit/FlipperKitNetworkPlugin (0.99.0):
|
|
||||||
- FlipperKit/Core
|
|
||||||
- FlipperKit/FlipperKitReactPlugin (0.99.0):
|
|
||||||
- FlipperKit/Core
|
|
||||||
- FlipperKit/FlipperKitUserDefaultsPlugin (0.99.0):
|
|
||||||
- FlipperKit/Core
|
|
||||||
- FlipperKit/SKIOSNetworkPlugin (0.99.0):
|
|
||||||
- FlipperKit/Core
|
|
||||||
- FlipperKit/FlipperKitNetworkPlugin
|
|
||||||
- fmt (6.2.1)
|
- fmt (6.2.1)
|
||||||
- glog (0.3.5)
|
- glog (0.3.5)
|
||||||
- libevent (2.1.12)
|
|
||||||
- OpenSSL-Universal (1.1.180)
|
|
||||||
- RCT-Folly (2021.06.28.00-v2):
|
- RCT-Folly (2021.06.28.00-v2):
|
||||||
- boost
|
- boost
|
||||||
- DoubleConversion
|
- DoubleConversion
|
||||||
|
@ -367,37 +304,13 @@ PODS:
|
||||||
- ReactCommon/turbomodule/core
|
- ReactCommon/turbomodule/core
|
||||||
- Yoga
|
- Yoga
|
||||||
- Yoga (1.14.0)
|
- Yoga (1.14.0)
|
||||||
- YogaKit (1.18.1):
|
|
||||||
- Yoga (~> 1.14)
|
|
||||||
|
|
||||||
DEPENDENCIES:
|
DEPENDENCIES:
|
||||||
- boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`)
|
- boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`)
|
||||||
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
|
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
|
||||||
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
|
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
|
||||||
- FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`)
|
- FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`)
|
||||||
- Flipper (= 0.99.0)
|
|
||||||
- Flipper-Boost-iOSX (= 1.76.0.1.11)
|
|
||||||
- Flipper-DoubleConversion (= 3.1.7)
|
|
||||||
- Flipper-Fmt (= 7.1.7)
|
|
||||||
- Flipper-Folly (= 2.6.7)
|
|
||||||
- Flipper-Glog (= 0.3.6)
|
|
||||||
- Flipper-PeerTalk (= 0.0.4)
|
|
||||||
- Flipper-RSocket (= 1.4.3)
|
|
||||||
- FlipperKit (= 0.99.0)
|
|
||||||
- FlipperKit/Core (= 0.99.0)
|
|
||||||
- FlipperKit/CppBridge (= 0.99.0)
|
|
||||||
- FlipperKit/FBCxxFollyDynamicConvert (= 0.99.0)
|
|
||||||
- FlipperKit/FBDefines (= 0.99.0)
|
|
||||||
- FlipperKit/FKPortForwarding (= 0.99.0)
|
|
||||||
- FlipperKit/FlipperKitHighlightOverlay (= 0.99.0)
|
|
||||||
- FlipperKit/FlipperKitLayoutPlugin (= 0.99.0)
|
|
||||||
- FlipperKit/FlipperKitLayoutTextSearchable (= 0.99.0)
|
|
||||||
- FlipperKit/FlipperKitNetworkPlugin (= 0.99.0)
|
|
||||||
- FlipperKit/FlipperKitReactPlugin (= 0.99.0)
|
|
||||||
- FlipperKit/FlipperKitUserDefaultsPlugin (= 0.99.0)
|
|
||||||
- FlipperKit/SKIOSNetworkPlugin (= 0.99.0)
|
|
||||||
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
|
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
|
||||||
- OpenSSL-Universal (= 1.1.180)
|
|
||||||
- RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
|
- RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
|
||||||
- RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
|
- RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
|
||||||
- RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`)
|
- RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`)
|
||||||
|
@ -430,20 +343,7 @@ DEPENDENCIES:
|
||||||
|
|
||||||
SPEC REPOS:
|
SPEC REPOS:
|
||||||
trunk:
|
trunk:
|
||||||
- CocoaAsyncSocket
|
|
||||||
- Flipper
|
|
||||||
- Flipper-Boost-iOSX
|
|
||||||
- Flipper-DoubleConversion
|
|
||||||
- Flipper-Fmt
|
|
||||||
- Flipper-Folly
|
|
||||||
- Flipper-Glog
|
|
||||||
- Flipper-PeerTalk
|
|
||||||
- Flipper-RSocket
|
|
||||||
- FlipperKit
|
|
||||||
- fmt
|
- fmt
|
||||||
- libevent
|
|
||||||
- OpenSSL-Universal
|
|
||||||
- YogaKit
|
|
||||||
|
|
||||||
EXTERNAL SOURCES:
|
EXTERNAL SOURCES:
|
||||||
boost:
|
boost:
|
||||||
|
@ -513,23 +413,11 @@ EXTERNAL SOURCES:
|
||||||
|
|
||||||
SPEC CHECKSUMS:
|
SPEC CHECKSUMS:
|
||||||
boost: a7c83b31436843459a1961bfd74b96033dc77234
|
boost: a7c83b31436843459a1961bfd74b96033dc77234
|
||||||
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
|
|
||||||
DoubleConversion: 831926d9b8bf8166fd87886c4abab286c2422662
|
DoubleConversion: 831926d9b8bf8166fd87886c4abab286c2422662
|
||||||
FBLazyVector: d2db9d00883282819d03bbd401b2ad4360d47580
|
FBLazyVector: d2db9d00883282819d03bbd401b2ad4360d47580
|
||||||
FBReactNativeSpec: 94da4d84ba3b1acf459103320882daa481a2b62d
|
FBReactNativeSpec: 94da4d84ba3b1acf459103320882daa481a2b62d
|
||||||
Flipper: 30e8eeeed6abdc98edaf32af0cda2f198be4b733
|
|
||||||
Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c
|
|
||||||
Flipper-DoubleConversion: 57ffbe81ef95306cc9e69c4aa3aeeeeb58a6a28c
|
|
||||||
Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b
|
|
||||||
Flipper-Folly: 83af37379faa69497529e414bd43fbfc7cae259a
|
|
||||||
Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6
|
|
||||||
Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9
|
|
||||||
Flipper-RSocket: d9d9ade67cbecf6ac10730304bf5607266dd2541
|
|
||||||
FlipperKit: d8d346844eca5d9120c17d441a2f38596e8ed2b9
|
|
||||||
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
|
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
|
||||||
glog: 85ecdd10ee8d8ec362ef519a6a45ff9aa27b2e85
|
glog: 85ecdd10ee8d8ec362ef519a6a45ff9aa27b2e85
|
||||||
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
|
|
||||||
OpenSSL-Universal: 1aa4f6a6ee7256b83db99ec1ccdaa80d10f9af9b
|
|
||||||
RCT-Folly: 803a9cfd78114b2ec0f140cfa6fa2a6bafb2d685
|
RCT-Folly: 803a9cfd78114b2ec0f140cfa6fa2a6bafb2d685
|
||||||
RCTRequired: 412e994c1e570cf35378a32c18fd46e50634938b
|
RCTRequired: 412e994c1e570cf35378a32c18fd46e50634938b
|
||||||
RCTTypeSafety: ef27340c728e6d673af345ed69e479a010c8a2d8
|
RCTTypeSafety: ef27340c728e6d673af345ed69e479a010c8a2d8
|
||||||
|
@ -557,8 +445,7 @@ SPEC CHECKSUMS:
|
||||||
ReactCommon: a30c2448e5a88bae6fcb0e3da124c14ae493dac1
|
ReactCommon: a30c2448e5a88bae6fcb0e3da124c14ae493dac1
|
||||||
RNReanimated: b5b17149593e7c05e4ec5c0efea1f21e05829510
|
RNReanimated: b5b17149593e7c05e4ec5c0efea1f21e05829510
|
||||||
Yoga: 099a946cbf84c9b32ffdc4278d72db26710ecf92
|
Yoga: 099a946cbf84c9b32ffdc4278d72db26710ecf92
|
||||||
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
|
|
||||||
|
|
||||||
PODFILE CHECKSUM: 6d7615f1df282ca37c2aeda28a0509a54fa74246
|
PODFILE CHECKSUM: ca630bed45bc462550bc518b108d4ec5444f104c
|
||||||
|
|
||||||
COCOAPODS: 1.10.1
|
COCOAPODS: 1.10.1
|
||||||
|
|
|
@ -159,7 +159,6 @@
|
||||||
00E356EA1AD99517003FC87E /* Sources */,
|
00E356EA1AD99517003FC87E /* Sources */,
|
||||||
00E356EB1AD99517003FC87E /* Frameworks */,
|
00E356EB1AD99517003FC87E /* Frameworks */,
|
||||||
00E356EC1AD99517003FC87E /* Resources */,
|
00E356EC1AD99517003FC87E /* Resources */,
|
||||||
B254C78279E1703AC198B6F9 /* [CP] Embed Pods Frameworks */,
|
|
||||||
5AAA60A676534D0A39309A17 /* [CP] Copy Pods Resources */,
|
5AAA60A676534D0A39309A17 /* [CP] Copy Pods Resources */,
|
||||||
);
|
);
|
||||||
buildRules = (
|
buildRules = (
|
||||||
|
@ -182,7 +181,6 @@
|
||||||
13B07F8C1A680F5B00A75B9A /* Frameworks */,
|
13B07F8C1A680F5B00A75B9A /* Frameworks */,
|
||||||
13B07F8E1A680F5B00A75B9A /* Resources */,
|
13B07F8E1A680F5B00A75B9A /* Resources */,
|
||||||
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
|
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
|
||||||
BB55B3945FAE5B08746CC796 /* [CP] Embed Pods Frameworks */,
|
|
||||||
A209273306B44872997D8079 /* [CP] Copy Pods Resources */,
|
A209273306B44872997D8079 /* [CP] Copy Pods Resources */,
|
||||||
);
|
);
|
||||||
buildRules = (
|
buildRules = (
|
||||||
|
@ -320,40 +318,6 @@
|
||||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-TransparentVideoExample/Pods-TransparentVideoExample-resources.sh\"\n";
|
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-TransparentVideoExample/Pods-TransparentVideoExample-resources.sh\"\n";
|
||||||
showEnvVarsInLog = 0;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
B254C78279E1703AC198B6F9 /* [CP] Embed Pods Frameworks */ = {
|
|
||||||
isa = PBXShellScriptBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
inputFileListPaths = (
|
|
||||||
"${PODS_ROOT}/Target Support Files/Pods-TransparentVideoExample-TransparentVideoExampleTests/Pods-TransparentVideoExample-TransparentVideoExampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist",
|
|
||||||
);
|
|
||||||
name = "[CP] Embed Pods Frameworks";
|
|
||||||
outputFileListPaths = (
|
|
||||||
"${PODS_ROOT}/Target Support Files/Pods-TransparentVideoExample-TransparentVideoExampleTests/Pods-TransparentVideoExample-TransparentVideoExampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist",
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
shellPath = /bin/sh;
|
|
||||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-TransparentVideoExample-TransparentVideoExampleTests/Pods-TransparentVideoExample-TransparentVideoExampleTests-frameworks.sh\"\n";
|
|
||||||
showEnvVarsInLog = 0;
|
|
||||||
};
|
|
||||||
BB55B3945FAE5B08746CC796 /* [CP] Embed Pods Frameworks */ = {
|
|
||||||
isa = PBXShellScriptBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
inputFileListPaths = (
|
|
||||||
"${PODS_ROOT}/Target Support Files/Pods-TransparentVideoExample/Pods-TransparentVideoExample-frameworks-${CONFIGURATION}-input-files.xcfilelist",
|
|
||||||
);
|
|
||||||
name = "[CP] Embed Pods Frameworks";
|
|
||||||
outputFileListPaths = (
|
|
||||||
"${PODS_ROOT}/Target Support Files/Pods-TransparentVideoExample/Pods-TransparentVideoExample-frameworks-${CONFIGURATION}-output-files.xcfilelist",
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
shellPath = /bin/sh;
|
|
||||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-TransparentVideoExample/Pods-TransparentVideoExample-frameworks.sh\"\n";
|
|
||||||
showEnvVarsInLog = 0;
|
|
||||||
};
|
|
||||||
FCA46571122E4A63384E26E1 /* [CP] Check Pods Manifest.lock */ = {
|
FCA46571122E4A63384E26E1 /* [CP] Check Pods Manifest.lock */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
|
|
|
@ -85,13 +85,12 @@ class TransparentVideoView : UIView {
|
||||||
}
|
}
|
||||||
|
|
||||||
private func setUpPlayerItem(with asset: AVAsset) {
|
private func setUpPlayerItem(with asset: AVAsset) {
|
||||||
DispatchQueue.main.async { [weak self] in
|
let playerItem = AVPlayerItem(asset: asset)
|
||||||
let playerItem = AVPlayerItem(asset: asset)
|
playerItem.seekingWaitsForVideoCompositionRendering = true
|
||||||
//playerItem.addObserver(self, forKeyPath: #keyPath(AVPlayerItem.status), options: [.old, .new], context: nil)
|
// Apply a video composition (which applies our custom filter)
|
||||||
playerItem.seekingWaitsForVideoCompositionRendering = true
|
playerItem.videoComposition = createVideoComposition(for: asset)
|
||||||
// Apply a video composition (which applies our custom filter)
|
|
||||||
playerItem.videoComposition = self?.createVideoComposition(for: asset)
|
|
||||||
|
|
||||||
|
DispatchQueue.main.async { [weak self] in
|
||||||
self?.playerView!.loadPlayerItem(playerItem) { result in
|
self?.playerView!.loadPlayerItem(playerItem) { result in
|
||||||
switch result {
|
switch result {
|
||||||
case .failure(let error):
|
case .failure(let error):
|
||||||
|
|
Loading…
Reference in New Issue