react-native-theoplayer 9.4.0 → 9.6.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/CHANGELOG.md +18 -0
- package/README.md +3 -2
- package/android/build.gradle +125 -155
- package/android/src/main/java/com/theoplayer/PlayerConfigAdapter.kt +5 -0
- package/android/src/main/java/com/theoplayer/presentation/PresentationManager.kt +1 -4
- package/ios/THEOplayerRCTTrackMetadataAggregator.swift +4 -0
- package/lib/commonjs/api/abr/ABRConfiguration.js +5 -0
- package/lib/commonjs/api/abr/ABRConfiguration.js.map +1 -1
- package/lib/commonjs/api/ads/Omid.js +15 -0
- package/lib/commonjs/api/ads/Omid.js.map +1 -1
- package/lib/commonjs/api/cache/CachingTask.js +2 -0
- package/lib/commonjs/api/cache/CachingTask.js.map +1 -1
- package/lib/commonjs/api/cache/CachingTaskParameters.js +3 -0
- package/lib/commonjs/api/cache/CachingTaskParameters.js.map +1 -1
- package/lib/commonjs/api/cache/MediaCacheAPI.js +2 -0
- package/lib/commonjs/api/cache/MediaCacheAPI.js.map +1 -1
- package/lib/commonjs/api/cache/events/CacheEvent.js +19 -2
- package/lib/commonjs/api/cache/events/CacheEvent.js.map +1 -1
- package/lib/commonjs/api/cache/events/CachingTaskEvent.js +23 -0
- package/lib/commonjs/api/cache/events/CachingTaskEvent.js.map +1 -1
- package/lib/commonjs/api/cache/hooks/useCachingTaskList.js +6 -0
- package/lib/commonjs/api/cache/hooks/useCachingTaskList.js.map +1 -1
- package/lib/commonjs/api/cache/hooks/useCachingTaskProgress.js +6 -0
- package/lib/commonjs/api/cache/hooks/useCachingTaskProgress.js.map +1 -1
- package/lib/commonjs/api/cache/hooks/useCachingTaskStatus.js +6 -0
- package/lib/commonjs/api/cache/hooks/useCachingTaskStatus.js.map +1 -1
- package/lib/commonjs/api/cast/CastState.js +1 -0
- package/lib/commonjs/api/cast/CastState.js.map +1 -1
- package/lib/commonjs/api/event/AdEvent.js +14 -0
- package/lib/commonjs/api/event/AdEvent.js.map +1 -1
- package/lib/commonjs/api/event/CastEvent.js +35 -0
- package/lib/commonjs/api/event/CastEvent.js.map +1 -1
- package/lib/commonjs/api/event/PlayerEvent.js +106 -0
- package/lib/commonjs/api/event/PlayerEvent.js.map +1 -1
- package/lib/commonjs/api/event/TheoAdsEvent.js +14 -0
- package/lib/commonjs/api/event/TheoAdsEvent.js.map +1 -1
- package/lib/commonjs/api/event/TrackEvent.js +56 -0
- package/lib/commonjs/api/event/TrackEvent.js.map +1 -1
- package/lib/commonjs/api/player/PlayerEventMap.js +10 -0
- package/lib/commonjs/api/player/PlayerEventMap.js.map +1 -1
- package/lib/commonjs/api/player/THEOplayer.js +5 -0
- package/lib/commonjs/api/player/THEOplayer.js.map +1 -1
- package/lib/commonjs/api/presentation/PresentationMode.js.map +1 -1
- package/lib/commonjs/api/source/SourceDescription.js +17 -0
- package/lib/commonjs/api/source/SourceDescription.js.map +1 -1
- package/lib/commonjs/api/source/ads/Ads.js +8 -0
- package/lib/commonjs/api/source/ads/Ads.js.map +1 -1
- package/lib/commonjs/api/source/ads/TheoAdDescription.js +1 -0
- package/lib/commonjs/api/source/ads/TheoAdDescription.js.map +1 -1
- package/lib/commonjs/api/source/cmcd/CmcdConfiguration.js +9 -0
- package/lib/commonjs/api/source/cmcd/CmcdConfiguration.js.map +1 -1
- package/lib/commonjs/api/track/DateRangeCue.js +4 -0
- package/lib/commonjs/api/track/DateRangeCue.js.map +1 -1
- package/lib/commonjs/api/track/MediaTrack.js +28 -0
- package/lib/commonjs/api/track/MediaTrack.js.map +1 -1
- package/lib/commonjs/api/track/TextTrack.js +82 -0
- package/lib/commonjs/api/track/TextTrack.js.map +1 -1
- package/lib/commonjs/api/track/TextTrackStyle.js +2 -0
- package/lib/commonjs/api/track/TextTrackStyle.js.map +1 -1
- package/lib/commonjs/api/track/Track.js +28 -0
- package/lib/commonjs/api/track/Track.js.map +1 -1
- package/lib/commonjs/internal/adapter/DefaultNativePlayerState.js +1 -0
- package/lib/commonjs/internal/adapter/DefaultNativePlayerState.js.map +1 -1
- package/lib/commonjs/internal/adapter/THEOplayerAdapter.js +4 -0
- package/lib/commonjs/internal/adapter/THEOplayerAdapter.js.map +1 -1
- package/lib/commonjs/internal/adapter/THEOplayerWebAdapter.js +3 -0
- package/lib/commonjs/internal/adapter/THEOplayerWebAdapter.js.map +1 -1
- package/lib/commonjs/internal/cache/MediaCache.js +7 -0
- package/lib/commonjs/internal/cache/MediaCache.js.map +1 -1
- package/lib/commonjs/internal/drm/ContentProtectionRegistry.js +7 -0
- package/lib/commonjs/internal/drm/ContentProtectionRegistry.js.map +1 -1
- package/lib/commonjs/manifest.json +1 -1
- package/lib/commonjs/plugins/expo/Common.js +2 -0
- package/lib/commonjs/plugins/expo/Common.js.map +1 -0
- package/lib/commonjs/plugins/expo/withCustomPod.js +32 -0
- package/lib/commonjs/plugins/expo/withCustomPod.js.map +1 -0
- package/lib/commonjs/plugins/expo/withTHEOplayer.js +6 -4
- package/lib/commonjs/plugins/expo/withTHEOplayer.js.map +1 -1
- package/lib/commonjs/plugins/expo/withTHEOplayerAndroid.js +6 -5
- package/lib/commonjs/plugins/expo/withTHEOplayerAndroid.js.map +1 -1
- package/lib/commonjs/plugins/expo/withTHEOplayerIOS.js +47 -0
- package/lib/commonjs/plugins/expo/withTHEOplayerIOS.js.map +1 -0
- package/lib/module/api/abr/ABRConfiguration.js +5 -0
- package/lib/module/api/abr/ABRConfiguration.js.map +1 -1
- package/lib/module/api/ads/Omid.js +16 -0
- package/lib/module/api/ads/Omid.js.map +1 -1
- package/lib/module/api/cache/CachingTask.js +2 -0
- package/lib/module/api/cache/CachingTask.js.map +1 -1
- package/lib/module/api/cache/CachingTaskParameters.js +3 -0
- package/lib/module/api/cache/CachingTaskParameters.js.map +1 -1
- package/lib/module/api/cache/MediaCacheAPI.js +2 -0
- package/lib/module/api/cache/MediaCacheAPI.js.map +1 -1
- package/lib/module/api/cache/events/CacheEvent.js +20 -2
- package/lib/module/api/cache/events/CacheEvent.js.map +1 -1
- package/lib/module/api/cache/events/CachingTaskEvent.js +25 -0
- package/lib/module/api/cache/events/CachingTaskEvent.js.map +1 -1
- package/lib/module/api/cache/hooks/useCachingTaskList.js +7 -0
- package/lib/module/api/cache/hooks/useCachingTaskList.js.map +1 -1
- package/lib/module/api/cache/hooks/useCachingTaskProgress.js +7 -0
- package/lib/module/api/cache/hooks/useCachingTaskProgress.js.map +1 -1
- package/lib/module/api/cache/hooks/useCachingTaskStatus.js +7 -0
- package/lib/module/api/cache/hooks/useCachingTaskStatus.js.map +1 -1
- package/lib/module/api/cast/CastState.js +1 -0
- package/lib/module/api/cast/CastState.js.map +1 -1
- package/lib/module/api/event/AdEvent.js +15 -0
- package/lib/module/api/event/AdEvent.js.map +1 -1
- package/lib/module/api/event/CastEvent.js +39 -0
- package/lib/module/api/event/CastEvent.js.map +1 -1
- package/lib/module/api/event/PlayerEvent.js +120 -0
- package/lib/module/api/event/PlayerEvent.js.map +1 -1
- package/lib/module/api/event/TheoAdsEvent.js +15 -0
- package/lib/module/api/event/TheoAdsEvent.js.map +1 -1
- package/lib/module/api/event/TrackEvent.js +63 -0
- package/lib/module/api/event/TrackEvent.js.map +1 -1
- package/lib/module/api/player/PlayerEventMap.js +10 -0
- package/lib/module/api/player/PlayerEventMap.js.map +1 -1
- package/lib/module/api/player/THEOplayer.js +5 -0
- package/lib/module/api/player/THEOplayer.js.map +1 -1
- package/lib/module/api/presentation/PresentationMode.js +0 -1
- package/lib/module/api/presentation/PresentationMode.js.map +1 -1
- package/lib/module/api/source/SourceDescription.js +18 -0
- package/lib/module/api/source/SourceDescription.js.map +1 -1
- package/lib/module/api/source/ads/Ads.js +8 -0
- package/lib/module/api/source/ads/Ads.js.map +1 -1
- package/lib/module/api/source/ads/TheoAdDescription.js +1 -0
- package/lib/module/api/source/ads/TheoAdDescription.js.map +1 -1
- package/lib/module/api/source/cmcd/CmcdConfiguration.js +9 -0
- package/lib/module/api/source/cmcd/CmcdConfiguration.js.map +1 -1
- package/lib/module/api/track/DateRangeCue.js +4 -0
- package/lib/module/api/track/DateRangeCue.js.map +1 -1
- package/lib/module/api/track/MediaTrack.js +28 -0
- package/lib/module/api/track/MediaTrack.js.map +1 -1
- package/lib/module/api/track/TextTrack.js +86 -0
- package/lib/module/api/track/TextTrack.js.map +1 -1
- package/lib/module/api/track/TextTrackStyle.js +2 -0
- package/lib/module/api/track/TextTrackStyle.js.map +1 -1
- package/lib/module/api/track/Track.js +28 -0
- package/lib/module/api/track/Track.js.map +1 -1
- package/lib/module/internal/adapter/DefaultNativePlayerState.js +1 -0
- package/lib/module/internal/adapter/DefaultNativePlayerState.js.map +1 -1
- package/lib/module/internal/adapter/THEOplayerAdapter.js +4 -0
- package/lib/module/internal/adapter/THEOplayerAdapter.js.map +1 -1
- package/lib/module/internal/adapter/THEOplayerWebAdapter.js +3 -0
- package/lib/module/internal/adapter/THEOplayerWebAdapter.js.map +1 -1
- package/lib/module/internal/cache/MediaCache.js +7 -0
- package/lib/module/internal/cache/MediaCache.js.map +1 -1
- package/lib/module/internal/drm/ContentProtectionRegistry.js +7 -0
- package/lib/module/internal/drm/ContentProtectionRegistry.js.map +1 -1
- package/lib/module/manifest.json +1 -1
- package/lib/module/plugins/expo/Common.js +2 -0
- package/lib/module/plugins/expo/Common.js.map +1 -0
- package/lib/module/plugins/expo/withCustomPod.js +27 -0
- package/lib/module/plugins/expo/withCustomPod.js.map +1 -0
- package/lib/module/plugins/expo/withTHEOplayer.js +7 -5
- package/lib/module/plugins/expo/withTHEOplayer.js.map +1 -1
- package/lib/module/plugins/expo/withTHEOplayerAndroid.js +4 -3
- package/lib/module/plugins/expo/withTHEOplayerAndroid.js.map +1 -1
- package/lib/module/plugins/expo/withTHEOplayerIOS.js +42 -0
- package/lib/module/plugins/expo/withTHEOplayerIOS.js.map +1 -0
- package/lib/typescript/api/abr/ABRConfiguration.d.ts +5 -0
- package/lib/typescript/api/abr/ABRConfiguration.d.ts.map +1 -1
- package/lib/typescript/api/ads/Ad.d.ts +9 -2
- package/lib/typescript/api/ads/Ad.d.ts.map +1 -1
- package/lib/typescript/api/ads/AdBreak.d.ts +7 -0
- package/lib/typescript/api/ads/AdBreak.d.ts.map +1 -1
- package/lib/typescript/api/ads/AdsAPI.d.ts +6 -3
- package/lib/typescript/api/ads/AdsAPI.d.ts.map +1 -1
- package/lib/typescript/api/ads/AdsConfiguration.d.ts +9 -0
- package/lib/typescript/api/ads/AdsConfiguration.d.ts.map +1 -1
- package/lib/typescript/api/ads/CompanionAd.d.ts +1 -0
- package/lib/typescript/api/ads/CompanionAd.d.ts.map +1 -1
- package/lib/typescript/api/ads/GoogleDai.d.ts +1 -0
- package/lib/typescript/api/ads/GoogleDai.d.ts.map +1 -1
- package/lib/typescript/api/ads/GoogleImaAd.d.ts +1 -0
- package/lib/typescript/api/ads/GoogleImaAd.d.ts.map +1 -1
- package/lib/typescript/api/ads/GoogleImaConfiguration.d.ts +9 -0
- package/lib/typescript/api/ads/GoogleImaConfiguration.d.ts.map +1 -1
- package/lib/typescript/api/ads/Omid.d.ts +15 -0
- package/lib/typescript/api/ads/Omid.d.ts.map +1 -1
- package/lib/typescript/api/broadcast/EventBroadcastAPI.d.ts +1 -0
- package/lib/typescript/api/broadcast/EventBroadcastAPI.d.ts.map +1 -1
- package/lib/typescript/api/cache/CachingPreferredTrackSelection.d.ts +1 -0
- package/lib/typescript/api/cache/CachingPreferredTrackSelection.d.ts.map +1 -1
- package/lib/typescript/api/cache/CachingTask.d.ts +2 -0
- package/lib/typescript/api/cache/CachingTask.d.ts.map +1 -1
- package/lib/typescript/api/cache/CachingTaskLicense.d.ts +7 -0
- package/lib/typescript/api/cache/CachingTaskLicense.d.ts.map +1 -1
- package/lib/typescript/api/cache/CachingTaskList.d.ts +7 -0
- package/lib/typescript/api/cache/CachingTaskList.d.ts.map +1 -1
- package/lib/typescript/api/cache/CachingTaskParameters.d.ts +3 -0
- package/lib/typescript/api/cache/CachingTaskParameters.d.ts.map +1 -1
- package/lib/typescript/api/cache/MediaCacheAPI.d.ts +2 -0
- package/lib/typescript/api/cache/MediaCacheAPI.d.ts.map +1 -1
- package/lib/typescript/api/cache/events/CacheEvent.d.ts +19 -2
- package/lib/typescript/api/cache/events/CacheEvent.d.ts.map +1 -1
- package/lib/typescript/api/cache/events/CachingTaskEvent.d.ts +23 -0
- package/lib/typescript/api/cache/events/CachingTaskEvent.d.ts.map +1 -1
- package/lib/typescript/api/cache/hooks/useCachingTaskList.d.ts +6 -0
- package/lib/typescript/api/cache/hooks/useCachingTaskList.d.ts.map +1 -1
- package/lib/typescript/api/cache/hooks/useCachingTaskProgress.d.ts +6 -0
- package/lib/typescript/api/cache/hooks/useCachingTaskProgress.d.ts.map +1 -1
- package/lib/typescript/api/cache/hooks/useCachingTaskStatus.d.ts +6 -0
- package/lib/typescript/api/cache/hooks/useCachingTaskStatus.d.ts.map +1 -1
- package/lib/typescript/api/cast/Airplay.d.ts +2 -1
- package/lib/typescript/api/cast/Airplay.d.ts.map +1 -1
- package/lib/typescript/api/cast/CastAPI.d.ts +3 -0
- package/lib/typescript/api/cast/CastAPI.d.ts.map +1 -1
- package/lib/typescript/api/cast/CastConfiguration.d.ts +3 -0
- package/lib/typescript/api/cast/CastConfiguration.d.ts.map +1 -1
- package/lib/typescript/api/cast/CastState.d.ts +1 -0
- package/lib/typescript/api/cast/CastState.d.ts.map +1 -1
- package/lib/typescript/api/cast/Chromecast.d.ts +7 -0
- package/lib/typescript/api/cast/Chromecast.d.ts.map +1 -1
- package/lib/typescript/api/config/PlayerConfiguration.d.ts +6 -0
- package/lib/typescript/api/config/PlayerConfiguration.d.ts.map +1 -1
- package/lib/typescript/api/drm/ContentProtectionAPI.d.ts +9 -0
- package/lib/typescript/api/drm/ContentProtectionAPI.d.ts.map +1 -1
- package/lib/typescript/api/drm/ContentProtectionIntegration.d.ts +2 -1
- package/lib/typescript/api/drm/ContentProtectionIntegration.d.ts.map +1 -1
- package/lib/typescript/api/drm/ContentProtectionIntegrationFactory.d.ts +1 -0
- package/lib/typescript/api/drm/ContentProtectionIntegrationFactory.d.ts.map +1 -1
- package/lib/typescript/api/drm/ContentProtectionRequest.d.ts +5 -0
- package/lib/typescript/api/drm/ContentProtectionRequest.d.ts.map +1 -1
- package/lib/typescript/api/drm/ContentProtectionResponse.d.ts +6 -0
- package/lib/typescript/api/drm/ContentProtectionResponse.d.ts.map +1 -1
- package/lib/typescript/api/error/ChromecastError.d.ts +4 -0
- package/lib/typescript/api/error/ChromecastError.d.ts.map +1 -1
- package/lib/typescript/api/error/PlayerError.d.ts +7 -0
- package/lib/typescript/api/error/PlayerError.d.ts.map +1 -1
- package/lib/typescript/api/event/AdEvent.d.ts +14 -0
- package/lib/typescript/api/event/AdEvent.d.ts.map +1 -1
- package/lib/typescript/api/event/CastEvent.d.ts +35 -0
- package/lib/typescript/api/event/CastEvent.d.ts.map +1 -1
- package/lib/typescript/api/event/Event.d.ts +2 -1
- package/lib/typescript/api/event/Event.d.ts.map +1 -1
- package/lib/typescript/api/event/EventDispatcher.d.ts +3 -1
- package/lib/typescript/api/event/EventDispatcher.d.ts.map +1 -1
- package/lib/typescript/api/event/EventListener.d.ts +1 -0
- package/lib/typescript/api/event/EventListener.d.ts.map +1 -1
- package/lib/typescript/api/event/PlayerEvent.d.ts +106 -0
- package/lib/typescript/api/event/PlayerEvent.d.ts.map +1 -1
- package/lib/typescript/api/event/TheoAdsEvent.d.ts +14 -0
- package/lib/typescript/api/event/TheoAdsEvent.d.ts.map +1 -1
- package/lib/typescript/api/event/TrackEvent.d.ts +56 -0
- package/lib/typescript/api/event/TrackEvent.d.ts.map +1 -1
- package/lib/typescript/api/player/PlayerEventMap.d.ts +10 -0
- package/lib/typescript/api/player/PlayerEventMap.d.ts.map +1 -1
- package/lib/typescript/api/player/PlayerVersion.d.ts +6 -0
- package/lib/typescript/api/player/PlayerVersion.d.ts.map +1 -1
- package/lib/typescript/api/player/THEOplayer.d.ts +9 -0
- package/lib/typescript/api/player/THEOplayer.d.ts.map +1 -1
- package/lib/typescript/api/presentation/PresentationMode.d.ts.map +1 -1
- package/lib/typescript/api/source/SourceDescription.d.ts +17 -0
- package/lib/typescript/api/source/SourceDescription.d.ts.map +1 -1
- package/lib/typescript/api/source/ads/Ads.d.ts +8 -0
- package/lib/typescript/api/source/ads/Ads.d.ts.map +1 -1
- package/lib/typescript/api/source/ads/IMAAdDescription.d.ts +1 -0
- package/lib/typescript/api/source/ads/IMAAdDescription.d.ts.map +1 -1
- package/lib/typescript/api/source/ads/THEOplayerAdDescription.d.ts +1 -0
- package/lib/typescript/api/source/ads/THEOplayerAdDescription.d.ts.map +1 -1
- package/lib/typescript/api/source/ads/TheoAdDescription.d.ts +1 -0
- package/lib/typescript/api/source/ads/TheoAdDescription.d.ts.map +1 -1
- package/lib/typescript/api/source/ads/ssai/GoogleDAIConfiguration.d.ts +18 -0
- package/lib/typescript/api/source/ads/ssai/GoogleDAIConfiguration.d.ts.map +1 -1
- package/lib/typescript/api/source/ads/ssai/ServerSideAdInsertionConfiguration.d.ts +11 -0
- package/lib/typescript/api/source/ads/ssai/ServerSideAdInsertionConfiguration.d.ts.map +1 -1
- package/lib/typescript/api/source/analytics/AnalyticsDescription.d.ts +2 -0
- package/lib/typescript/api/source/analytics/AnalyticsDescription.d.ts.map +1 -1
- package/lib/typescript/api/source/cmcd/CmcdConfiguration.d.ts +9 -0
- package/lib/typescript/api/source/cmcd/CmcdConfiguration.d.ts.map +1 -1
- package/lib/typescript/api/source/dash/DashPlaybackConfiguration.d.ts +2 -0
- package/lib/typescript/api/source/dash/DashPlaybackConfiguration.d.ts.map +1 -1
- package/lib/typescript/api/source/drm/DRMConfiguration.d.ts +20 -0
- package/lib/typescript/api/source/drm/DRMConfiguration.d.ts.map +1 -1
- package/lib/typescript/api/source/hls/HlsPlaybackConfiguration.d.ts +2 -0
- package/lib/typescript/api/source/hls/HlsPlaybackConfiguration.d.ts.map +1 -1
- package/lib/typescript/api/source/metadata/MetadataDescription.d.ts +1 -0
- package/lib/typescript/api/source/metadata/MetadataDescription.d.ts.map +1 -1
- package/lib/typescript/api/theoads/TheoAdsAPI.d.ts +1 -0
- package/lib/typescript/api/theoads/TheoAdsAPI.d.ts.map +1 -1
- package/lib/typescript/api/theoads/interstitial/AdBreakInterstitial.d.ts +5 -0
- package/lib/typescript/api/theoads/interstitial/AdBreakInterstitial.d.ts.map +1 -1
- package/lib/typescript/api/theoads/interstitial/Interstitial.d.ts +2 -0
- package/lib/typescript/api/theoads/interstitial/Interstitial.d.ts.map +1 -1
- package/lib/typescript/api/theoads/interstitial/OverlayInterstitial.d.ts +3 -0
- package/lib/typescript/api/theoads/interstitial/OverlayInterstitial.d.ts.map +1 -1
- package/lib/typescript/api/track/DateRangeCue.d.ts +4 -0
- package/lib/typescript/api/track/DateRangeCue.d.ts.map +1 -1
- package/lib/typescript/api/track/MediaTrack.d.ts +31 -0
- package/lib/typescript/api/track/MediaTrack.d.ts.map +1 -1
- package/lib/typescript/api/track/Quality.d.ts +3 -0
- package/lib/typescript/api/track/Quality.d.ts.map +1 -1
- package/lib/typescript/api/track/TextTrack.d.ts +85 -0
- package/lib/typescript/api/track/TextTrack.d.ts.map +1 -1
- package/lib/typescript/api/track/TextTrackCue.d.ts +1 -0
- package/lib/typescript/api/track/TextTrackCue.d.ts.map +1 -1
- package/lib/typescript/api/track/TextTrackStyle.d.ts +2 -0
- package/lib/typescript/api/track/TextTrackStyle.d.ts.map +1 -1
- package/lib/typescript/api/track/Track.d.ts +25 -0
- package/lib/typescript/api/track/Track.d.ts.map +1 -1
- package/lib/typescript/api/ui/UIConfiguration.d.ts +1 -0
- package/lib/typescript/api/ui/UIConfiguration.d.ts.map +1 -1
- package/lib/typescript/internal/adapter/DefaultNativePlayerState.d.ts +1 -0
- package/lib/typescript/internal/adapter/DefaultNativePlayerState.d.ts.map +1 -1
- package/lib/typescript/internal/adapter/THEOplayerAdapter.d.ts +1 -0
- package/lib/typescript/internal/adapter/THEOplayerAdapter.d.ts.map +1 -1
- package/lib/typescript/internal/adapter/THEOplayerWebAdapter.d.ts +1 -0
- package/lib/typescript/internal/adapter/THEOplayerWebAdapter.d.ts.map +1 -1
- package/lib/typescript/internal/cache/MediaCache.d.ts +6 -0
- package/lib/typescript/internal/cache/MediaCache.d.ts.map +1 -1
- package/lib/typescript/internal/drm/ContentProtectionRegistry.d.ts +6 -0
- package/lib/typescript/internal/drm/ContentProtectionRegistry.d.ts.map +1 -1
- package/lib/typescript/plugins/expo/Common.d.ts +13 -0
- package/lib/typescript/plugins/expo/Common.d.ts.map +1 -0
- package/lib/typescript/plugins/expo/withCustomPod.d.ts +2 -0
- package/lib/typescript/plugins/expo/withCustomPod.d.ts.map +1 -0
- package/lib/typescript/plugins/expo/withTHEOplayer.d.ts +2 -2
- package/lib/typescript/plugins/expo/withTHEOplayer.d.ts.map +1 -1
- package/lib/typescript/plugins/expo/withTHEOplayerAndroid.d.ts +2 -6
- package/lib/typescript/plugins/expo/withTHEOplayerAndroid.d.ts.map +1 -1
- package/lib/typescript/plugins/expo/withTHEOplayerIOS.d.ts +4 -0
- package/lib/typescript/plugins/expo/withTHEOplayerIOS.d.ts.map +1 -0
- package/package.json +1 -1
- package/react-native-theoplayer.podspec +25 -15
- package/src/api/abr/ABRConfiguration.ts +5 -0
- package/src/api/ads/Ad.ts +10 -3
- package/src/api/ads/AdBreak.ts +7 -0
- package/src/api/ads/AdsAPI.ts +6 -3
- package/src/api/ads/AdsConfiguration.ts +9 -0
- package/src/api/ads/CompanionAd.ts +1 -0
- package/src/api/ads/GoogleDai.ts +1 -0
- package/src/api/ads/GoogleImaAd.ts +1 -0
- package/src/api/ads/GoogleImaConfiguration.ts +11 -0
- package/src/api/ads/Omid.ts +15 -0
- package/src/api/broadcast/EventBroadcastAPI.ts +1 -0
- package/src/api/cache/CachingPreferredTrackSelection.ts +1 -0
- package/src/api/cache/CachingTask.ts +3 -0
- package/src/api/cache/CachingTaskLicense.ts +7 -0
- package/src/api/cache/CachingTaskList.ts +7 -0
- package/src/api/cache/CachingTaskParameters.ts +3 -0
- package/src/api/cache/MediaCacheAPI.ts +2 -0
- package/src/api/cache/events/CacheEvent.ts +19 -2
- package/src/api/cache/events/CachingTaskEvent.ts +23 -0
- package/src/api/cache/hooks/useCachingTaskList.ts +6 -0
- package/src/api/cache/hooks/useCachingTaskProgress.ts +6 -0
- package/src/api/cache/hooks/useCachingTaskStatus.ts +6 -0
- package/src/api/cast/Airplay.ts +3 -2
- package/src/api/cast/CastAPI.ts +3 -1
- package/src/api/cast/CastConfiguration.ts +3 -0
- package/src/api/cast/CastState.ts +1 -0
- package/src/api/cast/Chromecast.ts +7 -0
- package/src/api/config/PlayerConfiguration.ts +6 -0
- package/src/api/drm/ContentProtectionAPI.ts +10 -0
- package/src/api/drm/ContentProtectionIntegration.ts +2 -1
- package/src/api/drm/ContentProtectionIntegrationFactory.ts +1 -0
- package/src/api/drm/ContentProtectionRequest.ts +5 -0
- package/src/api/drm/ContentProtectionResponse.ts +6 -0
- package/src/api/error/ChromecastError.ts +4 -0
- package/src/api/error/PlayerError.ts +7 -0
- package/src/api/event/AdEvent.ts +14 -0
- package/src/api/event/CastEvent.ts +35 -0
- package/src/api/event/Event.ts +2 -1
- package/src/api/event/EventDispatcher.ts +3 -1
- package/src/api/event/EventListener.ts +1 -0
- package/src/api/event/PlayerEvent.ts +106 -0
- package/src/api/event/TheoAdsEvent.ts +14 -0
- package/src/api/event/TrackEvent.ts +56 -0
- package/src/api/player/PlayerEventMap.ts +10 -0
- package/src/api/player/PlayerVersion.ts +6 -0
- package/src/api/player/THEOplayer.ts +10 -0
- package/src/api/presentation/PresentationMode.ts +0 -1
- package/src/api/source/SourceDescription.ts +17 -0
- package/src/api/source/ads/Ads.ts +8 -0
- package/src/api/source/ads/IMAAdDescription.ts +1 -0
- package/src/api/source/ads/THEOplayerAdDescription.ts +1 -0
- package/src/api/source/ads/TheoAdDescription.ts +1 -0
- package/src/api/source/ads/ssai/GoogleDAIConfiguration.ts +18 -0
- package/src/api/source/ads/ssai/ServerSideAdInsertionConfiguration.ts +12 -0
- package/src/api/source/analytics/AnalyticsDescription.ts +2 -0
- package/src/api/source/cmcd/CmcdConfiguration.ts +9 -0
- package/src/api/source/dash/DashPlaybackConfiguration.ts +2 -0
- package/src/api/source/drm/DRMConfiguration.ts +20 -0
- package/src/api/source/hls/HlsPlaybackConfiguration.ts +2 -0
- package/src/api/source/metadata/MetadataDescription.ts +1 -0
- package/src/api/theoads/TheoAdsAPI.ts +1 -0
- package/src/api/theoads/interstitial/AdBreakInterstitial.ts +5 -0
- package/src/api/theoads/interstitial/Interstitial.ts +2 -0
- package/src/api/theoads/interstitial/OverlayInterstitial.ts +3 -0
- package/src/api/track/DateRangeCue.ts +4 -0
- package/src/api/track/MediaTrack.ts +32 -0
- package/src/api/track/Quality.ts +3 -0
- package/src/api/track/TextTrack.ts +86 -1
- package/src/api/track/TextTrackCue.ts +1 -0
- package/src/api/track/TextTrackStyle.ts +2 -0
- package/src/api/track/Track.ts +25 -0
- package/src/api/ui/UIConfiguration.ts +1 -0
- package/src/internal/adapter/DefaultNativePlayerState.ts +1 -0
- package/src/internal/adapter/THEOplayerAdapter.ts +5 -0
- package/src/internal/adapter/THEOplayerWebAdapter.ts +4 -0
- package/src/internal/cache/MediaCache.ts +6 -0
- package/src/internal/drm/ContentProtectionRegistry.ts +6 -0
- package/src/manifest.json +1 -1
- package/src/plugins/expo/Common.ts +20 -0
- package/src/plugins/expo/withCustomPod.ts +28 -0
- package/src/plugins/expo/withTHEOplayer.ts +7 -5
- package/src/plugins/expo/withTHEOplayerAndroid.ts +4 -9
- package/src/plugins/expo/withTHEOplayerIOS.ts +44 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,24 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.1.0/)
|
|
6
6
|
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [9.6.0] - 25-06-27
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- Added, for HLS on iOS, the `unlocalizedLabel` to the text-, audio- and videoTracks API, which contains the unmodified label as extracted from the manifest.
|
|
13
|
+
- Added a flag `focusSkipButtonWhenAvailable` to `GoogleImaConfiguration`.
|
|
14
|
+
|
|
15
|
+
## [9.5.0] - 25-06-20
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- Added Expo plugin support for iOS. More info on the [documentation](./doc/expo.md) page.
|
|
20
|
+
- Added `currentProgramDateTime` to player API.
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
|
|
24
|
+
- Fixed an issue where a delayed `PresentationModeChange` event on Android could cause lay-out issues when going in to fullscreen mode.
|
|
25
|
+
|
|
8
26
|
## [9.4.0] - 25-06-12
|
|
9
27
|
|
|
10
28
|
### Fixed
|
package/README.md
CHANGED
|
@@ -174,15 +174,16 @@ This section gives an overview of features, limitations and known issues:
|
|
|
174
174
|
|
|
175
175
|
- [Adaptive Bitrate (ABR)](./doc/abr.md)
|
|
176
176
|
- [Advertisements](./doc/ads.md)
|
|
177
|
-
- [Android Media3 Pipeline
|
|
177
|
+
- [Android Media3 Pipeline](./doc/media3.md)
|
|
178
178
|
- [Audio Control Management](./doc/audio-control.md)
|
|
179
179
|
- [Background playback and notifications](./doc/background.md)
|
|
180
180
|
- [Casting with Chromecast and Airplay](./doc/cast.md)
|
|
181
181
|
- [Common Media Client Data (CMCD)](./doc/cmcd.md)
|
|
182
182
|
- [Digital Rights Management (DRM)](./doc/drm.md)
|
|
183
|
+
- [Expo🔥](./doc/expo.md)
|
|
183
184
|
- [Fullscreen presentation](./doc/fullscreen.md)
|
|
184
185
|
- [Media Caching](./doc/media-caching.md)
|
|
185
|
-
- [Migrating to THEOplayer 9.x
|
|
186
|
+
- [Migrating to THEOplayer 9.x](./doc/migrating-to-react-native-theoplayer-9.md)
|
|
186
187
|
- [Millicast](./doc/millicast.md)
|
|
187
188
|
- [Picture-in-Picture (PiP)](./doc/pip.md)
|
|
188
189
|
- [Subtitles, Closed Captions and Metadata tracks](./doc/texttracks.md)
|
package/android/build.gradle
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
buildscript {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
ext.safeExtGet = { prop, fallback ->
|
|
3
|
+
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
|
|
4
|
+
}
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
repositories {
|
|
7
|
+
google()
|
|
8
|
+
mavenCentral()
|
|
9
|
+
}
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
dependencies {
|
|
12
|
+
classpath "com.android.tools.build:gradle:${safeExtGet('gradlePluginVersion', '8.3.2')}"
|
|
13
|
+
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${safeExtGet('kotlinVersion', '1.9.21')}"
|
|
14
|
+
}
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
apply plugin: 'com.android.library'
|
|
18
18
|
apply plugin: 'kotlin-android'
|
|
19
19
|
|
|
20
20
|
def safeExtGet(prop, fallback) {
|
|
21
|
-
|
|
21
|
+
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
static def versionString(version) {
|
|
25
|
-
|
|
25
|
+
return "${version == '+' ? 'latest' : version}"
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
def isNewArchitectureEnabled() {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
// To opt-in for the New Architecture, you can either:
|
|
30
|
+
// - Set `newArchEnabled` to true inside the `gradle.properties` file
|
|
31
|
+
// - Invoke gradle with `-newArchEnabled=true`
|
|
32
|
+
// - Set an environment variable `ORG_GRADLE_PROJECT_newArchEnabled=true`
|
|
33
|
+
return project.hasProperty("newArchEnabled") && project.newArchEnabled == "true"
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
// Extensions
|
|
@@ -43,155 +43,125 @@ def enabledMediaSession = safeExtGet("THEOplayer_extensionMediaSession", 'true')
|
|
|
43
43
|
def enabledMillicast = safeExtGet("THEOplayer_extensionMillicast", 'false').toBoolean()
|
|
44
44
|
|
|
45
45
|
android {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
46
|
+
compileSdk safeExtGet('THEOplayer_compileSdkVersion', 34)
|
|
47
|
+
namespace "com.theoplayer"
|
|
48
|
+
|
|
49
|
+
defaultConfig {
|
|
50
|
+
minSdkVersion safeExtGet('THEOplayer_minSdkVersion', 21)
|
|
51
|
+
targetSdkVersion safeExtGet('THEOplayer_targetSdkVersion', 34)
|
|
52
|
+
versionCode 1
|
|
53
|
+
versionName "1.0"
|
|
54
|
+
|
|
55
|
+
// Optionally limit timeUpdate rate. Possible values:
|
|
56
|
+
// - "com.theoplayer.TimeUpdateRate.UNLIMITED"
|
|
57
|
+
// - "com.theoplayer.TimeUpdateRate.LIMITED_ONE_HZ"
|
|
58
|
+
// - "com.theoplayer.TimeUpdateRate.LIMITED_TWO_HZ"
|
|
59
|
+
// - "com.theoplayer.TimeUpdateRate.LIMITED_THREE_HZ"
|
|
60
|
+
def TimeUpdateRate = "com.theoplayer.TimeUpdateRate"
|
|
61
|
+
buildConfigField TimeUpdateRate, "TIMEUPDATE_RATE", safeExtGet('THEOplayer_timeUpdateRate', "${TimeUpdateRate}.UNLIMITED")
|
|
62
|
+
|
|
63
|
+
// Optionally re-parent player view on fullscreen or PiP event
|
|
64
|
+
buildConfigField "boolean", "REPARENT_ON_FULLSCREEN", "${safeExtGet('THEOplayer_reparent_on_fullscreen', 'true')}"
|
|
65
|
+
buildConfigField "boolean", "REPARENT_ON_PIP", "${safeExtGet('THEOplayer_reparent_on_PiP', 'false')}"
|
|
66
|
+
|
|
67
|
+
// Optionally log events to logcat
|
|
68
|
+
buildConfigField "boolean", "LOG_PLAYER_EVENTS", "${safeExtGet('THEOplayer_logPlayerEvents', 'false')}"
|
|
69
|
+
buildConfigField "boolean", "LOG_VIEW_EVENTS", "${safeExtGet('THEOplayer_logViewEvents', 'false')}"
|
|
70
|
+
buildConfigField "boolean", "LOG_MEDIASESSION_EVENTS", "${safeExtGet('THEOplayer_logMediaSessionEvents', 'false')}"
|
|
71
|
+
buildConfigField "boolean", "USE_PLAYBACK_SERVICE", "${safeExtGet('THEOplayer_usePlaybackService', 'true')}"
|
|
72
|
+
|
|
73
|
+
// Extension buildConfig fields
|
|
74
|
+
buildConfigField "boolean", "EXTENSION_GOOGLE_IMA", "${enabledGoogleIMA}"
|
|
75
|
+
buildConfigField "boolean", "EXTENSION_GOOGLE_DAI", "${enabledGoogleDAI}"
|
|
76
|
+
buildConfigField "boolean", "EXTENSION_THEOADS", "${enabledTHEOads}"
|
|
77
|
+
buildConfigField "boolean", "EXTENSION_ADS", "${enabledAds}"
|
|
78
|
+
buildConfigField "boolean", "EXTENSION_CAST", "${enabledCast}"
|
|
79
|
+
buildConfigField "boolean", "EXTENSION_MEDIASESSION", "${enabledMediaSession}"
|
|
80
|
+
buildConfigField "boolean", "EXTENSION_MILLICAST", "${enabledMillicast}"
|
|
81
|
+
|
|
82
|
+
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
|
|
83
|
+
|
|
84
|
+
consumerProguardFiles 'proguard-rules.pro'
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
buildTypes {
|
|
88
|
+
debug {
|
|
89
|
+
minifyEnabled false
|
|
90
|
+
}
|
|
91
|
+
release {
|
|
92
|
+
minifyEnabled false
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
lint {
|
|
96
|
+
disable 'GradleCompatible'
|
|
90
97
|
}
|
|
91
|
-
|
|
92
|
-
|
|
98
|
+
compileOptions {
|
|
99
|
+
sourceCompatibility JavaVersion.VERSION_1_8
|
|
100
|
+
targetCompatibility JavaVersion.VERSION_1_8
|
|
101
|
+
}
|
|
102
|
+
packagingOptions {
|
|
103
|
+
exclude 'META-INF/kotlin-stdlib.kotlin_module'
|
|
104
|
+
exclude 'META-INF/annotation-experimental_release.kotlin_module'
|
|
93
105
|
}
|
|
94
|
-
}
|
|
95
|
-
lint {
|
|
96
|
-
disable 'GradleCompatible'
|
|
97
|
-
}
|
|
98
|
-
compileOptions {
|
|
99
|
-
sourceCompatibility JavaVersion.VERSION_1_8
|
|
100
|
-
targetCompatibility JavaVersion.VERSION_1_8
|
|
101
|
-
}
|
|
102
|
-
packagingOptions {
|
|
103
|
-
exclude 'META-INF/kotlin-stdlib.kotlin_module'
|
|
104
|
-
exclude 'META-INF/annotation-experimental_release.kotlin_module'
|
|
105
|
-
}
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
+
// Make sure all subprojects can resolve THEOplayer modules
|
|
108
109
|
rootProject.allprojects {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
110
|
+
repositories {
|
|
111
|
+
maven { url "https://maven.theoplayer.com/releases" }
|
|
112
|
+
maven { url "https://maven.theoplayer.com/snapshots" }
|
|
113
|
+
maven { url("$rootDir/../node_modules/react-native-theoplayer/android/local") }
|
|
114
|
+
mavenLocal()
|
|
115
|
+
}
|
|
115
116
|
}
|
|
116
117
|
|
|
117
118
|
repositories {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
|
|
121
|
-
url("$rootDir/../node_modules/react-native/android")
|
|
122
|
-
}
|
|
123
|
-
google()
|
|
124
|
-
mavenCentral()
|
|
125
|
-
maven { url("local") }
|
|
126
|
-
maven { url "https://maven.theoplayer.com/releases" }
|
|
119
|
+
google()
|
|
120
|
+
mavenCentral()
|
|
127
121
|
}
|
|
128
122
|
|
|
129
123
|
// The minimum supported THEOplayer version is 9.5.0
|
|
130
|
-
def
|
|
131
|
-
def
|
|
132
|
-
def
|
|
124
|
+
def theoVersion = safeExtGet('THEOplayer_sdk', '[9.5.0, 10.0.0)')
|
|
125
|
+
def theoMediaSessionVersion = safeExtGet('THEOplayer_mediasession', '[8.0.0, 10.0.0)')
|
|
126
|
+
def theoAdsWrapperVersion = "9.0.0"
|
|
127
|
+
def coroutinesVersion = safeExtGet('coroutinesVersion', '1.7.3')
|
|
128
|
+
def appcompatVersion = safeExtGet('appcompatVersion', '1.7.1')
|
|
129
|
+
def corektxVersion = safeExtGet('corektxVersion', '1.13.1')
|
|
130
|
+
def gsonVersion = "2.12.1"
|
|
131
|
+
def millicastVersion = safeExtGet('millicastVersion', '2.0.0')
|
|
133
132
|
|
|
134
133
|
dependencies {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
} else {
|
|
151
|
-
println('Disable THEOplayer IMA extension.')
|
|
152
|
-
compileOnly "com.theoplayer.theoplayer-sdk-android:integration-ads-ima:$theoplayer_sdk_version"
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
if (enabledGoogleDAI) {
|
|
156
|
-
println('Enable THEOplayer DAI extension.')
|
|
157
|
-
implementation "com.theoplayer.theoplayer-sdk-android:integration-ads-dai:$theoplayer_sdk_version"
|
|
158
|
-
} else {
|
|
159
|
-
println('Disable THEOplayer DAI extension.')
|
|
160
|
-
compileOnly "com.theoplayer.theoplayer-sdk-android:integration-ads-dai:$theoplayer_sdk_version"
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
if (enabledTHEOads) {
|
|
164
|
-
println('Enable THEOplayer THEOads extension.')
|
|
165
|
-
implementation "com.theoplayer.theoplayer-sdk-android:integration-ads-theoads:$theoplayer_sdk_version"
|
|
166
|
-
} else {
|
|
167
|
-
println('Disable THEOplayer THEOads extension.')
|
|
168
|
-
compileOnly "com.theoplayer.theoplayer-sdk-android:integration-ads-theoads:$theoplayer_sdk_version"
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
if (enabledCast) {
|
|
172
|
-
println('Enable THEOplayer cast extension.')
|
|
173
|
-
implementation "com.theoplayer.theoplayer-sdk-android:integration-cast:$theoplayer_sdk_version"
|
|
174
|
-
} else {
|
|
175
|
-
println('Disable THEOplayer cast extension.')
|
|
176
|
-
compileOnly "com.theoplayer.theoplayer-sdk-android:integration-cast:$theoplayer_sdk_version"
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
if (enabledMillicast) {
|
|
180
|
-
println('Enable THEOplayer millicast extension.')
|
|
181
|
-
implementation "com.theoplayer.theoplayer-sdk-android:integration-millicast:${theoplayer_sdk_version}"
|
|
182
|
-
implementation "com.millicast:millicast-sdk-android:2.0.0"
|
|
183
|
-
} else {
|
|
184
|
-
println('Disable THEOplayer millicast extension.')
|
|
185
|
-
compileOnly "com.theoplayer.theoplayer-sdk-android:integration-millicast:${theoplayer_sdk_version}"
|
|
186
|
-
compileOnly "com.millicast:millicast-sdk-android:2.0.0"
|
|
187
|
-
}
|
|
188
|
-
}
|
|
134
|
+
def addOptiViewIntegration = { enabled, notation, additional = null ->
|
|
135
|
+
if (enabled) {
|
|
136
|
+
println("Enable $notation.")
|
|
137
|
+
implementation("com.theoplayer.theoplayer-sdk-android:$notation:$theoVersion") {
|
|
138
|
+
version {
|
|
139
|
+
strictly theoVersion
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
if (additional) implementation "$additional"
|
|
143
|
+
} else {
|
|
144
|
+
println("Disable $notation.")
|
|
145
|
+
compileOnly("com.theoplayer.theoplayer-sdk-android:$notation:$theoVersion")
|
|
146
|
+
if (additional) compileOnly "$additional"
|
|
147
|
+
}
|
|
148
|
+
}
|
|
189
149
|
|
|
190
|
-
//
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
150
|
+
//noinspection GradleDynamicVersion
|
|
151
|
+
implementation("com.facebook.react:react-native:+")
|
|
152
|
+
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVersion")
|
|
153
|
+
implementation("androidx.appcompat:appcompat:$appcompatVersion")
|
|
154
|
+
implementation("androidx.core:core-ktx:$corektxVersion")
|
|
155
|
+
implementation("com.google.code.gson:gson:$gsonVersion")
|
|
156
|
+
|
|
157
|
+
println("Using THEOplayer (${versionString(theoVersion)})")
|
|
158
|
+
implementation("com.theoplayer.theoplayer-sdk-android:core:$theoVersion")
|
|
159
|
+
implementation("com.theoplayer.theoplayer-sdk-android:ads-wrapper:$theoAdsWrapperVersion")
|
|
160
|
+
implementation("com.theoplayer.android-connector:mediasession:$theoMediaSessionVersion")
|
|
161
|
+
|
|
162
|
+
addOptiViewIntegration(enabledGoogleIMA || enabledGoogleDAI || enabledTHEOads, 'integration-ads-ima')
|
|
163
|
+
addOptiViewIntegration(enabledGoogleDAI || enabledTHEOads, 'integration-ads-dai')
|
|
164
|
+
addOptiViewIntegration(enabledTHEOads, 'integration-ads-theoads')
|
|
165
|
+
addOptiViewIntegration(enabledCast, 'integration-cast')
|
|
166
|
+
addOptiViewIntegration(enabledMillicast, 'integration-millicast', "com.millicast:millicast-sdk-android:$millicastVersion")
|
|
197
167
|
}
|
|
@@ -27,6 +27,7 @@ private const val PROP_CAST_CONFIGURATION = "cast"
|
|
|
27
27
|
private const val PROP_ADS_CONFIGURATION = "ads"
|
|
28
28
|
private const val PROP_IMA_CONFIGURATION = "ima"
|
|
29
29
|
private const val PROP_IMA_AD_LOAD_TIMEOUT = "adLoadTimeout"
|
|
30
|
+
private const val PROP_IMA_FOCUS_SKIP_BUTTON_WHEN_AVAILABLE = "focusSkipButtonWhenAvailable"
|
|
30
31
|
private const val PROP_MEDIA_CONTROL = "mediaControl"
|
|
31
32
|
private const val PROP_PPID = "ppid"
|
|
32
33
|
private const val PROP_MAX_REDIRECTS = "maxRedirects"
|
|
@@ -176,6 +177,10 @@ class PlayerConfigAdapter(private val configProps: ReadableMap?) {
|
|
|
176
177
|
if (hasKey(PROP_IMA_AD_LOAD_TIMEOUT)) {
|
|
177
178
|
setLoadVideoTimeout(getInt(PROP_IMA_AD_LOAD_TIMEOUT) * 1000)
|
|
178
179
|
}
|
|
180
|
+
|
|
181
|
+
if (hasKey(PROP_IMA_FOCUS_SKIP_BUTTON_WHEN_AVAILABLE)) {
|
|
182
|
+
focusSkipButtonWhenAvailable = getBoolean(PROP_IMA_FOCUS_SKIP_BUTTON_WHEN_AVAILABLE)
|
|
183
|
+
}
|
|
179
184
|
}
|
|
180
185
|
}
|
|
181
186
|
}
|
|
@@ -228,10 +228,7 @@ class PresentationManager(
|
|
|
228
228
|
hide(WindowInsetsCompat.Type.systemBars())
|
|
229
229
|
}
|
|
230
230
|
|
|
231
|
-
|
|
232
|
-
viewCtx.playerView.postOnAnimation {
|
|
233
|
-
updatePresentationMode(PresentationMode.FULLSCREEN)
|
|
234
|
-
}
|
|
231
|
+
updatePresentationMode(PresentationMode.FULLSCREEN)
|
|
235
232
|
|
|
236
233
|
if (BuildConfig.REPARENT_ON_FULLSCREEN) {
|
|
237
234
|
reparentPlayerToRoot()
|
|
@@ -16,6 +16,7 @@ let PROP_KIND: String = "kind"
|
|
|
16
16
|
let PROP_LANGUAGE: String = "language"
|
|
17
17
|
let PROP_MODE: String = "mode"
|
|
18
18
|
let PROP_LABEL: String = "label"
|
|
19
|
+
let PROP_UNLOCALIZED_LABEL: String = "unlocalizedLabel"
|
|
19
20
|
let PROP_ENABLED: String = "enabled"
|
|
20
21
|
let PROP_TYPE: String = "type"
|
|
21
22
|
let PROP_QUALITIES: String = "qualities"
|
|
@@ -73,6 +74,7 @@ class THEOplayerRCTTrackMetadataAggregator {
|
|
|
73
74
|
entry[PROP_LANGUAGE] = textTrack.language
|
|
74
75
|
entry[PROP_MODE] = textTrack.mode._rawValue
|
|
75
76
|
entry[PROP_LABEL] = textTrack.label
|
|
77
|
+
entry[PROP_UNLOCALIZED_LABEL] = textTrack.unlocalizedLabel
|
|
76
78
|
entry[PROP_TYPE] = textTrack.type
|
|
77
79
|
entry[PROP_SRC] = textTrack.src
|
|
78
80
|
entry[PROP_FORCED] = textTrack.forced
|
|
@@ -175,6 +177,7 @@ class THEOplayerRCTTrackMetadataAggregator {
|
|
|
175
177
|
entry[PROP_KIND] = audioTrack.kind
|
|
176
178
|
entry[PROP_LANGUAGE] = audioTrack.language
|
|
177
179
|
entry[PROP_LABEL] = audioTrack.label
|
|
180
|
+
entry[PROP_UNLOCALIZED_LABEL] = audioTrack.unlocalizedLabel
|
|
178
181
|
entry[PROP_ENABLED] = audioTrack.enabled
|
|
179
182
|
entry[PROP_QUALITIES] = [] // empty: qualities are not being exposed on iOS
|
|
180
183
|
//entry[PROP_ACTIVE_QUALITY] = // undefined: qualities are not being exposed on iOS
|
|
@@ -216,6 +219,7 @@ class THEOplayerRCTTrackMetadataAggregator {
|
|
|
216
219
|
entry[PROP_KIND] = videoTrack.kind
|
|
217
220
|
entry[PROP_LANGUAGE] = videoTrack.language
|
|
218
221
|
entry[PROP_LABEL] = videoTrack.label
|
|
222
|
+
entry[PROP_UNLOCALIZED_LABEL] = videoTrack.unlocalizedLabel
|
|
219
223
|
entry[PROP_ENABLED] = videoTrack.enabled
|
|
220
224
|
entry[PROP_QUALITIES] = [] // empty: qualities are not being exposed on iOS
|
|
221
225
|
//entry[PROP_ACTIVE_QUALITY] = // undefined: qualities are not being exposed on iOS
|
|
@@ -10,6 +10,7 @@ exports.ABRStrategyType = void 0;
|
|
|
10
10
|
* <br/> - `'quality'`: The player will optimize ABR behavior to focus displaying the best visual quality to the end-user. This strategy initiates playback with the highest bit rate suitable for the device.
|
|
11
11
|
* <br/> - `'bandwidth'`: The player will optimize the ABR behavior to focus on displaying the most optimal quality based on historic data of available bandwidth and knowledge of the network conditions.
|
|
12
12
|
*
|
|
13
|
+
* @category ABR
|
|
13
14
|
* @public
|
|
14
15
|
*/
|
|
15
16
|
let ABRStrategyType = exports.ABRStrategyType = /*#__PURE__*/function (ABRStrategyType) {
|
|
@@ -21,21 +22,25 @@ let ABRStrategyType = exports.ABRStrategyType = /*#__PURE__*/function (ABRStrate
|
|
|
21
22
|
/**
|
|
22
23
|
* Describes the metadata of the adaptive bitrate strategy.
|
|
23
24
|
*
|
|
25
|
+
* @category ABR
|
|
24
26
|
* @public
|
|
25
27
|
*/
|
|
26
28
|
/**
|
|
27
29
|
* Describes the configuration of the adaptive bitrate strategy.
|
|
28
30
|
*
|
|
31
|
+
* @category ABR
|
|
29
32
|
* @public
|
|
30
33
|
*/
|
|
31
34
|
/**
|
|
32
35
|
* The adaptive bitrate stratey.
|
|
33
36
|
*
|
|
37
|
+
* @category ABR
|
|
34
38
|
* @public
|
|
35
39
|
*/
|
|
36
40
|
/**
|
|
37
41
|
* Describes the adaptive bitrate configuration.
|
|
38
42
|
*
|
|
43
|
+
* @category ABR
|
|
39
44
|
* @public
|
|
40
45
|
*/
|
|
41
46
|
//# sourceMappingURL=ABRConfiguration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ABRStrategyType","exports"],"sourceRoot":"../../../../src","sources":["api/abr/ABRConfiguration.ts"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"names":["ABRStrategyType","exports"],"sourceRoot":"../../../../src","sources":["api/abr/ABRConfiguration.ts"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA,IASYA,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAM3B;AACA;AACA;AACA;AACA;AACA;AAUA;AACA;AACA;AACA;AACA;AACA;AAeA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
|
|
@@ -4,6 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.OmidFriendlyObstructionPurpose = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* The list of reasons for which an obstruction would be registered as friendly.
|
|
9
|
+
*
|
|
10
|
+
* @category Ads
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
7
13
|
let OmidFriendlyObstructionPurpose = exports.OmidFriendlyObstructionPurpose = /*#__PURE__*/function (OmidFriendlyObstructionPurpose) {
|
|
8
14
|
OmidFriendlyObstructionPurpose["VIDEO_CONTROLS"] = "videoControls";
|
|
9
15
|
OmidFriendlyObstructionPurpose["CLOSE_AD"] = "closeAd";
|
|
@@ -11,7 +17,16 @@ let OmidFriendlyObstructionPurpose = exports.OmidFriendlyObstructionPurpose = /*
|
|
|
11
17
|
OmidFriendlyObstructionPurpose["OTHER"] = "other";
|
|
12
18
|
return OmidFriendlyObstructionPurpose;
|
|
13
19
|
}({});
|
|
20
|
+
/**
|
|
21
|
+
* Represents a friendly obstruction instance for OMID.
|
|
22
|
+
*
|
|
23
|
+
* @category Ads
|
|
24
|
+
* @public
|
|
25
|
+
*/
|
|
14
26
|
/**
|
|
15
27
|
* The Omid API, which can be used to add as well as remove friendly video controls overlay obstructions.
|
|
28
|
+
*
|
|
29
|
+
* @category Ads
|
|
30
|
+
* @public
|
|
16
31
|
*/
|
|
17
32
|
//# sourceMappingURL=Omid.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OmidFriendlyObstructionPurpose","exports"],"sourceRoot":"../../../../src","sources":["api/ads/Omid.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"names":["OmidFriendlyObstructionPurpose","exports"],"sourceRoot":"../../../../src","sources":["api/ads/Omid.ts"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AALA,IAMYA,8BAA8B,GAAAC,OAAA,CAAAD,8BAAA,0BAA9BA,8BAA8B;EAA9BA,8BAA8B;EAA9BA,8BAA8B;EAA9BA,8BAA8B;EAA9BA,8BAA8B;EAAA,OAA9BA,8BAA8B;AAAA;AAsB1C;AACA;AACA;AACA;AACA;AACA;AAoBA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
|
|
@@ -12,6 +12,7 @@ exports.CacheTaskStatus = void 0;
|
|
|
12
12
|
* <br/> - `'error'`: The task has encountered an error while downloading or evicting content.
|
|
13
13
|
* <br/> - `'evicted'`: All data associated with the task has been removed because the task expired or the user invoked the {@link CachingTask.remove|remove} method.
|
|
14
14
|
*
|
|
15
|
+
* @category Caching
|
|
15
16
|
* @public
|
|
16
17
|
*/
|
|
17
18
|
let CacheTaskStatus = exports.CacheTaskStatus = /*#__PURE__*/function (CacheTaskStatus) {
|
|
@@ -25,6 +26,7 @@ let CacheTaskStatus = exports.CacheTaskStatus = /*#__PURE__*/function (CacheTask
|
|
|
25
26
|
/**
|
|
26
27
|
* Represents a caching task.
|
|
27
28
|
*
|
|
29
|
+
* @category Caching
|
|
28
30
|
* @public
|
|
29
31
|
*/
|
|
30
32
|
//# sourceMappingURL=CachingTask.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CacheTaskStatus","exports"],"sourceRoot":"../../../../src","sources":["api/cache/CachingTask.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"names":["CacheTaskStatus","exports"],"sourceRoot":"../../../../src","sources":["api/cache/CachingTask.ts"],"mappings":";;;;;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVA,IAWYA,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAQ3B;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
|
|
@@ -8,6 +8,8 @@ exports.StorageType = void 0;
|
|
|
8
8
|
* The types of cache storage supported by THEOplayer.
|
|
9
9
|
*
|
|
10
10
|
* @platform android
|
|
11
|
+
* @category Caching
|
|
12
|
+
* @public
|
|
11
13
|
*/
|
|
12
14
|
let StorageType = exports.StorageType = /*#__PURE__*/function (StorageType) {
|
|
13
15
|
StorageType["LEGACY"] = "legacy";
|
|
@@ -17,6 +19,7 @@ let StorageType = exports.StorageType = /*#__PURE__*/function (StorageType) {
|
|
|
17
19
|
/**
|
|
18
20
|
* Describes the configuration of a caching task.
|
|
19
21
|
*
|
|
22
|
+
* @category Caching
|
|
20
23
|
* @public
|
|
21
24
|
*/
|
|
22
25
|
//# sourceMappingURL=CachingTaskParameters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StorageType","exports"],"sourceRoot":"../../../../src","sources":["api/cache/CachingTaskParameters.ts"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"names":["StorageType","exports"],"sourceRoot":"../../../../src","sources":["api/cache/CachingTaskParameters.ts"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AANA,IAOYA,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAqBvB;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
|
|
@@ -9,6 +9,7 @@ exports.CacheStatus = void 0;
|
|
|
9
9
|
* <br/> - `'uninitialised'`: Previously stored caching tasks are unavailable.
|
|
10
10
|
* <br/> - `'initialised'`: Previously stored caching tasks are now available.
|
|
11
11
|
*
|
|
12
|
+
* @category Caching
|
|
12
13
|
* @public
|
|
13
14
|
*/
|
|
14
15
|
let CacheStatus = exports.CacheStatus = /*#__PURE__*/function (CacheStatus) {
|
|
@@ -19,6 +20,7 @@ let CacheStatus = exports.CacheStatus = /*#__PURE__*/function (CacheStatus) {
|
|
|
19
20
|
/**
|
|
20
21
|
* The media cache API.
|
|
21
22
|
*
|
|
23
|
+
* @category Caching
|
|
22
24
|
* @public
|
|
23
25
|
*/
|
|
24
26
|
//# sourceMappingURL=MediaCacheAPI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CacheStatus","exports"],"sourceRoot":"../../../../src","sources":["api/cache/MediaCacheAPI.ts"],"mappings":";;;;;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"names":["CacheStatus","exports"],"sourceRoot":"../../../../src","sources":["api/cache/MediaCacheAPI.ts"],"mappings":";;;;;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA,IAQYA,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAKvB;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
|
|
@@ -4,6 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.CacheEventType = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* The event types dispatched by the {@link MediaCacheAPI | cache API}.
|
|
9
|
+
*
|
|
10
|
+
* @category Caching
|
|
11
|
+
* @category Events
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
7
14
|
let CacheEventType = exports.CacheEventType = /*#__PURE__*/function (CacheEventType) {
|
|
8
15
|
CacheEventType["statechange"] = "statechange";
|
|
9
16
|
CacheEventType["addtask"] = "addtask";
|
|
@@ -13,16 +20,26 @@ let CacheEventType = exports.CacheEventType = /*#__PURE__*/function (CacheEventT
|
|
|
13
20
|
/**
|
|
14
21
|
* The events dispatched by the {@link MediaCacheAPI | cache API}.
|
|
15
22
|
*
|
|
23
|
+
* @category Caching
|
|
24
|
+
* @category Events
|
|
25
|
+
* @public
|
|
26
|
+
*/
|
|
27
|
+
/**
|
|
28
|
+
* CacheStatusChangeEvent is dispatched when the status of a caching task is updated.
|
|
29
|
+
*
|
|
30
|
+
* @category Caching
|
|
16
31
|
* @public
|
|
17
32
|
*/
|
|
18
33
|
/**
|
|
19
|
-
*
|
|
34
|
+
* AddCachingTaskEvent is dispatched when a caching task is added.
|
|
20
35
|
*
|
|
36
|
+
* @category Caching
|
|
21
37
|
* @public
|
|
22
38
|
*/
|
|
23
39
|
/**
|
|
24
|
-
*
|
|
40
|
+
* RemoveCachingTaskEvent is dispatched when a caching task is removed.
|
|
25
41
|
*
|
|
42
|
+
* @category Caching
|
|
26
43
|
* @public
|
|
27
44
|
*/
|
|
28
45
|
//# sourceMappingURL=CacheEvent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CacheEventType","exports"],"sourceRoot":"../../../../../src","sources":["api/cache/events/CacheEvent.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"names":["CacheEventType","exports"],"sourceRoot":"../../../../../src","sources":["api/cache/events/CacheEvent.ts"],"mappings":";;;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AANA,IAOYA,cAAc,GAAAC,OAAA,CAAAD,cAAA,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;AAM1B;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;AACA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
|