diff --git a/example/ios/Podfile b/example/ios/Podfile index a3b79ef..3cec781 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -21,7 +21,7 @@ target 'TransparentVideoExample' do # # Note that if you have use_frameworks! enabled, Flipper will not work and # you should disable the next line. - use_flipper!() + # use_flipper!() post_install do |installer| react_native_post_install(installer) diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index d3f302a..1ad58e8 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -1,6 +1,5 @@ PODS: - boost (1.76.0) - - CocoaAsyncSocket (7.6.5) - DoubleConversion (1.1.6) - FBLazyVector (0.67.5) - FBReactNativeSpec (0.67.5): @@ -10,70 +9,8 @@ PODS: - React-Core (= 0.67.5) - React-jsi (= 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) - glog (0.3.5) - - libevent (2.1.12) - - OpenSSL-Universal (1.1.180) - RCT-Folly (2021.06.28.00-v2): - boost - DoubleConversion @@ -367,37 +304,13 @@ PODS: - ReactCommon/turbomodule/core - Yoga - Yoga (1.14.0) - - YogaKit (1.18.1): - - Yoga (~> 1.14) DEPENDENCIES: - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) - 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`) - - OpenSSL-Universal (= 1.1.180) - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) @@ -430,20 +343,7 @@ DEPENDENCIES: SPEC REPOS: trunk: - - CocoaAsyncSocket - - Flipper - - Flipper-Boost-iOSX - - Flipper-DoubleConversion - - Flipper-Fmt - - Flipper-Folly - - Flipper-Glog - - Flipper-PeerTalk - - Flipper-RSocket - - FlipperKit - fmt - - libevent - - OpenSSL-Universal - - YogaKit EXTERNAL SOURCES: boost: @@ -513,23 +413,11 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: boost: a7c83b31436843459a1961bfd74b96033dc77234 - CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 DoubleConversion: 831926d9b8bf8166fd87886c4abab286c2422662 FBLazyVector: d2db9d00883282819d03bbd401b2ad4360d47580 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 glog: 85ecdd10ee8d8ec362ef519a6a45ff9aa27b2e85 - libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 - OpenSSL-Universal: 1aa4f6a6ee7256b83db99ec1ccdaa80d10f9af9b RCT-Folly: 803a9cfd78114b2ec0f140cfa6fa2a6bafb2d685 RCTRequired: 412e994c1e570cf35378a32c18fd46e50634938b RCTTypeSafety: ef27340c728e6d673af345ed69e479a010c8a2d8 @@ -557,8 +445,7 @@ SPEC CHECKSUMS: ReactCommon: a30c2448e5a88bae6fcb0e3da124c14ae493dac1 RNReanimated: b5b17149593e7c05e4ec5c0efea1f21e05829510 Yoga: 099a946cbf84c9b32ffdc4278d72db26710ecf92 - YogaKit: f782866e155069a2cca2517aafea43200b01fd5a -PODFILE CHECKSUM: 6d7615f1df282ca37c2aeda28a0509a54fa74246 +PODFILE CHECKSUM: ca630bed45bc462550bc518b108d4ec5444f104c COCOAPODS: 1.10.1 diff --git a/example/ios/TransparentVideoExample.xcodeproj/project.pbxproj b/example/ios/TransparentVideoExample.xcodeproj/project.pbxproj index 80ee4e6..9505072 100644 --- a/example/ios/TransparentVideoExample.xcodeproj/project.pbxproj +++ b/example/ios/TransparentVideoExample.xcodeproj/project.pbxproj @@ -159,7 +159,6 @@ 00E356EA1AD99517003FC87E /* Sources */, 00E356EB1AD99517003FC87E /* Frameworks */, 00E356EC1AD99517003FC87E /* Resources */, - B254C78279E1703AC198B6F9 /* [CP] Embed Pods Frameworks */, 5AAA60A676534D0A39309A17 /* [CP] Copy Pods Resources */, ); buildRules = ( @@ -182,7 +181,6 @@ 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, - BB55B3945FAE5B08746CC796 /* [CP] Embed Pods Frameworks */, A209273306B44872997D8079 /* [CP] Copy Pods Resources */, ); buildRules = ( @@ -320,40 +318,6 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-TransparentVideoExample/Pods-TransparentVideoExample-resources.sh\"\n"; 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 */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; diff --git a/ios/TransparentVideoViewManager.swift b/ios/TransparentVideoViewManager.swift index f0b569f..f43bf72 100644 --- a/ios/TransparentVideoViewManager.swift +++ b/ios/TransparentVideoViewManager.swift @@ -85,13 +85,12 @@ class TransparentVideoView : UIView { } private func setUpPlayerItem(with asset: AVAsset) { - DispatchQueue.main.async { [weak self] in - let playerItem = AVPlayerItem(asset: asset) - //playerItem.addObserver(self, forKeyPath: #keyPath(AVPlayerItem.status), options: [.old, .new], context: nil) - playerItem.seekingWaitsForVideoCompositionRendering = true - // Apply a video composition (which applies our custom filter) - playerItem.videoComposition = self?.createVideoComposition(for: asset) + let playerItem = AVPlayerItem(asset: asset) + playerItem.seekingWaitsForVideoCompositionRendering = true + // Apply a video composition (which applies our custom filter) + playerItem.videoComposition = createVideoComposition(for: asset) + DispatchQueue.main.async { [weak self] in self?.playerView!.loadPlayerItem(playerItem) { result in switch result { case .failure(let error):