react-native-theoplayer 2.16.1 → 3.0.0-pre1

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 (316) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +1 -0
  3. package/android/build.gradle +19 -22
  4. package/android/src/main/java/com/theoplayer/PlayerConfigAdapter.kt +87 -101
  5. package/android/src/main/java/com/theoplayer/ReactTHEOplayerContext.kt +30 -30
  6. package/android/src/main/java/com/theoplayer/ReactTHEOplayerPackage.kt +3 -1
  7. package/android/src/main/java/com/theoplayer/ReactTHEOplayerView.kt +1 -1
  8. package/android/src/main/java/com/theoplayer/cache/CacheAdapter.kt +127 -0
  9. package/android/src/main/java/com/theoplayer/cache/CacheModule.kt +238 -0
  10. package/android/src/main/java/com/theoplayer/player/PlayerModule.kt +27 -12
  11. package/android/src/main/java/com/theoplayer/source/SourceAdapter.kt +16 -37
  12. package/android/src/main/java/com/theoplayer/util/BridgeUtils.kt +60 -0
  13. package/android/src/main/java/com/theoplayer/util/PayloadBuilder.kt +10 -10
  14. package/ios/THEOplayerRCTBridge.m +22 -0
  15. package/ios/THEOplayerRCTDebug.swift +7 -1
  16. package/ios/THEOplayerRCTMainEventHandler.swift +25 -27
  17. package/ios/THEOplayerRCTSourceDescriptionAggregator.swift +41 -0
  18. package/ios/THEOplayerRCTSourceDescriptionBuilder.swift +3 -2
  19. package/ios/THEOplayerRCTTypeUtils.swift +37 -0
  20. package/ios/THEOplayerRCTView.swift +1 -2
  21. package/ios/ads/THEOplayerRCTAdsAPI+DAI.swift +3 -13
  22. package/ios/ads/THEOplayerRCTAdsAPI.swift +14 -48
  23. package/ios/ads/THEOplayerRCTView+AdsConfig.swift +0 -13
  24. package/ios/backgroundAudio/THEOplayerRCTNowPlayingManager.swift +24 -36
  25. package/ios/backgroundAudio/THEOplayerRCTRemoteCommandsManager.swift +2 -10
  26. package/ios/cache/THEOplayerRCTCacheAPI.swift +202 -0
  27. package/ios/cache/THEOplayerRCTCacheAggregator.swift +87 -0
  28. package/ios/cache/THEOplayerRCTCachingParametersBuilder.swift +27 -0
  29. package/ios/pip/THEOplayerRCTPipControlsManager.swift +2 -4
  30. package/lib/commonjs/api/abr/ABRConfiguration.js +21 -7
  31. package/lib/commonjs/api/abr/ABRConfiguration.js.map +1 -1
  32. package/lib/commonjs/api/ads/GoogleImaConfiguration.js.map +1 -1
  33. package/lib/commonjs/api/barrel.js +30 -19
  34. package/lib/commonjs/api/barrel.js.map +1 -1
  35. package/lib/commonjs/api/cache/CachingPreferredTrackSelection.js +2 -0
  36. package/lib/commonjs/api/cache/CachingPreferredTrackSelection.js.map +1 -0
  37. package/lib/commonjs/api/cache/CachingTask.js +30 -0
  38. package/lib/commonjs/api/cache/CachingTask.js.map +1 -0
  39. package/lib/commonjs/api/cache/CachingTaskLicense.js +6 -0
  40. package/lib/commonjs/api/cache/CachingTaskLicense.js.map +1 -0
  41. package/lib/commonjs/api/cache/CachingTaskList.js +6 -0
  42. package/lib/commonjs/api/cache/CachingTaskList.js.map +1 -0
  43. package/lib/commonjs/api/cache/CachingTaskParameters.js +6 -0
  44. package/lib/commonjs/api/cache/CachingTaskParameters.js.map +1 -0
  45. package/lib/commonjs/api/cache/MediaCacheAPI.js +24 -0
  46. package/lib/commonjs/api/cache/MediaCacheAPI.js.map +1 -0
  47. package/lib/commonjs/api/cache/barrel.js +83 -0
  48. package/lib/commonjs/api/cache/barrel.js.map +1 -0
  49. package/lib/commonjs/api/cache/events/CacheEvent.js +28 -0
  50. package/lib/commonjs/api/cache/events/CacheEvent.js.map +1 -0
  51. package/lib/commonjs/api/cache/events/CachingTaskEvent.js +17 -0
  52. package/lib/commonjs/api/cache/events/CachingTaskEvent.js.map +1 -0
  53. package/lib/commonjs/api/cache/events/barrel.js +28 -0
  54. package/lib/commonjs/api/cache/events/barrel.js.map +1 -0
  55. package/lib/commonjs/api/cache/hooks/barrel.js +39 -0
  56. package/lib/commonjs/api/cache/hooks/barrel.js.map +1 -0
  57. package/lib/commonjs/api/cache/hooks/useCachingTaskList.js +31 -0
  58. package/lib/commonjs/api/cache/hooks/useCachingTaskList.js.map +1 -0
  59. package/lib/commonjs/api/cache/hooks/useCachingTaskProgress.js +28 -0
  60. package/lib/commonjs/api/cache/hooks/useCachingTaskProgress.js.map +1 -0
  61. package/lib/commonjs/api/cache/hooks/useCachingTaskStatus.js +28 -0
  62. package/lib/commonjs/api/cache/hooks/useCachingTaskStatus.js.map +1 -0
  63. package/lib/commonjs/api/cast/CastState.js +3 -4
  64. package/lib/commonjs/api/cast/CastState.js.map +1 -1
  65. package/lib/commonjs/api/config/PlayerConfiguration.js.map +1 -1
  66. package/lib/commonjs/api/event/AdEvent.js +3 -4
  67. package/lib/commonjs/api/event/AdEvent.js.map +1 -1
  68. package/lib/commonjs/api/event/CastEvent.js +3 -4
  69. package/lib/commonjs/api/event/CastEvent.js.map +1 -1
  70. package/lib/commonjs/api/event/PlayerEvent.js +3 -4
  71. package/lib/commonjs/api/event/PlayerEvent.js.map +1 -1
  72. package/lib/commonjs/api/event/TrackEvent.js +12 -16
  73. package/lib/commonjs/api/event/TrackEvent.js.map +1 -1
  74. package/lib/commonjs/api/player/PlayerEventMap.js +7 -8
  75. package/lib/commonjs/api/player/PlayerEventMap.js.map +1 -1
  76. package/lib/commonjs/api/player/THEOplayer.js +6 -4
  77. package/lib/commonjs/api/player/THEOplayer.js.map +1 -1
  78. package/lib/commonjs/api/presentation/PresentationMode.js +3 -4
  79. package/lib/commonjs/api/presentation/PresentationMode.js.map +1 -1
  80. package/lib/commonjs/api/source/ads/Ads.js +3 -4
  81. package/lib/commonjs/api/source/ads/Ads.js.map +1 -1
  82. package/lib/commonjs/api/track/TextTrack.js +9 -12
  83. package/lib/commonjs/api/track/TextTrack.js.map +1 -1
  84. package/lib/commonjs/api/track/TextTrackStyle.js +3 -4
  85. package/lib/commonjs/api/track/TextTrackStyle.js.map +1 -1
  86. package/lib/commonjs/index.js +9 -1
  87. package/lib/commonjs/index.js.map +1 -1
  88. package/lib/commonjs/internal/THEOplayerView.js +1 -1
  89. package/lib/commonjs/internal/THEOplayerView.js.map +1 -1
  90. package/lib/commonjs/internal/THEOplayerView.style.js +1 -2
  91. package/lib/commonjs/internal/THEOplayerView.style.js.map +1 -1
  92. package/lib/commonjs/internal/THEOplayerView.web.js +5 -5
  93. package/lib/commonjs/internal/THEOplayerView.web.js.map +1 -1
  94. package/lib/commonjs/internal/adapter/THEOplayerAdapter.js.map +1 -1
  95. package/lib/commonjs/internal/adapter/THEOplayerWebAdapter.js +12 -13
  96. package/lib/commonjs/internal/adapter/THEOplayerWebAdapter.js.map +1 -1
  97. package/lib/commonjs/internal/adapter/WebEventForwarder.js +10 -10
  98. package/lib/commonjs/internal/adapter/WebEventForwarder.js.map +1 -1
  99. package/lib/commonjs/internal/adapter/abr/AbrAdapter.js.map +1 -1
  100. package/lib/commonjs/internal/adapter/ads/THEOplayerWebAdsAdapter.js +2 -2
  101. package/lib/commonjs/internal/adapter/ads/THEOplayerWebAdsAdapter.js.map +1 -1
  102. package/lib/commonjs/internal/adapter/cast/THEOplayerNativeCastAdapter.js +1 -1
  103. package/lib/commonjs/internal/adapter/cast/THEOplayerNativeCastAdapter.js.map +1 -1
  104. package/lib/commonjs/internal/adapter/cast/THEOplayerWebCastAdapter.js.map +1 -1
  105. package/lib/commonjs/internal/adapter/event/BaseEvent.js.map +1 -1
  106. package/lib/commonjs/internal/adapter/event/DefaultEventDispatcher.js +1 -1
  107. package/lib/commonjs/internal/adapter/event/DefaultEventDispatcher.js.map +1 -1
  108. package/lib/commonjs/internal/adapter/event/native/NativeTrackEvent.js +12 -16
  109. package/lib/commonjs/internal/adapter/event/native/NativeTrackEvent.js.map +1 -1
  110. package/lib/commonjs/internal/adapter/track/TextTrackStyleAdapter.js.map +1 -1
  111. package/lib/commonjs/internal/adapter/web/FullscreenAPI.js +1 -2
  112. package/lib/commonjs/internal/adapter/web/FullscreenAPI.js.map +1 -1
  113. package/lib/commonjs/internal/adapter/web/WebMediaSession.js +9 -11
  114. package/lib/commonjs/internal/adapter/web/WebMediaSession.js.map +1 -1
  115. package/lib/commonjs/internal/adapter/web/WebPresentationModeManager.js +4 -4
  116. package/lib/commonjs/internal/adapter/web/WebPresentationModeManager.js.map +1 -1
  117. package/lib/commonjs/internal/cache/MediaCache.js +117 -0
  118. package/lib/commonjs/internal/cache/MediaCache.js.map +1 -0
  119. package/lib/commonjs/internal/cache/MediaCache.web.js +54 -0
  120. package/lib/commonjs/internal/cache/MediaCache.web.js.map +1 -0
  121. package/lib/commonjs/internal/cache/NativeCachingTaskAdapter.js +59 -0
  122. package/lib/commonjs/internal/cache/NativeCachingTaskAdapter.js.map +1 -0
  123. package/lib/commonjs/internal/cache/NativeCachingTaskParametersAdapter.js +27 -0
  124. package/lib/commonjs/internal/cache/NativeCachingTaskParametersAdapter.js.map +1 -0
  125. package/lib/commonjs/internal/cache/WebCachingTaskAdapter.js +71 -0
  126. package/lib/commonjs/internal/cache/WebCachingTaskAdapter.js.map +1 -0
  127. package/lib/commonjs/internal/drm/ContentProtectionRegistry.js +1 -2
  128. package/lib/commonjs/internal/drm/ContentProtectionRegistry.js.map +1 -1
  129. package/lib/commonjs/internal/drm/ContentProtectionRegistry.web.js +1 -2
  130. package/lib/commonjs/internal/drm/ContentProtectionRegistry.web.js.map +1 -1
  131. package/lib/commonjs/internal/drm/NativeCertificateResponse.js.map +1 -1
  132. package/lib/commonjs/internal/drm/NativeLicenseResponse.js.map +1 -1
  133. package/lib/commonjs/internal/utils/TypeUtils.js +2 -4
  134. package/lib/commonjs/internal/utils/TypeUtils.js.map +1 -1
  135. package/lib/module/api/abr/ABRConfiguration.js +24 -6
  136. package/lib/module/api/abr/ABRConfiguration.js.map +1 -1
  137. package/lib/module/api/ads/GoogleImaConfiguration.js.map +1 -1
  138. package/lib/module/api/barrel.js +1 -0
  139. package/lib/module/api/barrel.js.map +1 -1
  140. package/lib/module/api/cache/CachingPreferredTrackSelection.js +2 -0
  141. package/lib/module/api/cache/CachingPreferredTrackSelection.js.map +1 -0
  142. package/lib/module/api/cache/CachingTask.js +25 -0
  143. package/lib/module/api/cache/CachingTask.js.map +1 -0
  144. package/lib/module/api/cache/CachingTaskLicense.js +2 -0
  145. package/lib/module/api/cache/CachingTaskLicense.js.map +1 -0
  146. package/lib/module/api/cache/CachingTaskList.js +2 -0
  147. package/lib/module/api/cache/CachingTaskList.js.map +1 -0
  148. package/lib/module/api/cache/CachingTaskParameters.js +2 -0
  149. package/lib/module/api/cache/CachingTaskParameters.js.map +1 -0
  150. package/lib/module/api/cache/MediaCacheAPI.js +19 -0
  151. package/lib/module/api/cache/MediaCacheAPI.js.map +1 -0
  152. package/lib/module/api/cache/barrel.js +8 -0
  153. package/lib/module/api/cache/barrel.js.map +1 -0
  154. package/lib/module/api/cache/events/CacheEvent.js +25 -0
  155. package/lib/module/api/cache/events/CacheEvent.js.map +1 -0
  156. package/lib/module/api/cache/events/CachingTaskEvent.js +12 -0
  157. package/lib/module/api/cache/events/CachingTaskEvent.js.map +1 -0
  158. package/lib/module/api/cache/events/barrel.js +3 -0
  159. package/lib/module/api/cache/events/barrel.js.map +1 -0
  160. package/lib/module/api/cache/hooks/barrel.js +4 -0
  161. package/lib/module/api/cache/hooks/barrel.js.map +1 -0
  162. package/lib/module/api/cache/hooks/useCachingTaskList.js +24 -0
  163. package/lib/module/api/cache/hooks/useCachingTaskList.js.map +1 -0
  164. package/lib/module/api/cache/hooks/useCachingTaskProgress.js +21 -0
  165. package/lib/module/api/cache/hooks/useCachingTaskProgress.js.map +1 -0
  166. package/lib/module/api/cache/hooks/useCachingTaskStatus.js +21 -0
  167. package/lib/module/api/cache/hooks/useCachingTaskStatus.js.map +1 -0
  168. package/lib/module/api/cast/CastState.js +3 -3
  169. package/lib/module/api/cast/CastState.js.map +1 -1
  170. package/lib/module/api/config/PlayerConfiguration.js.map +1 -1
  171. package/lib/module/api/event/AdEvent.js +3 -3
  172. package/lib/module/api/event/AdEvent.js.map +1 -1
  173. package/lib/module/api/event/CastEvent.js +3 -3
  174. package/lib/module/api/event/CastEvent.js.map +1 -1
  175. package/lib/module/api/event/PlayerEvent.js +3 -3
  176. package/lib/module/api/event/PlayerEvent.js.map +1 -1
  177. package/lib/module/api/event/TrackEvent.js +12 -12
  178. package/lib/module/api/event/TrackEvent.js.map +1 -1
  179. package/lib/module/api/player/PlayerEventMap.js +8 -8
  180. package/lib/module/api/player/PlayerEventMap.js.map +1 -1
  181. package/lib/module/api/player/THEOplayer.js +7 -3
  182. package/lib/module/api/player/THEOplayer.js.map +1 -1
  183. package/lib/module/api/presentation/PresentationMode.js +3 -3
  184. package/lib/module/api/presentation/PresentationMode.js.map +1 -1
  185. package/lib/module/api/source/ads/Ads.js +3 -3
  186. package/lib/module/api/source/ads/Ads.js.map +1 -1
  187. package/lib/module/api/track/TextTrack.js +9 -9
  188. package/lib/module/api/track/TextTrack.js.map +1 -1
  189. package/lib/module/api/track/TextTrackStyle.js +3 -3
  190. package/lib/module/api/track/TextTrackStyle.js.map +1 -1
  191. package/lib/module/index.js +1 -0
  192. package/lib/module/index.js.map +1 -1
  193. package/lib/module/internal/THEOplayerView.js +1 -1
  194. package/lib/module/internal/THEOplayerView.js.map +1 -1
  195. package/lib/module/internal/THEOplayerView.web.js +5 -5
  196. package/lib/module/internal/THEOplayerView.web.js.map +1 -1
  197. package/lib/module/internal/adapter/THEOplayerAdapter.js.map +1 -1
  198. package/lib/module/internal/adapter/THEOplayerWebAdapter.js +12 -11
  199. package/lib/module/internal/adapter/THEOplayerWebAdapter.js.map +1 -1
  200. package/lib/module/internal/adapter/WebEventForwarder.js +10 -10
  201. package/lib/module/internal/adapter/WebEventForwarder.js.map +1 -1
  202. package/lib/module/internal/adapter/abr/AbrAdapter.js.map +1 -1
  203. package/lib/module/internal/adapter/ads/THEOplayerWebAdsAdapter.js +2 -2
  204. package/lib/module/internal/adapter/ads/THEOplayerWebAdsAdapter.js.map +1 -1
  205. package/lib/module/internal/adapter/cast/THEOplayerNativeCastAdapter.js +1 -1
  206. package/lib/module/internal/adapter/cast/THEOplayerNativeCastAdapter.js.map +1 -1
  207. package/lib/module/internal/adapter/cast/THEOplayerWebCastAdapter.js.map +1 -1
  208. package/lib/module/internal/adapter/event/BaseEvent.js.map +1 -1
  209. package/lib/module/internal/adapter/event/DefaultEventDispatcher.js +1 -1
  210. package/lib/module/internal/adapter/event/DefaultEventDispatcher.js.map +1 -1
  211. package/lib/module/internal/adapter/event/native/NativeTrackEvent.js +12 -12
  212. package/lib/module/internal/adapter/event/native/NativeTrackEvent.js.map +1 -1
  213. package/lib/module/internal/adapter/track/TextTrackStyleAdapter.js.map +1 -1
  214. package/lib/module/internal/adapter/web/FullscreenAPI.js.map +1 -1
  215. package/lib/module/internal/adapter/web/WebMediaSession.js +8 -9
  216. package/lib/module/internal/adapter/web/WebMediaSession.js.map +1 -1
  217. package/lib/module/internal/adapter/web/WebPresentationModeManager.js +4 -4
  218. package/lib/module/internal/adapter/web/WebPresentationModeManager.js.map +1 -1
  219. package/lib/module/internal/cache/MediaCache.js +110 -0
  220. package/lib/module/internal/cache/MediaCache.js.map +1 -0
  221. package/lib/module/internal/cache/MediaCache.web.js +45 -0
  222. package/lib/module/internal/cache/MediaCache.web.js.map +1 -0
  223. package/lib/module/internal/cache/NativeCachingTaskAdapter.js +52 -0
  224. package/lib/module/internal/cache/NativeCachingTaskAdapter.js.map +1 -0
  225. package/lib/module/internal/cache/NativeCachingTaskParametersAdapter.js +20 -0
  226. package/lib/module/internal/cache/NativeCachingTaskParametersAdapter.js.map +1 -0
  227. package/lib/module/internal/cache/WebCachingTaskAdapter.js +64 -0
  228. package/lib/module/internal/cache/WebCachingTaskAdapter.js.map +1 -0
  229. package/lib/module/internal/drm/ContentProtectionRegistry.js.map +1 -1
  230. package/lib/module/internal/drm/ContentProtectionRegistry.web.js.map +1 -1
  231. package/lib/module/internal/drm/NativeCertificateResponse.js.map +1 -1
  232. package/lib/module/internal/drm/NativeLicenseResponse.js.map +1 -1
  233. package/lib/typescript/api/abr/ABRConfiguration.d.ts +1 -1
  234. package/lib/typescript/api/ads/Ad.d.ts +2 -2
  235. package/lib/typescript/api/ads/AdsConfiguration.d.ts +2 -2
  236. package/lib/typescript/api/ads/GoogleImaConfiguration.d.ts +1 -0
  237. package/lib/typescript/api/barrel.d.ts +1 -0
  238. package/lib/typescript/api/cache/CachingPreferredTrackSelection.d.ts +23 -0
  239. package/lib/typescript/api/cache/CachingTask.d.ts +93 -0
  240. package/lib/typescript/api/cache/CachingTaskLicense.d.ts +14 -0
  241. package/lib/typescript/api/cache/CachingTaskList.d.ts +7 -0
  242. package/lib/typescript/api/cache/CachingTaskParameters.d.ts +57 -0
  243. package/lib/typescript/api/cache/MediaCacheAPI.d.ts +39 -0
  244. package/lib/typescript/api/cache/barrel.d.ts +7 -0
  245. package/lib/typescript/api/cache/events/CacheEvent.d.ts +55 -0
  246. package/lib/typescript/api/cache/events/CachingTaskEvent.d.ts +22 -0
  247. package/lib/typescript/api/cache/events/barrel.d.ts +2 -0
  248. package/lib/typescript/api/cache/hooks/barrel.d.ts +3 -0
  249. package/lib/typescript/api/cache/hooks/useCachingTaskList.d.ts +1 -0
  250. package/lib/typescript/api/cache/hooks/useCachingTaskProgress.d.ts +2 -0
  251. package/lib/typescript/api/cache/hooks/useCachingTaskStatus.d.ts +2 -0
  252. package/lib/typescript/api/cast/CastConfiguration.d.ts +1 -1
  253. package/lib/typescript/api/config/PlayerConfiguration.d.ts +4 -1
  254. package/lib/typescript/api/drm/ContentProtectionIntegration.d.ts +2 -2
  255. package/lib/typescript/api/drm/ContentProtectionRequest.d.ts +1 -1
  256. package/lib/typescript/api/error/ChromecastError.d.ts +1 -1
  257. package/lib/typescript/api/event/CastEvent.d.ts +1 -1
  258. package/lib/typescript/api/event/EventDispatcher.d.ts +2 -2
  259. package/lib/typescript/api/event/EventListener.d.ts +1 -1
  260. package/lib/typescript/api/player/THEOplayer.d.ts +2 -2
  261. package/lib/typescript/api/source/SourceDescription.d.ts +3 -3
  262. package/lib/typescript/api/source/ads/Ads.d.ts +1 -1
  263. package/lib/typescript/api/source/ads/FreeWheelAdDescription.d.ts +1 -1
  264. package/lib/typescript/api/source/ads/ssai/GoogleDAIConfiguration.d.ts +2 -2
  265. package/lib/typescript/api/source/ads/ssai/ImagineServerSideAdInsertionConfiguration.d.ts +1 -1
  266. package/lib/typescript/api/source/ads/ssai/ServerSideAdInsertionConfiguration.d.ts +1 -1
  267. package/lib/typescript/api/source/ads/ssai/YospaceServerSideAdInsertionConfiguration.d.ts +2 -2
  268. package/lib/typescript/api/source/dash/DashPlaybackConfiguration.d.ts +1 -1
  269. package/lib/typescript/api/source/drm/DRMConfiguration.d.ts +3 -3
  270. package/lib/typescript/api/source/hls/HlsPlaybackConfiguration.d.ts +1 -1
  271. package/lib/typescript/api/track/MediaTrack.d.ts +1 -1
  272. package/lib/typescript/index.d.ts +1 -0
  273. package/lib/typescript/internal/THEOplayerView.web.d.ts +1 -1
  274. package/lib/typescript/internal/adapter/THEOplayerWebAdapter.d.ts +2 -2
  275. package/lib/typescript/internal/adapter/WebEventForwarder.d.ts +2 -2
  276. package/lib/typescript/internal/adapter/ads/THEOplayerWebAdsAdapter.d.ts +2 -2
  277. package/lib/typescript/internal/adapter/cast/THEOplayerWebCastAdapter.d.ts +2 -2
  278. package/lib/typescript/internal/adapter/event/native/NativeCastEvent.d.ts +1 -1
  279. package/lib/typescript/internal/adapter/web/WebPresentationModeManager.d.ts +2 -2
  280. package/lib/typescript/internal/cache/MediaCache.d.ts +25 -0
  281. package/lib/typescript/internal/cache/MediaCache.web.d.ts +16 -0
  282. package/lib/typescript/internal/cache/NativeCachingTaskAdapter.d.ts +33 -0
  283. package/lib/typescript/internal/cache/NativeCachingTaskParametersAdapter.d.ts +11 -0
  284. package/lib/typescript/internal/cache/WebCachingTaskAdapter.d.ts +25 -0
  285. package/package.json +16 -15
  286. package/react-native-theoplayer.podspec +4 -4
  287. package/src/api/ads/GoogleImaConfiguration.ts +1 -0
  288. package/src/api/barrel.ts +1 -0
  289. package/src/api/cache/CachingPreferredTrackSelection.ts +24 -0
  290. package/src/api/cache/CachingTask.ts +107 -0
  291. package/src/api/cache/CachingTaskLicense.ts +15 -0
  292. package/src/api/cache/CachingTaskList.ts +8 -0
  293. package/src/api/cache/CachingTaskParameters.ts +62 -0
  294. package/src/api/cache/MediaCacheAPI.ts +43 -0
  295. package/src/api/cache/barrel.ts +7 -0
  296. package/src/api/cache/events/CacheEvent.ts +62 -0
  297. package/src/api/cache/events/CachingTaskEvent.ts +27 -0
  298. package/src/api/cache/events/barrel.ts +2 -0
  299. package/src/api/cache/hooks/barrel.ts +3 -0
  300. package/src/api/cache/hooks/useCachingTaskList.ts +23 -0
  301. package/src/api/cache/hooks/useCachingTaskProgress.ts +20 -0
  302. package/src/api/cache/hooks/useCachingTaskStatus.ts +20 -0
  303. package/src/api/config/PlayerConfiguration.ts +3 -0
  304. package/src/index.tsx +1 -0
  305. package/src/internal/THEOplayerView.web.tsx +5 -5
  306. package/src/internal/adapter/THEOplayerWebAdapter.ts +6 -6
  307. package/src/internal/adapter/WebEventForwarder.ts +3 -3
  308. package/src/internal/adapter/ads/THEOplayerWebAdsAdapter.ts +3 -3
  309. package/src/internal/adapter/cast/THEOplayerWebCastAdapter.ts +3 -3
  310. package/src/internal/adapter/web/WebPresentationModeManager.ts +3 -3
  311. package/src/internal/cache/MediaCache.ts +151 -0
  312. package/src/internal/cache/MediaCache.web.ts +54 -0
  313. package/src/internal/cache/NativeCachingTaskAdapter.ts +81 -0
  314. package/src/internal/cache/NativeCachingTaskParametersAdapter.ts +32 -0
  315. package/src/internal/cache/WebCachingTaskAdapter.ts +95 -0
  316. package/android/src/main/java/com/theoplayer/track/QualityListFilter.kt +0 -28
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CacheEventType"],"sources":["CacheEvent.ts"],"sourcesContent":["import type { Event } from '../../event/Event';\nimport type { CacheStatus } from '../MediaCacheAPI';\nimport type { CachingTask } from '../CachingTask';\n\nexport enum CacheEventType {\n statechange = 'statechange',\n addtask = 'addtask',\n removetask = 'removetask',\n}\n\n/**\n * The events dispatched by the {@link Cache | cache API}.\n *\n * @public\n */\nexport interface CacheEventMap {\n /**\n * Dispatched when {@link Cache.status} changes.\n */\n [CacheEventType.statechange]: Event<CacheEventType.statechange>;\n\n /**\n * {@inheritDoc AddCachingTaskEvent}\n */\n [CacheEventType.addtask]: AddCachingTaskEvent;\n\n /**\n * {@inheritDoc AddCachingTaskEvent}\n */\n [CacheEventType.removetask]: RemoveCachingTaskEvent;\n}\n\nexport interface CacheStatusChangeEvent extends Event<CacheEventType.statechange> {\n /**\n * The cache's new status.\n */\n readonly status: CacheStatus;\n}\n\n/**\n * Dispatched when a caching task is added.\n *\n * @public\n */\nexport interface AddCachingTaskEvent extends Event<CacheEventType.addtask> {\n /**\n * The task which has been added.\n */\n readonly task: CachingTask;\n}\n\n/**\n * Dispatched when a caching task is removed.\n *\n * @public\n */\nexport interface RemoveCachingTaskEvent extends Event<CacheEventType.removetask> {\n /**\n * The task which has been removed.\n */\n readonly task: CachingTask;\n}\n"],"mappings":"AAIA,WAAYA,cAAc,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"}
@@ -0,0 +1,12 @@
1
+ export let CachingTaskEventType = /*#__PURE__*/function (CachingTaskEventType) {
2
+ CachingTaskEventType["progress"] = "progress";
3
+ CachingTaskEventType["statechange"] = "statechange";
4
+ return CachingTaskEventType;
5
+ }({});
6
+
7
+ /**
8
+ * The events dispatched by the {@link CachingTask}.
9
+ *
10
+ * @public
11
+ */
12
+ //# sourceMappingURL=CachingTaskEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CachingTaskEventType"],"sources":["CachingTaskEvent.ts"],"sourcesContent":["import type { Event } from '../../event/Event';\n\nexport enum CachingTaskEventType {\n progress = 'progress',\n statechange = 'statechange',\n}\n\n/**\n * The events dispatched by the {@link CachingTask}.\n *\n * @public\n */\nexport interface CachingTaskEventMap {\n /**\n * Dispatched when a segment is added to the cache.\n */\n [CachingTaskEventType.progress]: Event<CachingTaskEventType.progress>;\n\n /**\n * Dispatched when {@link CachingTask.status} changes.\n */\n [CachingTaskEventType.statechange]: Event<CachingTaskEventType.statechange>;\n}\n\nexport type CachingTaskProgressEvent = Event<CachingTaskEventType.progress>;\n\nexport type CachingTaskStatusChangeEvent = Event<CachingTaskEventType.statechange>;\n"],"mappings":"AAEA,WAAYA,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;;AAKhC;AACA;AACA;AACA;AACA"}
@@ -0,0 +1,3 @@
1
+ export * from './CacheEvent';
2
+ export * from './CachingTaskEvent';
3
+ //# sourceMappingURL=barrel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["barrel.ts"],"sourcesContent":["export * from './CacheEvent';\nexport * from './CachingTaskEvent';\n"],"mappings":"AAAA,cAAc,cAAc;AAC5B,cAAc,oBAAoB"}
@@ -0,0 +1,4 @@
1
+ export * from './useCachingTaskList';
2
+ export * from './useCachingTaskProgress';
3
+ export * from './useCachingTaskStatus';
4
+ //# sourceMappingURL=barrel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["barrel.ts"],"sourcesContent":["export * from './useCachingTaskList';\nexport * from './useCachingTaskProgress';\nexport * from './useCachingTaskStatus';\n"],"mappings":"AAAA,cAAc,sBAAsB;AACpC,cAAc,0BAA0B;AACxC,cAAc,wBAAwB"}
@@ -0,0 +1,24 @@
1
+ import { CacheEventType, MediaCache } from 'react-native-theoplayer';
2
+ import { useEffect, useState } from 'react';
3
+ export const useCachingTaskList = function () {
4
+ let debug = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
5
+ const [tasks, setTasks] = useState([...MediaCache.tasks]);
6
+ useEffect(() => {
7
+ const taskListChangeListener = () => {
8
+ if (debug) {
9
+ console.log('[MediaCache] task list changed: ', MediaCache.tasks);
10
+ }
11
+ setTasks([...MediaCache.tasks]);
12
+ };
13
+ MediaCache.addEventListener(CacheEventType.addtask, taskListChangeListener);
14
+ MediaCache.addEventListener(CacheEventType.removetask, taskListChangeListener);
15
+ MediaCache.addEventListener(CacheEventType.statechange, taskListChangeListener);
16
+ return () => {
17
+ MediaCache.removeEventListener(CacheEventType.addtask, taskListChangeListener);
18
+ MediaCache.removeEventListener(CacheEventType.removetask, taskListChangeListener);
19
+ MediaCache.addEventListener(CacheEventType.statechange, taskListChangeListener);
20
+ };
21
+ }, []);
22
+ return tasks;
23
+ };
24
+ //# sourceMappingURL=useCachingTaskList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CacheEventType","MediaCache","useEffect","useState","useCachingTaskList","debug","arguments","length","undefined","tasks","setTasks","taskListChangeListener","console","log","addEventListener","addtask","removetask","statechange","removeEventListener"],"sources":["useCachingTaskList.ts"],"sourcesContent":["import { CacheEventType, MediaCache } from 'react-native-theoplayer';\nimport { useEffect, useState } from 'react';\n\nexport const useCachingTaskList = (debug = false) => {\n const [tasks, setTasks] = useState([...MediaCache.tasks]);\n useEffect(() => {\n const taskListChangeListener = () => {\n if (debug) {\n console.log('[MediaCache] task list changed: ', MediaCache.tasks);\n }\n setTasks([...MediaCache.tasks]);\n };\n MediaCache.addEventListener(CacheEventType.addtask, taskListChangeListener);\n MediaCache.addEventListener(CacheEventType.removetask, taskListChangeListener);\n MediaCache.addEventListener(CacheEventType.statechange, taskListChangeListener);\n return () => {\n MediaCache.removeEventListener(CacheEventType.addtask, taskListChangeListener);\n MediaCache.removeEventListener(CacheEventType.removetask, taskListChangeListener);\n MediaCache.addEventListener(CacheEventType.statechange, taskListChangeListener);\n };\n }, []);\n return tasks;\n};\n"],"mappings":"AAAA,SAASA,cAAc,EAAEC,UAAU,QAAQ,yBAAyB;AACpE,SAASC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAE3C,OAAO,MAAMC,kBAAkB,GAAG,SAAAA,CAAA,EAAmB;EAAA,IAAlBC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAC9C,MAAM,CAACG,KAAK,EAAEC,QAAQ,CAAC,GAAGP,QAAQ,CAAC,CAAC,GAAGF,UAAU,CAACQ,KAAK,CAAC,CAAC;EACzDP,SAAS,CAAC,MAAM;IACd,MAAMS,sBAAsB,GAAGA,CAAA,KAAM;MACnC,IAAIN,KAAK,EAAE;QACTO,OAAO,CAACC,GAAG,CAAC,kCAAkC,EAAEZ,UAAU,CAACQ,KAAK,CAAC;MACnE;MACAC,QAAQ,CAAC,CAAC,GAAGT,UAAU,CAACQ,KAAK,CAAC,CAAC;IACjC,CAAC;IACDR,UAAU,CAACa,gBAAgB,CAACd,cAAc,CAACe,OAAO,EAAEJ,sBAAsB,CAAC;IAC3EV,UAAU,CAACa,gBAAgB,CAACd,cAAc,CAACgB,UAAU,EAAEL,sBAAsB,CAAC;IAC9EV,UAAU,CAACa,gBAAgB,CAACd,cAAc,CAACiB,WAAW,EAAEN,sBAAsB,CAAC;IAC/E,OAAO,MAAM;MACXV,UAAU,CAACiB,mBAAmB,CAAClB,cAAc,CAACe,OAAO,EAAEJ,sBAAsB,CAAC;MAC9EV,UAAU,CAACiB,mBAAmB,CAAClB,cAAc,CAACgB,UAAU,EAAEL,sBAAsB,CAAC;MACjFV,UAAU,CAACa,gBAAgB,CAACd,cAAc,CAACiB,WAAW,EAAEN,sBAAsB,CAAC;IACjF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EACN,OAAOF,KAAK;AACd,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { CachingTaskEventType } from 'react-native-theoplayer';
2
+ import { useEffect, useState } from 'react';
3
+ export const useCachingTaskProgress = function (task) {
4
+ let debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
5
+ const [progress, setProgress] = useState(task.percentageCached);
6
+ useEffect(() => {
7
+ const onProgress = () => {
8
+ const percentageCached = task.percentageCached;
9
+ if (debug) {
10
+ console.log('[MediaCache] progress change', percentageCached);
11
+ }
12
+ setProgress(percentageCached);
13
+ };
14
+ task.addEventListener(CachingTaskEventType.progress, onProgress);
15
+ return () => {
16
+ task.removeEventListener(CachingTaskEventType.progress, onProgress);
17
+ };
18
+ }, []);
19
+ return progress;
20
+ };
21
+ //# sourceMappingURL=useCachingTaskProgress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CachingTaskEventType","useEffect","useState","useCachingTaskProgress","task","debug","arguments","length","undefined","progress","setProgress","percentageCached","onProgress","console","log","addEventListener","removeEventListener"],"sources":["useCachingTaskProgress.ts"],"sourcesContent":["import { CachingTask, CachingTaskEventType } from 'react-native-theoplayer';\nimport { useEffect, useState } from 'react';\n\nexport const useCachingTaskProgress = (task: CachingTask, debug = true) => {\n const [progress, setProgress] = useState<number | undefined>(task.percentageCached);\n useEffect(() => {\n const onProgress = () => {\n const percentageCached = task.percentageCached;\n if (debug) {\n console.log('[MediaCache] progress change', percentageCached);\n }\n setProgress(percentageCached);\n };\n task.addEventListener(CachingTaskEventType.progress, onProgress);\n return () => {\n task.removeEventListener(CachingTaskEventType.progress, onProgress);\n };\n }, []);\n return progress;\n};\n"],"mappings":"AAAA,SAAsBA,oBAAoB,QAAQ,yBAAyB;AAC3E,SAASC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAE3C,OAAO,MAAMC,sBAAsB,GAAG,SAAAA,CAACC,IAAiB,EAAmB;EAAA,IAAjBC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EACpE,MAAM,CAACG,QAAQ,EAAEC,WAAW,CAAC,GAAGR,QAAQ,CAAqBE,IAAI,CAACO,gBAAgB,CAAC;EACnFV,SAAS,CAAC,MAAM;IACd,MAAMW,UAAU,GAAGA,CAAA,KAAM;MACvB,MAAMD,gBAAgB,GAAGP,IAAI,CAACO,gBAAgB;MAC9C,IAAIN,KAAK,EAAE;QACTQ,OAAO,CAACC,GAAG,CAAC,8BAA8B,EAAEH,gBAAgB,CAAC;MAC/D;MACAD,WAAW,CAACC,gBAAgB,CAAC;IAC/B,CAAC;IACDP,IAAI,CAACW,gBAAgB,CAACf,oBAAoB,CAACS,QAAQ,EAAEG,UAAU,CAAC;IAChE,OAAO,MAAM;MACXR,IAAI,CAACY,mBAAmB,CAAChB,oBAAoB,CAACS,QAAQ,EAAEG,UAAU,CAAC;IACrE,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EACN,OAAOH,QAAQ;AACjB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { CachingTaskEventType } from 'react-native-theoplayer';
2
+ import { useEffect, useState } from 'react';
3
+ export const useCachingTaskStatus = function (task) {
4
+ let debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
5
+ const [status, setStatus] = useState(task.status);
6
+ useEffect(() => {
7
+ const onStateChange = () => {
8
+ const status = task.status;
9
+ if (debug) {
10
+ console.log('[MediaCache] state change', status);
11
+ }
12
+ setStatus(status);
13
+ };
14
+ task.addEventListener(CachingTaskEventType.statechange, onStateChange);
15
+ return () => {
16
+ task.removeEventListener(CachingTaskEventType.statechange, onStateChange);
17
+ };
18
+ }, []);
19
+ return status;
20
+ };
21
+ //# sourceMappingURL=useCachingTaskStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CachingTaskEventType","useEffect","useState","useCachingTaskStatus","task","debug","arguments","length","undefined","status","setStatus","onStateChange","console","log","addEventListener","statechange","removeEventListener"],"sources":["useCachingTaskStatus.ts"],"sourcesContent":["import { CacheTaskStatus, CachingTask, CachingTaskEventType } from 'react-native-theoplayer';\nimport { useEffect, useState } from 'react';\n\nexport const useCachingTaskStatus = (task: CachingTask, debug = false) => {\n const [status, setStatus] = useState<CacheTaskStatus | undefined>(task.status);\n useEffect(() => {\n const onStateChange = () => {\n const status = task.status;\n if (debug) {\n console.log('[MediaCache] state change', status);\n }\n setStatus(status);\n };\n task.addEventListener(CachingTaskEventType.statechange, onStateChange);\n return () => {\n task.removeEventListener(CachingTaskEventType.statechange, onStateChange);\n };\n }, []);\n return status;\n};\n"],"mappings":"AAAA,SAAuCA,oBAAoB,QAAQ,yBAAyB;AAC5F,SAASC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAE3C,OAAO,MAAMC,oBAAoB,GAAG,SAAAA,CAACC,IAAiB,EAAoB;EAAA,IAAlBC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EACnE,MAAM,CAACG,MAAM,EAAEC,SAAS,CAAC,GAAGR,QAAQ,CAA8BE,IAAI,CAACK,MAAM,CAAC;EAC9ER,SAAS,CAAC,MAAM;IACd,MAAMU,aAAa,GAAGA,CAAA,KAAM;MAC1B,MAAMF,MAAM,GAAGL,IAAI,CAACK,MAAM;MAC1B,IAAIJ,KAAK,EAAE;QACTO,OAAO,CAACC,GAAG,CAAC,2BAA2B,EAAEJ,MAAM,CAAC;MAClD;MACAC,SAAS,CAACD,MAAM,CAAC;IACnB,CAAC;IACDL,IAAI,CAACU,gBAAgB,CAACd,oBAAoB,CAACe,WAAW,EAAEJ,aAAa,CAAC;IACtE,OAAO,MAAM;MACXP,IAAI,CAACY,mBAAmB,CAAChB,oBAAoB,CAACe,WAAW,EAAEJ,aAAa,CAAC;IAC3E,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EACN,OAAOF,MAAM;AACf,CAAC"}
@@ -7,11 +7,11 @@
7
7
  *
8
8
  * @public
9
9
  */
10
- export let CastState;
11
- (function (CastState) {
10
+ export let CastState = /*#__PURE__*/function (CastState) {
12
11
  CastState["unavailable"] = "unavailable";
13
12
  CastState["available"] = "available";
14
13
  CastState["connecting"] = "connecting";
15
14
  CastState["connected"] = "connected";
16
- })(CastState || (CastState = {}));
15
+ return CastState;
16
+ }({});
17
17
  //# sourceMappingURL=CastState.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CastState"],"sources":["CastState.ts"],"sourcesContent":["/**\n * The state of a casting process, represented by a value from the following list:\n * <br/> - `'unavailable'`: No available cast devices.\n * <br/> - `'available'`: Cast device available, but the player is not connected.\n * <br/> - `'connecting'`: Cast device available and the player is connecting.\n * <br/> - `'connected'`: Cast device available and the player is connected.\n *\n * @public\n */\nexport enum CastState {\n unavailable = \"unavailable\",\n available = \"available\",\n connecting = \"connecting\",\n connected = \"connected\",\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAYA,SAAS;AAKpB,WALWA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;AAAA,GAATA,SAAS,KAATA,SAAS"}
1
+ {"version":3,"names":["CastState"],"sources":["CastState.ts"],"sourcesContent":["/**\n * The state of a casting process, represented by a value from the following list:\n * <br/> - `'unavailable'`: No available cast devices.\n * <br/> - `'available'`: Cast device available, but the player is not connected.\n * <br/> - `'connecting'`: Cast device available and the player is connecting.\n * <br/> - `'connected'`: Cast device available and the player is connected.\n *\n * @public\n */\nexport enum CastState {\n unavailable = \"unavailable\",\n available = \"available\",\n connecting = \"connecting\",\n connected = \"connected\",\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAYA,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["PlayerConfiguration.ts"],"sourcesContent":["import type { AdsConfiguration } from '../ads/AdsConfiguration';\nimport type { CastConfiguration } from '../cast/CastConfiguration';\nimport type { MediaControlConfiguration } from '../media/MediaControlConfiguration';\nimport type { RetryConfiguration } from '../utils/RetryConfiguration';\n\nexport interface PlayerConfiguration {\n /**\n * The directory in which the THEOplayer library worker files are located.\n * These worker files are THEOplayer.transmux.*\n *\n * @remarks\n * <br/> - This parameter is required when using a HLS source and has no default.\n *\n * @example\n * `'/lib/theoplayer/'`\n */\n libraryLocation?: string;\n\n /**\n * The muted autoplay policy for web.\n *\n * @remarks\n * <br/> - The muted autoplay policy is impacted by this property and {@link SourceConfiguration.mutedAutoplay}.\n *\n * @defaultValue `'none'`.\n */\n mutedAutoplay?: MutedAutoplayConfiguration;\n\n /**\n * The ads configuration for the player.\n */\n ads?: AdsConfiguration;\n\n /**\n * The cast configuration for the player.\n */\n cast?: CastConfiguration;\n\n /**\n * The configuration of media controls and media sessions across platforms.\n */\n mediaControl?: MediaControlConfiguration;\n\n /**\n * The license for the player\n */\n readonly license?: string;\n\n /**\n * The url to fetch the license for the player\n */\n readonly licenseUrl?: string;\n\n /**\n * Sets whether the native player is chromeless (without UI).\n */\n readonly chromeless?: boolean;\n\n /**\n * The retry configuration for the player.\n *\n * @remarks\n * <br/> - This parameter only applies to Web and Android platforms.\n */\n readonly retryConfiguration?: RetryConfiguration;\n}\n\n/**\n * The muted autoplay policy of a player for web.\n * <br/> - `'none'`: Disallow muted autoplay. If the player is requested to autoplay while unmuted, and the platform does not support unmuted autoplay, the player will not start playback.\n * <br/> - `'all'`: Allow muted autoplay. If the player is requested to autoplay while unmuted, and the platform supports muted autoplay, the player will start muted playback.\n * <br/> - `'content'`: Allow muted autoplay only for the main content. Disallow muted autoplay for e.g. advertisements. (Not yet supported.)\n *\n * @public\n */\nexport type MutedAutoplayConfiguration = 'none' | 'all' | 'content';\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["PlayerConfiguration.ts"],"sourcesContent":["import type { AdsConfiguration } from '../ads/AdsConfiguration';\nimport type { CastConfiguration } from '../cast/CastConfiguration';\nimport type { MediaControlConfiguration } from '../media/MediaControlConfiguration';\nimport type { RetryConfiguration } from '../utils/RetryConfiguration';\n\nexport interface PlayerConfiguration {\n /**\n * The directory in which the THEOplayer library worker files are located.\n * These worker files are THEOplayer.transmux.*\n *\n * @remarks\n * <br/> - This parameter is required when using a HLS source and has no default.\n *\n * @example\n * `'/lib/theoplayer/'`\n */\n libraryLocation?: string;\n\n /**\n * The muted autoplay policy for web.\n *\n * @remarks\n * <br/> - The muted autoplay policy is impacted by this property and {@link SourceConfiguration.mutedAutoplay}.\n *\n * @defaultValue `'none'`.\n */\n mutedAutoplay?: MutedAutoplayConfiguration;\n\n /**\n * The ads configuration for the player.\n */\n ads?: AdsConfiguration;\n\n /**\n * The cast configuration for the player.\n */\n cast?: CastConfiguration;\n\n /**\n * The configuration of media controls and media sessions across platforms.\n */\n mediaControl?: MediaControlConfiguration;\n\n /**\n * The license for the player\n */\n readonly license?: string;\n\n /**\n * The url to fetch the license for the player\n */\n readonly licenseUrl?: string;\n\n /**\n * Sets whether the native player is chromeless (without UI).\n *\n * @remarks\n * <br/> - This parameter only applies to Web platforms.\n */\n readonly chromeless?: boolean;\n\n /**\n * The retry configuration for the player.\n *\n * @remarks\n * <br/> - This parameter only applies to Web and Android platforms.\n */\n readonly retryConfiguration?: RetryConfiguration;\n}\n\n/**\n * The muted autoplay policy of a player for web.\n * <br/> - `'none'`: Disallow muted autoplay. If the player is requested to autoplay while unmuted, and the platform does not support unmuted autoplay, the player will not start playback.\n * <br/> - `'all'`: Allow muted autoplay. If the player is requested to autoplay while unmuted, and the platform supports muted autoplay, the player will start muted playback.\n * <br/> - `'content'`: Allow muted autoplay only for the main content. Disallow muted autoplay for e.g. advertisements. (Not yet supported.)\n *\n * @public\n */\nexport type MutedAutoplayConfiguration = 'none' | 'all' | 'content';\n"],"mappings":""}
@@ -1,5 +1,4 @@
1
- export let AdEventType;
2
- (function (AdEventType) {
1
+ export let AdEventType = /*#__PURE__*/function (AdEventType) {
3
2
  AdEventType["ADD_AD_BREAK"] = "addadbreak";
4
3
  AdEventType["REMOVE_AD_BREAK"] = "removeadbreak";
5
4
  AdEventType["AD_LOADED"] = "adloaded";
@@ -19,5 +18,6 @@ export let AdEventType;
19
18
  AdEventType["AD_ERROR"] = "aderror";
20
19
  AdEventType["AD_METADATA"] = "admetadata";
21
20
  AdEventType["AD_BUFFERING"] = "adbuffering";
22
- })(AdEventType || (AdEventType = {}));
21
+ return AdEventType;
22
+ }({});
23
23
  //# sourceMappingURL=AdEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AdEventType"],"sources":["AdEvent.ts"],"sourcesContent":["import type { Ad, AdBreak, PlayerEventType } from 'react-native-theoplayer';\nimport type { Event } from './Event';\n\nexport interface AdEvent extends Event<PlayerEventType.AD_EVENT> {\n /**\n * Type of ad event.\n */\n subType: AdEventType;\n\n /**\n * The ad or adbreak for which the event was dispatched.\n */\n ad: Ad | AdBreak;\n}\n\nexport enum AdEventType {\n /**\n * Dispatched when an ad break is added.\n */\n ADD_AD_BREAK = 'addadbreak',\n\n /**\n * Dispatched when an ad break is removed.\n */\n REMOVE_AD_BREAK = 'removeadbreak',\n\n /**\n * Dispatched when an ad is loaded.\n */\n AD_LOADED = 'adloaded',\n\n /**\n * Dispatched when an ad break begins.\n */\n AD_BREAK_BEGIN = 'adbreakbegin',\n\n /**\n * Dispatched when an ad break ends.\n */\n AD_BREAK_END = 'adbreakend',\n\n /**\n * Dispatched when an ad break changes.\n */\n AD_BREAK_CHANGE = 'adbreakchange',\n\n /**\n * Dispatched when an ad break is updated.\n */\n UPDATE_AD_BREAK = 'updateadbreak',\n\n /**\n * Dispatched when an ad is added.\n */\n ADD_AD = 'addad',\n\n /**\n * Dispatched when an ad begins.\n */\n AD_BEGIN = 'adbegin',\n\n /**\n * Dispatched when an ad ends.\n */\n AD_END = 'adend',\n\n /**\n * Dispatched when an ad is updated.\n */\n UPDATE_AD = 'updatead',\n\n /**\n * Dispatched when an ad reaches the first quartile.\n */\n AD_FIRST_QUARTILE = 'adfirstquartile',\n\n /**\n * Dispatched when an ad reaches the mid point.\n */\n AD_MIDPOINT = 'admidpoint',\n\n /**\n * Dispatched when an ad reaches the third quartile.\n */\n AD_THIRD_QUARTILE = 'adthirdquartile',\n\n /**\n * Dispatched when an ad is skipped.\n */\n AD_SKIP = 'adskip',\n\n /**\n * Dispatched when an ad counts as an impression.\n */\n AD_IMPRESSION = 'adimpression',\n\n /**\n * Dispatched when an ad error occurs.\n */\n AD_ERROR = 'aderror',\n\n /**\n * Dispatched when an ads list is loaded.\n */\n AD_METADATA = 'admetadata',\n\n /**\n * Dispatched when the ad has stalled playback to buffer.\n */\n AD_BUFFERING = 'adbuffering',\n}\n"],"mappings":"AAeA,WAAYA,WAAW;AA+FtB,WA/FWA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;AAAA,GAAXA,WAAW,KAAXA,WAAW"}
1
+ {"version":3,"names":["AdEventType"],"sources":["AdEvent.ts"],"sourcesContent":["import type { Ad, AdBreak, PlayerEventType } from 'react-native-theoplayer';\nimport type { Event } from './Event';\n\nexport interface AdEvent extends Event<PlayerEventType.AD_EVENT> {\n /**\n * Type of ad event.\n */\n subType: AdEventType;\n\n /**\n * The ad or adbreak for which the event was dispatched.\n */\n ad: Ad | AdBreak;\n}\n\nexport enum AdEventType {\n /**\n * Dispatched when an ad break is added.\n */\n ADD_AD_BREAK = 'addadbreak',\n\n /**\n * Dispatched when an ad break is removed.\n */\n REMOVE_AD_BREAK = 'removeadbreak',\n\n /**\n * Dispatched when an ad is loaded.\n */\n AD_LOADED = 'adloaded',\n\n /**\n * Dispatched when an ad break begins.\n */\n AD_BREAK_BEGIN = 'adbreakbegin',\n\n /**\n * Dispatched when an ad break ends.\n */\n AD_BREAK_END = 'adbreakend',\n\n /**\n * Dispatched when an ad break changes.\n */\n AD_BREAK_CHANGE = 'adbreakchange',\n\n /**\n * Dispatched when an ad break is updated.\n */\n UPDATE_AD_BREAK = 'updateadbreak',\n\n /**\n * Dispatched when an ad is added.\n */\n ADD_AD = 'addad',\n\n /**\n * Dispatched when an ad begins.\n */\n AD_BEGIN = 'adbegin',\n\n /**\n * Dispatched when an ad ends.\n */\n AD_END = 'adend',\n\n /**\n * Dispatched when an ad is updated.\n */\n UPDATE_AD = 'updatead',\n\n /**\n * Dispatched when an ad reaches the first quartile.\n */\n AD_FIRST_QUARTILE = 'adfirstquartile',\n\n /**\n * Dispatched when an ad reaches the mid point.\n */\n AD_MIDPOINT = 'admidpoint',\n\n /**\n * Dispatched when an ad reaches the third quartile.\n */\n AD_THIRD_QUARTILE = 'adthirdquartile',\n\n /**\n * Dispatched when an ad is skipped.\n */\n AD_SKIP = 'adskip',\n\n /**\n * Dispatched when an ad counts as an impression.\n */\n AD_IMPRESSION = 'adimpression',\n\n /**\n * Dispatched when an ad error occurs.\n */\n AD_ERROR = 'aderror',\n\n /**\n * Dispatched when an ads list is loaded.\n */\n AD_METADATA = 'admetadata',\n\n /**\n * Dispatched when the ad has stalled playback to buffer.\n */\n AD_BUFFERING = 'adbuffering',\n}\n"],"mappings":"AAeA,WAAYA,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA"}
@@ -1,7 +1,7 @@
1
- export let CastEventType;
2
- (function (CastEventType) {
1
+ export let CastEventType = /*#__PURE__*/function (CastEventType) {
3
2
  CastEventType["CHROMECAST_STATE_CHANGE"] = "chromecaststatechange";
4
3
  CastEventType["AIRPLAY_STATE_CHANGE"] = "airplaystatechange";
5
4
  CastEventType["CHROMECAST_ERROR"] = "chromecasterror";
6
- })(CastEventType || (CastEventType = {}));
5
+ return CastEventType;
6
+ }({});
7
7
  //# sourceMappingURL=CastEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CastEventType"],"sources":["CastEvent.ts"],"sourcesContent":["import type { CastState, ChromecastError, PlayerEventType } from 'react-native-theoplayer';\nimport type { Event } from './Event';\n\nexport enum CastEventType {\n /**\n * Dispatched when the ChromeCast state was changed.\n */\n CHROMECAST_STATE_CHANGE = 'chromecaststatechange',\n\n /**\n * Dispatched when the Airplay state was changed.\n */\n AIRPLAY_STATE_CHANGE = 'airplaystatechange',\n\n /**\n * Dispatched when an error occurred when using Chromecast.\n */\n CHROMECAST_ERROR = 'chromecasterror',\n}\n\nexport type CastEvent = ChromecastChangeEvent | AirplayStateChangeEvent | ChromecastErrorEvent;\n\nexport interface ChromecastChangeEvent extends Event<PlayerEventType.CAST_EVENT> {\n readonly subType: CastEventType.CHROMECAST_STATE_CHANGE;\n\n readonly state: CastState;\n}\n\nexport interface AirplayStateChangeEvent extends Event<PlayerEventType.CAST_EVENT> {\n readonly subType: CastEventType.AIRPLAY_STATE_CHANGE;\n\n readonly state: CastState;\n}\n\nexport interface ChromecastErrorEvent extends Event<PlayerEventType.CAST_EVENT> {\n readonly subType: CastEventType.CHROMECAST_ERROR;\n\n readonly error: ChromecastError;\n}\n"],"mappings":"AAGA,WAAYA,aAAa;AAexB,WAfWA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;AAAA,GAAbA,aAAa,KAAbA,aAAa"}
1
+ {"version":3,"names":["CastEventType"],"sources":["CastEvent.ts"],"sourcesContent":["import type { CastState, ChromecastError, PlayerEventType } from 'react-native-theoplayer';\nimport type { Event } from './Event';\n\nexport enum CastEventType {\n /**\n * Dispatched when the ChromeCast state was changed.\n */\n CHROMECAST_STATE_CHANGE = 'chromecaststatechange',\n\n /**\n * Dispatched when the Airplay state was changed.\n */\n AIRPLAY_STATE_CHANGE = 'airplaystatechange',\n\n /**\n * Dispatched when an error occurred when using Chromecast.\n */\n CHROMECAST_ERROR = 'chromecasterror',\n}\n\nexport type CastEvent = ChromecastChangeEvent | AirplayStateChangeEvent | ChromecastErrorEvent;\n\nexport interface ChromecastChangeEvent extends Event<PlayerEventType.CAST_EVENT> {\n readonly subType: CastEventType.CHROMECAST_STATE_CHANGE;\n\n readonly state: CastState;\n}\n\nexport interface AirplayStateChangeEvent extends Event<PlayerEventType.CAST_EVENT> {\n readonly subType: CastEventType.AIRPLAY_STATE_CHANGE;\n\n readonly state: CastState;\n}\n\nexport interface ChromecastErrorEvent extends Event<PlayerEventType.CAST_EVENT> {\n readonly subType: CastEventType.CHROMECAST_ERROR;\n\n readonly error: ChromecastError;\n}\n"],"mappings":"AAGA,WAAYA,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA"}
@@ -1,6 +1,6 @@
1
- export let PresentationModeChangePipContext;
2
- (function (PresentationModeChangePipContext) {
1
+ export let PresentationModeChangePipContext = /*#__PURE__*/function (PresentationModeChangePipContext) {
3
2
  PresentationModeChangePipContext["CLOSED"] = "closed";
4
3
  PresentationModeChangePipContext["RESTORED"] = "restored";
5
- })(PresentationModeChangePipContext || (PresentationModeChangePipContext = {}));
4
+ return PresentationModeChangePipContext;
5
+ }({});
6
6
  //# sourceMappingURL=PlayerEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["PresentationModeChangePipContext"],"sources":["PlayerEvent.ts"],"sourcesContent":["import type { MediaTrack, PlayerError, PlayerEventType, PresentationMode, TextTrack } from 'react-native-theoplayer';\nimport type { TimeRange } from '../timeranges/TimeRange';\nimport type { Event } from './Event';\n\nexport interface ErrorEvent extends Event<PlayerEventType.ERROR> {\n error: PlayerError;\n}\n\nexport interface LoadedMetadataEvent extends Event<PlayerEventType.LOADED_METADATA> {\n textTracks: TextTrack[];\n audioTracks: MediaTrack[];\n videoTracks: MediaTrack[];\n duration: number;\n selectedTextTrack: number | undefined;\n selectedVideoTrack: number | undefined;\n selectedAudioTrack: number | undefined;\n}\n\nexport interface TimeUpdateEvent extends Event<PlayerEventType.TIME_UPDATE> {\n /**\n * The player's current time, in msecs.\n */\n readonly currentTime: number;\n\n /**\n * The player's current program date time, in msecs.\n */\n readonly currentProgramDateTime?: number;\n}\n\nexport interface DurationChangeEvent extends Event<PlayerEventType.DURATION_CHANGE> {\n /**\n * The player's new duration, in msecs.\n */\n readonly duration: number;\n}\n\nexport enum PresentationModeChangePipContext {\n /**\n * The PiP window was explicitly closed.\n */\n CLOSED = 'closed',\n\n /**\n * The PiP window was restored/maximized.\n */\n RESTORED = 'restored',\n}\n\nexport interface PresentationModeChangeContext {\n /**\n * The PiP context for presentationMode change.\n */\n readonly pip: PresentationModeChangePipContext;\n}\n\nexport interface PresentationModeChangeEvent extends Event<PlayerEventType.PRESENTATIONMODE_CHANGE> {\n /**\n * The player's new presentationMode.\n */\n readonly presentationMode: PresentationMode;\n\n /**\n * The player's previous presentationMode.\n */\n readonly previousPresentationMode: PresentationMode;\n\n /**\n * The context for presentationMode change.\n */\n readonly context?: PresentationModeChangeContext;\n}\n\nexport interface RateChangeEvent extends Event<PlayerEventType.RATE_CHANGE> {\n /**\n * The player's new playback rate.\n */\n readonly playbackRate: number;\n}\n\nexport interface ReadyStateChangeEvent extends Event<PlayerEventType.READYSTATE_CHANGE> {\n /**\n * The player's new ready state.\n */\n readonly readyState: number;\n}\n\nexport interface VolumeChangeEvent extends Event<PlayerEventType.VOLUME_CHANGE> {\n /**\n * The player's new volume.\n */\n readonly volume: number;\n\n /**\n * The player's muted state.\n */\n readonly muted: boolean;\n}\n\nexport interface ProgressEvent extends Event<PlayerEventType.PROGRESS> {\n /**\n * The ranges of the media resource that are seekable by the player.\n */\n readonly seekable: TimeRange[];\n\n /**\n * The ranges of the media resource that are buffered by the player.\n */\n readonly buffered: TimeRange[];\n}\n\nexport interface SegmentNotFoundEvent extends Event<PlayerEventType.SEGMENT_NOT_FOUND> {\n /**\n * Start time of the segment.\n */\n readonly segmentStartTime: number;\n\n /**\n * Descriptive error message.\n */\n readonly error: string;\n\n /**\n * Number of times the segment was retried.\n */\n readonly retryCount: number;\n}\n"],"mappings":"AAqCA,WAAYA,gCAAgC;AAU3C,WAVWA,gCAAgC;EAAhCA,gCAAgC;EAAhCA,gCAAgC;AAAA,GAAhCA,gCAAgC,KAAhCA,gCAAgC"}
1
+ {"version":3,"names":["PresentationModeChangePipContext"],"sources":["PlayerEvent.ts"],"sourcesContent":["import type { MediaTrack, PlayerError, PlayerEventType, PresentationMode, TextTrack } from 'react-native-theoplayer';\nimport type { TimeRange } from '../timeranges/TimeRange';\nimport type { Event } from './Event';\n\nexport interface ErrorEvent extends Event<PlayerEventType.ERROR> {\n error: PlayerError;\n}\n\nexport interface LoadedMetadataEvent extends Event<PlayerEventType.LOADED_METADATA> {\n textTracks: TextTrack[];\n audioTracks: MediaTrack[];\n videoTracks: MediaTrack[];\n duration: number;\n selectedTextTrack: number | undefined;\n selectedVideoTrack: number | undefined;\n selectedAudioTrack: number | undefined;\n}\n\nexport interface TimeUpdateEvent extends Event<PlayerEventType.TIME_UPDATE> {\n /**\n * The player's current time, in msecs.\n */\n readonly currentTime: number;\n\n /**\n * The player's current program date time, in msecs.\n */\n readonly currentProgramDateTime?: number;\n}\n\nexport interface DurationChangeEvent extends Event<PlayerEventType.DURATION_CHANGE> {\n /**\n * The player's new duration, in msecs.\n */\n readonly duration: number;\n}\n\nexport enum PresentationModeChangePipContext {\n /**\n * The PiP window was explicitly closed.\n */\n CLOSED = 'closed',\n\n /**\n * The PiP window was restored/maximized.\n */\n RESTORED = 'restored',\n}\n\nexport interface PresentationModeChangeContext {\n /**\n * The PiP context for presentationMode change.\n */\n readonly pip: PresentationModeChangePipContext;\n}\n\nexport interface PresentationModeChangeEvent extends Event<PlayerEventType.PRESENTATIONMODE_CHANGE> {\n /**\n * The player's new presentationMode.\n */\n readonly presentationMode: PresentationMode;\n\n /**\n * The player's previous presentationMode.\n */\n readonly previousPresentationMode: PresentationMode;\n\n /**\n * The context for presentationMode change.\n */\n readonly context?: PresentationModeChangeContext;\n}\n\nexport interface RateChangeEvent extends Event<PlayerEventType.RATE_CHANGE> {\n /**\n * The player's new playback rate.\n */\n readonly playbackRate: number;\n}\n\nexport interface ReadyStateChangeEvent extends Event<PlayerEventType.READYSTATE_CHANGE> {\n /**\n * The player's new ready state.\n */\n readonly readyState: number;\n}\n\nexport interface VolumeChangeEvent extends Event<PlayerEventType.VOLUME_CHANGE> {\n /**\n * The player's new volume.\n */\n readonly volume: number;\n\n /**\n * The player's muted state.\n */\n readonly muted: boolean;\n}\n\nexport interface ProgressEvent extends Event<PlayerEventType.PROGRESS> {\n /**\n * The ranges of the media resource that are seekable by the player.\n */\n readonly seekable: TimeRange[];\n\n /**\n * The ranges of the media resource that are buffered by the player.\n */\n readonly buffered: TimeRange[];\n}\n\nexport interface SegmentNotFoundEvent extends Event<PlayerEventType.SEGMENT_NOT_FOUND> {\n /**\n * Start time of the segment.\n */\n readonly segmentStartTime: number;\n\n /**\n * Descriptive error message.\n */\n readonly error: string;\n\n /**\n * Number of times the segment was retried.\n */\n readonly retryCount: number;\n}\n"],"mappings":"AAqCA,WAAYA,gCAAgC,0BAAhCA,gCAAgC;EAAhCA,gCAAgC;EAAhCA,gCAAgC;EAAA,OAAhCA,gCAAgC;AAAA"}
@@ -1,23 +1,23 @@
1
- export let TrackListEventType;
2
- (function (TrackListEventType) {
1
+ export let TrackListEventType = /*#__PURE__*/function (TrackListEventType) {
3
2
  TrackListEventType["ADD_TRACK"] = "addtrack";
4
3
  TrackListEventType["REMOVE_TRACK"] = "removetrack";
5
4
  TrackListEventType["CHANGE_TRACK"] = "changetrack";
6
- })(TrackListEventType || (TrackListEventType = {}));
7
- export let TextTrackEventType;
8
- (function (TextTrackEventType) {
5
+ return TrackListEventType;
6
+ }({});
7
+ export let TextTrackEventType = /*#__PURE__*/function (TextTrackEventType) {
9
8
  TextTrackEventType["ADD_CUE"] = "addcue";
10
9
  TextTrackEventType["REMOVE_CUE"] = "removecue";
11
10
  TextTrackEventType["ENTER_CUE"] = "entercue";
12
11
  TextTrackEventType["EXIT_CUE"] = "exitcue";
13
- })(TextTrackEventType || (TextTrackEventType = {}));
14
- export let MediaTrackType;
15
- (function (MediaTrackType) {
12
+ return TextTrackEventType;
13
+ }({});
14
+ export let MediaTrackType = /*#__PURE__*/function (MediaTrackType) {
16
15
  MediaTrackType["AUDIO"] = "audio";
17
16
  MediaTrackType["VIDEO"] = "video";
18
- })(MediaTrackType || (MediaTrackType = {}));
19
- export let MediaTrackEventType;
20
- (function (MediaTrackEventType) {
17
+ return MediaTrackType;
18
+ }({});
19
+ export let MediaTrackEventType = /*#__PURE__*/function (MediaTrackEventType) {
21
20
  MediaTrackEventType["ACTIVE_QUALITY_CHANGED"] = "activequalitychanged";
22
- })(MediaTrackEventType || (MediaTrackEventType = {}));
21
+ return MediaTrackEventType;
22
+ }({});
23
23
  //# sourceMappingURL=TrackEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["TrackListEventType","TextTrackEventType","MediaTrackType","MediaTrackEventType"],"sources":["TrackEvent.ts"],"sourcesContent":["import type { TextTrack } from '../track/TextTrack';\nimport type { TextTrackCue } from '../track/TextTrackCue';\nimport type { MediaTrack } from '../track/MediaTrack';\nimport type { Quality } from '../track/Quality';\nimport type { Event } from './Event';\nimport type { PlayerEventType } from '../player/PlayerEventMap';\n\nexport enum TrackListEventType {\n /**\n * Dispatched when track has been added to the track list.\n */\n ADD_TRACK = 'addtrack',\n\n /**\n * Dispatched when track has been removed from the track list.\n */\n REMOVE_TRACK = 'removetrack',\n\n /**\n * Fired when a track has been changed.\n */\n CHANGE_TRACK = 'changetrack',\n}\n\nexport interface TextTrackListEvent extends Event<PlayerEventType.TEXT_TRACK_LIST> {\n readonly subType: TrackListEventType;\n /**\n * The relevant text track.\n */\n readonly track: TextTrack;\n}\n\nexport enum TextTrackEventType {\n /**\n * Dispatched when cue has been added to the text track.\n */\n ADD_CUE = 'addcue',\n\n /**\n * Dispatched when cue has been removed from the text track.\n */\n REMOVE_CUE = 'removecue',\n\n /**\n * Dispatched when a cue of the track enters.\n */\n ENTER_CUE = 'entercue',\n\n /**\n * Dispatched when a cue of the track exits.\n */\n EXIT_CUE = 'exitcue',\n}\n\nexport interface TextTrackEvent extends Event<PlayerEventType.TEXT_TRACK> {\n readonly subType: TextTrackEventType;\n /**\n * The text track's uid to which this cue belongs.\n */\n readonly trackUid: number;\n\n /**\n * The text track's cue.\n */\n readonly cue: TextTrackCue;\n}\n\nexport enum MediaTrackType {\n AUDIO = 'audio',\n\n VIDEO = 'video',\n}\n\nexport interface MediaTrackListEvent extends Event<PlayerEventType.MEDIA_TRACK_LIST> {\n readonly subType: TrackListEventType;\n /**\n * The relevant media track type, either {@link MediaTrackType.AUDIO} or {@link MediaTrackType.VIDEO}.\n */\n readonly trackType: MediaTrackType;\n\n /**\n * The relevant media track.\n */\n readonly track: MediaTrack;\n}\n\nexport enum MediaTrackEventType {\n /**\n * Dispatched when the media track's active quality changes.\n */\n ACTIVE_QUALITY_CHANGED = 'activequalitychanged',\n}\n\nexport interface MediaTrackEvent extends Event<PlayerEventType.MEDIA_TRACK> {\n readonly subType: MediaTrackEventType;\n /**\n * The media track's type to which event belongs, either {@link MediaTrackType.AUDIO} or {@link MediaTrackType.VIDEO}.\n */\n readonly trackType: MediaTrackType;\n\n /**\n * The media track's uid to which event belongs.\n */\n readonly trackUid: number;\n\n /**\n * The affected media track's qualities.\n */\n readonly qualities?: Quality | Quality[];\n}\n"],"mappings":"AAOA,WAAYA,kBAAkB;AAe7B,WAfWA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;AAAA,GAAlBA,kBAAkB,KAAlBA,kBAAkB;AAyB9B,WAAYC,kBAAkB;AAoB7B,WApBWA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;AAAA,GAAlBA,kBAAkB,KAAlBA,kBAAkB;AAmC9B,WAAYC,cAAc;AAIzB,WAJWA,cAAc;EAAdA,cAAc;EAAdA,cAAc;AAAA,GAAdA,cAAc,KAAdA,cAAc;AAmB1B,WAAYC,mBAAmB;AAK9B,WALWA,mBAAmB;EAAnBA,mBAAmB;AAAA,GAAnBA,mBAAmB,KAAnBA,mBAAmB"}
1
+ {"version":3,"names":["TrackListEventType","TextTrackEventType","MediaTrackType","MediaTrackEventType"],"sources":["TrackEvent.ts"],"sourcesContent":["import type { TextTrack } from '../track/TextTrack';\nimport type { TextTrackCue } from '../track/TextTrackCue';\nimport type { MediaTrack } from '../track/MediaTrack';\nimport type { Quality } from '../track/Quality';\nimport type { Event } from './Event';\nimport type { PlayerEventType } from '../player/PlayerEventMap';\n\nexport enum TrackListEventType {\n /**\n * Dispatched when track has been added to the track list.\n */\n ADD_TRACK = 'addtrack',\n\n /**\n * Dispatched when track has been removed from the track list.\n */\n REMOVE_TRACK = 'removetrack',\n\n /**\n * Fired when a track has been changed.\n */\n CHANGE_TRACK = 'changetrack',\n}\n\nexport interface TextTrackListEvent extends Event<PlayerEventType.TEXT_TRACK_LIST> {\n readonly subType: TrackListEventType;\n /**\n * The relevant text track.\n */\n readonly track: TextTrack;\n}\n\nexport enum TextTrackEventType {\n /**\n * Dispatched when cue has been added to the text track.\n */\n ADD_CUE = 'addcue',\n\n /**\n * Dispatched when cue has been removed from the text track.\n */\n REMOVE_CUE = 'removecue',\n\n /**\n * Dispatched when a cue of the track enters.\n */\n ENTER_CUE = 'entercue',\n\n /**\n * Dispatched when a cue of the track exits.\n */\n EXIT_CUE = 'exitcue',\n}\n\nexport interface TextTrackEvent extends Event<PlayerEventType.TEXT_TRACK> {\n readonly subType: TextTrackEventType;\n /**\n * The text track's uid to which this cue belongs.\n */\n readonly trackUid: number;\n\n /**\n * The text track's cue.\n */\n readonly cue: TextTrackCue;\n}\n\nexport enum MediaTrackType {\n AUDIO = 'audio',\n\n VIDEO = 'video',\n}\n\nexport interface MediaTrackListEvent extends Event<PlayerEventType.MEDIA_TRACK_LIST> {\n readonly subType: TrackListEventType;\n /**\n * The relevant media track type, either {@link MediaTrackType.AUDIO} or {@link MediaTrackType.VIDEO}.\n */\n readonly trackType: MediaTrackType;\n\n /**\n * The relevant media track.\n */\n readonly track: MediaTrack;\n}\n\nexport enum MediaTrackEventType {\n /**\n * Dispatched when the media track's active quality changes.\n */\n ACTIVE_QUALITY_CHANGED = 'activequalitychanged',\n}\n\nexport interface MediaTrackEvent extends Event<PlayerEventType.MEDIA_TRACK> {\n readonly subType: MediaTrackEventType;\n /**\n * The media track's type to which event belongs, either {@link MediaTrackType.AUDIO} or {@link MediaTrackType.VIDEO}.\n */\n readonly trackType: MediaTrackType;\n\n /**\n * The media track's uid to which event belongs.\n */\n readonly trackUid: number;\n\n /**\n * The affected media track's qualities.\n */\n readonly qualities?: Quality | Quality[];\n}\n"],"mappings":"AAOA,WAAYA,kBAAkB,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAyB9B,WAAYC,kBAAkB,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAmC9B,WAAYC,cAAc,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;AAmB1B,WAAYC,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA"}
@@ -1,10 +1,4 @@
1
- export let PlayerEventType;
2
-
3
- /**
4
- * The events dispatched by THEOplayer.
5
- *
6
- */
7
- (function (PlayerEventType) {
1
+ export let PlayerEventType = /*#__PURE__*/function (PlayerEventType) {
8
2
  PlayerEventType["PLAY"] = "play";
9
3
  PlayerEventType["CANPLAY"] = "canplay";
10
4
  PlayerEventType["PLAYING"] = "playing";
@@ -33,5 +27,11 @@ export let PlayerEventType;
33
27
  PlayerEventType["WAITING"] = "waiting";
34
28
  PlayerEventType["PRESENTATIONMODE_CHANGE"] = "presentationmodechange";
35
29
  PlayerEventType["DESTROY"] = "destroy";
36
- })(PlayerEventType || (PlayerEventType = {}));
30
+ return PlayerEventType;
31
+ }({});
32
+
33
+ /**
34
+ * The events dispatched by THEOplayer.
35
+ *
36
+ */
37
37
  //# sourceMappingURL=PlayerEventMap.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["PlayerEventType"],"sources":["PlayerEventMap.ts"],"sourcesContent":["import type { Event } from '../event/Event';\nimport type {\n DurationChangeEvent,\n ErrorEvent,\n LoadedMetadataEvent,\n ProgressEvent,\n RateChangeEvent,\n ReadyStateChangeEvent,\n SegmentNotFoundEvent,\n TimeUpdateEvent,\n PresentationModeChangeEvent,\n VolumeChangeEvent,\n} from '../event/PlayerEvent';\nimport type { MediaTrackEvent, MediaTrackListEvent, TextTrackEvent, TextTrackListEvent } from '../event/TrackEvent';\nimport type { AdEvent } from '../event/AdEvent';\nimport type { CastEvent } from '../event/CastEvent';\n\nexport enum PlayerEventType {\n PLAY = 'play',\n CANPLAY = 'canplay',\n PLAYING = 'playing',\n SOURCE_CHANGE = 'sourcechange',\n LOAD_START = 'loadstart',\n LOADED_METADATA = 'loadedmetadata',\n LOADED_DATA = 'loadeddata',\n READYSTATE_CHANGE = 'readystatechange',\n ERROR = 'error',\n PROGRESS = 'progress',\n PAUSE = 'pause',\n SEEKING = 'seeking',\n SEEKED = 'seeked',\n ENDED = 'ended',\n TIME_UPDATE = 'timeupdate',\n DURATION_CHANGE = 'durationchange',\n RATE_CHANGE = 'ratechange',\n SEGMENT_NOT_FOUND = 'segmentnotfound',\n TEXT_TRACK_LIST = 'texttracklist',\n TEXT_TRACK = 'texttrack',\n MEDIA_TRACK_LIST = 'mediatracklist',\n MEDIA_TRACK = 'mediatrack',\n AD_EVENT = 'adevent',\n CAST_EVENT = 'castevent',\n VOLUME_CHANGE = 'volumechange',\n WAITING = 'waiting',\n PRESENTATIONMODE_CHANGE = 'presentationmodechange',\n DESTROY = 'destroy',\n}\n\n/**\n * The events dispatched by THEOplayer.\n *\n */\nexport interface PlayerEventMap {\n /**\n * Dispatched when the player can resume playback of the media data.\n */\n [PlayerEventType.CANPLAY]: Event<PlayerEventType.CANPLAY>;\n\n /**\n * Dispatched when the player's internal paused state changes to `false`.\n */\n [PlayerEventType.PLAY]: Event<PlayerEventType.PLAY>;\n\n /**\n * Dispatched when playback is ready to start after having been paused or delayed due to lack of media data.\n */\n [PlayerEventType.PLAYING]: Event<PlayerEventType.PLAYING>;\n\n /**\n * Dispatched when the presentationMode of the player changes.\n */\n [PlayerEventType.PRESENTATIONMODE_CHANGE]: PresentationModeChangeEvent;\n\n /**\n * Dispatched when the player's source changes.\n */\n [PlayerEventType.SOURCE_CHANGE]: Event<PlayerEventType.SOURCE_CHANGE>;\n\n /**\n * Dispatched when the player starts loading the manifest.\n */\n [PlayerEventType.LOAD_START]: Event<PlayerEventType.LOAD_START>;\n\n /**\n * Dispatched when the player determines the metadata for its source.\n */\n [PlayerEventType.LOADED_METADATA]: LoadedMetadataEvent;\n\n /**\n * Dispatched when the player can render the media data at the current playback position for the first time.\n */\n [PlayerEventType.LOADED_DATA]: Event<PlayerEventType.LOADED_DATA>;\n\n /**\n * Dispatched when the player's readyState has changed.\n */\n [PlayerEventType.READYSTATE_CHANGE]: ReadyStateChangeEvent;\n\n /**\n * Dispatched when the player's volume changes.\n */\n [PlayerEventType.VOLUME_CHANGE]: VolumeChangeEvent;\n\n /**\n * Dispatched when an error occurs.\n */\n [PlayerEventType.ERROR]: ErrorEvent;\n\n /**\n * Dispatched each time the player has loaded media data.\n */\n [PlayerEventType.PROGRESS]: ProgressEvent;\n\n /**\n * Dispatched when the player's internal paused state changes to `true`.\n */\n [PlayerEventType.PAUSE]: Event<PlayerEventType.PAUSE>;\n\n /**\n * Dispatched when a seek operation starts and the player is seeking a new position.\n */\n [PlayerEventType.SEEKING]: Event<PlayerEventType.SEEKING>;\n\n /**\n * Dispatched when a seek operation completed and the current playback position has changed.\n */\n [PlayerEventType.SEEKED]: Event<PlayerEventType.SEEKED>;\n\n /**\n * Dispatched when playback has stopped because the end of the media was reached or because\n * no further data is available.\n */\n [PlayerEventType.ENDED]: Event<PlayerEventType.ENDED>;\n\n /**\n * Dispatched when playback has stopped because the next frame is not available, but the\n * player expects that frame to become available in due course.\n */\n [PlayerEventType.WAITING]: Event<PlayerEventType.WAITING>;\n\n /**\n * Dispatched each time the current playback position changed.\n */\n [PlayerEventType.TIME_UPDATE]: TimeUpdateEvent;\n\n /**\n * Dispatched when the player's duration attribute has been updated.\n */\n [PlayerEventType.DURATION_CHANGE]: DurationChangeEvent;\n\n /**\n * Dispatched when the player's playbackRate changes.\n */\n [PlayerEventType.RATE_CHANGE]: RateChangeEvent;\n\n /**\n * Dispatched when a segment can not be found.\n *\n * @remarks\n * <br/> - Only dispatched on DASH streams.\n */\n [PlayerEventType.SEGMENT_NOT_FOUND]: SegmentNotFoundEvent;\n\n /**\n * Dispatched when a text track list event occurs.\n */\n [PlayerEventType.TEXT_TRACK_LIST]: TextTrackListEvent;\n\n /**\n * Dispatched when a text track event occurs.\n */\n [PlayerEventType.TEXT_TRACK]: TextTrackEvent;\n\n /**\n * Dispatched when a media track list event occurs.\n */\n [PlayerEventType.MEDIA_TRACK_LIST]: MediaTrackListEvent;\n\n /**\n * Dispatched when a media track event occurs.\n */\n [PlayerEventType.MEDIA_TRACK]: MediaTrackEvent;\n\n /**\n * Dispatched when an ad event occurs.\n */\n [PlayerEventType.AD_EVENT]: AdEvent;\n\n /**\n * Dispatched when a cast event occurs, either for Chromecast or Airplay.\n */\n [PlayerEventType.CAST_EVENT]: CastEvent;\n\n /**\n * Dispatched when the player will be destroyed.\n */\n [PlayerEventType.DESTROY]: Event<PlayerEventType.DESTROY>;\n}\n"],"mappings":"AAiBA,WAAYA,eAAe;;AA+B3B;AACA;AACA;AACA;AAHA,WA/BYA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;AAAA,GAAfA,eAAe,KAAfA,eAAe"}
1
+ {"version":3,"names":["PlayerEventType"],"sources":["PlayerEventMap.ts"],"sourcesContent":["import type { Event } from '../event/Event';\nimport type {\n DurationChangeEvent,\n ErrorEvent,\n LoadedMetadataEvent,\n ProgressEvent,\n RateChangeEvent,\n ReadyStateChangeEvent,\n SegmentNotFoundEvent,\n TimeUpdateEvent,\n PresentationModeChangeEvent,\n VolumeChangeEvent,\n} from '../event/PlayerEvent';\nimport type { MediaTrackEvent, MediaTrackListEvent, TextTrackEvent, TextTrackListEvent } from '../event/TrackEvent';\nimport type { AdEvent } from '../event/AdEvent';\nimport type { CastEvent } from '../event/CastEvent';\n\nexport enum PlayerEventType {\n PLAY = 'play',\n CANPLAY = 'canplay',\n PLAYING = 'playing',\n SOURCE_CHANGE = 'sourcechange',\n LOAD_START = 'loadstart',\n LOADED_METADATA = 'loadedmetadata',\n LOADED_DATA = 'loadeddata',\n READYSTATE_CHANGE = 'readystatechange',\n ERROR = 'error',\n PROGRESS = 'progress',\n PAUSE = 'pause',\n SEEKING = 'seeking',\n SEEKED = 'seeked',\n ENDED = 'ended',\n TIME_UPDATE = 'timeupdate',\n DURATION_CHANGE = 'durationchange',\n RATE_CHANGE = 'ratechange',\n SEGMENT_NOT_FOUND = 'segmentnotfound',\n TEXT_TRACK_LIST = 'texttracklist',\n TEXT_TRACK = 'texttrack',\n MEDIA_TRACK_LIST = 'mediatracklist',\n MEDIA_TRACK = 'mediatrack',\n AD_EVENT = 'adevent',\n CAST_EVENT = 'castevent',\n VOLUME_CHANGE = 'volumechange',\n WAITING = 'waiting',\n PRESENTATIONMODE_CHANGE = 'presentationmodechange',\n DESTROY = 'destroy',\n}\n\n/**\n * The events dispatched by THEOplayer.\n *\n */\nexport interface PlayerEventMap {\n /**\n * Dispatched when the player can resume playback of the media data.\n */\n [PlayerEventType.CANPLAY]: Event<PlayerEventType.CANPLAY>;\n\n /**\n * Dispatched when the player's internal paused state changes to `false`.\n */\n [PlayerEventType.PLAY]: Event<PlayerEventType.PLAY>;\n\n /**\n * Dispatched when playback is ready to start after having been paused or delayed due to lack of media data.\n */\n [PlayerEventType.PLAYING]: Event<PlayerEventType.PLAYING>;\n\n /**\n * Dispatched when the presentationMode of the player changes.\n */\n [PlayerEventType.PRESENTATIONMODE_CHANGE]: PresentationModeChangeEvent;\n\n /**\n * Dispatched when the player's source changes.\n */\n [PlayerEventType.SOURCE_CHANGE]: Event<PlayerEventType.SOURCE_CHANGE>;\n\n /**\n * Dispatched when the player starts loading the manifest.\n */\n [PlayerEventType.LOAD_START]: Event<PlayerEventType.LOAD_START>;\n\n /**\n * Dispatched when the player determines the metadata for its source.\n */\n [PlayerEventType.LOADED_METADATA]: LoadedMetadataEvent;\n\n /**\n * Dispatched when the player can render the media data at the current playback position for the first time.\n */\n [PlayerEventType.LOADED_DATA]: Event<PlayerEventType.LOADED_DATA>;\n\n /**\n * Dispatched when the player's readyState has changed.\n */\n [PlayerEventType.READYSTATE_CHANGE]: ReadyStateChangeEvent;\n\n /**\n * Dispatched when the player's volume changes.\n */\n [PlayerEventType.VOLUME_CHANGE]: VolumeChangeEvent;\n\n /**\n * Dispatched when an error occurs.\n */\n [PlayerEventType.ERROR]: ErrorEvent;\n\n /**\n * Dispatched each time the player has loaded media data.\n */\n [PlayerEventType.PROGRESS]: ProgressEvent;\n\n /**\n * Dispatched when the player's internal paused state changes to `true`.\n */\n [PlayerEventType.PAUSE]: Event<PlayerEventType.PAUSE>;\n\n /**\n * Dispatched when a seek operation starts and the player is seeking a new position.\n */\n [PlayerEventType.SEEKING]: Event<PlayerEventType.SEEKING>;\n\n /**\n * Dispatched when a seek operation completed and the current playback position has changed.\n */\n [PlayerEventType.SEEKED]: Event<PlayerEventType.SEEKED>;\n\n /**\n * Dispatched when playback has stopped because the end of the media was reached or because\n * no further data is available.\n */\n [PlayerEventType.ENDED]: Event<PlayerEventType.ENDED>;\n\n /**\n * Dispatched when playback has stopped because the next frame is not available, but the\n * player expects that frame to become available in due course.\n */\n [PlayerEventType.WAITING]: Event<PlayerEventType.WAITING>;\n\n /**\n * Dispatched each time the current playback position changed.\n */\n [PlayerEventType.TIME_UPDATE]: TimeUpdateEvent;\n\n /**\n * Dispatched when the player's duration attribute has been updated.\n */\n [PlayerEventType.DURATION_CHANGE]: DurationChangeEvent;\n\n /**\n * Dispatched when the player's playbackRate changes.\n */\n [PlayerEventType.RATE_CHANGE]: RateChangeEvent;\n\n /**\n * Dispatched when a segment can not be found.\n *\n * @remarks\n * <br/> - Only dispatched on DASH streams.\n */\n [PlayerEventType.SEGMENT_NOT_FOUND]: SegmentNotFoundEvent;\n\n /**\n * Dispatched when a text track list event occurs.\n */\n [PlayerEventType.TEXT_TRACK_LIST]: TextTrackListEvent;\n\n /**\n * Dispatched when a text track event occurs.\n */\n [PlayerEventType.TEXT_TRACK]: TextTrackEvent;\n\n /**\n * Dispatched when a media track list event occurs.\n */\n [PlayerEventType.MEDIA_TRACK_LIST]: MediaTrackListEvent;\n\n /**\n * Dispatched when a media track event occurs.\n */\n [PlayerEventType.MEDIA_TRACK]: MediaTrackEvent;\n\n /**\n * Dispatched when an ad event occurs.\n */\n [PlayerEventType.AD_EVENT]: AdEvent;\n\n /**\n * Dispatched when a cast event occurs, either for Chromecast or Airplay.\n */\n [PlayerEventType.CAST_EVENT]: CastEvent;\n\n /**\n * Dispatched when the player will be destroyed.\n */\n [PlayerEventType.DESTROY]: Event<PlayerEventType.DESTROY>;\n}\n"],"mappings":"AAiBA,WAAYA,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;;AA+B3B;AACA;AACA;AACA"}
@@ -8,10 +8,14 @@
8
8
  * @public
9
9
  * @defaultValue `'FIT'`
10
10
  */
11
- export let AspectRatio;
12
- (function (AspectRatio) {
11
+ export let AspectRatio = /*#__PURE__*/function (AspectRatio) {
13
12
  AspectRatio["FIT"] = "fit";
14
13
  AspectRatio["FILL"] = "fill";
15
14
  AspectRatio["ASPECT_FILL"] = "aspectFill";
16
- })(AspectRatio || (AspectRatio = {}));
15
+ return AspectRatio;
16
+ }({});
17
+
18
+ /**
19
+ * The THEOplayer API.
20
+ */
17
21
  //# sourceMappingURL=THEOplayer.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AspectRatio"],"sources":["THEOplayer.ts"],"sourcesContent":["import type { EventDispatcher } from '../event/EventDispatcher';\nimport type { PlayerEventMap } from './PlayerEventMap';\nimport type { ABRConfiguration } from '../abr/ABRConfiguration';\nimport type { SourceDescription } from '../source/SourceDescription';\nimport type { AdsAPI } from '../ads/AdsAPI';\nimport type { CastAPI } from '../cast/CastAPI';\nimport type { MediaTrack } from '../track/MediaTrack';\nimport type { TextTrack } from '../track/TextTrack';\nimport type { TimeRange } from '../timeranges/TimeRange';\nimport type { TextTrackStyle } from '../track/TextTrackStyle';\nimport type { PresentationMode } from '../presentation/PresentationMode';\nimport type { PiPConfiguration } from '../pip/PiPConfiguration';\nimport type { BackgroundAudioConfiguration } from '../backgroundAudio/BackgroundAudioConfiguration';\nimport type { PlayerVersion } from './PlayerVersion';\n\nexport type PreloadType = 'none' | 'metadata' | 'auto' | '';\n\n/**\n * Specifies an aspect ratio for the player.\n *\n * <br/> - `FIT` (default): Scales the player so that all content fits inside its bounding box, keeping the original aspect ratio of the content..\n * <br/> - `FILL`: Scales the player so that all content fits inside the bounding box, which will be stretched to fill it entirely.\n * <br/> - `ASPECT_FILL`: Scales the player so that the content fills up the entire bounding box, keeping the original aspect ratio of the content.\n *\n * @public\n * @defaultValue `'FIT'`\n */\nexport enum AspectRatio {\n FIT = 'fit',\n FILL = 'fill',\n ASPECT_FILL = 'aspectFill',\n}\n\nexport type NativeHandleType = unknown;\n\n/**\n * The THEOplayer API.\n */\nexport interface THEOplayer extends EventDispatcher<PlayerEventMap> {\n /**\n * The player's adaptive bitrate (ABR) configuration.\n *\n * @remarks\n * <br/> - This property is supported on Android & Web platforms only.\n */\n readonly abr: ABRConfiguration | undefined;\n\n /**\n * A source description that determines the current media resource.\n */\n source: SourceDescription | undefined;\n\n /**\n * Start or resume playback.\n */\n play(): void;\n\n /**\n * Pause playback.\n */\n pause(): void;\n\n /**\n * Whether the player is paused.\n */\n readonly paused: boolean;\n\n /**\n * Whether the player should immediately start playback after source change.\n */\n autoplay: boolean;\n\n /**\n * The preload setting of the player.\n */\n preload: PreloadType;\n\n /**\n * Returns a list of TimeRanges that represents the ranges of the media resource that are seekable by the player.\n */\n seekable: TimeRange[];\n\n /**\n * Returns a list of TimeRanges that represents the ranges of the media resource that are buffered by the player.\n */\n buffered: TimeRange[];\n\n /**\n * Used to set the playback rate of the media.\n *\n * @example\n * <br/> - `playbackRate = 0.70` will slow down the playback rate of the media by 30%.\n * <br/> - `playbackRate = 1.25` will speed up the playback rate of the media by 25%.\n *\n * @remarks\n * <br/> - Playback rate is represented by a number where `1` is default playback speed.\n * <br/> - Playback rate must be a positive number.\n * <br/> - It is recommended that you limit the range to between 0.5 and 4.\n */\n playbackRate: number;\n\n /**\n * Used to set the volume of the audio.\n *\n * @remarks\n * <br/> - Volume is represented by a floating point number between `0.0` and `1.0`.\n */\n volume: number;\n\n /**\n * Determines whether audio is muted.\n */\n muted: boolean;\n\n /**\n * Whether the player is seeking.\n */\n readonly seeking: boolean;\n\n /**\n * The PresentationMode of the player. Can be switched to: `picture-in-picture`, `fullscreen` or `inline`\n */\n presentationMode: PresentationMode;\n\n /**\n * List of audio tracks of the current source.\n */\n audioTracks: MediaTrack[];\n\n /**\n * List of video tracks of the current source.\n */\n videoTracks: MediaTrack[];\n\n /**\n * List of text tracks of the current source.\n */\n textTracks: TextTrack[];\n\n /**\n * Used to set the current selected text track by passing its `uid`, or `undefined` to select none.\n */\n selectedTextTrack: number | undefined;\n\n /**\n * The text track style API.\n *\n * @remarks\n * Only available for Web.\n */\n readonly textTrackStyle: TextTrackStyle;\n\n /**\n * Used to set the current selected video track by passing its `uid`, or `undefined` to select none.\n */\n selectedVideoTrack: number | undefined;\n\n /**\n * Used to set the current selected video quality by passing its `uid`, or `undefined` to select none.\n */\n targetVideoQuality: number | number[] | undefined;\n\n /**\n * Used to set the current selected audio track by passing its `uid`, or `undefined` to select none.\n */\n selectedAudioTrack: number | undefined;\n\n /**\n * The current playback position of the media, in milliseconds.\n */\n currentTime: number;\n\n /**\n * Used to set the aspect ratio of the player.\n *\n * @remarks\n * Only available for iOS and Android.\n */\n aspectRatio: AspectRatio;\n\n /**\n * The active configuration for PiP.\n */\n pipConfiguration: PiPConfiguration;\n\n /**\n * The active configuration for PiP.\n */\n backgroundAudioConfiguration: BackgroundAudioConfiguration;\n\n /**\n * The duration of the media, in milliseconds.\n */\n readonly duration: number;\n\n /**\n * The API for advertisements.\n */\n readonly ads: AdsAPI;\n\n /**\n * The API for casting devices.\n */\n readonly cast: CastAPI;\n\n /**\n * The player version.\n */\n readonly version: PlayerVersion;\n\n /**\n * Native player handle.\n */\n readonly nativeHandle: NativeHandleType;\n}\n"],"mappings":"AAiBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAYA,WAAW;AAItB,WAJWA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;AAAA,GAAXA,WAAW,KAAXA,WAAW"}
1
+ {"version":3,"names":["AspectRatio"],"sources":["THEOplayer.ts"],"sourcesContent":["import type { EventDispatcher } from '../event/EventDispatcher';\nimport type { PlayerEventMap } from './PlayerEventMap';\nimport type { ABRConfiguration } from '../abr/ABRConfiguration';\nimport type { SourceDescription } from '../source/SourceDescription';\nimport type { AdsAPI } from '../ads/AdsAPI';\nimport type { CastAPI } from '../cast/CastAPI';\nimport type { MediaTrack } from '../track/MediaTrack';\nimport type { TextTrack } from '../track/TextTrack';\nimport type { TimeRange } from '../timeranges/TimeRange';\nimport type { TextTrackStyle } from '../track/TextTrackStyle';\nimport type { PresentationMode } from '../presentation/PresentationMode';\nimport type { PiPConfiguration } from '../pip/PiPConfiguration';\nimport type { BackgroundAudioConfiguration } from '../backgroundAudio/BackgroundAudioConfiguration';\nimport type { PlayerVersion } from './PlayerVersion';\n\nexport type PreloadType = 'none' | 'metadata' | 'auto' | '';\n\n/**\n * Specifies an aspect ratio for the player.\n *\n * <br/> - `FIT` (default): Scales the player so that all content fits inside its bounding box, keeping the original aspect ratio of the content..\n * <br/> - `FILL`: Scales the player so that all content fits inside the bounding box, which will be stretched to fill it entirely.\n * <br/> - `ASPECT_FILL`: Scales the player so that the content fills up the entire bounding box, keeping the original aspect ratio of the content.\n *\n * @public\n * @defaultValue `'FIT'`\n */\nexport enum AspectRatio {\n FIT = 'fit',\n FILL = 'fill',\n ASPECT_FILL = 'aspectFill',\n}\n\nexport type NativeHandleType = unknown;\n\n/**\n * The THEOplayer API.\n */\nexport interface THEOplayer extends EventDispatcher<PlayerEventMap> {\n /**\n * The player's adaptive bitrate (ABR) configuration.\n *\n * @remarks\n * <br/> - This property is supported on Android & Web platforms only.\n */\n readonly abr: ABRConfiguration | undefined;\n\n /**\n * A source description that determines the current media resource.\n */\n source: SourceDescription | undefined;\n\n /**\n * Start or resume playback.\n */\n play(): void;\n\n /**\n * Pause playback.\n */\n pause(): void;\n\n /**\n * Whether the player is paused.\n */\n readonly paused: boolean;\n\n /**\n * Whether the player should immediately start playback after source change.\n */\n autoplay: boolean;\n\n /**\n * The preload setting of the player.\n */\n preload: PreloadType;\n\n /**\n * Returns a list of TimeRanges that represents the ranges of the media resource that are seekable by the player.\n */\n seekable: TimeRange[];\n\n /**\n * Returns a list of TimeRanges that represents the ranges of the media resource that are buffered by the player.\n */\n buffered: TimeRange[];\n\n /**\n * Used to set the playback rate of the media.\n *\n * @example\n * <br/> - `playbackRate = 0.70` will slow down the playback rate of the media by 30%.\n * <br/> - `playbackRate = 1.25` will speed up the playback rate of the media by 25%.\n *\n * @remarks\n * <br/> - Playback rate is represented by a number where `1` is default playback speed.\n * <br/> - Playback rate must be a positive number.\n * <br/> - It is recommended that you limit the range to between 0.5 and 4.\n */\n playbackRate: number;\n\n /**\n * Used to set the volume of the audio.\n *\n * @remarks\n * <br/> - Volume is represented by a floating point number between `0.0` and `1.0`.\n */\n volume: number;\n\n /**\n * Determines whether audio is muted.\n */\n muted: boolean;\n\n /**\n * Whether the player is seeking.\n */\n readonly seeking: boolean;\n\n /**\n * The PresentationMode of the player. Can be switched to: `picture-in-picture`, `fullscreen` or `inline`\n */\n presentationMode: PresentationMode;\n\n /**\n * List of audio tracks of the current source.\n */\n audioTracks: MediaTrack[];\n\n /**\n * List of video tracks of the current source.\n */\n videoTracks: MediaTrack[];\n\n /**\n * List of text tracks of the current source.\n */\n textTracks: TextTrack[];\n\n /**\n * Used to set the current selected text track by passing its `uid`, or `undefined` to select none.\n */\n selectedTextTrack: number | undefined;\n\n /**\n * The text track style API.\n *\n * @remarks\n * Only available for Web.\n */\n readonly textTrackStyle: TextTrackStyle;\n\n /**\n * Used to set the current selected video track by passing its `uid`, or `undefined` to select none.\n */\n selectedVideoTrack: number | undefined;\n\n /**\n * Used to set the current selected video quality by passing its `uid`, or `undefined` to select none.\n */\n targetVideoQuality: number | number[] | undefined;\n\n /**\n * Used to set the current selected audio track by passing its `uid`, or `undefined` to select none.\n */\n selectedAudioTrack: number | undefined;\n\n /**\n * The current playback position of the media, in milliseconds.\n */\n currentTime: number;\n\n /**\n * Used to set the aspect ratio of the player.\n *\n * @remarks\n * Only available for iOS and Android.\n */\n aspectRatio: AspectRatio;\n\n /**\n * The active configuration for PiP.\n */\n pipConfiguration: PiPConfiguration;\n\n /**\n * The active configuration for PiP.\n */\n backgroundAudioConfiguration: BackgroundAudioConfiguration;\n\n /**\n * The duration of the media, in milliseconds.\n */\n readonly duration: number;\n\n /**\n * The API for advertisements.\n */\n readonly ads: AdsAPI;\n\n /**\n * The API for casting devices.\n */\n readonly cast: CastAPI;\n\n /**\n * The player version.\n */\n readonly version: PlayerVersion;\n\n /**\n * Native player handle.\n */\n readonly nativeHandle: NativeHandleType;\n}\n"],"mappings":"AAiBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAYA,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;;AAQvB;AACA;AACA"}
@@ -7,10 +7,10 @@
7
7
  * @public
8
8
  */
9
9
 
10
- export let PresentationMode;
11
- (function (PresentationMode) {
10
+ export let PresentationMode = /*#__PURE__*/function (PresentationMode) {
12
11
  PresentationMode["fullscreen"] = "fullscreen";
13
12
  PresentationMode["inline"] = "inline";
14
13
  PresentationMode["pip"] = "picture-in-picture";
15
- })(PresentationMode || (PresentationMode = {}));
14
+ return PresentationMode;
15
+ }({});
16
16
  //# sourceMappingURL=PresentationMode.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["PresentationMode"],"sources":["PresentationMode.ts"],"sourcesContent":["/**\n * The presentation mode of the player, represented by a value from the following list:\n * <br/> - `'inline'`: The player is shown in its original location on the page.\n * <br/> - `'fullscreen'`: The player fills the entire screen.\n * <br/> - `'picture-in-picture'`: The player is shown on top of the page (see {@link PiPConfiguration} for more options).\n *\n * @public\n */\n\nexport enum PresentationMode {\n fullscreen = 'fullscreen',\n inline = 'inline',\n pip = 'picture-in-picture',\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAYA,gBAAgB;AAI3B,WAJWA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;AAAA,GAAhBA,gBAAgB,KAAhBA,gBAAgB"}
1
+ {"version":3,"names":["PresentationMode"],"sources":["PresentationMode.ts"],"sourcesContent":["/**\n * The presentation mode of the player, represented by a value from the following list:\n * <br/> - `'inline'`: The player is shown in its original location on the page.\n * <br/> - `'fullscreen'`: The player fills the entire screen.\n * <br/> - `'picture-in-picture'`: The player is shown on top of the page (see {@link PiPConfiguration} for more options).\n *\n * @public\n */\n\nexport enum PresentationMode {\n fullscreen = 'fullscreen',\n inline = 'inline',\n pip = 'picture-in-picture',\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAYA,gBAAgB,0BAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA"}
@@ -34,11 +34,11 @@
34
34
  *
35
35
  * @public
36
36
  */
37
- export let AdIntegrationKind;
38
- (function (AdIntegrationKind) {
37
+ export let AdIntegrationKind = /*#__PURE__*/function (AdIntegrationKind) {
39
38
  AdIntegrationKind["freewheel"] = "freewheel";
40
39
  AdIntegrationKind["google_ima"] = "google-ima";
41
40
  AdIntegrationKind["spotx"] = "spotx";
42
41
  AdIntegrationKind["theo"] = "theo";
43
- })(AdIntegrationKind || (AdIntegrationKind = {}));
42
+ return AdIntegrationKind;
43
+ }({});
44
44
  //# sourceMappingURL=Ads.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AdIntegrationKind"],"sources":["Ads.ts"],"sourcesContent":["/**\n * The type of ad source:\n * <br/> - `'vast'`: The source is a VAST resource.\n * <br/> - `'vmap'`: The source is a VMAP resource.\n * <br/> - `'adrule'`: The source is a Ad Rule resource.\n *\n * @remarks\n * <br/> - An ad rule is a simplified VMAP alternative only available in the Google IMA integration.\n *\n * @public\n */\nexport type AdSourceType = 'vast' | 'vmap' | 'adrule';\n\n/**\n * Describes the source of the ad.\n *\n * @public\n */\nexport interface AdSource {\n /**\n * The URL of the ad resource.\n */\n src: string;\n\n /**\n * The type of ad resource.\n *\n * @defaultValue 'vmap' when set through {@link SourceConfiguration.ads} without a time offset, otherwise 'vast'.\n */\n type?: AdSourceType;\n}\n\n/**\n * Describes an ad break request.\n *\n * @public\n */\nexport interface AdDescription {\n /**\n * The integration of the ad break.\n *\n * @defaultValue `'theo'`\n */\n integration?: AdIntegrationKind;\n\n /**\n * Whether the ad replaces playback of the content.\n *\n * @remarks\n * <br/> - When the ad ends, the content will resume at the ad break's offset plus its duration.\n *\n * @defaultValue\n * <br/> - `true` for live content,\n * <br/> - `false` for VOD content\n */\n replaceContent?: boolean;\n\n /**\n * A source which contains the location of ad resources to be scheduled.\n *\n * @remarks\n * <br/> - Important: This should *not* be an array of sources.\n * <br/> - VPAID support is limited to the `'google-ima'` integration.\n * <br/> - Not specifying this property should only happen when using a third party ad integration that uses an other system of specifying which ads to schedule\n */\n sources?: string | AdSource;\n\n /**\n * Offset after which the ad break will start.\n *\n * Possible formats:\n * <br/> - A number for the offset in seconds.\n * <br/> - `'start'` for a preroll.\n * <br/> - `'end'` for a postroll.\n * <br/> - `'HH:MM:SS.mmm'` for a timestamp in the playback window.\n * <br/> - A percentage string (XX%) for a proportion of the content duration.\n *\n * @remarks\n * <br/> - A timestamp which is not in the playback window will result in the ad break not being started.\n * <br/> - VMAP resources will ignore this value as they contain an internal offset.\n * <br/> - Since 2.18, numbers are supported for the Google IMA integration, since 2.21 other formats as well.\n *\n * @defaultValue `'start'`\n *\n */\n timeOffset?: string | number;\n}\n\n/**\n * The integration of an ad break, represented by a value from the following list:\n * <br/> - `'theo'`: Default ad playback.\n * <br/> - `'google-ima'`: {@link https://developers.google.com/interactive-media-ads/docs/sdks/html5|Google IMA} pre-integrated ad playback.\n * <br/> - `'spotx'`: {@link https://developer.spotxchange.com/|SpotX} pre-integrated ad playback.\n * <br/> - `'freewheel'`: {@link https://vi.freewheel.tv/|FreeWheel} pre-integrated ad playback.\n *\n * @remarks\n * <br/> - An empty string defaults to `'theo'`.\n *\n * @public\n */\nexport enum AdIntegrationKind {\n freewheel = 'freewheel',\n google_ima = 'google-ima',\n spotx = 'spotx',\n theo = 'theo',\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;;AAeA;AACA;AACA;AACA;AACA;;AAoDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAYA,iBAAiB;AAK5B,WALWA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;AAAA,GAAjBA,iBAAiB,KAAjBA,iBAAiB"}
1
+ {"version":3,"names":["AdIntegrationKind"],"sources":["Ads.ts"],"sourcesContent":["/**\n * The type of ad source:\n * <br/> - `'vast'`: The source is a VAST resource.\n * <br/> - `'vmap'`: The source is a VMAP resource.\n * <br/> - `'adrule'`: The source is a Ad Rule resource.\n *\n * @remarks\n * <br/> - An ad rule is a simplified VMAP alternative only available in the Google IMA integration.\n *\n * @public\n */\nexport type AdSourceType = 'vast' | 'vmap' | 'adrule';\n\n/**\n * Describes the source of the ad.\n *\n * @public\n */\nexport interface AdSource {\n /**\n * The URL of the ad resource.\n */\n src: string;\n\n /**\n * The type of ad resource.\n *\n * @defaultValue 'vmap' when set through {@link SourceConfiguration.ads} without a time offset, otherwise 'vast'.\n */\n type?: AdSourceType;\n}\n\n/**\n * Describes an ad break request.\n *\n * @public\n */\nexport interface AdDescription {\n /**\n * The integration of the ad break.\n *\n * @defaultValue `'theo'`\n */\n integration?: AdIntegrationKind;\n\n /**\n * Whether the ad replaces playback of the content.\n *\n * @remarks\n * <br/> - When the ad ends, the content will resume at the ad break's offset plus its duration.\n *\n * @defaultValue\n * <br/> - `true` for live content,\n * <br/> - `false` for VOD content\n */\n replaceContent?: boolean;\n\n /**\n * A source which contains the location of ad resources to be scheduled.\n *\n * @remarks\n * <br/> - Important: This should *not* be an array of sources.\n * <br/> - VPAID support is limited to the `'google-ima'` integration.\n * <br/> - Not specifying this property should only happen when using a third party ad integration that uses an other system of specifying which ads to schedule\n */\n sources?: string | AdSource;\n\n /**\n * Offset after which the ad break will start.\n *\n * Possible formats:\n * <br/> - A number for the offset in seconds.\n * <br/> - `'start'` for a preroll.\n * <br/> - `'end'` for a postroll.\n * <br/> - `'HH:MM:SS.mmm'` for a timestamp in the playback window.\n * <br/> - A percentage string (XX%) for a proportion of the content duration.\n *\n * @remarks\n * <br/> - A timestamp which is not in the playback window will result in the ad break not being started.\n * <br/> - VMAP resources will ignore this value as they contain an internal offset.\n * <br/> - Since 2.18, numbers are supported for the Google IMA integration, since 2.21 other formats as well.\n *\n * @defaultValue `'start'`\n *\n */\n timeOffset?: string | number;\n}\n\n/**\n * The integration of an ad break, represented by a value from the following list:\n * <br/> - `'theo'`: Default ad playback.\n * <br/> - `'google-ima'`: {@link https://developers.google.com/interactive-media-ads/docs/sdks/html5|Google IMA} pre-integrated ad playback.\n * <br/> - `'spotx'`: {@link https://developer.spotxchange.com/|SpotX} pre-integrated ad playback.\n * <br/> - `'freewheel'`: {@link https://vi.freewheel.tv/|FreeWheel} pre-integrated ad playback.\n *\n * @remarks\n * <br/> - An empty string defaults to `'theo'`.\n *\n * @public\n */\nexport enum AdIntegrationKind {\n freewheel = 'freewheel',\n google_ima = 'google-ima',\n spotx = 'spotx',\n theo = 'theo',\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;;AAeA;AACA;AACA;AACA;AACA;;AAoDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAYA,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA"}
@@ -1,26 +1,26 @@
1
- export let TextTrackType;
2
- (function (TextTrackType) {
1
+ export let TextTrackType = /*#__PURE__*/function (TextTrackType) {
3
2
  TextTrackType["cea608"] = "cea608";
4
3
  TextTrackType["id3"] = "id3";
5
4
  TextTrackType["srt"] = "srt";
6
5
  TextTrackType["ttml"] = "ttml";
7
6
  TextTrackType["webvtt"] = "webvtt";
8
- })(TextTrackType || (TextTrackType = {}));
9
- export let TextTrackKind;
10
- (function (TextTrackKind) {
7
+ return TextTrackType;
8
+ }({});
9
+ export let TextTrackKind = /*#__PURE__*/function (TextTrackKind) {
11
10
  TextTrackKind["captions"] = "captions";
12
11
  TextTrackKind["chapters"] = "chapters";
13
12
  TextTrackKind["descriptions"] = "descriptions";
14
13
  TextTrackKind["metadata"] = "metadata";
15
14
  TextTrackKind["subtitles"] = "subtitles";
16
15
  TextTrackKind["thumbnails"] = "thumbnails";
17
- })(TextTrackKind || (TextTrackKind = {}));
18
- export let TextTrackMode;
19
- (function (TextTrackMode) {
16
+ return TextTrackKind;
17
+ }({});
18
+ export let TextTrackMode = /*#__PURE__*/function (TextTrackMode) {
20
19
  TextTrackMode["disabled"] = "disabled";
21
20
  TextTrackMode["showing"] = "showing";
22
21
  TextTrackMode["hidden"] = "hidden";
23
- })(TextTrackMode || (TextTrackMode = {}));
22
+ return TextTrackMode;
23
+ }({});
24
24
  /**
25
25
  * Retain renderable tracks.
26
26
  * https://html.spec.whatwg.org/multipage/embedded-content.html#text-track-showing
@@ -1 +1 @@
1
- {"version":3,"names":["TextTrackType","TextTrackKind","TextTrackMode","filterRenderableTracks","textTracks","filter","textTrack","kind","filterThumbnailTracks","find","isThumbnailTrack","label","hasTextTrackCue","cue","cues","c","uid","removeTextTrackCue","addTextTrackCue","push","findTextTrackByUid","t"],"sources":["TextTrack.ts"],"sourcesContent":["import type { Track } from './Track';\nimport type { TextTrackCue } from './TextTrackCue';\n\nexport enum TextTrackType {\n cea608 = 'cea608',\n id3 = 'id3',\n srt = 'srt',\n ttml = 'ttml',\n webvtt = 'webvtt',\n}\n\nexport enum TextTrackKind {\n captions = 'captions',\n chapters = 'chapters',\n descriptions = 'descriptions',\n metadata = 'metadata',\n subtitles = 'subtitles',\n thumbnails = 'thumbnails',\n}\n\nexport enum TextTrackMode {\n disabled = 'disabled',\n showing = 'showing',\n hidden = 'hidden',\n}\n\nexport interface TextTrack extends Track {\n /**\n * The kind of the text track, represented by a value from the following list:\n * <br/> - `'subtitles'`: The track contains subtitles.\n * <br/> - `'captions'`: The track contains closed captions, a translation of dialogue and sound effects.\n * <br/> - `'descriptions'`: The track contains descriptions, a textual description of the video.\n * <br/> - `'chapters'`: The track contains chapter titles.\n * <br/> - `'metadata'`: The track contains metadata. This track will not serve display purposes.\n */\n readonly kind: TextTrackKind;\n\n /**\n * The label of the text track.\n */\n readonly label: string;\n\n /**\n * The language of the text track.\n */\n readonly language: string;\n\n /**\n * The identifier of the text track.\n *\n * @remarks\n * <br/> - This identifier can be used to distinguish between related tracks, e.g. tracks in the same list.\n */\n readonly id: string;\n\n /**\n * A unique identifier of the text track.\n *\n * @remarks\n * <br/> - This identifier is unique across tracks of a THEOplayer instance and can be used to distinguish between tracks.\n */\n readonly uid: number;\n\n /**\n * The mode of the text track, represented by a value from the following list:\n * <br/> - `'disabled'`: The track is disabled.\n * <br/> - `'showing'`: The track is showing.\n */\n mode: TextTrackMode;\n\n /**\n * The content type of the text track.\n */\n readonly type: TextTrackType;\n\n /**\n * The list of cues of the track.\n *\n * @remarks\n * <br/> - If the {@link TextTrack.mode} is `'disabled'`, this property is `null`.\n */\n cues: TextTrackCue[] | null;\n\n /**\n * The source of the text track.\n */\n readonly src: string;\n\n /**\n * Indicates whether the track contains Forced Narrative cues.\n * This may only be true for subtitle tracks where\n * <br/> - For DASH: the corresponding AdaptationSet contains a child Role with its value attribute equal to `'forced_subtitle'`\n * <br/> - For HLS: the corresponding #EXT-X-MEDIA tag contains the attributes TYPE=SUBTITLES and FORCED=YES (not supported yet)\n */\n readonly forced: boolean;\n}\n\n/**\n * Retain renderable tracks.\n * https://html.spec.whatwg.org/multipage/embedded-content.html#text-track-showing\n */\nexport function filterRenderableTracks(textTracks: TextTrack[] | undefined): TextTrack[] | undefined {\n return textTracks && textTracks.filter((textTrack) => textTrack.kind === 'subtitles' || textTrack.kind === 'captions');\n}\n\n/**\n * Retain first thumbnail track encountered in the textTracks list.\n */\nexport function filterThumbnailTracks(textTracks: TextTrack[] | undefined): TextTrack | undefined {\n return textTracks && textTracks.find(isThumbnailTrack);\n}\n\n/**\n * Query whether a track is a valid thumbnail track.\n */\nexport function isThumbnailTrack(textTrack: TextTrack | undefined): boolean {\n return !!textTrack && (textTrack.kind === 'thumbnails' || (textTrack.kind === 'metadata' && textTrack.label === 'thumbnails'));\n}\n\nexport function hasTextTrackCue(textTrack: TextTrack, cue: TextTrackCue): boolean {\n return !!(textTrack.cues && cue && textTrack.cues.find((c) => cue.uid === c.uid));\n}\n\nexport function removeTextTrackCue(textTrack?: TextTrack, cue?: TextTrackCue) {\n if (textTrack && textTrack.cues && cue && hasTextTrackCue(textTrack, cue)) {\n textTrack.cues = textTrack.cues.filter((c) => c.uid !== cue.uid);\n }\n}\n\nexport function addTextTrackCue(textTrack?: TextTrack, cue?: TextTrackCue) {\n if (textTrack && textTrack.cues && cue && !hasTextTrackCue(textTrack, cue)) {\n textTrack.cues.push(cue);\n }\n}\n\nexport function findTextTrackByUid(textTracks: TextTrack[], uid: number): TextTrack | undefined {\n return textTracks.find((t) => t.uid === uid);\n}\n"],"mappings":"AAGA,WAAYA,aAAa;AAMxB,WANWA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;AAAA,GAAbA,aAAa,KAAbA,aAAa;AAQzB,WAAYC,aAAa;AAOxB,WAPWA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;AAAA,GAAbA,aAAa,KAAbA,aAAa;AASzB,WAAYC,aAAa;AAIxB,WAJWA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;AAAA,GAAbA,aAAa,KAAbA,aAAa;AA6EzB;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,UAAmC,EAA2B;EACnG,OAAOA,UAAU,IAAIA,UAAU,CAACC,MAAM,CAAEC,SAAS,IAAKA,SAAS,CAACC,IAAI,KAAK,WAAW,IAAID,SAAS,CAACC,IAAI,KAAK,UAAU,CAAC;AACxH;;AAEA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAACJ,UAAmC,EAAyB;EAChG,OAAOA,UAAU,IAAIA,UAAU,CAACK,IAAI,CAACC,gBAAgB,CAAC;AACxD;;AAEA;AACA;AACA;AACA,OAAO,SAASA,gBAAgBA,CAACJ,SAAgC,EAAW;EAC1E,OAAO,CAAC,CAACA,SAAS,KAAKA,SAAS,CAACC,IAAI,KAAK,YAAY,IAAKD,SAAS,CAACC,IAAI,KAAK,UAAU,IAAID,SAAS,CAACK,KAAK,KAAK,YAAa,CAAC;AAChI;AAEA,OAAO,SAASC,eAAeA,CAACN,SAAoB,EAAEO,GAAiB,EAAW;EAChF,OAAO,CAAC,EAAEP,SAAS,CAACQ,IAAI,IAAID,GAAG,IAAIP,SAAS,CAACQ,IAAI,CAACL,IAAI,CAAEM,CAAC,IAAKF,GAAG,CAACG,GAAG,KAAKD,CAAC,CAACC,GAAG,CAAC,CAAC;AACnF;AAEA,OAAO,SAASC,kBAAkBA,CAACX,SAAqB,EAAEO,GAAkB,EAAE;EAC5E,IAAIP,SAAS,IAAIA,SAAS,CAACQ,IAAI,IAAID,GAAG,IAAID,eAAe,CAACN,SAAS,EAAEO,GAAG,CAAC,EAAE;IACzEP,SAAS,CAACQ,IAAI,GAAGR,SAAS,CAACQ,IAAI,CAACT,MAAM,CAAEU,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAKH,GAAG,CAACG,GAAG,CAAC;EAClE;AACF;AAEA,OAAO,SAASE,eAAeA,CAACZ,SAAqB,EAAEO,GAAkB,EAAE;EACzE,IAAIP,SAAS,IAAIA,SAAS,CAACQ,IAAI,IAAID,GAAG,IAAI,CAACD,eAAe,CAACN,SAAS,EAAEO,GAAG,CAAC,EAAE;IAC1EP,SAAS,CAACQ,IAAI,CAACK,IAAI,CAACN,GAAG,CAAC;EAC1B;AACF;AAEA,OAAO,SAASO,kBAAkBA,CAAChB,UAAuB,EAAEY,GAAW,EAAyB;EAC9F,OAAOZ,UAAU,CAACK,IAAI,CAAEY,CAAC,IAAKA,CAAC,CAACL,GAAG,KAAKA,GAAG,CAAC;AAC9C"}
1
+ {"version":3,"names":["TextTrackType","TextTrackKind","TextTrackMode","filterRenderableTracks","textTracks","filter","textTrack","kind","filterThumbnailTracks","find","isThumbnailTrack","label","hasTextTrackCue","cue","cues","c","uid","removeTextTrackCue","addTextTrackCue","push","findTextTrackByUid","t"],"sources":["TextTrack.ts"],"sourcesContent":["import type { Track } from './Track';\nimport type { TextTrackCue } from './TextTrackCue';\n\nexport enum TextTrackType {\n cea608 = 'cea608',\n id3 = 'id3',\n srt = 'srt',\n ttml = 'ttml',\n webvtt = 'webvtt',\n}\n\nexport enum TextTrackKind {\n captions = 'captions',\n chapters = 'chapters',\n descriptions = 'descriptions',\n metadata = 'metadata',\n subtitles = 'subtitles',\n thumbnails = 'thumbnails',\n}\n\nexport enum TextTrackMode {\n disabled = 'disabled',\n showing = 'showing',\n hidden = 'hidden',\n}\n\nexport interface TextTrack extends Track {\n /**\n * The kind of the text track, represented by a value from the following list:\n * <br/> - `'subtitles'`: The track contains subtitles.\n * <br/> - `'captions'`: The track contains closed captions, a translation of dialogue and sound effects.\n * <br/> - `'descriptions'`: The track contains descriptions, a textual description of the video.\n * <br/> - `'chapters'`: The track contains chapter titles.\n * <br/> - `'metadata'`: The track contains metadata. This track will not serve display purposes.\n */\n readonly kind: TextTrackKind;\n\n /**\n * The label of the text track.\n */\n readonly label: string;\n\n /**\n * The language of the text track.\n */\n readonly language: string;\n\n /**\n * The identifier of the text track.\n *\n * @remarks\n * <br/> - This identifier can be used to distinguish between related tracks, e.g. tracks in the same list.\n */\n readonly id: string;\n\n /**\n * A unique identifier of the text track.\n *\n * @remarks\n * <br/> - This identifier is unique across tracks of a THEOplayer instance and can be used to distinguish between tracks.\n */\n readonly uid: number;\n\n /**\n * The mode of the text track, represented by a value from the following list:\n * <br/> - `'disabled'`: The track is disabled.\n * <br/> - `'showing'`: The track is showing.\n */\n mode: TextTrackMode;\n\n /**\n * The content type of the text track.\n */\n readonly type: TextTrackType;\n\n /**\n * The list of cues of the track.\n *\n * @remarks\n * <br/> - If the {@link TextTrack.mode} is `'disabled'`, this property is `null`.\n */\n cues: TextTrackCue[] | null;\n\n /**\n * The source of the text track.\n */\n readonly src: string;\n\n /**\n * Indicates whether the track contains Forced Narrative cues.\n * This may only be true for subtitle tracks where\n * <br/> - For DASH: the corresponding AdaptationSet contains a child Role with its value attribute equal to `'forced_subtitle'`\n * <br/> - For HLS: the corresponding #EXT-X-MEDIA tag contains the attributes TYPE=SUBTITLES and FORCED=YES (not supported yet)\n */\n readonly forced: boolean;\n}\n\n/**\n * Retain renderable tracks.\n * https://html.spec.whatwg.org/multipage/embedded-content.html#text-track-showing\n */\nexport function filterRenderableTracks(textTracks: TextTrack[] | undefined): TextTrack[] | undefined {\n return textTracks && textTracks.filter((textTrack) => textTrack.kind === 'subtitles' || textTrack.kind === 'captions');\n}\n\n/**\n * Retain first thumbnail track encountered in the textTracks list.\n */\nexport function filterThumbnailTracks(textTracks: TextTrack[] | undefined): TextTrack | undefined {\n return textTracks && textTracks.find(isThumbnailTrack);\n}\n\n/**\n * Query whether a track is a valid thumbnail track.\n */\nexport function isThumbnailTrack(textTrack: TextTrack | undefined): boolean {\n return !!textTrack && (textTrack.kind === 'thumbnails' || (textTrack.kind === 'metadata' && textTrack.label === 'thumbnails'));\n}\n\nexport function hasTextTrackCue(textTrack: TextTrack, cue: TextTrackCue): boolean {\n return !!(textTrack.cues && cue && textTrack.cues.find((c) => cue.uid === c.uid));\n}\n\nexport function removeTextTrackCue(textTrack?: TextTrack, cue?: TextTrackCue) {\n if (textTrack && textTrack.cues && cue && hasTextTrackCue(textTrack, cue)) {\n textTrack.cues = textTrack.cues.filter((c) => c.uid !== cue.uid);\n }\n}\n\nexport function addTextTrackCue(textTrack?: TextTrack, cue?: TextTrackCue) {\n if (textTrack && textTrack.cues && cue && !hasTextTrackCue(textTrack, cue)) {\n textTrack.cues.push(cue);\n }\n}\n\nexport function findTextTrackByUid(textTracks: TextTrack[], uid: number): TextTrack | undefined {\n return textTracks.find((t) => t.uid === uid);\n}\n"],"mappings":"AAGA,WAAYA,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAQzB,WAAYC,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AASzB,WAAYC,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AA6EzB;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,UAAmC,EAA2B;EACnG,OAAOA,UAAU,IAAIA,UAAU,CAACC,MAAM,CAAEC,SAAS,IAAKA,SAAS,CAACC,IAAI,KAAK,WAAW,IAAID,SAAS,CAACC,IAAI,KAAK,UAAU,CAAC;AACxH;;AAEA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAACJ,UAAmC,EAAyB;EAChG,OAAOA,UAAU,IAAIA,UAAU,CAACK,IAAI,CAACC,gBAAgB,CAAC;AACxD;;AAEA;AACA;AACA;AACA,OAAO,SAASA,gBAAgBA,CAACJ,SAAgC,EAAW;EAC1E,OAAO,CAAC,CAACA,SAAS,KAAKA,SAAS,CAACC,IAAI,KAAK,YAAY,IAAKD,SAAS,CAACC,IAAI,KAAK,UAAU,IAAID,SAAS,CAACK,KAAK,KAAK,YAAa,CAAC;AAChI;AAEA,OAAO,SAASC,eAAeA,CAACN,SAAoB,EAAEO,GAAiB,EAAW;EAChF,OAAO,CAAC,EAAEP,SAAS,CAACQ,IAAI,IAAID,GAAG,IAAIP,SAAS,CAACQ,IAAI,CAACL,IAAI,CAAEM,CAAC,IAAKF,GAAG,CAACG,GAAG,KAAKD,CAAC,CAACC,GAAG,CAAC,CAAC;AACnF;AAEA,OAAO,SAASC,kBAAkBA,CAACX,SAAqB,EAAEO,GAAkB,EAAE;EAC5E,IAAIP,SAAS,IAAIA,SAAS,CAACQ,IAAI,IAAID,GAAG,IAAID,eAAe,CAACN,SAAS,EAAEO,GAAG,CAAC,EAAE;IACzEP,SAAS,CAACQ,IAAI,GAAGR,SAAS,CAACQ,IAAI,CAACT,MAAM,CAAEU,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAKH,GAAG,CAACG,GAAG,CAAC;EAClE;AACF;AAEA,OAAO,SAASE,eAAeA,CAACZ,SAAqB,EAAEO,GAAkB,EAAE;EACzE,IAAIP,SAAS,IAAIA,SAAS,CAACQ,IAAI,IAAID,GAAG,IAAI,CAACD,eAAe,CAACN,SAAS,EAAEO,GAAG,CAAC,EAAE;IAC1EP,SAAS,CAACQ,IAAI,CAACK,IAAI,CAACN,GAAG,CAAC;EAC1B;AACF;AAEA,OAAO,SAASO,kBAAkBA,CAAChB,UAAuB,EAAEY,GAAW,EAAyB;EAC9F,OAAOZ,UAAU,CAACK,IAAI,CAAEY,CAAC,IAAKA,CAAC,CAACL,GAAG,KAAKA,GAAG,CAAC;AAC9C"}
@@ -14,12 +14,12 @@
14
14
  *
15
15
  * @public
16
16
  */
17
- export let EdgeStyle;
18
- (function (EdgeStyle) {
17
+ export let EdgeStyle = /*#__PURE__*/function (EdgeStyle) {
19
18
  EdgeStyle["none"] = "none";
20
19
  EdgeStyle["dropshadow"] = "dropshadow";
21
20
  EdgeStyle["raised"] = "raised";
22
21
  EdgeStyle["depressed"] = "depressed";
23
22
  EdgeStyle["uniform"] = "uniform";
24
- })(EdgeStyle || (EdgeStyle = {}));
23
+ return EdgeStyle;
24
+ }({});
25
25
  //# sourceMappingURL=TextTrackStyle.js.map