bitmovin-player-react-native 0.44.1-alpha.0 → 1.0.0-alpha.0
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/.eslintignore +11 -0
- package/.eslintrc.js +7 -0
- package/.gitattributes +3 -0
- package/.prettierignore +11 -0
- package/.ruby-version +1 -0
- package/.swiftlint.yml +171 -0
- package/Brewfile +2 -0
- package/CHANGELOG.md +627 -0
- package/CONTRIBUTING.md +255 -0
- package/TODO.md +0 -0
- package/android/.editorconfig +8 -0
- package/android/build.gradle +78 -75
- package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +7 -0
- package/android/gradle.properties +1 -0
- package/android/gradlew +248 -0
- package/android/gradlew.bat +92 -0
- package/android/ktlint.gradle +31 -0
- package/android/src/main/java/com/bitmovin/player/reactnative/ActivityLifecycleListener.kt +51 -0
- package/android/src/main/java/com/bitmovin/player/reactnative/BitmovinCastManagerModule.kt +32 -55
- package/android/src/main/java/com/bitmovin/player/reactnative/BufferModule.kt +33 -45
- package/android/src/main/java/com/bitmovin/player/reactnative/CustomMessageHandlerModule.kt +84 -0
- package/android/src/main/java/com/bitmovin/player/reactnative/DebugModule.kt +6 -14
- package/android/src/main/java/com/bitmovin/player/reactnative/DecoderConfigModule.kt +89 -44
- package/android/src/main/java/com/bitmovin/player/reactnative/DrmModule.kt +80 -99
- package/android/src/main/java/com/bitmovin/player/reactnative/EventSubscription.kt +22 -0
- package/android/src/main/java/com/bitmovin/player/reactnative/FullscreenHandlerModule.kt +100 -0
- package/android/src/main/java/com/bitmovin/player/reactnative/MediaSessionPlaybackManager.kt +5 -5
- package/android/src/main/java/com/bitmovin/player/reactnative/NetworkModule.kt +98 -56
- package/android/src/main/java/com/bitmovin/player/reactnative/OfflineModule.kt +132 -186
- package/android/src/main/java/com/bitmovin/player/reactnative/PlayerAnalyticsModule.kt +37 -36
- package/android/src/main/java/com/bitmovin/player/reactnative/PlayerModule.kt +252 -528
- package/android/src/main/java/com/bitmovin/player/reactnative/RNPlayerPackage.kt +11 -0
- package/android/src/main/java/com/bitmovin/player/reactnative/RNPlayerView.kt +558 -213
- package/android/src/main/java/com/bitmovin/player/reactnative/RNPlayerViewManager.kt +99 -286
- package/android/src/main/java/com/bitmovin/player/reactnative/ResultWaiter.kt +58 -0
- package/android/src/main/java/com/bitmovin/player/reactnative/SourceModule.kt +77 -151
- package/android/src/main/java/com/bitmovin/player/reactnative/Types.kt +44 -0
- package/android/src/main/java/com/bitmovin/player/reactnative/UuidModule.kt +12 -15
- package/android/src/main/java/com/bitmovin/player/reactnative/converter/JsonConverter.kt +296 -456
- package/android/src/main/java/com/bitmovin/player/reactnative/extensions/ListExtension.kt +89 -0
- package/android/src/main/java/com/bitmovin/player/reactnative/extensions/MapExtension.kt +95 -0
- package/android/src/main/java/com/bitmovin/player/reactnative/offline/OfflineContentManagerBridge.kt +20 -52
- package/android/src/main/java/com/bitmovin/player/reactnative/ui/CustomMessageHandlerBridge.kt +10 -20
- package/android/src/main/java/com/bitmovin/player/reactnative/ui/FullscreenHandlerBridge.kt +4 -9
- package/app.plugin.js +21 -0
- package/build/BitmovinPlayerReactNative.types.d.ts +18 -0
- package/build/BitmovinPlayerReactNative.types.d.ts.map +1 -0
- package/build/BitmovinPlayerReactNative.types.js +2 -0
- package/build/BitmovinPlayerReactNative.types.js.map +1 -0
- package/build/adaptationConfig.d.ts +18 -0
- package/build/adaptationConfig.d.ts.map +1 -0
- package/build/adaptationConfig.js +2 -0
- package/build/adaptationConfig.js.map +1 -0
- package/build/advertising.d.ts +175 -0
- package/build/advertising.d.ts.map +1 -0
- package/build/advertising.js +37 -0
- package/build/advertising.js.map +1 -0
- package/build/analytics/config.d.ts +194 -0
- package/build/analytics/config.d.ts.map +1 -0
- package/build/analytics/config.js +2 -0
- package/build/analytics/config.js.map +1 -0
- package/build/analytics/index.d.ts +3 -0
- package/build/analytics/index.d.ts.map +1 -0
- package/build/analytics/index.js +3 -0
- package/build/analytics/index.js.map +1 -0
- package/build/analytics/player.d.ts +24 -0
- package/build/analytics/player.d.ts.map +1 -0
- package/build/analytics/player.js +30 -0
- package/build/analytics/player.js.map +1 -0
- package/build/analytics/playerAnalyticsModule.d.ts +13 -0
- package/build/analytics/playerAnalyticsModule.d.ts.map +1 -0
- package/build/analytics/playerAnalyticsModule.js +3 -0
- package/build/analytics/playerAnalyticsModule.js.map +1 -0
- package/build/audioSession.d.ts +33 -0
- package/build/audioSession.d.ts.map +1 -0
- package/build/audioSession.js +21 -0
- package/build/audioSession.js.map +1 -0
- package/build/audioTrack.d.ts +39 -0
- package/build/audioTrack.d.ts.map +1 -0
- package/build/audioTrack.js +2 -0
- package/build/audioTrack.js.map +1 -0
- package/build/bitmovinCastManager.d.ts +58 -0
- package/build/bitmovinCastManager.d.ts.map +1 -0
- package/build/bitmovinCastManager.js +64 -0
- package/build/bitmovinCastManager.js.map +1 -0
- package/build/bufferApi.d.ts +85 -0
- package/build/bufferApi.d.ts.map +1 -0
- package/build/bufferApi.js +60 -0
- package/build/bufferApi.js.map +1 -0
- package/build/bufferConfig.d.ts +42 -0
- package/build/bufferConfig.d.ts.map +1 -0
- package/build/bufferConfig.js +2 -0
- package/build/bufferConfig.js.map +1 -0
- package/build/components/PlayerView/events.d.ts +310 -0
- package/build/components/PlayerView/events.d.ts.map +1 -0
- package/build/components/PlayerView/events.js +2 -0
- package/build/components/PlayerView/events.js.map +1 -0
- package/build/components/PlayerView/index.d.ts +10 -0
- package/build/components/PlayerView/index.d.ts.map +1 -0
- package/build/components/PlayerView/index.js +72 -0
- package/build/components/PlayerView/index.js.map +1 -0
- package/build/components/PlayerView/native.d.ts +30 -0
- package/build/components/PlayerView/native.d.ts.map +1 -0
- package/build/components/PlayerView/native.js +6 -0
- package/build/components/PlayerView/native.js.map +1 -0
- package/build/components/PlayerView/nativeEvents.d.ts +437 -0
- package/build/components/PlayerView/nativeEvents.d.ts.map +1 -0
- package/build/components/PlayerView/nativeEvents.js +2 -0
- package/build/components/PlayerView/nativeEvents.js.map +1 -0
- package/build/components/PlayerView/pictureInPictureConfig.d.ts +22 -0
- package/build/components/PlayerView/pictureInPictureConfig.d.ts.map +1 -0
- package/build/components/PlayerView/pictureInPictureConfig.js +2 -0
- package/build/components/PlayerView/pictureInPictureConfig.js.map +1 -0
- package/build/components/PlayerView/playerViewConfig.d.ts +111 -0
- package/build/components/PlayerView/playerViewConfig.d.ts.map +1 -0
- package/build/components/PlayerView/playerViewConfig.js +51 -0
- package/build/components/PlayerView/playerViewConfig.js.map +1 -0
- package/build/components/PlayerView/properties.d.ts +61 -0
- package/build/components/PlayerView/properties.d.ts.map +1 -0
- package/build/components/PlayerView/properties.js +2 -0
- package/build/components/PlayerView/properties.js.map +1 -0
- package/build/components/index.d.ts +5 -0
- package/build/components/index.d.ts.map +1 -0
- package/build/components/index.js +5 -0
- package/build/components/index.js.map +1 -0
- package/build/debug.d.ts +46 -0
- package/build/debug.d.ts.map +1 -0
- package/build/debug.js +52 -0
- package/build/debug.js.map +1 -0
- package/build/decoder/decoderConfig.d.ts +96 -0
- package/build/decoder/decoderConfig.d.ts.map +1 -0
- package/build/decoder/decoderConfig.js +6 -0
- package/build/decoder/decoderConfig.js.map +1 -0
- package/build/decoder/decoderConfigModule.d.ts +14 -0
- package/build/decoder/decoderConfigModule.d.ts.map +1 -0
- package/build/decoder/decoderConfigModule.js +31 -0
- package/build/decoder/decoderConfigModule.js.map +1 -0
- package/build/decoder/index.d.ts +26 -0
- package/build/decoder/index.d.ts.map +1 -0
- package/build/decoder/index.js +50 -0
- package/build/decoder/index.js.map +1 -0
- package/build/drm/drmModule.d.ts +55 -0
- package/build/drm/drmModule.d.ts.map +1 -0
- package/build/drm/drmModule.js +3 -0
- package/build/drm/drmModule.js.map +1 -0
- package/build/drm/fairplayConfig.d.ts +91 -0
- package/build/drm/fairplayConfig.d.ts.map +1 -0
- package/build/drm/fairplayConfig.js +2 -0
- package/build/drm/fairplayConfig.js.map +1 -0
- package/build/drm/index.d.ts +112 -0
- package/build/drm/index.d.ts.map +1 -0
- package/build/drm/index.js +191 -0
- package/build/drm/index.js.map +1 -0
- package/build/drm/widevineConfig.d.ts +58 -0
- package/build/drm/widevineConfig.d.ts.map +1 -0
- package/build/drm/widevineConfig.js +2 -0
- package/build/drm/widevineConfig.js.map +1 -0
- package/build/events.d.ts +692 -0
- package/build/events.d.ts.map +1 -0
- package/build/events.js +2 -0
- package/build/events.js.map +1 -0
- package/build/hooks/index.d.ts +2 -0
- package/build/hooks/index.d.ts.map +1 -0
- package/build/hooks/index.js +2 -0
- package/build/hooks/index.js.map +1 -0
- package/build/hooks/usePlayer.d.ts +8 -0
- package/build/hooks/usePlayer.d.ts.map +1 -0
- package/build/hooks/usePlayer.js +10 -0
- package/build/hooks/usePlayer.js.map +1 -0
- package/build/hooks/useProxy.d.ts +18 -0
- package/build/hooks/useProxy.d.ts.map +1 -0
- package/build/hooks/useProxy.js +16 -0
- package/build/hooks/useProxy.js.map +1 -0
- package/build/index.d.ts +32 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +32 -0
- package/build/index.js.map +1 -0
- package/build/liveConfig.d.ts +13 -0
- package/build/liveConfig.d.ts.map +1 -0
- package/build/liveConfig.js +2 -0
- package/build/liveConfig.js.map +1 -0
- package/build/media.d.ts +85 -0
- package/build/media.d.ts.map +1 -0
- package/build/media.js +2 -0
- package/build/media.js.map +1 -0
- package/build/mediaControlConfig.d.ts +62 -0
- package/build/mediaControlConfig.d.ts.map +1 -0
- package/build/mediaControlConfig.js +2 -0
- package/build/mediaControlConfig.js.map +1 -0
- package/build/mediaTrackRole.d.ts +28 -0
- package/build/mediaTrackRole.d.ts.map +1 -0
- package/build/mediaTrackRole.js +2 -0
- package/build/mediaTrackRole.js.map +1 -0
- package/build/modules/AudioSessionModule.d.ts +8 -0
- package/build/modules/AudioSessionModule.d.ts.map +1 -0
- package/build/modules/AudioSessionModule.js +7 -0
- package/build/modules/AudioSessionModule.js.map +1 -0
- package/build/modules/BitmovinCastManagerModule.d.ts +11 -0
- package/build/modules/BitmovinCastManagerModule.d.ts.map +1 -0
- package/build/modules/BitmovinCastManagerModule.js +3 -0
- package/build/modules/BitmovinCastManagerModule.js.map +1 -0
- package/build/modules/BufferModule.d.ts +16 -0
- package/build/modules/BufferModule.d.ts.map +1 -0
- package/build/modules/BufferModule.js +3 -0
- package/build/modules/BufferModule.js.map +1 -0
- package/build/modules/DebugModule.d.ts +8 -0
- package/build/modules/DebugModule.d.ts.map +1 -0
- package/build/modules/DebugModule.js +3 -0
- package/build/modules/DebugModule.js.map +1 -0
- package/build/modules/PlayerModule.d.ts +188 -0
- package/build/modules/PlayerModule.d.ts.map +1 -0
- package/build/modules/PlayerModule.js +3 -0
- package/build/modules/PlayerModule.js.map +1 -0
- package/build/modules/SourceModule.d.ts +51 -0
- package/build/modules/SourceModule.d.ts.map +1 -0
- package/build/modules/SourceModule.js +3 -0
- package/build/modules/SourceModule.js.map +1 -0
- package/build/modules/UuidModule.d.ts +8 -0
- package/build/modules/UuidModule.d.ts.map +1 -0
- package/build/modules/UuidModule.js +3 -0
- package/build/modules/UuidModule.js.map +1 -0
- package/build/nativeInstance.d.ts +49 -0
- package/build/nativeInstance.d.ts.map +1 -0
- package/build/nativeInstance.js +20 -0
- package/build/nativeInstance.js.map +1 -0
- package/build/network/index.d.ts +50 -0
- package/build/network/index.d.ts.map +1 -0
- package/build/network/index.js +102 -0
- package/build/network/index.js.map +1 -0
- package/build/network/networkConfig.d.ts +151 -0
- package/build/network/networkConfig.d.ts.map +1 -0
- package/build/network/networkConfig.js +21 -0
- package/build/network/networkConfig.js.map +1 -0
- package/build/network/networkModule.d.ts +29 -0
- package/build/network/networkModule.d.ts.map +1 -0
- package/build/network/networkModule.js +3 -0
- package/build/network/networkModule.js.map +1 -0
- package/build/offline/index.d.ts +8 -0
- package/build/offline/index.d.ts.map +1 -0
- package/build/offline/index.js +8 -0
- package/build/offline/index.js.map +1 -0
- package/build/offline/offlineContentConfig.d.ts +18 -0
- package/build/offline/offlineContentConfig.d.ts.map +1 -0
- package/build/offline/offlineContentConfig.js +2 -0
- package/build/offline/offlineContentConfig.js.map +1 -0
- package/build/offline/offlineContentManager.d.ts +90 -0
- package/build/offline/offlineContentManager.d.ts.map +1 -0
- package/build/offline/offlineContentManager.js +177 -0
- package/build/offline/offlineContentManager.js.map +1 -0
- package/build/offline/offlineContentManagerListener.d.ts +174 -0
- package/build/offline/offlineContentManagerListener.d.ts.map +1 -0
- package/build/offline/offlineContentManagerListener.js +17 -0
- package/build/offline/offlineContentManagerListener.js.map +1 -0
- package/build/offline/offlineContentOptions.d.ts +29 -0
- package/build/offline/offlineContentOptions.d.ts.map +1 -0
- package/build/offline/offlineContentOptions.js +2 -0
- package/build/offline/offlineContentOptions.js.map +1 -0
- package/build/offline/offlineDownloadRequest.d.ts +19 -0
- package/build/offline/offlineDownloadRequest.d.ts.map +1 -0
- package/build/offline/offlineDownloadRequest.js +2 -0
- package/build/offline/offlineDownloadRequest.js.map +1 -0
- package/build/offline/offlineModule.d.ts +32 -0
- package/build/offline/offlineModule.d.ts.map +1 -0
- package/build/offline/offlineModule.js +3 -0
- package/build/offline/offlineModule.js.map +1 -0
- package/build/offline/offlineSourceOptions.d.ts +12 -0
- package/build/offline/offlineSourceOptions.d.ts.map +1 -0
- package/build/offline/offlineSourceOptions.js +2 -0
- package/build/offline/offlineSourceOptions.js.map +1 -0
- package/build/offline/offlineState.d.ts +23 -0
- package/build/offline/offlineState.d.ts.map +1 -0
- package/build/offline/offlineState.js +24 -0
- package/build/offline/offlineState.js.map +1 -0
- package/build/playbackConfig.d.ts +88 -0
- package/build/playbackConfig.d.ts.map +1 -0
- package/build/playbackConfig.js +2 -0
- package/build/playbackConfig.js.map +1 -0
- package/build/player.d.ts +308 -0
- package/build/player.d.ts.map +1 -0
- package/build/player.js +445 -0
- package/build/player.js.map +1 -0
- package/build/playerConfig.d.ts +83 -0
- package/build/playerConfig.d.ts.map +1 -0
- package/build/playerConfig.js +2 -0
- package/build/playerConfig.js.map +1 -0
- package/build/remoteControlConfig.d.ts +38 -0
- package/build/remoteControlConfig.d.ts.map +1 -0
- package/build/remoteControlConfig.js +2 -0
- package/build/remoteControlConfig.js.map +1 -0
- package/build/source.d.ts +216 -0
- package/build/source.d.ts.map +1 -0
- package/build/source.js +167 -0
- package/build/source.js.map +1 -0
- package/build/styleConfig.d.ts +120 -0
- package/build/styleConfig.d.ts.map +1 -0
- package/build/styleConfig.js +38 -0
- package/build/styleConfig.js.map +1 -0
- package/build/subtitleFormat.d.ts +27 -0
- package/build/subtitleFormat.d.ts.map +1 -0
- package/build/subtitleFormat.js +28 -0
- package/build/subtitleFormat.js.map +1 -0
- package/build/subtitleTrack.d.ts +55 -0
- package/build/subtitleTrack.d.ts.map +1 -0
- package/build/subtitleTrack.js +2 -0
- package/build/subtitleTrack.js.map +1 -0
- package/build/thumbnail.d.ts +38 -0
- package/build/thumbnail.d.ts.map +1 -0
- package/build/thumbnail.js +2 -0
- package/build/thumbnail.js.map +1 -0
- package/build/tweaksConfig.d.ts +197 -0
- package/build/tweaksConfig.d.ts.map +1 -0
- package/build/tweaksConfig.js +25 -0
- package/build/tweaksConfig.js.map +1 -0
- package/build/ui/customMessageHandlerModule.d.ts +27 -0
- package/build/ui/customMessageHandlerModule.d.ts.map +1 -0
- package/build/ui/customMessageHandlerModule.js +3 -0
- package/build/ui/customMessageHandlerModule.js.map +1 -0
- package/build/ui/custommessagehandler.d.ts +56 -0
- package/build/ui/custommessagehandler.d.ts.map +1 -0
- package/build/ui/custommessagehandler.js +54 -0
- package/build/ui/custommessagehandler.js.map +1 -0
- package/build/ui/custommessagehandlerbridge.d.ts +33 -0
- package/build/ui/custommessagehandlerbridge.d.ts.map +1 -0
- package/build/ui/custommessagehandlerbridge.js +72 -0
- package/build/ui/custommessagehandlerbridge.js.map +1 -0
- package/build/ui/custommessagesender.d.ts +5 -0
- package/build/ui/custommessagesender.d.ts.map +1 -0
- package/build/ui/custommessagesender.js +2 -0
- package/build/ui/custommessagesender.js.map +1 -0
- package/build/ui/fullscreenHandlerModule.d.ts +20 -0
- package/build/ui/fullscreenHandlerModule.d.ts.map +1 -0
- package/build/ui/fullscreenHandlerModule.js +3 -0
- package/build/ui/fullscreenHandlerModule.js.map +1 -0
- package/build/ui/fullscreenhandler.d.ts +18 -0
- package/build/ui/fullscreenhandler.d.ts.map +1 -0
- package/build/ui/fullscreenhandler.js +2 -0
- package/build/ui/fullscreenhandler.js.map +1 -0
- package/build/ui/fullscreenhandlerbridge.d.ts +26 -0
- package/build/ui/fullscreenhandlerbridge.d.ts.map +1 -0
- package/build/ui/fullscreenhandlerbridge.js +67 -0
- package/build/ui/fullscreenhandlerbridge.js.map +1 -0
- package/build/ui/index.d.ts +3 -0
- package/build/ui/index.d.ts.map +1 -0
- package/build/ui/index.js +3 -0
- package/build/ui/index.js.map +1 -0
- package/expo-module.config.json +40 -0
- package/ios/AppLifecycleDelegate.swift +25 -0
- package/ios/AudioSessionModule.swift +14 -40
- package/ios/BitmovinCastManagerModule.swift +30 -69
- package/ios/BufferModule.swift +26 -62
- package/ios/CustomMessageHandlerBridge.swift +11 -18
- package/ios/CustomMessageHandlerModule.swift +61 -63
- package/ios/DebugModule.swift +6 -27
- package/ios/DrmModule.swift +105 -379
- package/ios/Event+JSON.swift +1 -0
- package/ios/FullscreenHandlerBridge.swift +12 -5
- package/ios/FullscreenHandlerModule.swift +73 -57
- package/ios/LockedBox.swift +21 -0
- package/ios/ModuleRegistry+Generics.swift +11 -0
- package/ios/NetworkModule.swift +78 -82
- package/ios/OfflineContentManagerBridge.swift +11 -38
- package/ios/OfflineModule.swift +136 -454
- package/ios/PlayerAnalyticsModule.swift +24 -52
- package/ios/PlayerModule.swift +192 -770
- package/ios/RCTConvert+BitmovinPlayer.swift +38 -312
- package/ios/RNBitmovinPlayer.h +1 -8
- package/ios/RNBitmovinPlayer.podspec +47 -0
- package/ios/RNPlayerView.swift +600 -77
- package/ios/RNPlayerViewManager.swift +96 -210
- package/ios/Registry.swift +2 -2
- package/ios/ResultWaiter.swift +66 -0
- package/ios/SourceModule.swift +104 -223
- package/ios/UuidModule.swift +9 -18
- package/package.json +67 -71
- package/plugin/build/FeatureFlags.d.ts +24 -0
- package/plugin/build/FeatureFlags.js +2 -0
- package/plugin/build/index.d.ts +7 -0
- package/plugin/build/index.js +10 -0
- package/plugin/build/withAppGradleDependencies.d.ts +7 -0
- package/plugin/build/withAppGradleDependencies.js +49 -0
- package/plugin/build/withBitmovinAndroidConfig.d.ts +7 -0
- package/plugin/build/withBitmovinAndroidConfig.js +159 -0
- package/plugin/build/withBitmovinConfig.d.ts +7 -0
- package/plugin/build/withBitmovinConfig.js +21 -0
- package/plugin/build/withBitmovinIosConfig.d.ts +7 -0
- package/plugin/build/withBitmovinIosConfig.js +53 -0
- package/plugin/src/FeatureFlags.ts +21 -0
- package/plugin/src/index.ts +9 -0
- package/plugin/src/withAppGradleDependencies.ts +80 -0
- package/plugin/src/withBitmovinAndroidConfig.ts +224 -0
- package/plugin/src/withBitmovinConfig.ts +24 -0
- package/plugin/src/withBitmovinIosConfig.ts +71 -0
- package/plugin/tsconfig.json +9 -0
- package/plugin/tsconfig.tsbuildinfo +1 -0
- package/prettier.config.js +7 -0
- package/scripts/format-android.sh +2 -0
- package/scripts/format-swift.sh +3 -0
- package/scripts/lint-android.sh +2 -0
- package/scripts/lint-swift.sh +3 -0
- package/scripts/pre-commit.sh +14 -0
- package/scripts/setup-hooks.sh +58 -0
- package/src/BitmovinPlayerReactNative.types.ts +19 -0
- package/src/adaptationConfig.ts +1 -1
- package/src/advertising.ts +1 -1
- package/src/analytics/config.ts +4 -4
- package/src/analytics/player.ts +4 -6
- package/src/analytics/playerAnalyticsModule.ts +19 -0
- package/src/audioSession.ts +4 -6
- package/src/audioTrack.ts +1 -1
- package/src/bitmovinCastManager.ts +14 -10
- package/src/bufferApi.ts +1 -3
- package/src/bufferConfig.ts +2 -2
- package/src/components/PlayerView/events.ts +92 -94
- package/src/components/PlayerView/index.tsx +109 -159
- package/src/components/PlayerView/native.ts +24 -11
- package/src/components/PlayerView/nativeEvents.ts +113 -94
- package/src/components/PlayerView/pictureInPictureConfig.ts +1 -1
- package/src/components/PlayerView/playerViewConfig.ts +4 -8
- package/src/components/PlayerView/properties.ts +23 -22
- package/src/debug.ts +1 -3
- package/src/decoder/decoderConfig.ts +3 -3
- package/src/decoder/decoderConfigModule.ts +62 -0
- package/src/decoder/index.ts +32 -16
- package/src/drm/drmModule.ts +84 -0
- package/src/drm/fairplayConfig.ts +1 -1
- package/src/drm/index.ts +130 -40
- package/src/drm/widevineConfig.ts +5 -5
- package/src/events.ts +47 -41
- package/src/hooks/useProxy.ts +13 -20
- package/src/mediaControlConfig.ts +1 -1
- package/src/modules/AudioSessionModule.ts +13 -0
- package/src/modules/BitmovinCastManagerModule.ts +14 -0
- package/src/modules/BufferModule.ts +18 -0
- package/src/modules/DebugModule.ts +9 -0
- package/src/modules/PlayerModule.ts +251 -0
- package/src/modules/SourceModule.ts +74 -0
- package/src/modules/UuidModule.ts +9 -0
- package/src/nativeInstance.ts +3 -3
- package/src/network/index.ts +42 -15
- package/src/network/networkConfig.ts +3 -3
- package/src/network/networkModule.ts +51 -0
- package/src/offline/offlineContentConfig.ts +1 -1
- package/src/offline/offlineContentManager.ts +15 -50
- package/src/offline/offlineContentManagerListener.ts +20 -23
- package/src/offline/offlineContentOptions.ts +2 -2
- package/src/offline/offlineDownloadRequest.ts +1 -1
- package/src/offline/offlineModule.ts +46 -0
- package/src/offline/offlineSourceOptions.ts +2 -2
- package/src/offline/offlineState.ts +1 -1
- package/src/playbackConfig.ts +5 -6
- package/src/player.ts +53 -48
- package/src/source.ts +15 -14
- package/src/styleConfig.ts +5 -5
- package/src/subtitleFormat.ts +5 -5
- package/src/subtitleTrack.ts +1 -1
- package/src/tweaksConfig.ts +16 -16
- package/src/ui/customMessageHandlerModule.ts +46 -0
- package/src/ui/custommessagehandlerbridge.ts +45 -18
- package/src/ui/fullscreenHandlerModule.ts +35 -0
- package/src/ui/fullscreenhandlerbridge.ts +35 -15
- package/tsconfig.json +9 -0
- package/typedoc.json +23 -0
- package/RNBitmovinPlayer.podspec +0 -26
- package/android/src/main/java/com/bitmovin/player/reactnative/BitmovinBaseModule.kt +0 -114
- package/android/src/main/java/com/bitmovin/player/reactnative/EventRelay.kt +0 -47
- package/android/src/main/java/com/bitmovin/player/reactnative/RNPlayerViewPackage.kt +0 -48
- package/android/src/main/java/com/bitmovin/player/reactnative/extensions/ReactContextExtension.kt +0 -24
- package/android/src/main/java/com/bitmovin/player/reactnative/extensions/ReadableArray.kt +0 -20
- package/android/src/main/java/com/bitmovin/player/reactnative/extensions/ReadableMap.kt +0 -15
- package/android/src/main/java/com/bitmovin/player/reactnative/extensions/ReadableMapExtension.kt +0 -57
- package/android/src/main/java/com/bitmovin/player/reactnative/extensions/WritableMap.kt +0 -27
- package/android/src/main/java/com/bitmovin/player/reactnative/ui/CustomMessageHandlerModule.kt +0 -86
- package/android/src/main/java/com/bitmovin/player/reactnative/ui/FullscreenHandlerModule.kt +0 -78
- package/ios/AudioSessionModule.m +0 -10
- package/ios/BitmovinCastManagerModule.m +0 -14
- package/ios/BufferModule.m +0 -8
- package/ios/CustomMessageHandlerModule.m +0 -10
- package/ios/DebugModule.m +0 -7
- package/ios/DrmModule.m +0 -16
- package/ios/FullscreenHandlerModule.m +0 -10
- package/ios/NetworkModule.m +0 -10
- package/ios/OfflineModule.m +0 -19
- package/ios/PlayerAnalyticsModule.m +0 -8
- package/ios/PlayerModule.m +0 -130
- package/ios/PreprocessHttpRequestDelegateBridge.swift +0 -30
- package/ios/RCTBridge+Generics.swift +0 -6
- package/ios/RNBitmovinPlayer.xcodeproj/project.pbxproj +0 -303
- package/ios/RNPlayerView+PlayerListener.swift +0 -229
- package/ios/RNPlayerView+UserInterfaceListener.swift +0 -35
- package/ios/RNPlayerViewManager.m +0 -79
- package/ios/SourceModule.m +0 -42
- package/ios/UuidModule.m +0 -9
- package/lib/index.d.mts +0 -4303
- package/lib/index.d.ts +0 -4303
- package/lib/index.js +0 -1895
- package/lib/index.mjs +0 -1836
package/ios/BufferModule.swift
CHANGED
|
@@ -1,78 +1,42 @@
|
|
|
1
1
|
import BitmovinPlayer
|
|
2
|
+
import ExpoModulesCore
|
|
2
3
|
|
|
3
|
-
|
|
4
|
-
public
|
|
5
|
-
|
|
6
|
-
@objc public var bridge: RCTBridge!
|
|
4
|
+
public class BufferModule: Module {
|
|
5
|
+
public func definition() -> ModuleDefinition {
|
|
6
|
+
Name("BufferModule")
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
8
|
+
OnCreate {
|
|
9
|
+
// Module initialization
|
|
10
|
+
}
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
AsyncFunction("getLevel") { (playerId: String, type: String) -> [String: Any]? in
|
|
13
|
+
guard let playerModule = appContext?.moduleRegistry.get(PlayerModule.self),
|
|
14
|
+
let player = playerModule.retrieve(playerId) else {
|
|
15
|
+
return nil
|
|
16
|
+
}
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
18
|
+
guard let bufferType = RCTConvert.bufferType(type) else {
|
|
19
|
+
return nil
|
|
20
|
+
}
|
|
22
21
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
let level = player.buffer.getLevel(bufferType)
|
|
23
|
+
let bufferLevels = RNBufferLevels(audio: level, video: level)
|
|
24
|
+
return RCTConvert.toJson(bufferLevels: bufferLevels)
|
|
25
|
+
}.runOnQueue(.main)
|
|
27
26
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
- Parameter type: The type of buffer to return the level for.
|
|
32
|
-
- Parameter resolver: JS promise resolver.
|
|
33
|
-
- Parameter rejecter: JS promise rejecter.
|
|
34
|
-
*/
|
|
35
|
-
@objc(getLevel:type:resolver:rejecter:)
|
|
36
|
-
func getLevel(
|
|
37
|
-
_ playerId: NativeId,
|
|
38
|
-
type: String,
|
|
39
|
-
resolver resolve: @escaping RCTPromiseResolveBlock,
|
|
40
|
-
rejecter reject: @escaping RCTPromiseRejectBlock
|
|
41
|
-
) {
|
|
42
|
-
bridge.uiManager.addUIBlock { [weak self] _, _ in
|
|
43
|
-
guard let bufferApi = self?.playerModule?.retrieve(playerId)?.buffer else {
|
|
44
|
-
reject("[BufferModule]", "Could not find player with ID (\(playerId))", nil)
|
|
27
|
+
AsyncFunction("setTargetLevel") { (playerId: String, type: String, value: Double) in
|
|
28
|
+
guard let playerModule = appContext?.moduleRegistry.get(PlayerModule.self),
|
|
29
|
+
let player = playerModule.retrieve(playerId) else {
|
|
45
30
|
return
|
|
46
31
|
}
|
|
47
|
-
guard let bufferType = RCTConvert.bufferType(type) else {
|
|
48
|
-
reject("[BufferModule]", "Invalid buffer type: (\(type))", nil)
|
|
49
|
-
return
|
|
50
|
-
}
|
|
51
|
-
let level = bufferApi.getLevel(bufferType)
|
|
52
|
-
let bufferLevels = RNBufferLevels(audio: level, video: level)
|
|
53
|
-
resolve(RCTConvert.toJson(bufferLevels: bufferLevels))
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
32
|
|
|
57
|
-
/**
|
|
58
|
-
* Sets the target level in seconds for the forward buffer.
|
|
59
|
-
- Parameter nativeId: Target player id.
|
|
60
|
-
- Parameter type: The type of the buffer to set the target level for.
|
|
61
|
-
- Parameter value: The value to set.
|
|
62
|
-
*/
|
|
63
|
-
@objc(setTargetLevel:type:value:)
|
|
64
|
-
func setTargetLevel(_ playerId: NativeId, type: String, value: NSNumber) {
|
|
65
|
-
let targetLevel = value.doubleValue
|
|
66
|
-
bridge.uiManager.addUIBlock { [weak self] _, _ in
|
|
67
33
|
let bufferType = RCTConvert.bufferType(type)
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
let bufferApi = self?.playerModule?.retrieve(playerId)?.buffer
|
|
71
|
-
else {
|
|
34
|
+
|
|
35
|
+
guard bufferType == .forwardDuration else {
|
|
72
36
|
return
|
|
73
37
|
}
|
|
74
38
|
|
|
75
|
-
|
|
76
|
-
}
|
|
39
|
+
player.buffer.setTargetLevel(value)
|
|
40
|
+
}.runOnQueue(.main)
|
|
77
41
|
}
|
|
78
42
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import BitmovinPlayer
|
|
2
|
+
import ExpoModulesCore
|
|
2
3
|
|
|
3
4
|
internal class CustomMessageHandlerBridge: NSObject {
|
|
4
5
|
#if os(iOS)
|
|
@@ -10,18 +11,15 @@ internal class CustomMessageHandlerBridge: NSObject {
|
|
|
10
11
|
#endif
|
|
11
12
|
|
|
12
13
|
private let nativeId: NativeId
|
|
13
|
-
private
|
|
14
|
+
private weak var delegate: CustomMessageHandlerBridgeDelegate?
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
init(_ nativeId: NativeId, bridge: RCTBridge) {
|
|
16
|
+
init(_ nativeId: NativeId, delegate: CustomMessageHandlerBridgeDelegate?) {
|
|
18
17
|
self.nativeId = nativeId
|
|
19
|
-
self.
|
|
20
|
-
super.init()
|
|
18
|
+
self.delegate = delegate
|
|
21
19
|
}
|
|
22
20
|
|
|
23
21
|
func receivedSynchronousMessage(_ message: String, withData data: String?) -> String? {
|
|
24
|
-
|
|
22
|
+
delegate?.receivedSynchronousMessage(
|
|
25
23
|
nativeId: nativeId,
|
|
26
24
|
message: message,
|
|
27
25
|
withData: data
|
|
@@ -29,7 +27,7 @@ internal class CustomMessageHandlerBridge: NSObject {
|
|
|
29
27
|
}
|
|
30
28
|
|
|
31
29
|
func receivedAsynchronousMessage(_ message: String, withData data: String?) {
|
|
32
|
-
|
|
30
|
+
delegate?.receivedAsynchronousMessage(
|
|
33
31
|
nativeId: nativeId,
|
|
34
32
|
message: message,
|
|
35
33
|
withData: data
|
|
@@ -41,18 +39,13 @@ internal class CustomMessageHandlerBridge: NSObject {
|
|
|
41
39
|
customMessageHandler.sendMessage(message, withData: data)
|
|
42
40
|
#endif
|
|
43
41
|
}
|
|
44
|
-
|
|
45
|
-
func pushSynchronousResult(_ result: String?) {
|
|
46
|
-
currentSynchronousResult = result
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
func popSynchronousResult() -> String? {
|
|
50
|
-
let result = currentSynchronousResult
|
|
51
|
-
currentSynchronousResult = nil
|
|
52
|
-
return result
|
|
53
|
-
}
|
|
54
42
|
}
|
|
55
43
|
|
|
56
44
|
#if os(iOS)
|
|
57
45
|
extension CustomMessageHandlerBridge: CustomMessageHandlerDelegate {}
|
|
58
46
|
#endif
|
|
47
|
+
|
|
48
|
+
internal protocol CustomMessageHandlerBridgeDelegate: AnyObject {
|
|
49
|
+
func receivedSynchronousMessage(nativeId: NativeId, message: String, withData data: String?) -> String?
|
|
50
|
+
func receivedAsynchronousMessage(nativeId: NativeId, message: String, withData data: String?)
|
|
51
|
+
}
|
|
@@ -1,80 +1,77 @@
|
|
|
1
1
|
import BitmovinPlayer
|
|
2
|
+
import ExpoModulesCore
|
|
2
3
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Expo module for CustomMessageHandler management with bidirectional communication.
|
|
6
|
+
* Handles synchronous and asynchronous message handling between native code and JavaScript.
|
|
7
|
+
*/
|
|
8
|
+
public class CustomMessageHandlerModule: Module {
|
|
9
|
+
/// In-memory mapping from `nativeId`s to `CustomMessageHandlerBridge` instances.
|
|
10
|
+
private var customMessageHandlers: Registry<CustomMessageHandlerBridge> = [:]
|
|
7
11
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"CustomMessageHandlerModule"
|
|
11
|
-
}
|
|
12
|
+
/// ResultWaiter used for blocking thread while waiting for synchronous message results
|
|
13
|
+
private let waiter = ResultWaiter<String?>()
|
|
12
14
|
|
|
13
|
-
public
|
|
14
|
-
|
|
15
|
-
}
|
|
15
|
+
public func definition() -> ModuleDefinition {
|
|
16
|
+
Name("CustomMessageHandlerModule")
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
OnDestroy {
|
|
19
|
+
customMessageHandlers.removeAll()
|
|
20
|
+
waiter.removeAll()
|
|
21
|
+
}
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
private var customMessageHandlers: Registry<CustomMessageHandlerBridge> = [:]
|
|
23
|
+
Events("onReceivedSynchronousMessage", "onReceivedAsynchronousMessage")
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
AsyncFunction("registerHandler") { [weak self] (nativeId: NativeId) in
|
|
26
|
+
guard self?.customMessageHandlers[nativeId] == nil else {
|
|
27
|
+
return
|
|
28
|
+
}
|
|
29
|
+
self?.customMessageHandlers[nativeId] = CustomMessageHandlerBridge(nativeId, delegate: self)
|
|
30
|
+
}.runOnQueue(.main)
|
|
27
31
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
- Returns: The associated `CustomMessageHandlerBridge` instance or `nil`.
|
|
32
|
-
*/
|
|
33
|
-
@objc
|
|
34
|
-
func retrieve(_ nativeId: NativeId) -> CustomMessageHandlerBridge? {
|
|
35
|
-
customMessageHandlers[nativeId]
|
|
36
|
-
}
|
|
32
|
+
AsyncFunction("destroy") { [weak self] (nativeId: NativeId) in
|
|
33
|
+
self?.customMessageHandlers.removeValue(forKey: nativeId)
|
|
34
|
+
}.runOnQueue(.main)
|
|
37
35
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
*/
|
|
42
|
-
@objc(destroy:)
|
|
43
|
-
func destroy(_ nativeId: NativeId) {
|
|
44
|
-
customMessageHandlers.removeValue(forKey: nativeId)
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
@objc(registerHandler:)
|
|
48
|
-
func registerHandler(_ nativeId: NativeId) {
|
|
49
|
-
guard customMessageHandlers[nativeId] == nil else { return }
|
|
50
|
-
customMessageHandlers[nativeId] = CustomMessageHandlerBridge(nativeId, bridge: bridge)
|
|
51
|
-
}
|
|
36
|
+
AsyncFunction("onReceivedSynchronousMessageResult") { [weak self] (id: Int, result: String?) in
|
|
37
|
+
self?.waiter.complete(id: id, with: result)
|
|
38
|
+
}
|
|
52
39
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
customMessageHandlerDispatchGroup.leave()
|
|
57
|
-
return nil
|
|
40
|
+
AsyncFunction("sendMessage") { [weak self] (nativeId: NativeId, message: String, data: String?) in
|
|
41
|
+
self?.customMessageHandlers[nativeId]?.sendMessage(message, withData: data)
|
|
42
|
+
}.runOnQueue(.main)
|
|
58
43
|
}
|
|
59
44
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
customMessageHandlers[nativeId]?.sendMessage(message, withData: data)
|
|
45
|
+
func retrieve(_ nativeId: NativeId) -> CustomMessageHandlerBridge? {
|
|
46
|
+
customMessageHandlers[nativeId]
|
|
63
47
|
}
|
|
48
|
+
}
|
|
64
49
|
|
|
50
|
+
extension CustomMessageHandlerModule: CustomMessageHandlerBridgeDelegate {
|
|
51
|
+
/**
|
|
52
|
+
* Handles synchronous message received from native code.
|
|
53
|
+
* Called by CustomMessageHandlerBridge when a synchronous message is received.
|
|
54
|
+
*/
|
|
65
55
|
func receivedSynchronousMessage(
|
|
66
56
|
nativeId: NativeId,
|
|
67
57
|
message: String,
|
|
68
58
|
withData data: String?
|
|
69
59
|
) -> String? {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
60
|
+
guard customMessageHandlers[nativeId] != nil else {
|
|
61
|
+
return nil
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
let (id, wait) = waiter.make(timeout: 0.25)
|
|
65
|
+
|
|
66
|
+
// Send event to JavaScript
|
|
67
|
+
sendEvent("onReceivedSynchronousMessage", [
|
|
68
|
+
"nativeId": nativeId,
|
|
69
|
+
"id": id,
|
|
70
|
+
"message": message,
|
|
71
|
+
"data": data
|
|
72
|
+
])
|
|
73
|
+
|
|
74
|
+
return wait() ?? ""
|
|
78
75
|
}
|
|
79
76
|
|
|
80
77
|
func receivedAsynchronousMessage(
|
|
@@ -82,10 +79,11 @@ public class CustomMessageHandlerModule: NSObject, RCTBridgeModule {
|
|
|
82
79
|
message: String,
|
|
83
80
|
withData data: String?
|
|
84
81
|
) {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
82
|
+
// Send event to JavaScript
|
|
83
|
+
sendEvent("onReceivedAsynchronousMessage", [
|
|
84
|
+
"nativeId": nativeId,
|
|
85
|
+
"message": message,
|
|
86
|
+
"data": data
|
|
87
|
+
])
|
|
90
88
|
}
|
|
91
89
|
}
|
package/ios/DebugModule.swift
CHANGED
|
@@ -1,33 +1,12 @@
|
|
|
1
1
|
import BitmovinPlayer
|
|
2
|
+
import ExpoModulesCore
|
|
2
3
|
|
|
3
|
-
|
|
4
|
-
public
|
|
5
|
-
|
|
6
|
-
@objc public var bridge: RCTBridge!
|
|
4
|
+
public class DebugModule: Module {
|
|
5
|
+
public func definition() -> ModuleDefinition {
|
|
6
|
+
Name("DebugModule")
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
public static func moduleName() -> String! {
|
|
10
|
-
"DebugModule"
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
/// Module requires main thread initialization.
|
|
14
|
-
public static func requiresMainQueueSetup() -> Bool {
|
|
15
|
-
true
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
// swiftlint:disable:next implicitly_unwrapped_optional
|
|
19
|
-
public var methodQueue: DispatchQueue! {
|
|
20
|
-
bridge.uiManager.methodQueue
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
extension DebugModule {
|
|
25
|
-
/// Enable/disable verbose logging for the console logger.
|
|
26
|
-
/// - Parameter enabled: Whether to set verbose logging as enabled or disabled.
|
|
27
|
-
@objc(setDebugLoggingEnabled:)
|
|
28
|
-
func setDebugLoggingEnabled(enabled: Bool) {
|
|
29
|
-
bridge.uiManager.addUIBlock { [weak self] _, _ in
|
|
8
|
+
AsyncFunction("setDebugLoggingEnabled") { (enabled: Bool) in
|
|
30
9
|
DebugConfig.logging.logger?.level = enabled ? .verbose : .warning
|
|
31
|
-
}
|
|
10
|
+
}.runOnQueue(.main)
|
|
32
11
|
}
|
|
33
12
|
}
|