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.
Files changed (407) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +3 -2
  3. package/android/build.gradle +125 -155
  4. package/android/src/main/java/com/theoplayer/PlayerConfigAdapter.kt +5 -0
  5. package/android/src/main/java/com/theoplayer/presentation/PresentationManager.kt +1 -4
  6. package/ios/THEOplayerRCTTrackMetadataAggregator.swift +4 -0
  7. package/lib/commonjs/api/abr/ABRConfiguration.js +5 -0
  8. package/lib/commonjs/api/abr/ABRConfiguration.js.map +1 -1
  9. package/lib/commonjs/api/ads/Omid.js +15 -0
  10. package/lib/commonjs/api/ads/Omid.js.map +1 -1
  11. package/lib/commonjs/api/cache/CachingTask.js +2 -0
  12. package/lib/commonjs/api/cache/CachingTask.js.map +1 -1
  13. package/lib/commonjs/api/cache/CachingTaskParameters.js +3 -0
  14. package/lib/commonjs/api/cache/CachingTaskParameters.js.map +1 -1
  15. package/lib/commonjs/api/cache/MediaCacheAPI.js +2 -0
  16. package/lib/commonjs/api/cache/MediaCacheAPI.js.map +1 -1
  17. package/lib/commonjs/api/cache/events/CacheEvent.js +19 -2
  18. package/lib/commonjs/api/cache/events/CacheEvent.js.map +1 -1
  19. package/lib/commonjs/api/cache/events/CachingTaskEvent.js +23 -0
  20. package/lib/commonjs/api/cache/events/CachingTaskEvent.js.map +1 -1
  21. package/lib/commonjs/api/cache/hooks/useCachingTaskList.js +6 -0
  22. package/lib/commonjs/api/cache/hooks/useCachingTaskList.js.map +1 -1
  23. package/lib/commonjs/api/cache/hooks/useCachingTaskProgress.js +6 -0
  24. package/lib/commonjs/api/cache/hooks/useCachingTaskProgress.js.map +1 -1
  25. package/lib/commonjs/api/cache/hooks/useCachingTaskStatus.js +6 -0
  26. package/lib/commonjs/api/cache/hooks/useCachingTaskStatus.js.map +1 -1
  27. package/lib/commonjs/api/cast/CastState.js +1 -0
  28. package/lib/commonjs/api/cast/CastState.js.map +1 -1
  29. package/lib/commonjs/api/event/AdEvent.js +14 -0
  30. package/lib/commonjs/api/event/AdEvent.js.map +1 -1
  31. package/lib/commonjs/api/event/CastEvent.js +35 -0
  32. package/lib/commonjs/api/event/CastEvent.js.map +1 -1
  33. package/lib/commonjs/api/event/PlayerEvent.js +106 -0
  34. package/lib/commonjs/api/event/PlayerEvent.js.map +1 -1
  35. package/lib/commonjs/api/event/TheoAdsEvent.js +14 -0
  36. package/lib/commonjs/api/event/TheoAdsEvent.js.map +1 -1
  37. package/lib/commonjs/api/event/TrackEvent.js +56 -0
  38. package/lib/commonjs/api/event/TrackEvent.js.map +1 -1
  39. package/lib/commonjs/api/player/PlayerEventMap.js +10 -0
  40. package/lib/commonjs/api/player/PlayerEventMap.js.map +1 -1
  41. package/lib/commonjs/api/player/THEOplayer.js +5 -0
  42. package/lib/commonjs/api/player/THEOplayer.js.map +1 -1
  43. package/lib/commonjs/api/presentation/PresentationMode.js.map +1 -1
  44. package/lib/commonjs/api/source/SourceDescription.js +17 -0
  45. package/lib/commonjs/api/source/SourceDescription.js.map +1 -1
  46. package/lib/commonjs/api/source/ads/Ads.js +8 -0
  47. package/lib/commonjs/api/source/ads/Ads.js.map +1 -1
  48. package/lib/commonjs/api/source/ads/TheoAdDescription.js +1 -0
  49. package/lib/commonjs/api/source/ads/TheoAdDescription.js.map +1 -1
  50. package/lib/commonjs/api/source/cmcd/CmcdConfiguration.js +9 -0
  51. package/lib/commonjs/api/source/cmcd/CmcdConfiguration.js.map +1 -1
  52. package/lib/commonjs/api/track/DateRangeCue.js +4 -0
  53. package/lib/commonjs/api/track/DateRangeCue.js.map +1 -1
  54. package/lib/commonjs/api/track/MediaTrack.js +28 -0
  55. package/lib/commonjs/api/track/MediaTrack.js.map +1 -1
  56. package/lib/commonjs/api/track/TextTrack.js +82 -0
  57. package/lib/commonjs/api/track/TextTrack.js.map +1 -1
  58. package/lib/commonjs/api/track/TextTrackStyle.js +2 -0
  59. package/lib/commonjs/api/track/TextTrackStyle.js.map +1 -1
  60. package/lib/commonjs/api/track/Track.js +28 -0
  61. package/lib/commonjs/api/track/Track.js.map +1 -1
  62. package/lib/commonjs/internal/adapter/DefaultNativePlayerState.js +1 -0
  63. package/lib/commonjs/internal/adapter/DefaultNativePlayerState.js.map +1 -1
  64. package/lib/commonjs/internal/adapter/THEOplayerAdapter.js +4 -0
  65. package/lib/commonjs/internal/adapter/THEOplayerAdapter.js.map +1 -1
  66. package/lib/commonjs/internal/adapter/THEOplayerWebAdapter.js +3 -0
  67. package/lib/commonjs/internal/adapter/THEOplayerWebAdapter.js.map +1 -1
  68. package/lib/commonjs/internal/cache/MediaCache.js +7 -0
  69. package/lib/commonjs/internal/cache/MediaCache.js.map +1 -1
  70. package/lib/commonjs/internal/drm/ContentProtectionRegistry.js +7 -0
  71. package/lib/commonjs/internal/drm/ContentProtectionRegistry.js.map +1 -1
  72. package/lib/commonjs/manifest.json +1 -1
  73. package/lib/commonjs/plugins/expo/Common.js +2 -0
  74. package/lib/commonjs/plugins/expo/Common.js.map +1 -0
  75. package/lib/commonjs/plugins/expo/withCustomPod.js +32 -0
  76. package/lib/commonjs/plugins/expo/withCustomPod.js.map +1 -0
  77. package/lib/commonjs/plugins/expo/withTHEOplayer.js +6 -4
  78. package/lib/commonjs/plugins/expo/withTHEOplayer.js.map +1 -1
  79. package/lib/commonjs/plugins/expo/withTHEOplayerAndroid.js +6 -5
  80. package/lib/commonjs/plugins/expo/withTHEOplayerAndroid.js.map +1 -1
  81. package/lib/commonjs/plugins/expo/withTHEOplayerIOS.js +47 -0
  82. package/lib/commonjs/plugins/expo/withTHEOplayerIOS.js.map +1 -0
  83. package/lib/module/api/abr/ABRConfiguration.js +5 -0
  84. package/lib/module/api/abr/ABRConfiguration.js.map +1 -1
  85. package/lib/module/api/ads/Omid.js +16 -0
  86. package/lib/module/api/ads/Omid.js.map +1 -1
  87. package/lib/module/api/cache/CachingTask.js +2 -0
  88. package/lib/module/api/cache/CachingTask.js.map +1 -1
  89. package/lib/module/api/cache/CachingTaskParameters.js +3 -0
  90. package/lib/module/api/cache/CachingTaskParameters.js.map +1 -1
  91. package/lib/module/api/cache/MediaCacheAPI.js +2 -0
  92. package/lib/module/api/cache/MediaCacheAPI.js.map +1 -1
  93. package/lib/module/api/cache/events/CacheEvent.js +20 -2
  94. package/lib/module/api/cache/events/CacheEvent.js.map +1 -1
  95. package/lib/module/api/cache/events/CachingTaskEvent.js +25 -0
  96. package/lib/module/api/cache/events/CachingTaskEvent.js.map +1 -1
  97. package/lib/module/api/cache/hooks/useCachingTaskList.js +7 -0
  98. package/lib/module/api/cache/hooks/useCachingTaskList.js.map +1 -1
  99. package/lib/module/api/cache/hooks/useCachingTaskProgress.js +7 -0
  100. package/lib/module/api/cache/hooks/useCachingTaskProgress.js.map +1 -1
  101. package/lib/module/api/cache/hooks/useCachingTaskStatus.js +7 -0
  102. package/lib/module/api/cache/hooks/useCachingTaskStatus.js.map +1 -1
  103. package/lib/module/api/cast/CastState.js +1 -0
  104. package/lib/module/api/cast/CastState.js.map +1 -1
  105. package/lib/module/api/event/AdEvent.js +15 -0
  106. package/lib/module/api/event/AdEvent.js.map +1 -1
  107. package/lib/module/api/event/CastEvent.js +39 -0
  108. package/lib/module/api/event/CastEvent.js.map +1 -1
  109. package/lib/module/api/event/PlayerEvent.js +120 -0
  110. package/lib/module/api/event/PlayerEvent.js.map +1 -1
  111. package/lib/module/api/event/TheoAdsEvent.js +15 -0
  112. package/lib/module/api/event/TheoAdsEvent.js.map +1 -1
  113. package/lib/module/api/event/TrackEvent.js +63 -0
  114. package/lib/module/api/event/TrackEvent.js.map +1 -1
  115. package/lib/module/api/player/PlayerEventMap.js +10 -0
  116. package/lib/module/api/player/PlayerEventMap.js.map +1 -1
  117. package/lib/module/api/player/THEOplayer.js +5 -0
  118. package/lib/module/api/player/THEOplayer.js.map +1 -1
  119. package/lib/module/api/presentation/PresentationMode.js +0 -1
  120. package/lib/module/api/presentation/PresentationMode.js.map +1 -1
  121. package/lib/module/api/source/SourceDescription.js +18 -0
  122. package/lib/module/api/source/SourceDescription.js.map +1 -1
  123. package/lib/module/api/source/ads/Ads.js +8 -0
  124. package/lib/module/api/source/ads/Ads.js.map +1 -1
  125. package/lib/module/api/source/ads/TheoAdDescription.js +1 -0
  126. package/lib/module/api/source/ads/TheoAdDescription.js.map +1 -1
  127. package/lib/module/api/source/cmcd/CmcdConfiguration.js +9 -0
  128. package/lib/module/api/source/cmcd/CmcdConfiguration.js.map +1 -1
  129. package/lib/module/api/track/DateRangeCue.js +4 -0
  130. package/lib/module/api/track/DateRangeCue.js.map +1 -1
  131. package/lib/module/api/track/MediaTrack.js +28 -0
  132. package/lib/module/api/track/MediaTrack.js.map +1 -1
  133. package/lib/module/api/track/TextTrack.js +86 -0
  134. package/lib/module/api/track/TextTrack.js.map +1 -1
  135. package/lib/module/api/track/TextTrackStyle.js +2 -0
  136. package/lib/module/api/track/TextTrackStyle.js.map +1 -1
  137. package/lib/module/api/track/Track.js +28 -0
  138. package/lib/module/api/track/Track.js.map +1 -1
  139. package/lib/module/internal/adapter/DefaultNativePlayerState.js +1 -0
  140. package/lib/module/internal/adapter/DefaultNativePlayerState.js.map +1 -1
  141. package/lib/module/internal/adapter/THEOplayerAdapter.js +4 -0
  142. package/lib/module/internal/adapter/THEOplayerAdapter.js.map +1 -1
  143. package/lib/module/internal/adapter/THEOplayerWebAdapter.js +3 -0
  144. package/lib/module/internal/adapter/THEOplayerWebAdapter.js.map +1 -1
  145. package/lib/module/internal/cache/MediaCache.js +7 -0
  146. package/lib/module/internal/cache/MediaCache.js.map +1 -1
  147. package/lib/module/internal/drm/ContentProtectionRegistry.js +7 -0
  148. package/lib/module/internal/drm/ContentProtectionRegistry.js.map +1 -1
  149. package/lib/module/manifest.json +1 -1
  150. package/lib/module/plugins/expo/Common.js +2 -0
  151. package/lib/module/plugins/expo/Common.js.map +1 -0
  152. package/lib/module/plugins/expo/withCustomPod.js +27 -0
  153. package/lib/module/plugins/expo/withCustomPod.js.map +1 -0
  154. package/lib/module/plugins/expo/withTHEOplayer.js +7 -5
  155. package/lib/module/plugins/expo/withTHEOplayer.js.map +1 -1
  156. package/lib/module/plugins/expo/withTHEOplayerAndroid.js +4 -3
  157. package/lib/module/plugins/expo/withTHEOplayerAndroid.js.map +1 -1
  158. package/lib/module/plugins/expo/withTHEOplayerIOS.js +42 -0
  159. package/lib/module/plugins/expo/withTHEOplayerIOS.js.map +1 -0
  160. package/lib/typescript/api/abr/ABRConfiguration.d.ts +5 -0
  161. package/lib/typescript/api/abr/ABRConfiguration.d.ts.map +1 -1
  162. package/lib/typescript/api/ads/Ad.d.ts +9 -2
  163. package/lib/typescript/api/ads/Ad.d.ts.map +1 -1
  164. package/lib/typescript/api/ads/AdBreak.d.ts +7 -0
  165. package/lib/typescript/api/ads/AdBreak.d.ts.map +1 -1
  166. package/lib/typescript/api/ads/AdsAPI.d.ts +6 -3
  167. package/lib/typescript/api/ads/AdsAPI.d.ts.map +1 -1
  168. package/lib/typescript/api/ads/AdsConfiguration.d.ts +9 -0
  169. package/lib/typescript/api/ads/AdsConfiguration.d.ts.map +1 -1
  170. package/lib/typescript/api/ads/CompanionAd.d.ts +1 -0
  171. package/lib/typescript/api/ads/CompanionAd.d.ts.map +1 -1
  172. package/lib/typescript/api/ads/GoogleDai.d.ts +1 -0
  173. package/lib/typescript/api/ads/GoogleDai.d.ts.map +1 -1
  174. package/lib/typescript/api/ads/GoogleImaAd.d.ts +1 -0
  175. package/lib/typescript/api/ads/GoogleImaAd.d.ts.map +1 -1
  176. package/lib/typescript/api/ads/GoogleImaConfiguration.d.ts +9 -0
  177. package/lib/typescript/api/ads/GoogleImaConfiguration.d.ts.map +1 -1
  178. package/lib/typescript/api/ads/Omid.d.ts +15 -0
  179. package/lib/typescript/api/ads/Omid.d.ts.map +1 -1
  180. package/lib/typescript/api/broadcast/EventBroadcastAPI.d.ts +1 -0
  181. package/lib/typescript/api/broadcast/EventBroadcastAPI.d.ts.map +1 -1
  182. package/lib/typescript/api/cache/CachingPreferredTrackSelection.d.ts +1 -0
  183. package/lib/typescript/api/cache/CachingPreferredTrackSelection.d.ts.map +1 -1
  184. package/lib/typescript/api/cache/CachingTask.d.ts +2 -0
  185. package/lib/typescript/api/cache/CachingTask.d.ts.map +1 -1
  186. package/lib/typescript/api/cache/CachingTaskLicense.d.ts +7 -0
  187. package/lib/typescript/api/cache/CachingTaskLicense.d.ts.map +1 -1
  188. package/lib/typescript/api/cache/CachingTaskList.d.ts +7 -0
  189. package/lib/typescript/api/cache/CachingTaskList.d.ts.map +1 -1
  190. package/lib/typescript/api/cache/CachingTaskParameters.d.ts +3 -0
  191. package/lib/typescript/api/cache/CachingTaskParameters.d.ts.map +1 -1
  192. package/lib/typescript/api/cache/MediaCacheAPI.d.ts +2 -0
  193. package/lib/typescript/api/cache/MediaCacheAPI.d.ts.map +1 -1
  194. package/lib/typescript/api/cache/events/CacheEvent.d.ts +19 -2
  195. package/lib/typescript/api/cache/events/CacheEvent.d.ts.map +1 -1
  196. package/lib/typescript/api/cache/events/CachingTaskEvent.d.ts +23 -0
  197. package/lib/typescript/api/cache/events/CachingTaskEvent.d.ts.map +1 -1
  198. package/lib/typescript/api/cache/hooks/useCachingTaskList.d.ts +6 -0
  199. package/lib/typescript/api/cache/hooks/useCachingTaskList.d.ts.map +1 -1
  200. package/lib/typescript/api/cache/hooks/useCachingTaskProgress.d.ts +6 -0
  201. package/lib/typescript/api/cache/hooks/useCachingTaskProgress.d.ts.map +1 -1
  202. package/lib/typescript/api/cache/hooks/useCachingTaskStatus.d.ts +6 -0
  203. package/lib/typescript/api/cache/hooks/useCachingTaskStatus.d.ts.map +1 -1
  204. package/lib/typescript/api/cast/Airplay.d.ts +2 -1
  205. package/lib/typescript/api/cast/Airplay.d.ts.map +1 -1
  206. package/lib/typescript/api/cast/CastAPI.d.ts +3 -0
  207. package/lib/typescript/api/cast/CastAPI.d.ts.map +1 -1
  208. package/lib/typescript/api/cast/CastConfiguration.d.ts +3 -0
  209. package/lib/typescript/api/cast/CastConfiguration.d.ts.map +1 -1
  210. package/lib/typescript/api/cast/CastState.d.ts +1 -0
  211. package/lib/typescript/api/cast/CastState.d.ts.map +1 -1
  212. package/lib/typescript/api/cast/Chromecast.d.ts +7 -0
  213. package/lib/typescript/api/cast/Chromecast.d.ts.map +1 -1
  214. package/lib/typescript/api/config/PlayerConfiguration.d.ts +6 -0
  215. package/lib/typescript/api/config/PlayerConfiguration.d.ts.map +1 -1
  216. package/lib/typescript/api/drm/ContentProtectionAPI.d.ts +9 -0
  217. package/lib/typescript/api/drm/ContentProtectionAPI.d.ts.map +1 -1
  218. package/lib/typescript/api/drm/ContentProtectionIntegration.d.ts +2 -1
  219. package/lib/typescript/api/drm/ContentProtectionIntegration.d.ts.map +1 -1
  220. package/lib/typescript/api/drm/ContentProtectionIntegrationFactory.d.ts +1 -0
  221. package/lib/typescript/api/drm/ContentProtectionIntegrationFactory.d.ts.map +1 -1
  222. package/lib/typescript/api/drm/ContentProtectionRequest.d.ts +5 -0
  223. package/lib/typescript/api/drm/ContentProtectionRequest.d.ts.map +1 -1
  224. package/lib/typescript/api/drm/ContentProtectionResponse.d.ts +6 -0
  225. package/lib/typescript/api/drm/ContentProtectionResponse.d.ts.map +1 -1
  226. package/lib/typescript/api/error/ChromecastError.d.ts +4 -0
  227. package/lib/typescript/api/error/ChromecastError.d.ts.map +1 -1
  228. package/lib/typescript/api/error/PlayerError.d.ts +7 -0
  229. package/lib/typescript/api/error/PlayerError.d.ts.map +1 -1
  230. package/lib/typescript/api/event/AdEvent.d.ts +14 -0
  231. package/lib/typescript/api/event/AdEvent.d.ts.map +1 -1
  232. package/lib/typescript/api/event/CastEvent.d.ts +35 -0
  233. package/lib/typescript/api/event/CastEvent.d.ts.map +1 -1
  234. package/lib/typescript/api/event/Event.d.ts +2 -1
  235. package/lib/typescript/api/event/Event.d.ts.map +1 -1
  236. package/lib/typescript/api/event/EventDispatcher.d.ts +3 -1
  237. package/lib/typescript/api/event/EventDispatcher.d.ts.map +1 -1
  238. package/lib/typescript/api/event/EventListener.d.ts +1 -0
  239. package/lib/typescript/api/event/EventListener.d.ts.map +1 -1
  240. package/lib/typescript/api/event/PlayerEvent.d.ts +106 -0
  241. package/lib/typescript/api/event/PlayerEvent.d.ts.map +1 -1
  242. package/lib/typescript/api/event/TheoAdsEvent.d.ts +14 -0
  243. package/lib/typescript/api/event/TheoAdsEvent.d.ts.map +1 -1
  244. package/lib/typescript/api/event/TrackEvent.d.ts +56 -0
  245. package/lib/typescript/api/event/TrackEvent.d.ts.map +1 -1
  246. package/lib/typescript/api/player/PlayerEventMap.d.ts +10 -0
  247. package/lib/typescript/api/player/PlayerEventMap.d.ts.map +1 -1
  248. package/lib/typescript/api/player/PlayerVersion.d.ts +6 -0
  249. package/lib/typescript/api/player/PlayerVersion.d.ts.map +1 -1
  250. package/lib/typescript/api/player/THEOplayer.d.ts +9 -0
  251. package/lib/typescript/api/player/THEOplayer.d.ts.map +1 -1
  252. package/lib/typescript/api/presentation/PresentationMode.d.ts.map +1 -1
  253. package/lib/typescript/api/source/SourceDescription.d.ts +17 -0
  254. package/lib/typescript/api/source/SourceDescription.d.ts.map +1 -1
  255. package/lib/typescript/api/source/ads/Ads.d.ts +8 -0
  256. package/lib/typescript/api/source/ads/Ads.d.ts.map +1 -1
  257. package/lib/typescript/api/source/ads/IMAAdDescription.d.ts +1 -0
  258. package/lib/typescript/api/source/ads/IMAAdDescription.d.ts.map +1 -1
  259. package/lib/typescript/api/source/ads/THEOplayerAdDescription.d.ts +1 -0
  260. package/lib/typescript/api/source/ads/THEOplayerAdDescription.d.ts.map +1 -1
  261. package/lib/typescript/api/source/ads/TheoAdDescription.d.ts +1 -0
  262. package/lib/typescript/api/source/ads/TheoAdDescription.d.ts.map +1 -1
  263. package/lib/typescript/api/source/ads/ssai/GoogleDAIConfiguration.d.ts +18 -0
  264. package/lib/typescript/api/source/ads/ssai/GoogleDAIConfiguration.d.ts.map +1 -1
  265. package/lib/typescript/api/source/ads/ssai/ServerSideAdInsertionConfiguration.d.ts +11 -0
  266. package/lib/typescript/api/source/ads/ssai/ServerSideAdInsertionConfiguration.d.ts.map +1 -1
  267. package/lib/typescript/api/source/analytics/AnalyticsDescription.d.ts +2 -0
  268. package/lib/typescript/api/source/analytics/AnalyticsDescription.d.ts.map +1 -1
  269. package/lib/typescript/api/source/cmcd/CmcdConfiguration.d.ts +9 -0
  270. package/lib/typescript/api/source/cmcd/CmcdConfiguration.d.ts.map +1 -1
  271. package/lib/typescript/api/source/dash/DashPlaybackConfiguration.d.ts +2 -0
  272. package/lib/typescript/api/source/dash/DashPlaybackConfiguration.d.ts.map +1 -1
  273. package/lib/typescript/api/source/drm/DRMConfiguration.d.ts +20 -0
  274. package/lib/typescript/api/source/drm/DRMConfiguration.d.ts.map +1 -1
  275. package/lib/typescript/api/source/hls/HlsPlaybackConfiguration.d.ts +2 -0
  276. package/lib/typescript/api/source/hls/HlsPlaybackConfiguration.d.ts.map +1 -1
  277. package/lib/typescript/api/source/metadata/MetadataDescription.d.ts +1 -0
  278. package/lib/typescript/api/source/metadata/MetadataDescription.d.ts.map +1 -1
  279. package/lib/typescript/api/theoads/TheoAdsAPI.d.ts +1 -0
  280. package/lib/typescript/api/theoads/TheoAdsAPI.d.ts.map +1 -1
  281. package/lib/typescript/api/theoads/interstitial/AdBreakInterstitial.d.ts +5 -0
  282. package/lib/typescript/api/theoads/interstitial/AdBreakInterstitial.d.ts.map +1 -1
  283. package/lib/typescript/api/theoads/interstitial/Interstitial.d.ts +2 -0
  284. package/lib/typescript/api/theoads/interstitial/Interstitial.d.ts.map +1 -1
  285. package/lib/typescript/api/theoads/interstitial/OverlayInterstitial.d.ts +3 -0
  286. package/lib/typescript/api/theoads/interstitial/OverlayInterstitial.d.ts.map +1 -1
  287. package/lib/typescript/api/track/DateRangeCue.d.ts +4 -0
  288. package/lib/typescript/api/track/DateRangeCue.d.ts.map +1 -1
  289. package/lib/typescript/api/track/MediaTrack.d.ts +31 -0
  290. package/lib/typescript/api/track/MediaTrack.d.ts.map +1 -1
  291. package/lib/typescript/api/track/Quality.d.ts +3 -0
  292. package/lib/typescript/api/track/Quality.d.ts.map +1 -1
  293. package/lib/typescript/api/track/TextTrack.d.ts +85 -0
  294. package/lib/typescript/api/track/TextTrack.d.ts.map +1 -1
  295. package/lib/typescript/api/track/TextTrackCue.d.ts +1 -0
  296. package/lib/typescript/api/track/TextTrackCue.d.ts.map +1 -1
  297. package/lib/typescript/api/track/TextTrackStyle.d.ts +2 -0
  298. package/lib/typescript/api/track/TextTrackStyle.d.ts.map +1 -1
  299. package/lib/typescript/api/track/Track.d.ts +25 -0
  300. package/lib/typescript/api/track/Track.d.ts.map +1 -1
  301. package/lib/typescript/api/ui/UIConfiguration.d.ts +1 -0
  302. package/lib/typescript/api/ui/UIConfiguration.d.ts.map +1 -1
  303. package/lib/typescript/internal/adapter/DefaultNativePlayerState.d.ts +1 -0
  304. package/lib/typescript/internal/adapter/DefaultNativePlayerState.d.ts.map +1 -1
  305. package/lib/typescript/internal/adapter/THEOplayerAdapter.d.ts +1 -0
  306. package/lib/typescript/internal/adapter/THEOplayerAdapter.d.ts.map +1 -1
  307. package/lib/typescript/internal/adapter/THEOplayerWebAdapter.d.ts +1 -0
  308. package/lib/typescript/internal/adapter/THEOplayerWebAdapter.d.ts.map +1 -1
  309. package/lib/typescript/internal/cache/MediaCache.d.ts +6 -0
  310. package/lib/typescript/internal/cache/MediaCache.d.ts.map +1 -1
  311. package/lib/typescript/internal/drm/ContentProtectionRegistry.d.ts +6 -0
  312. package/lib/typescript/internal/drm/ContentProtectionRegistry.d.ts.map +1 -1
  313. package/lib/typescript/plugins/expo/Common.d.ts +13 -0
  314. package/lib/typescript/plugins/expo/Common.d.ts.map +1 -0
  315. package/lib/typescript/plugins/expo/withCustomPod.d.ts +2 -0
  316. package/lib/typescript/plugins/expo/withCustomPod.d.ts.map +1 -0
  317. package/lib/typescript/plugins/expo/withTHEOplayer.d.ts +2 -2
  318. package/lib/typescript/plugins/expo/withTHEOplayer.d.ts.map +1 -1
  319. package/lib/typescript/plugins/expo/withTHEOplayerAndroid.d.ts +2 -6
  320. package/lib/typescript/plugins/expo/withTHEOplayerAndroid.d.ts.map +1 -1
  321. package/lib/typescript/plugins/expo/withTHEOplayerIOS.d.ts +4 -0
  322. package/lib/typescript/plugins/expo/withTHEOplayerIOS.d.ts.map +1 -0
  323. package/package.json +1 -1
  324. package/react-native-theoplayer.podspec +25 -15
  325. package/src/api/abr/ABRConfiguration.ts +5 -0
  326. package/src/api/ads/Ad.ts +10 -3
  327. package/src/api/ads/AdBreak.ts +7 -0
  328. package/src/api/ads/AdsAPI.ts +6 -3
  329. package/src/api/ads/AdsConfiguration.ts +9 -0
  330. package/src/api/ads/CompanionAd.ts +1 -0
  331. package/src/api/ads/GoogleDai.ts +1 -0
  332. package/src/api/ads/GoogleImaAd.ts +1 -0
  333. package/src/api/ads/GoogleImaConfiguration.ts +11 -0
  334. package/src/api/ads/Omid.ts +15 -0
  335. package/src/api/broadcast/EventBroadcastAPI.ts +1 -0
  336. package/src/api/cache/CachingPreferredTrackSelection.ts +1 -0
  337. package/src/api/cache/CachingTask.ts +3 -0
  338. package/src/api/cache/CachingTaskLicense.ts +7 -0
  339. package/src/api/cache/CachingTaskList.ts +7 -0
  340. package/src/api/cache/CachingTaskParameters.ts +3 -0
  341. package/src/api/cache/MediaCacheAPI.ts +2 -0
  342. package/src/api/cache/events/CacheEvent.ts +19 -2
  343. package/src/api/cache/events/CachingTaskEvent.ts +23 -0
  344. package/src/api/cache/hooks/useCachingTaskList.ts +6 -0
  345. package/src/api/cache/hooks/useCachingTaskProgress.ts +6 -0
  346. package/src/api/cache/hooks/useCachingTaskStatus.ts +6 -0
  347. package/src/api/cast/Airplay.ts +3 -2
  348. package/src/api/cast/CastAPI.ts +3 -1
  349. package/src/api/cast/CastConfiguration.ts +3 -0
  350. package/src/api/cast/CastState.ts +1 -0
  351. package/src/api/cast/Chromecast.ts +7 -0
  352. package/src/api/config/PlayerConfiguration.ts +6 -0
  353. package/src/api/drm/ContentProtectionAPI.ts +10 -0
  354. package/src/api/drm/ContentProtectionIntegration.ts +2 -1
  355. package/src/api/drm/ContentProtectionIntegrationFactory.ts +1 -0
  356. package/src/api/drm/ContentProtectionRequest.ts +5 -0
  357. package/src/api/drm/ContentProtectionResponse.ts +6 -0
  358. package/src/api/error/ChromecastError.ts +4 -0
  359. package/src/api/error/PlayerError.ts +7 -0
  360. package/src/api/event/AdEvent.ts +14 -0
  361. package/src/api/event/CastEvent.ts +35 -0
  362. package/src/api/event/Event.ts +2 -1
  363. package/src/api/event/EventDispatcher.ts +3 -1
  364. package/src/api/event/EventListener.ts +1 -0
  365. package/src/api/event/PlayerEvent.ts +106 -0
  366. package/src/api/event/TheoAdsEvent.ts +14 -0
  367. package/src/api/event/TrackEvent.ts +56 -0
  368. package/src/api/player/PlayerEventMap.ts +10 -0
  369. package/src/api/player/PlayerVersion.ts +6 -0
  370. package/src/api/player/THEOplayer.ts +10 -0
  371. package/src/api/presentation/PresentationMode.ts +0 -1
  372. package/src/api/source/SourceDescription.ts +17 -0
  373. package/src/api/source/ads/Ads.ts +8 -0
  374. package/src/api/source/ads/IMAAdDescription.ts +1 -0
  375. package/src/api/source/ads/THEOplayerAdDescription.ts +1 -0
  376. package/src/api/source/ads/TheoAdDescription.ts +1 -0
  377. package/src/api/source/ads/ssai/GoogleDAIConfiguration.ts +18 -0
  378. package/src/api/source/ads/ssai/ServerSideAdInsertionConfiguration.ts +12 -0
  379. package/src/api/source/analytics/AnalyticsDescription.ts +2 -0
  380. package/src/api/source/cmcd/CmcdConfiguration.ts +9 -0
  381. package/src/api/source/dash/DashPlaybackConfiguration.ts +2 -0
  382. package/src/api/source/drm/DRMConfiguration.ts +20 -0
  383. package/src/api/source/hls/HlsPlaybackConfiguration.ts +2 -0
  384. package/src/api/source/metadata/MetadataDescription.ts +1 -0
  385. package/src/api/theoads/TheoAdsAPI.ts +1 -0
  386. package/src/api/theoads/interstitial/AdBreakInterstitial.ts +5 -0
  387. package/src/api/theoads/interstitial/Interstitial.ts +2 -0
  388. package/src/api/theoads/interstitial/OverlayInterstitial.ts +3 -0
  389. package/src/api/track/DateRangeCue.ts +4 -0
  390. package/src/api/track/MediaTrack.ts +32 -0
  391. package/src/api/track/Quality.ts +3 -0
  392. package/src/api/track/TextTrack.ts +86 -1
  393. package/src/api/track/TextTrackCue.ts +1 -0
  394. package/src/api/track/TextTrackStyle.ts +2 -0
  395. package/src/api/track/Track.ts +25 -0
  396. package/src/api/ui/UIConfiguration.ts +1 -0
  397. package/src/internal/adapter/DefaultNativePlayerState.ts +1 -0
  398. package/src/internal/adapter/THEOplayerAdapter.ts +5 -0
  399. package/src/internal/adapter/THEOplayerWebAdapter.ts +4 -0
  400. package/src/internal/cache/MediaCache.ts +6 -0
  401. package/src/internal/drm/ContentProtectionRegistry.ts +6 -0
  402. package/src/manifest.json +1 -1
  403. package/src/plugins/expo/Common.ts +20 -0
  404. package/src/plugins/expo/withCustomPod.ts +28 -0
  405. package/src/plugins/expo/withTHEOplayer.ts +7 -5
  406. package/src/plugins/expo/withTHEOplayerAndroid.ts +4 -9
  407. 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🔥](./doc/media3.md)
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🔥](./doc/migrating-to-react-native-theoplayer-9.md)
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)
@@ -1,36 +1,36 @@
1
1
  buildscript {
2
- ext.safeExtGet = { prop, fallback ->
3
- rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
4
- }
2
+ ext.safeExtGet = { prop, fallback ->
3
+ rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
4
+ }
5
5
 
6
- repositories {
7
- google()
8
- mavenCentral()
9
- }
6
+ repositories {
7
+ google()
8
+ mavenCentral()
9
+ }
10
10
 
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
- }
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
- rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
21
+ rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
22
22
  }
23
23
 
24
24
  static def versionString(version) {
25
- return "${version == '+' ? 'latest' : version}"
25
+ return "${version == '+' ? 'latest' : version}"
26
26
  }
27
27
 
28
28
  def isNewArchitectureEnabled() {
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"
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
- 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
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
- release {
92
- minifyEnabled false
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
- repositories {
110
- mavenLocal()
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
- }
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
- mavenLocal()
119
- maven {
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 theoplayer_sdk_version = safeExtGet('THEOplayer_sdk', '[9.5.0, 10.0.0)')
131
- def theoplayer_mediasession_version = safeExtGet('THEOplayer_mediasession', '[8.0.0, 10.0.0)')
132
- def theoplayer_ads_wrapper_version = "9.0.0"
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
- //noinspection GradleDynamicVersion
136
- implementation "com.facebook.react:react-native:+" // From node_modules
137
- implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:${safeExtGet('coroutinesVersion', '1.7.3')}"
138
- implementation "androidx.appcompat:appcompat:${safeExtGet('appcompatVersion', '1.6.1')}"
139
- implementation "androidx.core:core-ktx:${safeExtGet('corektxVersion', '1.13.1')}"
140
- implementation "com.google.code.gson:gson:2.11.0"
141
-
142
- println("Using THEOplayer (${versionString(theoplayer_sdk_version)})")
143
- implementation "com.theoplayer.theoplayer-sdk-android:core:$theoplayer_sdk_version"
144
- implementation "com.theoplayer.theoplayer-sdk-android:ads-wrapper:$theoplayer_ads_wrapper_version"
145
- implementation "com.theoplayer.android-connector:mediasession:$theoplayer_mediasession_version"
146
-
147
- if (enabledGoogleIMA) {
148
- println('Enable THEOplayer IMA extension.')
149
- implementation "com.theoplayer.theoplayer-sdk-android:integration-ads-ima:$theoplayer_sdk_version"
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
- // Make sure to align all ads extension versions
191
- configurations.configureEach {
192
- resolutionStrategy {
193
- force "com.theoplayer.theoplayer-sdk-android:integration-ads-ima:$theoplayer_sdk_version"
194
- force "com.theoplayer.theoplayer-sdk-android:integration-ads-dai:$theoplayer_sdk_version"
195
- force "com.theoplayer.theoplayer-sdk-android:integration-ads-theoads:$theoplayer_sdk_version"
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
- // Delay the event making sure it does not arrive before animations ended.
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;AAPA,IAQYA,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAM3B;AACA;AACA;AACA;AACA;AAUA;AACA;AACA;AACA;AACA;AAeA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA","ignoreList":[]}
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":";;;;;;IAEYA,8BAA8B,GAAAC,OAAA,CAAAD,8BAAA,0BAA9BA,8BAA8B;EAA9BA,8BAA8B;EAA9BA,8BAA8B;EAA9BA,8BAA8B;EAA9BA,8BAA8B;EAAA,OAA9BA,8BAA8B;AAAA;AAyC1C;AACA;AACA","ignoreList":[]}
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":";;;;;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATA,IAUYA,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","ignoreList":[]}
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;AAJA,IAKYA,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAqBvB;AACA;AACA;AACA;AACA","ignoreList":[]}
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;AANA,IAOYA,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAKvB;AACA;AACA;AACA;AACA","ignoreList":[]}
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
- * Dispatched when a caching task is added.
34
+ * AddCachingTaskEvent is dispatched when a caching task is added.
20
35
  *
36
+ * @category Caching
21
37
  * @public
22
38
  */
23
39
  /**
24
- * Dispatched when a caching task is removed.
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":";;;;;;IAIYA,cAAc,GAAAC,OAAA,CAAAD,cAAA,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;AAM1B;AACA;AACA;AACA;AACA;AAyBA;AACA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA","ignoreList":[]}
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":[]}