spactureai-mobile-player 1.0.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +20 -0
- package/README.md +474 -0
- package/UnifiedPlayer.podspec +51 -0
- package/android/CMakeLists.txt +29 -0
- package/android/build.gradle +249 -0
- package/android/fix-prefab.gradle +51 -0
- package/android/gradle.properties +15 -0
- package/android/src/main/AndroidManifest.xml +10 -0
- package/android/src/main/AndroidManifestNew.xml +9 -0
- package/android/src/main/cpp/cpp-adapter.cpp +9 -0
- package/android/src/main/java/com/unifiedplayer/core/AudioFocusManager.kt +233 -0
- package/android/src/main/java/com/unifiedplayer/core/VideoError.kt +105 -0
- package/android/src/main/java/com/unifiedplayer/core/VideoManager.kt +292 -0
- package/android/src/main/java/com/unifiedplayer/core/extensions/ResizeMode+AspectRatioFrameLayout.kt +20 -0
- package/android/src/main/java/com/unifiedplayer/core/extensions/SubtitleType+toString.kt +14 -0
- package/android/src/main/java/com/unifiedplayer/core/extensions/VideoPlaybackService+ServiceManagment.kt +59 -0
- package/android/src/main/java/com/unifiedplayer/core/fragments/FullscreenVideoFragment.kt +346 -0
- package/android/src/main/java/com/unifiedplayer/core/fragments/PictureInPictureHelperFragment.kt +85 -0
- package/android/src/main/java/com/unifiedplayer/core/player/DRMManagerSpec.kt +23 -0
- package/android/src/main/java/com/unifiedplayer/core/player/DataSourceFactoryUtils.kt +93 -0
- package/android/src/main/java/com/unifiedplayer/core/player/MediaItemUtils.kt +141 -0
- package/android/src/main/java/com/unifiedplayer/core/player/MediaSourceUtils.kt +134 -0
- package/android/src/main/java/com/unifiedplayer/core/player/OnAudioFocusChangedListener.kt +25 -0
- package/android/src/main/java/com/unifiedplayer/core/plugins/PluginsRegistry.kt +223 -0
- package/android/src/main/java/com/unifiedplayer/core/plugins/ReactNativeVideoPlugin.kt +173 -0
- package/android/src/main/java/com/unifiedplayer/core/recivers/AudioBecomingNoisyReceiver.kt +38 -0
- package/android/src/main/java/com/unifiedplayer/core/services/playback/CustomMediaNotificationProvider.kt +151 -0
- package/android/src/main/java/com/unifiedplayer/core/services/playback/VideoPlaybackCallback.kt +96 -0
- package/android/src/main/java/com/unifiedplayer/core/services/playback/VideoPlaybackService.kt +219 -0
- package/android/src/main/java/com/unifiedplayer/core/services/playback/VideoPlaybackServiceConnection.kt +59 -0
- package/android/src/main/java/com/unifiedplayer/core/utils/PictureInPictureUtils.kt +153 -0
- package/android/src/main/java/com/unifiedplayer/core/utils/SmallVideoPlayerOptimizer.kt +157 -0
- package/android/src/main/java/com/unifiedplayer/core/utils/SourceLoader.kt +48 -0
- package/android/src/main/java/com/unifiedplayer/core/utils/TextTrackUtils.kt +175 -0
- package/android/src/main/java/com/unifiedplayer/core/utils/Threading.kt +75 -0
- package/android/src/main/java/com/unifiedplayer/core/utils/VideoFileHelper.kt +51 -0
- package/android/src/main/java/com/unifiedplayer/core/utils/VideoInformationUtils.kt +67 -0
- package/android/src/main/java/com/unifiedplayer/core/utils/VideoOrientationUtils.kt +30 -0
- package/android/src/main/java/com/unifiedplayer/hybrids/videoplayer/HybridVideoPlayer.kt +732 -0
- package/android/src/main/java/com/unifiedplayer/hybrids/videoplayer/HybridVideoPlayerFactory.kt +16 -0
- package/android/src/main/java/com/unifiedplayer/hybrids/videoplayereventemitter/HybridVideoPlayerEventEmitter.kt +180 -0
- package/android/src/main/java/com/unifiedplayer/hybrids/videoplayersource/HybridVideoPlayerSource.kt +67 -0
- package/android/src/main/java/com/unifiedplayer/hybrids/videoplayersource/HybridVideoPlayerSourceFactory.kt +58 -0
- package/android/src/main/java/com/unifiedplayer/hybrids/videoviewviewmanager/HybridVideoViewViewManager.kt +187 -0
- package/android/src/main/java/com/unifiedplayer/hybrids/videoviewviewmanager/HybridVideoViewViewManagerFactory.kt +13 -0
- package/android/src/main/java/com/unifiedplayer/react/VideoPackage.kt +25 -0
- package/android/src/main/java/com/unifiedplayer/react/VideoViewViewManager.kt +78 -0
- package/android/src/main/java/com/unifiedplayer/view/VideoView.kt +565 -0
- package/android/src/main/res/layout/custom_player_control_view.xml +82 -0
- package/android/src/main/res/layout/player_view_surface.xml +13 -0
- package/android/src/main/res/layout/player_view_texture.xml +13 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNCVideoViewManagerDelegate.java +32 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNCVideoViewManagerInterface.java +16 -0
- package/android/src/stubs/dash/androidx/media3/exoplayer/dash/DashMediaSource.kt +35 -0
- package/android/src/stubs/dash/androidx/media3/exoplayer/dash/DashUtil.kt +11 -0
- package/android/src/stubs/dash/androidx/media3/exoplayer/dash/manifest/AdaptationSet.kt +9 -0
- package/android/src/stubs/dash/androidx/media3/exoplayer/dash/manifest/DashManifest.kt +10 -0
- package/android/src/stubs/dash/androidx/media3/exoplayer/dash/manifest/Period.kt +7 -0
- package/android/src/stubs/dash/androidx/media3/exoplayer/dash/manifest/Representation.kt +8 -0
- package/android/src/stubs/hls/androidx/media3/exoplayer/hls/HlsMediaSource.kt +33 -0
- package/ios/RNCVideoViewManager.mm +39 -0
- package/ios/Video-Bridging-Header.h +2 -0
- package/ios/core/HLSAuthProxy.swift +428 -0
- package/ios/core/VideoError.swift +164 -0
- package/ios/core/VideoManager.swift +219 -0
- package/ios/hybrids/VideoPlayer/HybridVideoPlayer.swift +697 -0
- package/ios/hybrids/VideoPlayer/HybridVideoPlayerFactory.swift +15 -0
- package/ios/hybrids/VideoPlayer/VLCPlaybackDelegates.swift +58 -0
- package/ios/hybrids/VideoPlayerEmitter/HybridVideoPlayerEventEmitter.swift +203 -0
- package/ios/hybrids/VideoPlayerSource/HybridVideoPlayerSource.swift +55 -0
- package/ios/hybrids/VideoPlayerSource/HybridVideoPlayerSourceFactory.swift +29 -0
- package/ios/hybrids/VideoViewViewManager/HybridVideoViewViewManager.swift +266 -0
- package/ios/hybrids/VideoViewViewManager/HybridVideoViewViewManagerFactory.swift +14 -0
- package/ios/view/VideoComponentView.swift +196 -0
- package/ios/view/VideoComponentViewObserver.swift +48 -0
- package/lib/module/core/VideoPlayer.js +287 -0
- package/lib/module/core/VideoPlayer.js.map +1 -0
- package/lib/module/core/VideoPlayerEvents.js +84 -0
- package/lib/module/core/VideoPlayerEvents.js.map +1 -0
- package/lib/module/core/hooks/useEvent.js +19 -0
- package/lib/module/core/hooks/useEvent.js.map +1 -0
- package/lib/module/core/hooks/useManagedInstance.js +75 -0
- package/lib/module/core/hooks/useManagedInstance.js.map +1 -0
- package/lib/module/core/hooks/useVideoPlayer.js +57 -0
- package/lib/module/core/hooks/useVideoPlayer.js.map +1 -0
- package/lib/module/core/types/BufferConfig.js +2 -0
- package/lib/module/core/types/BufferConfig.js.map +1 -0
- package/lib/module/core/types/DrmParams.js +2 -0
- package/lib/module/core/types/DrmParams.js.map +1 -0
- package/lib/module/core/types/Events.js +10 -0
- package/lib/module/core/types/Events.js.map +1 -0
- package/lib/module/core/types/IgnoreSilentSwitchMode.js +2 -0
- package/lib/module/core/types/IgnoreSilentSwitchMode.js.map +1 -0
- package/lib/module/core/types/MixAudioMode.js +2 -0
- package/lib/module/core/types/MixAudioMode.js.map +1 -0
- package/lib/module/core/types/ResizeMode.js +2 -0
- package/lib/module/core/types/ResizeMode.js.map +1 -0
- package/lib/module/core/types/TextTrack.js +2 -0
- package/lib/module/core/types/TextTrack.js.map +1 -0
- package/lib/module/core/types/Utils.js +2 -0
- package/lib/module/core/types/Utils.js.map +1 -0
- package/lib/module/core/types/VideoConfig.js +4 -0
- package/lib/module/core/types/VideoConfig.js.map +1 -0
- package/lib/module/core/types/VideoError.js +100 -0
- package/lib/module/core/types/VideoError.js.map +1 -0
- package/lib/module/core/types/VideoInformation.js +4 -0
- package/lib/module/core/types/VideoInformation.js.map +1 -0
- package/lib/module/core/types/VideoOrientation.js +2 -0
- package/lib/module/core/types/VideoOrientation.js.map +1 -0
- package/lib/module/core/types/VideoPlayerBase.js +4 -0
- package/lib/module/core/types/VideoPlayerBase.js.map +1 -0
- package/lib/module/core/types/VideoPlayerSourceBase.js +4 -0
- package/lib/module/core/types/VideoPlayerSourceBase.js.map +1 -0
- package/lib/module/core/types/VideoPlayerStatus.js +2 -0
- package/lib/module/core/types/VideoPlayerStatus.js.map +1 -0
- package/lib/module/core/utils/playerFactory.js +25 -0
- package/lib/module/core/utils/playerFactory.js.map +1 -0
- package/lib/module/core/utils/sourceFactory.js +138 -0
- package/lib/module/core/utils/sourceFactory.js.map +1 -0
- package/lib/module/core/video-view/NativeVideoView.tsx +18 -0
- package/lib/module/core/video-view/VideoView.js +261 -0
- package/lib/module/core/video-view/VideoView.js.map +1 -0
- package/lib/module/expo-plugins/@types.js +2 -0
- package/lib/module/expo-plugins/@types.js.map +1 -0
- package/lib/module/expo-plugins/getPackageInfo.js +23 -0
- package/lib/module/expo-plugins/getPackageInfo.js.map +1 -0
- package/lib/module/expo-plugins/withAndroidExtensions.js +35 -0
- package/lib/module/expo-plugins/withAndroidExtensions.js.map +1 -0
- package/lib/module/expo-plugins/withAndroidNotificationControls.js +29 -0
- package/lib/module/expo-plugins/withAndroidNotificationControls.js.map +1 -0
- package/lib/module/expo-plugins/withAndroidPictureInPicture.js +18 -0
- package/lib/module/expo-plugins/withAndroidPictureInPicture.js.map +1 -0
- package/lib/module/expo-plugins/withBackgroundAudio.js +22 -0
- package/lib/module/expo-plugins/withBackgroundAudio.js.map +1 -0
- package/lib/module/expo-plugins/withReactNativeVideo.js +27 -0
- package/lib/module/expo-plugins/withReactNativeVideo.js.map +1 -0
- package/lib/module/expo-plugins/writeToPodfile.js +53 -0
- package/lib/module/expo-plugins/writeToPodfile.js.map +1 -0
- package/lib/module/index.js +8 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/spec/fabric/VideoViewNativeComponent.ts +17 -0
- package/lib/module/spec/nitro/VideoPlayer.nitro.js +4 -0
- package/lib/module/spec/nitro/VideoPlayer.nitro.js.map +1 -0
- package/lib/module/spec/nitro/VideoPlayerEventEmitter.nitro.js +4 -0
- package/lib/module/spec/nitro/VideoPlayerEventEmitter.nitro.js.map +1 -0
- package/lib/module/spec/nitro/VideoPlayerSource.nitro.js +4 -0
- package/lib/module/spec/nitro/VideoPlayerSource.nitro.js.map +1 -0
- package/lib/module/spec/nitro/VideoViewViewManager.nitro.js +4 -0
- package/lib/module/spec/nitro/VideoViewViewManager.nitro.js.map +1 -0
- package/lib/typescript/drm-plugin/src/PluginManager.nitro.d.ts +10 -0
- package/lib/typescript/drm-plugin/src/PluginManager.nitro.d.ts.map +1 -0
- package/lib/typescript/drm-plugin/src/index.d.ts +4 -0
- package/lib/typescript/drm-plugin/src/index.d.ts.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/core/VideoPlayer.d.ts +88 -0
- package/lib/typescript/src/core/VideoPlayer.d.ts.map +1 -0
- package/lib/typescript/src/core/VideoPlayerEvents.d.ts +22 -0
- package/lib/typescript/src/core/VideoPlayerEvents.d.ts.map +1 -0
- package/lib/typescript/src/core/hooks/useEvent.d.ts +11 -0
- package/lib/typescript/src/core/hooks/useEvent.d.ts.map +1 -0
- package/lib/typescript/src/core/hooks/useManagedInstance.d.ts +19 -0
- package/lib/typescript/src/core/hooks/useManagedInstance.d.ts.map +1 -0
- package/lib/typescript/src/core/hooks/useVideoPlayer.d.ts +16 -0
- package/lib/typescript/src/core/hooks/useVideoPlayer.d.ts.map +1 -0
- package/lib/typescript/src/core/types/BufferConfig.d.ts +97 -0
- package/lib/typescript/src/core/types/BufferConfig.d.ts.map +1 -0
- package/lib/typescript/src/core/types/DrmParams.d.ts +64 -0
- package/lib/typescript/src/core/types/DrmParams.d.ts.map +1 -0
- package/lib/typescript/src/core/types/Events.d.ts +224 -0
- package/lib/typescript/src/core/types/Events.d.ts.map +1 -0
- package/lib/typescript/src/core/types/IgnoreSilentSwitchMode.d.ts +2 -0
- package/lib/typescript/src/core/types/IgnoreSilentSwitchMode.d.ts.map +1 -0
- package/lib/typescript/src/core/types/MixAudioMode.d.ts +2 -0
- package/lib/typescript/src/core/types/MixAudioMode.d.ts.map +1 -0
- package/lib/typescript/src/core/types/ResizeMode.d.ts +10 -0
- package/lib/typescript/src/core/types/ResizeMode.d.ts.map +1 -0
- package/lib/typescript/src/core/types/TextTrack.d.ts +20 -0
- package/lib/typescript/src/core/types/TextTrack.d.ts.map +1 -0
- package/lib/typescript/src/core/types/Utils.d.ts +2 -0
- package/lib/typescript/src/core/types/Utils.d.ts.map +1 -0
- package/lib/typescript/src/core/types/VideoConfig.d.ts +138 -0
- package/lib/typescript/src/core/types/VideoConfig.d.ts.map +1 -0
- package/lib/typescript/src/core/types/VideoError.d.ts +31 -0
- package/lib/typescript/src/core/types/VideoError.d.ts.map +1 -0
- package/lib/typescript/src/core/types/VideoInformation.d.ts +38 -0
- package/lib/typescript/src/core/types/VideoInformation.d.ts.map +1 -0
- package/lib/typescript/src/core/types/VideoOrientation.d.ts +2 -0
- package/lib/typescript/src/core/types/VideoOrientation.d.ts.map +1 -0
- package/lib/typescript/src/core/types/VideoPlayerBase.d.ts +155 -0
- package/lib/typescript/src/core/types/VideoPlayerBase.d.ts.map +1 -0
- package/lib/typescript/src/core/types/VideoPlayerSourceBase.d.ts +17 -0
- package/lib/typescript/src/core/types/VideoPlayerSourceBase.d.ts.map +1 -0
- package/lib/typescript/src/core/types/VideoPlayerStatus.d.ts +9 -0
- package/lib/typescript/src/core/types/VideoPlayerStatus.d.ts.map +1 -0
- package/lib/typescript/src/core/utils/playerFactory.d.ts +12 -0
- package/lib/typescript/src/core/utils/playerFactory.d.ts.map +1 -0
- package/lib/typescript/src/core/utils/sourceFactory.d.ts +29 -0
- package/lib/typescript/src/core/utils/sourceFactory.d.ts.map +1 -0
- package/lib/typescript/src/core/video-view/NativeVideoView.d.ts +2 -0
- package/lib/typescript/src/core/video-view/NativeVideoView.d.ts.map +1 -0
- package/lib/typescript/src/core/video-view/VideoView.d.ts +104 -0
- package/lib/typescript/src/core/video-view/VideoView.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +13 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/spec/fabric/VideoViewNativeComponent.d.ts +13 -0
- package/lib/typescript/src/spec/fabric/VideoViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/spec/nitro/VideoPlayer.nitro.d.ts +55 -0
- package/lib/typescript/src/spec/nitro/VideoPlayer.nitro.d.ts.map +1 -0
- package/lib/typescript/src/spec/nitro/VideoPlayerEventEmitter.nitro.d.ts +150 -0
- package/lib/typescript/src/spec/nitro/VideoPlayerEventEmitter.nitro.d.ts.map +1 -0
- package/lib/typescript/src/spec/nitro/VideoPlayerSource.nitro.d.ts +21 -0
- package/lib/typescript/src/spec/nitro/VideoPlayerSource.nitro.d.ts.map +1 -0
- package/lib/typescript/src/spec/nitro/VideoViewViewManager.nitro.d.ts +75 -0
- package/lib/typescript/src/spec/nitro/VideoViewViewManager.nitro.d.ts.map +1 -0
- package/nitro.json +47 -0
- package/nitrogen/generated/android/UnifiedPlayer+autolinking.cmake +95 -0
- package/nitrogen/generated/android/UnifiedPlayer+autolinking.gradle +27 -0
- package/nitrogen/generated/android/UnifiedPlayerOnLoad.cpp +122 -0
- package/nitrogen/generated/android/UnifiedPlayerOnLoad.hpp +34 -0
- package/nitrogen/generated/android/c++/JBandwidthData.hpp +65 -0
- package/nitrogen/generated/android/c++/JBufferConfig.hpp +101 -0
- package/nitrogen/generated/android/c++/JCustomVideoMetadata.hpp +74 -0
- package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload.hpp +126 -0
- package/nitrogen/generated/android/c++/JFunc_void.hpp +75 -0
- package/nitrogen/generated/android/c++/JFunc_void_BandwidthData.hpp +78 -0
- package/nitrogen/generated/android/c++/JFunc_void_TimedMetadata.hpp +81 -0
- package/nitrogen/generated/android/c++/JFunc_void_VideoPlayerStatus.hpp +77 -0
- package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +75 -0
- package/nitrogen/generated/android/c++/JFunc_void_double.hpp +75 -0
- package/nitrogen/generated/android/c++/JFunc_void_onLoadData.hpp +79 -0
- package/nitrogen/generated/android/c++/JFunc_void_onLoadStartData.hpp +82 -0
- package/nitrogen/generated/android/c++/JFunc_void_onPlaybackStateChangeData.hpp +77 -0
- package/nitrogen/generated/android/c++/JFunc_void_onProgressData.hpp +77 -0
- package/nitrogen/generated/android/c++/JFunc_void_onVolumeChangeData.hpp +77 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_std__variant_nitro__NullType__TextTrack__.hpp +83 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_std__string_.hpp +95 -0
- package/nitrogen/generated/android/c++/JHybridVideoPlayerEventEmitterSpec.cpp +224 -0
- package/nitrogen/generated/android/c++/JHybridVideoPlayerEventEmitterSpec.hpp +82 -0
- package/nitrogen/generated/android/c++/JHybridVideoPlayerFactorySpec.cpp +60 -0
- package/nitrogen/generated/android/c++/JHybridVideoPlayerFactorySpec.hpp +63 -0
- package/nitrogen/generated/android/c++/JHybridVideoPlayerSourceFactorySpec.cpp +106 -0
- package/nitrogen/generated/android/c++/JHybridVideoPlayerSourceFactorySpec.hpp +64 -0
- package/nitrogen/generated/android/c++/JHybridVideoPlayerSourceSpec.cpp +124 -0
- package/nitrogen/generated/android/c++/JHybridVideoPlayerSourceSpec.hpp +64 -0
- package/nitrogen/generated/android/c++/JHybridVideoPlayerSpec.cpp +300 -0
- package/nitrogen/generated/android/c++/JHybridVideoPlayerSpec.hpp +98 -0
- package/nitrogen/generated/android/c++/JHybridVideoViewViewManagerFactorySpec.cpp +56 -0
- package/nitrogen/generated/android/c++/JHybridVideoViewViewManagerFactorySpec.hpp +63 -0
- package/nitrogen/generated/android/c++/JHybridVideoViewViewManagerSpec.cpp +185 -0
- package/nitrogen/generated/android/c++/JHybridVideoViewViewManagerSpec.hpp +87 -0
- package/nitrogen/generated/android/c++/JIgnoreSilentSwitchMode.hpp +61 -0
- package/nitrogen/generated/android/c++/JListenerSubscription.hpp +67 -0
- package/nitrogen/generated/android/c++/JLivePlaybackParams.hpp +73 -0
- package/nitrogen/generated/android/c++/JMixAudioMode.hpp +64 -0
- package/nitrogen/generated/android/c++/JNativeDrmParams.hpp +111 -0
- package/nitrogen/generated/android/c++/JNativeExternalSubtitle.hpp +71 -0
- package/nitrogen/generated/android/c++/JNativeVideoConfig.hpp +136 -0
- package/nitrogen/generated/android/c++/JOnGetLicensePayload.hpp +69 -0
- package/nitrogen/generated/android/c++/JResizeMode.hpp +64 -0
- package/nitrogen/generated/android/c++/JResolution.hpp +61 -0
- package/nitrogen/generated/android/c++/JSourceType.hpp +58 -0
- package/nitrogen/generated/android/c++/JSubtitleType.hpp +67 -0
- package/nitrogen/generated/android/c++/JSurfaceType.hpp +58 -0
- package/nitrogen/generated/android/c++/JTextTrack.hpp +70 -0
- package/nitrogen/generated/android/c++/JTimedMetadata.hpp +78 -0
- package/nitrogen/generated/android/c++/JTimedMetadataObject.hpp +61 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_HybridVideoPlayerSourceSpec.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_HybridVideoPlayerSourceSpec.hpp +72 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_TextTrack.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_TextTrack.hpp +73 -0
- package/nitrogen/generated/android/c++/JVideoInformation.hpp +86 -0
- package/nitrogen/generated/android/c++/JVideoOrientation.hpp +73 -0
- package/nitrogen/generated/android/c++/JVideoPlayerStatus.hpp +64 -0
- package/nitrogen/generated/android/c++/JonLoadData.hpp +74 -0
- package/nitrogen/generated/android/c++/JonLoadStartData.hpp +65 -0
- package/nitrogen/generated/android/c++/JonPlaybackStateChangeData.hpp +61 -0
- package/nitrogen/generated/android/c++/JonProgressData.hpp +65 -0
- package/nitrogen/generated/android/c++/JonVolumeChangeData.hpp +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/BandwidthData.kt +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/BufferConfig.kt +101 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/CustomVideoMetadata.kt +71 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/Func_void.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/Func_void_BandwidthData.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/Func_void_TimedMetadata.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/Func_void_VideoPlayerStatus.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/Func_void_bool.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/Func_void_double.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/Func_void_onLoadData.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/Func_void_onLoadStartData.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/Func_void_onPlaybackStateChangeData.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/Func_void_onProgressData.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/Func_void_onVolumeChangeData.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/Func_void_std__optional_std__variant_nitro__NullType__TextTrack__.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/Func_void_std__vector_std__string_.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/HybridVideoPlayerEventEmitterSpec.kt +226 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/HybridVideoPlayerFactorySpec.kt +54 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/HybridVideoPlayerSourceFactorySpec.kt +58 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/HybridVideoPlayerSourceSpec.kt +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/HybridVideoPlayerSpec.kt +178 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/HybridVideoViewViewManagerFactorySpec.kt +54 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/HybridVideoViewViewManagerSpec.kt +168 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/IgnoreSilentSwitchMode.kt +24 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/ListenerSubscription.kt +55 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/LivePlaybackParams.kt +71 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/MixAudioMode.kt +25 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/NativeDrmParams.kt +85 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/NativeExternalSubtitle.kt +66 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/NativeVideoConfig.kt +81 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/OnGetLicensePayload.kt +66 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/ResizeMode.kt +25 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/Resolution.kt +56 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/SourceType.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/SubtitleType.kt +26 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/SurfaceType.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/TextTrack.kt +66 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/TimedMetadata.kt +51 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/TimedMetadataObject.kt +56 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/UnifiedPlayerOnLoad.kt +35 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/Variant_NullType_HybridVideoPlayerSourceSpec.kt +62 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/Variant_NullType_TextTrack.kt +62 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/VideoInformation.kt +86 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/VideoOrientation.kt +28 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/VideoPlayerStatus.kt +25 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/onLoadData.kt +71 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/onLoadStartData.kt +56 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/onPlaybackStateChangeData.kt +56 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/onProgressData.kt +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unifiedplayer/onVolumeChangeData.kt +56 -0
- package/nitrogen/generated/ios/UnifiedPlayer+autolinking.rb +62 -0
- package/nitrogen/generated/ios/UnifiedPlayer-Swift-Cxx-Bridge.cpp +280 -0
- package/nitrogen/generated/ios/UnifiedPlayer-Swift-Cxx-Bridge.hpp +1106 -0
- package/nitrogen/generated/ios/UnifiedPlayer-Swift-Cxx-Umbrella.hpp +162 -0
- package/nitrogen/generated/ios/UnifiedPlayerAutolinking.mm +49 -0
- package/nitrogen/generated/ios/UnifiedPlayerAutolinking.swift +50 -0
- package/nitrogen/generated/ios/c++/HybridVideoPlayerEventEmitterSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridVideoPlayerEventEmitterSpecSwift.hpp +279 -0
- package/nitrogen/generated/ios/c++/HybridVideoPlayerFactorySpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridVideoPlayerFactorySpecSwift.hpp +87 -0
- package/nitrogen/generated/ios/c++/HybridVideoPlayerSourceFactorySpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridVideoPlayerSourceFactorySpecSwift.hpp +125 -0
- package/nitrogen/generated/ios/c++/HybridVideoPlayerSourceSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridVideoPlayerSourceSpecSwift.hpp +125 -0
- package/nitrogen/generated/ios/c++/HybridVideoPlayerSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridVideoPlayerSpecSwift.hpp +256 -0
- package/nitrogen/generated/ios/c++/HybridVideoViewViewManagerFactorySpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridVideoViewViewManagerFactorySpecSwift.hpp +84 -0
- package/nitrogen/generated/ios/c++/HybridVideoViewViewManagerSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridVideoViewViewManagerSpecSwift.hpp +217 -0
- package/nitrogen/generated/ios/swift/BandwidthData.swift +65 -0
- package/nitrogen/generated/ios/swift/BufferConfig.swift +201 -0
- package/nitrogen/generated/ios/swift/CustomVideoMetadata.swift +114 -0
- package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload.swift +61 -0
- package/nitrogen/generated/ios/swift/Func_void.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_BandwidthData.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_TimedMetadata.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_VideoInformation.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_VideoPlayerStatus.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_double.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_onLoadData.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_onLoadStartData.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_onPlaybackStateChangeData.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_onProgressData.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_onVolumeChangeData.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__optional_std__variant_nitro__NullType__TextTrack__.swift +65 -0
- package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_Promise_std__string__.swift +66 -0
- package/nitrogen/generated/ios/swift/Func_void_std__string.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_std__string_.swift +46 -0
- package/nitrogen/generated/ios/swift/HybridVideoPlayerEventEmitterSpec.swift +74 -0
- package/nitrogen/generated/ios/swift/HybridVideoPlayerEventEmitterSpec_cxx.swift +479 -0
- package/nitrogen/generated/ios/swift/HybridVideoPlayerFactorySpec.swift +55 -0
- package/nitrogen/generated/ios/swift/HybridVideoPlayerFactorySpec_cxx.swift +145 -0
- package/nitrogen/generated/ios/swift/HybridVideoPlayerSourceFactorySpec.swift +56 -0
- package/nitrogen/generated/ios/swift/HybridVideoPlayerSourceFactorySpec_cxx.swift +156 -0
- package/nitrogen/generated/ios/swift/HybridVideoPlayerSourceSpec.swift +56 -0
- package/nitrogen/generated/ios/swift/HybridVideoPlayerSourceSpec_cxx.swift +157 -0
- package/nitrogen/generated/ios/swift/HybridVideoPlayerSpec.swift +80 -0
- package/nitrogen/generated/ios/swift/HybridVideoPlayerSpec_cxx.swift +490 -0
- package/nitrogen/generated/ios/swift/HybridVideoViewViewManagerFactorySpec.swift +55 -0
- package/nitrogen/generated/ios/swift/HybridVideoViewViewManagerFactorySpec_cxx.swift +141 -0
- package/nitrogen/generated/ios/swift/HybridVideoViewViewManagerSpec.swift +72 -0
- package/nitrogen/generated/ios/swift/HybridVideoViewViewManagerSpec_cxx.swift +390 -0
- package/nitrogen/generated/ios/swift/IgnoreSilentSwitchMode.swift +44 -0
- package/nitrogen/generated/ios/swift/ListenerSubscription.swift +37 -0
- package/nitrogen/generated/ios/swift/LivePlaybackParams.swift +114 -0
- package/nitrogen/generated/ios/swift/MixAudioMode.swift +48 -0
- package/nitrogen/generated/ios/swift/NativeDrmParams.swift +193 -0
- package/nitrogen/generated/ios/swift/NativeExternalSubtitle.swift +44 -0
- package/nitrogen/generated/ios/swift/NativeVideoConfig.swift +136 -0
- package/nitrogen/generated/ios/swift/OnGetLicensePayload.swift +44 -0
- package/nitrogen/generated/ios/swift/ResizeMode.swift +48 -0
- package/nitrogen/generated/ios/swift/Resolution.swift +34 -0
- package/nitrogen/generated/ios/swift/SourceType.swift +40 -0
- package/nitrogen/generated/ios/swift/SubtitleType.swift +52 -0
- package/nitrogen/generated/ios/swift/SurfaceType.swift +40 -0
- package/nitrogen/generated/ios/swift/TextTrack.swift +57 -0
- package/nitrogen/generated/ios/swift/TimedMetadata.swift +35 -0
- package/nitrogen/generated/ios/swift/TimedMetadataObject.swift +34 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_TextTrack.swift +30 -0
- package/nitrogen/generated/ios/swift/Variant_NullType__any_HybridVideoPlayerSourceSpec_.swift +30 -0
- package/nitrogen/generated/ios/swift/VideoInformation.swift +64 -0
- package/nitrogen/generated/ios/swift/VideoOrientation.swift +60 -0
- package/nitrogen/generated/ios/swift/VideoPlayerStatus.swift +48 -0
- package/nitrogen/generated/ios/swift/onLoadData.swift +49 -0
- package/nitrogen/generated/ios/swift/onLoadStartData.swift +41 -0
- package/nitrogen/generated/ios/swift/onPlaybackStateChangeData.swift +34 -0
- package/nitrogen/generated/ios/swift/onProgressData.swift +39 -0
- package/nitrogen/generated/ios/swift/onVolumeChangeData.swift +34 -0
- package/nitrogen/generated/shared/c++/BandwidthData.hpp +91 -0
- package/nitrogen/generated/shared/c++/BufferConfig.hpp +128 -0
- package/nitrogen/generated/shared/c++/CustomVideoMetadata.hpp +100 -0
- package/nitrogen/generated/shared/c++/HybridVideoPlayerEventEmitterSpec.cpp +40 -0
- package/nitrogen/generated/shared/c++/HybridVideoPlayerEventEmitterSpec.hpp +115 -0
- package/nitrogen/generated/shared/c++/HybridVideoPlayerFactorySpec.cpp +21 -0
- package/nitrogen/generated/shared/c++/HybridVideoPlayerFactorySpec.hpp +67 -0
- package/nitrogen/generated/shared/c++/HybridVideoPlayerSourceFactorySpec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridVideoPlayerSourceFactorySpec.hpp +69 -0
- package/nitrogen/generated/shared/c++/HybridVideoPlayerSourceSpec.cpp +23 -0
- package/nitrogen/generated/shared/c++/HybridVideoPlayerSourceSpec.hpp +69 -0
- package/nitrogen/generated/shared/c++/HybridVideoPlayerSpec.cpp +57 -0
- package/nitrogen/generated/shared/c++/HybridVideoPlayerSpec.hpp +120 -0
- package/nitrogen/generated/shared/c++/HybridVideoViewViewManagerFactorySpec.cpp +21 -0
- package/nitrogen/generated/shared/c++/HybridVideoViewViewManagerFactorySpec.hpp +64 -0
- package/nitrogen/generated/shared/c++/HybridVideoViewViewManagerSpec.cpp +46 -0
- package/nitrogen/generated/shared/c++/HybridVideoViewViewManagerSpec.hpp +99 -0
- package/nitrogen/generated/shared/c++/IgnoreSilentSwitchMode.hpp +80 -0
- package/nitrogen/generated/shared/c++/ListenerSubscription.hpp +83 -0
- package/nitrogen/generated/shared/c++/LivePlaybackParams.hpp +99 -0
- package/nitrogen/generated/shared/c++/MixAudioMode.hpp +84 -0
- package/nitrogen/generated/shared/c++/NativeDrmParams.hpp +113 -0
- package/nitrogen/generated/shared/c++/NativeExternalSubtitle.hpp +97 -0
- package/nitrogen/generated/shared/c++/NativeVideoConfig.hpp +121 -0
- package/nitrogen/generated/shared/c++/OnGetLicensePayload.hpp +95 -0
- package/nitrogen/generated/shared/c++/ResizeMode.hpp +84 -0
- package/nitrogen/generated/shared/c++/Resolution.hpp +87 -0
- package/nitrogen/generated/shared/c++/SourceType.hpp +76 -0
- package/nitrogen/generated/shared/c++/SubtitleType.hpp +88 -0
- package/nitrogen/generated/shared/c++/SurfaceType.hpp +76 -0
- package/nitrogen/generated/shared/c++/TextTrack.hpp +96 -0
- package/nitrogen/generated/shared/c++/TimedMetadata.hpp +85 -0
- package/nitrogen/generated/shared/c++/TimedMetadataObject.hpp +87 -0
- package/nitrogen/generated/shared/c++/VideoInformation.hpp +112 -0
- package/nitrogen/generated/shared/c++/VideoOrientation.hpp +96 -0
- package/nitrogen/generated/shared/c++/VideoPlayerStatus.hpp +84 -0
- package/nitrogen/generated/shared/c++/onLoadData.hpp +100 -0
- package/nitrogen/generated/shared/c++/onLoadStartData.hpp +92 -0
- package/nitrogen/generated/shared/c++/onPlaybackStateChangeData.hpp +87 -0
- package/nitrogen/generated/shared/c++/onProgressData.hpp +91 -0
- package/nitrogen/generated/shared/c++/onVolumeChangeData.hpp +87 -0
- package/package.json +180 -0
- package/react-native.config.js +10 -0
- package/src/core/VideoPlayer.ts +357 -0
- package/src/core/VideoPlayerEvents.ts +146 -0
- package/src/core/hooks/useEvent.ts +24 -0
- package/src/core/hooks/useManagedInstance.ts +96 -0
- package/src/core/hooks/useVideoPlayer.ts +73 -0
- package/src/core/types/BufferConfig.ts +103 -0
- package/src/core/types/DrmParams.ts +65 -0
- package/src/core/types/Events.ts +283 -0
- package/src/core/types/IgnoreSilentSwitchMode.ts +1 -0
- package/src/core/types/MixAudioMode.ts +1 -0
- package/src/core/types/ResizeMode.ts +9 -0
- package/src/core/types/TextTrack.ts +22 -0
- package/src/core/types/Utils.ts +1 -0
- package/src/core/types/VideoConfig.ts +150 -0
- package/src/core/types/VideoError.ts +174 -0
- package/src/core/types/VideoInformation.ts +45 -0
- package/src/core/types/VideoOrientation.ts +8 -0
- package/src/core/types/VideoPlayerBase.ts +181 -0
- package/src/core/types/VideoPlayerSourceBase.ts +19 -0
- package/src/core/types/VideoPlayerStatus.ts +8 -0
- package/src/core/utils/playerFactory.ts +33 -0
- package/src/core/utils/sourceFactory.ts +171 -0
- package/src/core/video-view/NativeVideoView.tsx +18 -0
- package/src/core/video-view/VideoView.tsx +492 -0
- package/src/expo-plugins/@types.ts +37 -0
- package/src/expo-plugins/getPackageInfo.ts +23 -0
- package/src/expo-plugins/withAndroidExtensions.ts +46 -0
- package/src/expo-plugins/withAndroidNotificationControls.ts +43 -0
- package/src/expo-plugins/withAndroidPictureInPicture.ts +31 -0
- package/src/expo-plugins/withBackgroundAudio.ts +26 -0
- package/src/expo-plugins/withReactNativeVideo.ts +32 -0
- package/src/expo-plugins/writeToPodfile.ts +74 -0
- package/src/index.tsx +29 -0
- package/src/spec/fabric/VideoViewNativeComponent.ts +17 -0
- package/src/spec/nitro/VideoPlayer.nitro.ts +62 -0
- package/src/spec/nitro/VideoPlayerEventEmitter.nitro.ts +207 -0
- package/src/spec/nitro/VideoPlayerSource.nitro.ts +18 -0
- package/src/spec/nitro/VideoViewViewManager.nitro.ts +92 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type ConfigPlugin, createRunOncePlugin } from '@expo/config-plugins';
|
|
2
|
+
import type { ConfigProps } from './@types';
|
|
3
|
+
import { getPackageInfo } from './getPackageInfo';
|
|
4
|
+
import { withAndroidExtensions } from './withAndroidExtensions';
|
|
5
|
+
import { withAndroidPictureInPicture } from './withAndroidPictureInPicture';
|
|
6
|
+
import { withBackgroundAudio } from './withBackgroundAudio';
|
|
7
|
+
import { withAndroidNotificationControls } from './withAndroidNotificationControls';
|
|
8
|
+
|
|
9
|
+
const withRNVideo: ConfigPlugin<ConfigProps> = (config, props = {}) => {
|
|
10
|
+
if (props.enableAndroidPictureInPicture) {
|
|
11
|
+
config = withAndroidPictureInPicture(
|
|
12
|
+
config,
|
|
13
|
+
props.enableAndroidPictureInPicture
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
if (props.androidExtensions != null) {
|
|
18
|
+
config = withAndroidExtensions(config, props.androidExtensions);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if (props.enableBackgroundAudio) {
|
|
22
|
+
config = withBackgroundAudio(config, props.enableBackgroundAudio);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
config = withAndroidNotificationControls(config);
|
|
26
|
+
|
|
27
|
+
return config;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
const { name, version } = getPackageInfo();
|
|
31
|
+
|
|
32
|
+
export default createRunOncePlugin(withRNVideo, name, version);
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { mergeContents } from '@expo/config-plugins/build/utils/generateCode';
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
|
|
5
|
+
export const writeToPodfile = (
|
|
6
|
+
projectRoot: string,
|
|
7
|
+
key: string,
|
|
8
|
+
value: string,
|
|
9
|
+
testApp: boolean = false
|
|
10
|
+
) => {
|
|
11
|
+
const podfilePath = path.join(projectRoot, 'ios', 'Podfile');
|
|
12
|
+
const podfileContent = fs.readFileSync(podfilePath, 'utf8');
|
|
13
|
+
|
|
14
|
+
if (podfileContent.includes(`$${key} =`)) {
|
|
15
|
+
console.warn(
|
|
16
|
+
`RNV - Podfile already contains a definition for "$${key}". Skipping...`
|
|
17
|
+
);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if (testApp) {
|
|
22
|
+
mergeTestAppPodfile(podfileContent, podfilePath, key, value);
|
|
23
|
+
} else {
|
|
24
|
+
mergeExpoPodfile(podfileContent, podfilePath, key, value);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const mergeTestAppPodfile = (
|
|
29
|
+
podfileContent: string,
|
|
30
|
+
podfilePath: string,
|
|
31
|
+
key: string,
|
|
32
|
+
value: string
|
|
33
|
+
) => {
|
|
34
|
+
// We will try to inject the variable definition above the `use_test_app!` call in the Podfile.
|
|
35
|
+
const newPodfileContent = mergeContents({
|
|
36
|
+
tag: `rn-video-set-${key.toLowerCase()}`,
|
|
37
|
+
src: podfileContent,
|
|
38
|
+
newSrc: `$${key} = ${value}`,
|
|
39
|
+
anchor: /use_test_app!/,
|
|
40
|
+
offset: -1, // Insert the key-value pair just above the `use_test_app!` call.
|
|
41
|
+
comment: '#',
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
// Write to Podfile only if the merge was successful
|
|
45
|
+
if (newPodfileContent.didMerge) {
|
|
46
|
+
fs.writeFileSync(podfilePath, newPodfileContent.contents);
|
|
47
|
+
} else {
|
|
48
|
+
console.warn(
|
|
49
|
+
`RNV - Failed to write "$${key} = ${value}" to Test App Podfile`
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
const mergeExpoPodfile = (
|
|
55
|
+
podfileContent: string,
|
|
56
|
+
podfilePath: string,
|
|
57
|
+
key: string,
|
|
58
|
+
value: string
|
|
59
|
+
) => {
|
|
60
|
+
const newPodfileContent = mergeContents({
|
|
61
|
+
tag: `rn-video-set-${key.toLowerCase()}`,
|
|
62
|
+
src: podfileContent,
|
|
63
|
+
newSrc: `$${key} = ${value}`,
|
|
64
|
+
anchor: /platform :ios/,
|
|
65
|
+
offset: 0,
|
|
66
|
+
comment: '#',
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
if (newPodfileContent.didMerge) {
|
|
70
|
+
fs.writeFileSync(podfilePath, newPodfileContent.contents);
|
|
71
|
+
} else {
|
|
72
|
+
console.warn(`RNV - Failed to write "$${key} = ${value}" to Podfile`);
|
|
73
|
+
}
|
|
74
|
+
};
|
package/src/index.tsx
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export { useEvent } from './core/hooks/useEvent';
|
|
2
|
+
export { useVideoPlayer } from './core/hooks/useVideoPlayer';
|
|
3
|
+
export * from './core/types/Events';
|
|
4
|
+
export type { IgnoreSilentSwitchMode } from './core/types/IgnoreSilentSwitchMode';
|
|
5
|
+
export type { MixAudioMode } from './core/types/MixAudioMode';
|
|
6
|
+
export type { ResizeMode } from './core/types/ResizeMode';
|
|
7
|
+
export type { TextTrack } from './core/types/TextTrack';
|
|
8
|
+
export type { VideoConfig, VideoSource } from './core/types/VideoConfig';
|
|
9
|
+
export {
|
|
10
|
+
type LibraryError,
|
|
11
|
+
type PlayerError,
|
|
12
|
+
type SourceError,
|
|
13
|
+
type UnknownError,
|
|
14
|
+
type VideoComponentError,
|
|
15
|
+
type VideoError,
|
|
16
|
+
type VideoErrorCode,
|
|
17
|
+
type VideoRuntimeError,
|
|
18
|
+
type VideoViewError,
|
|
19
|
+
} from './core/types/VideoError';
|
|
20
|
+
export type { VideoPlayerStatus } from './core/types/VideoPlayerStatus';
|
|
21
|
+
export {
|
|
22
|
+
default as VideoView,
|
|
23
|
+
default as UnifiedPlayerView,
|
|
24
|
+
type VideoViewProps,
|
|
25
|
+
type VideoViewProps as UnifiedPlayerViewProps,
|
|
26
|
+
type VideoViewRef,
|
|
27
|
+
type VideoViewRef as UnifiedPlayerViewRef,
|
|
28
|
+
} from './core/video-view/VideoView';
|
|
29
|
+
export { VideoPlayer } from './core/VideoPlayer';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
2
|
+
import type { ViewProps } from 'react-native';
|
|
3
|
+
import type { Int32 } from 'react-native/Libraries/Types/CodegenTypes';
|
|
4
|
+
import type { DirectEventHandler } from 'react-native/Libraries/Types/CodegenTypes';
|
|
5
|
+
|
|
6
|
+
type OnNitroIdChangeEvent = Readonly<{
|
|
7
|
+
nitroId: Int32;
|
|
8
|
+
}>;
|
|
9
|
+
|
|
10
|
+
export interface NativeProps extends ViewProps {
|
|
11
|
+
nitroId: Int32;
|
|
12
|
+
onNitroIdChange?: DirectEventHandler<OnNitroIdChangeEvent>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default codegenNativeComponent<NativeProps>('RNCVideoView', {
|
|
16
|
+
paperComponentName: 'RNCVideoView',
|
|
17
|
+
});
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { HybridObject } from 'react-native-nitro-modules';
|
|
2
|
+
import type { TextTrack } from '../../core/types/TextTrack';
|
|
3
|
+
import type { VideoPlayerBase } from '../../core/types/VideoPlayerBase';
|
|
4
|
+
import type { VideoPlayerEventEmitter } from './VideoPlayerEventEmitter.nitro';
|
|
5
|
+
import type { VideoPlayerSource } from './VideoPlayerSource.nitro';
|
|
6
|
+
|
|
7
|
+
export interface VideoPlayer
|
|
8
|
+
extends HybridObject<{ ios: 'swift'; android: 'kotlin' }>,
|
|
9
|
+
VideoPlayerBase {
|
|
10
|
+
// Override with (hybrid) VideoPlayerSource
|
|
11
|
+
readonly source: VideoPlayerSource;
|
|
12
|
+
|
|
13
|
+
// Holder of the video player events.
|
|
14
|
+
readonly eventEmitter: VideoPlayerEventEmitter;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Show playback controls in the notifications area
|
|
18
|
+
*
|
|
19
|
+
* @note on Android, this can be overridden by {@linkcode VideoPlayer.playInBackground}, as Android requires
|
|
20
|
+
* a foreground service to show notifications while the app is in the background.
|
|
21
|
+
*
|
|
22
|
+
* @default false
|
|
23
|
+
*/
|
|
24
|
+
showNotificationControls: boolean;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Replace the current source of the player.
|
|
28
|
+
* @param source - The new source of the video.
|
|
29
|
+
* @note If you want to clear the source, you can pass null. It has the same effect as {@link release}.
|
|
30
|
+
* see {@link VideoPlayerSourceBase}
|
|
31
|
+
*/
|
|
32
|
+
replaceSourceAsync(source: VideoPlayerSource | null): Promise<void>;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Get all available text tracks for the current source.
|
|
36
|
+
* @returns Array of available text tracks
|
|
37
|
+
*/
|
|
38
|
+
getAvailableTextTracks(): TextTrack[];
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Select a text track to display.
|
|
42
|
+
* @param textTrack - Text track to select, or null to unselect current track
|
|
43
|
+
*/
|
|
44
|
+
selectTextTrack(textTrack: TextTrack | null): void;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Releases the player's native resources and releases native state.
|
|
48
|
+
*/
|
|
49
|
+
release(): void;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Capture the current video frame as a base64 encoded image.
|
|
53
|
+
* @returns A promise that resolves to the base64 encoded image string (PNG format).
|
|
54
|
+
* @note The image will be captured at the current playback position.
|
|
55
|
+
*/
|
|
56
|
+
captureFrame(): Promise<string>;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export interface VideoPlayerFactory
|
|
60
|
+
extends HybridObject<{ ios: 'swift'; android: 'kotlin' }> {
|
|
61
|
+
createPlayer(source: VideoPlayerSource): VideoPlayer;
|
|
62
|
+
}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import type { HybridObject } from 'react-native-nitro-modules';
|
|
2
|
+
import type {
|
|
3
|
+
BandwidthData,
|
|
4
|
+
onLoadData,
|
|
5
|
+
onLoadStartData,
|
|
6
|
+
onPlaybackStateChangeData,
|
|
7
|
+
onProgressData,
|
|
8
|
+
onVolumeChangeData,
|
|
9
|
+
TimedMetadata,
|
|
10
|
+
} from '../../core/types/Events';
|
|
11
|
+
import type { TextTrack } from '../../core/types/TextTrack';
|
|
12
|
+
import type { VideoPlayerStatus } from '../../core/types/VideoPlayerStatus';
|
|
13
|
+
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
15
|
+
import type { VideoPlayerEvents } from '../../core/types/Events';
|
|
16
|
+
|
|
17
|
+
export interface ListenerSubscription {
|
|
18
|
+
remove(): void;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface VideoPlayerEventEmitter
|
|
22
|
+
extends HybridObject<{ ios: 'swift'; android: 'kotlin' }> {
|
|
23
|
+
/**
|
|
24
|
+
* Adds a listener for the `onAudioBecomingNoisy` event.
|
|
25
|
+
* @see {@link VideoPlayerEvents.onAudioBecomingNoisy}
|
|
26
|
+
* @param listener - The listener to add.
|
|
27
|
+
* @returns A subscription object that can be used to remove the listener.
|
|
28
|
+
*/
|
|
29
|
+
addOnAudioBecomingNoisyListener(listener: () => void): ListenerSubscription;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Adds a listener for the `onAudioFocusChange` event.
|
|
33
|
+
* @see {@link VideoPlayerEvents.onAudioFocusChange}
|
|
34
|
+
* @param listener - The listener to add.
|
|
35
|
+
* @returns A subscription object that can be used to remove the listener.
|
|
36
|
+
*/
|
|
37
|
+
addOnAudioFocusChangeListener(
|
|
38
|
+
listener: (hasAudioFocus: boolean) => void
|
|
39
|
+
): ListenerSubscription;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Adds a listener for the `onBandwidthUpdate` event.
|
|
43
|
+
* @see {@link VideoPlayerEvents.onBandwidthUpdate}
|
|
44
|
+
* @param listener - The listener to add.
|
|
45
|
+
* @returns A subscription object that can be used to remove the listener.
|
|
46
|
+
*/
|
|
47
|
+
addOnBandwidthUpdateListener(
|
|
48
|
+
listener: (data: BandwidthData) => void
|
|
49
|
+
): ListenerSubscription;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Adds a listener for the `onBuffer` event.
|
|
53
|
+
* @see {@link VideoPlayerEvents.onBuffer}
|
|
54
|
+
* @param listener - The listener to add.
|
|
55
|
+
* @returns A subscription object that can be used to remove the listener.
|
|
56
|
+
*/
|
|
57
|
+
addOnBufferListener(
|
|
58
|
+
listener: (buffering: boolean) => void
|
|
59
|
+
): ListenerSubscription;
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Adds a listener for the `onControlsVisibleChange` event.
|
|
63
|
+
* @see {@link VideoPlayerEvents.onControlsVisibleChange}
|
|
64
|
+
* @param listener - The listener to add.
|
|
65
|
+
* @returns A subscription object that can be used to remove the listener.
|
|
66
|
+
*/
|
|
67
|
+
addOnControlsVisibleChangeListener(
|
|
68
|
+
listener: (visible: boolean) => void
|
|
69
|
+
): ListenerSubscription;
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Adds a listener for the `onEnd` event.
|
|
73
|
+
* @see {@link VideoPlayerEvents.onEnd}
|
|
74
|
+
* @param listener - The listener to add.
|
|
75
|
+
* @returns A subscription object that can be used to remove the listener.
|
|
76
|
+
*/
|
|
77
|
+
addOnEndListener(listener: () => void): ListenerSubscription;
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Adds a listener for the `onExternalPlaybackChange` event.
|
|
81
|
+
* @see {@link VideoPlayerEvents.onExternalPlaybackChange}
|
|
82
|
+
* @param listener - The listener to add.
|
|
83
|
+
* @returns A subscription object that can be used to remove the listener.
|
|
84
|
+
*/
|
|
85
|
+
addOnExternalPlaybackChangeListener(
|
|
86
|
+
listener: (externalPlaybackActive: boolean) => void
|
|
87
|
+
): ListenerSubscription;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Adds a listener for the `onLoad` event.
|
|
91
|
+
* @see {@link VideoPlayerEvents.onLoad}
|
|
92
|
+
* @param listener - The listener to add.
|
|
93
|
+
* @returns A subscription object that can be used to remove the listener.
|
|
94
|
+
*/
|
|
95
|
+
addOnLoadListener(listener: (data: onLoadData) => void): ListenerSubscription;
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Adds a listener for the `onLoadStart` event.
|
|
99
|
+
* @see {@link VideoPlayerEvents.onLoadStart}
|
|
100
|
+
* @param listener - The listener to add.
|
|
101
|
+
* @returns A subscription object that can be used to remove the listener.
|
|
102
|
+
*/
|
|
103
|
+
addOnLoadStartListener(
|
|
104
|
+
listener: (data: onLoadStartData) => void
|
|
105
|
+
): ListenerSubscription;
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Adds a listener for the `onPlaybackStateChange` event.
|
|
109
|
+
* @see {@link VideoPlayerEvents.onPlaybackStateChange}
|
|
110
|
+
* @param listener - The listener to add.
|
|
111
|
+
* @returns A subscription object that can be used to remove the listener.
|
|
112
|
+
*/
|
|
113
|
+
addOnPlaybackStateChangeListener(
|
|
114
|
+
listener: (data: onPlaybackStateChangeData) => void
|
|
115
|
+
): ListenerSubscription;
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Adds a listener for the `onPlaybackRateChange` event.
|
|
119
|
+
* @see {@link VideoPlayerEvents.onPlaybackRateChange}
|
|
120
|
+
* @param listener - The listener to add.
|
|
121
|
+
* @returns A subscription object that can be used to remove the listener.
|
|
122
|
+
*/
|
|
123
|
+
addOnPlaybackRateChangeListener(
|
|
124
|
+
listener: (rate: number) => void
|
|
125
|
+
): ListenerSubscription;
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Adds a listener for the `onProgress` event.
|
|
129
|
+
* @see {@link VideoPlayerEvents.onProgress}
|
|
130
|
+
* @param listener - The listener to add.
|
|
131
|
+
* @returns A subscription object that can be used to remove the listener.
|
|
132
|
+
*/
|
|
133
|
+
addOnProgressListener(
|
|
134
|
+
listener: (data: onProgressData) => void
|
|
135
|
+
): ListenerSubscription;
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Adds a listener for the `onReadyToDisplay` event.
|
|
139
|
+
* @see {@link VideoPlayerEvents.onReadyToDisplay}
|
|
140
|
+
* @param listener - The listener to add.
|
|
141
|
+
* @returns A subscription object that can be used to remove the listener.
|
|
142
|
+
*/
|
|
143
|
+
addOnReadyToDisplayListener(listener: () => void): ListenerSubscription;
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Adds a listener for the `onSeek` event.
|
|
147
|
+
* @see {@link VideoPlayerEvents.onSeek}
|
|
148
|
+
* @param listener - The listener to add.
|
|
149
|
+
* @returns A subscription object that can be used to remove the listener.
|
|
150
|
+
*/
|
|
151
|
+
addOnSeekListener(listener: (position: number) => void): ListenerSubscription;
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Adds a listener for the `onStatusChange` event.
|
|
155
|
+
* @see {@link VideoPlayerEvents.onStatusChange}
|
|
156
|
+
* @param listener - The listener to add.
|
|
157
|
+
* @returns A subscription object that can be used to remove the listener.
|
|
158
|
+
*/
|
|
159
|
+
addOnStatusChangeListener(
|
|
160
|
+
listener: (status: VideoPlayerStatus) => void
|
|
161
|
+
): ListenerSubscription;
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Adds a listener for the `onTimedMetadata` event.
|
|
165
|
+
* @see {@link VideoPlayerEvents.onTimedMetadata}
|
|
166
|
+
* @param listener - The listener to add.
|
|
167
|
+
* @returns A subscription object that can be used to remove the listener.
|
|
168
|
+
*/
|
|
169
|
+
addOnTimedMetadataListener(
|
|
170
|
+
listener: (data: TimedMetadata) => void
|
|
171
|
+
): ListenerSubscription;
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Adds a listener for the `onTextTrackDataChanged` event.
|
|
175
|
+
* @see {@link VideoPlayerEvents.onTextTrackDataChanged}
|
|
176
|
+
* @param listener - The listener to add.
|
|
177
|
+
* @returns A subscription object that can be used to remove the listener.
|
|
178
|
+
*/
|
|
179
|
+
addOnTextTrackDataChangedListener(
|
|
180
|
+
listener: (data: string[]) => void
|
|
181
|
+
): ListenerSubscription;
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Adds a listener for the `onTrackChange` event.
|
|
185
|
+
* @see {@link VideoPlayerEvents.onTrackChange}
|
|
186
|
+
* @param listener - The listener to add.
|
|
187
|
+
* @returns A subscription object that can be used to remove the listener.
|
|
188
|
+
*/
|
|
189
|
+
addOnTrackChangeListener(
|
|
190
|
+
listener: (track: TextTrack | null) => void
|
|
191
|
+
): ListenerSubscription;
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Adds a listener for the `onVolumeChange` event.
|
|
195
|
+
* @see {@link VideoPlayerEvents.onVolumeChange}
|
|
196
|
+
* @param listener - The listener to add.
|
|
197
|
+
* @returns A subscription object that can be used to remove the listener.
|
|
198
|
+
*/
|
|
199
|
+
addOnVolumeChangeListener(
|
|
200
|
+
listener: (data: onVolumeChangeData) => void
|
|
201
|
+
): ListenerSubscription;
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* Clears all listeners from the event emitter.
|
|
205
|
+
*/
|
|
206
|
+
clearAllListeners(): void;
|
|
207
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { HybridObject } from 'react-native-nitro-modules';
|
|
2
|
+
import type { NativeVideoConfig } from '../../core/types/VideoConfig';
|
|
3
|
+
import type { VideoPlayerSourceBase } from '../../core/types/VideoPlayerSourceBase';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* A source for a {@link VideoPlayer}.
|
|
7
|
+
* Source cannot be changed after it is created. If you need to update the source, you need to create a new one.
|
|
8
|
+
* It provides functions to get information about the asset.
|
|
9
|
+
*/
|
|
10
|
+
export interface VideoPlayerSource
|
|
11
|
+
extends HybridObject<{ ios: 'swift'; android: 'kotlin' }>,
|
|
12
|
+
VideoPlayerSourceBase {}
|
|
13
|
+
|
|
14
|
+
export interface VideoPlayerSourceFactory
|
|
15
|
+
extends HybridObject<{ ios: 'swift'; android: 'kotlin' }> {
|
|
16
|
+
fromUri(uri: string): VideoPlayerSource;
|
|
17
|
+
fromVideoConfig(config: NativeVideoConfig): VideoPlayerSource;
|
|
18
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import type { HybridObject } from 'react-native-nitro-modules';
|
|
2
|
+
import type { ResizeMode } from '../../core/types/ResizeMode';
|
|
3
|
+
import type { VideoPlayer } from './VideoPlayer.nitro';
|
|
4
|
+
import type { ListenerSubscription } from './VideoPlayerEventEmitter.nitro';
|
|
5
|
+
|
|
6
|
+
export type SurfaceType = 'surface' | 'texture';
|
|
7
|
+
|
|
8
|
+
// @internal
|
|
9
|
+
export interface VideoViewViewManager
|
|
10
|
+
extends HybridObject<{ ios: 'swift'; android: 'kotlin' }> {
|
|
11
|
+
player?: VideoPlayer;
|
|
12
|
+
controls: boolean;
|
|
13
|
+
pictureInPicture: boolean;
|
|
14
|
+
autoEnterPictureInPicture: boolean;
|
|
15
|
+
resizeMode: ResizeMode;
|
|
16
|
+
enterFullscreen(): void;
|
|
17
|
+
exitFullscreen(): void;
|
|
18
|
+
enterPictureInPicture(): void;
|
|
19
|
+
exitPictureInPicture(): void;
|
|
20
|
+
canEnterPictureInPicture(): boolean;
|
|
21
|
+
keepScreenAwake: boolean;
|
|
22
|
+
surfaceType: SurfaceType;
|
|
23
|
+
|
|
24
|
+
// Event listeners
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Adds a listener for the `onPictureInPictureChange` event.
|
|
28
|
+
* @see {@link VideoViewEvents.onPictureInPictureChange}
|
|
29
|
+
* @param listener - The listener to add.
|
|
30
|
+
* @returns A subscription object that can be used to remove the listener.
|
|
31
|
+
*/
|
|
32
|
+
addOnPictureInPictureChangeListener(
|
|
33
|
+
listener: (isInPictureInPicture: boolean) => void
|
|
34
|
+
): ListenerSubscription;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Adds a listener for the `onFullscreenChange` event.
|
|
38
|
+
* @see {@link VideoViewEvents.onFullscreenChange}
|
|
39
|
+
* @param listener - The listener to add.
|
|
40
|
+
* @returns A subscription object that can be used to remove the listener.
|
|
41
|
+
*/
|
|
42
|
+
addOnFullscreenChangeListener(
|
|
43
|
+
listener: (fullscreen: boolean) => void
|
|
44
|
+
): ListenerSubscription;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Adds a listener for the `willEnterFullscreen` event.
|
|
48
|
+
* @see {@link VideoViewEvents.willEnterFullscreen}
|
|
49
|
+
* @param listener - The listener to add.
|
|
50
|
+
* @returns A subscription object that can be used to remove the listener.
|
|
51
|
+
*/
|
|
52
|
+
addWillEnterFullscreenListener(listener: () => void): ListenerSubscription;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Adds a listener for the `willExitFullscreen` event.
|
|
56
|
+
* @see {@link VideoViewEvents.willExitFullscreen}
|
|
57
|
+
* @param listener - The listener to add.
|
|
58
|
+
* @returns A subscription object that can be used to remove the listener.
|
|
59
|
+
*/
|
|
60
|
+
addWillExitFullscreenListener(listener: () => void): ListenerSubscription;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Adds a listener for the `willEnterPictureInPicture` event.
|
|
64
|
+
* @see {@link VideoViewEvents.willEnterPictureInPicture}
|
|
65
|
+
* @param listener - The listener to add.
|
|
66
|
+
* @returns A subscription object that can be used to remove the listener.
|
|
67
|
+
*/
|
|
68
|
+
addWillEnterPictureInPictureListener(
|
|
69
|
+
listener: () => void
|
|
70
|
+
): ListenerSubscription;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Adds a listener for the `willExitPictureInPicture` event.
|
|
74
|
+
* @see {@link VideoViewEvents.willExitPictureInPicture}
|
|
75
|
+
* @param listener - The listener to add.
|
|
76
|
+
* @returns A subscription object that can be used to remove the listener.
|
|
77
|
+
*/
|
|
78
|
+
addWillExitPictureInPictureListener(
|
|
79
|
+
listener: () => void
|
|
80
|
+
): ListenerSubscription;
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Clears all listeners from the event emitter.
|
|
84
|
+
*/
|
|
85
|
+
clearAllListeners(): void;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// @internal
|
|
89
|
+
export interface VideoViewViewManagerFactory
|
|
90
|
+
extends HybridObject<{ ios: 'swift'; android: 'kotlin' }> {
|
|
91
|
+
createViewManager(nitroId: number): VideoViewViewManager;
|
|
92
|
+
}
|