react-native-theoplayer 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (467) hide show
  1. package/README.md +4 -0
  2. package/android/build.gradle +70 -25
  3. package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/4.3.0/ads-wrapper-4.3.0.aar +0 -0
  4. package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/4.3.0/ads-wrapper-4.3.0.pom +9 -0
  5. package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/maven-metadata-local.xml +13 -0
  6. package/android/src/main/java/com/theoplayer/PlayerConfigHelper.java +40 -0
  7. package/android/src/main/java/com/theoplayer/ReactTHEOplayerPackage.java +8 -3
  8. package/android/src/main/java/com/theoplayer/ReactTHEOplayerView.java +131 -28
  9. package/android/src/main/java/com/theoplayer/ReactTHEOplayerViewManager.java +14 -1
  10. package/android/src/main/java/com/theoplayer/SourceHelper.java +137 -86
  11. package/android/src/main/java/com/theoplayer/VideoEventEmitter.java +44 -12
  12. package/android/src/main/java/com/theoplayer/abr/ABRConfigurationAdapter.kt +72 -0
  13. package/android/src/main/java/com/theoplayer/ads/AdEventAdapter.java +92 -0
  14. package/android/src/main/java/com/theoplayer/ads/AdInfo.java +168 -0
  15. package/android/src/main/java/com/theoplayer/ads/AdsModule.java +152 -0
  16. package/android/src/main/java/com/theoplayer/drm/ContentProtectionAdapter.kt +143 -0
  17. package/android/src/main/java/com/theoplayer/drm/ContentProtectionModule.kt +269 -0
  18. package/android/src/main/java/com/theoplayer/drm/KeySystemAdapter.kt +22 -0
  19. package/android/src/main/java/com/theoplayer/drm/ProxyContentProtectionIntegration.kt +33 -0
  20. package/android/src/main/java/com/theoplayer/drm/ProxyContentProtectionIntegrationFactory.kt +19 -0
  21. package/android/src/main/java/com/theoplayer/drm/RequestMethodAdapter.kt +28 -0
  22. package/android/src/main/java/com/theoplayer/track/QualityListAdapter.java +54 -0
  23. package/android/src/main/java/com/theoplayer/track/QualityListFilter.java +40 -0
  24. package/android/src/main/java/com/theoplayer/track/TrackListInfo.java +10 -2
  25. package/android/src/main/java/com/theoplayer/util/TypeUtils.kt +17 -0
  26. package/android/src/main/java/com/theoplayer/util/ViewResolver.java +42 -0
  27. package/ios/THEOplayerRCTAdAggregator.swift +158 -0
  28. package/ios/THEOplayerRCTAdsAPI.swift +296 -0
  29. package/ios/THEOplayerRCTBridge.m +65 -0
  30. package/ios/THEOplayerRCTContentProtectionAPI.swift +359 -0
  31. package/ios/THEOplayerRCTContentProtectionAggregator.swift +119 -0
  32. package/ios/THEOplayerRCTDebug.swift +13 -4
  33. package/ios/THEOplayerRCTMetadataAggregator.swift +1 -1
  34. package/ios/THEOplayerRCTNetworkUtils.swift +54 -0
  35. package/ios/THEOplayerRCTProxyContentProtectionIntegration.swift +155 -0
  36. package/ios/THEOplayerRCTProxyContentProtectionIntegrationFactory.swift +32 -0
  37. package/ios/THEOplayerRCTSourceDescriptionBuilder.swift +405 -0
  38. package/ios/THEOplayerRCTTypeUtils.swift +18 -0
  39. package/ios/THEOplayerRCTView.swift +115 -56
  40. package/ios/THEOplayerRCTViewAdEventHandler.swift +238 -0
  41. package/ios/{THEOplayerRCTViewEventHandler.swift → THEOplayerRCTViewMainEventHandler.swift} +8 -120
  42. package/ios/THEOplayerRCTViewTextTrackEventHandler.swift +134 -0
  43. package/ios/Theoplayer-Bridging-Header.h +3 -1
  44. package/ios/custom/Frameworks/ios/put_custom_ios_xcframework_here.txt +2 -0
  45. package/ios/custom/react-native-theoplayer_custom_ios.podspec +36 -0
  46. package/ios/custom/theofeatures.sh +14 -0
  47. package/lib/commonjs/api/THEOplayerView.js.map +1 -1
  48. package/lib/commonjs/api/abr/ABRConfiguration.js +2 -0
  49. package/lib/commonjs/api/abr/ABRConfiguration.js.map +1 -0
  50. package/lib/commonjs/api/abr/barrel.js +19 -0
  51. package/lib/commonjs/api/abr/barrel.js.map +1 -0
  52. package/lib/commonjs/api/ads/Ad.js +6 -0
  53. package/lib/commonjs/api/ads/Ad.js.map +1 -0
  54. package/lib/commonjs/api/ads/AdBreak.js +6 -0
  55. package/lib/commonjs/api/ads/AdBreak.js.map +1 -0
  56. package/lib/commonjs/api/ads/AdsAPI.js +6 -0
  57. package/lib/commonjs/api/ads/AdsAPI.js.map +1 -0
  58. package/lib/commonjs/api/ads/AdsConfiguration.js +6 -0
  59. package/lib/commonjs/api/ads/AdsConfiguration.js.map +1 -0
  60. package/lib/commonjs/api/ads/CompanionAd.js +2 -0
  61. package/lib/commonjs/api/ads/CompanionAd.js.map +1 -0
  62. package/lib/commonjs/api/ads/GoogleDai.js +2 -0
  63. package/lib/commonjs/api/ads/GoogleDai.js.map +1 -0
  64. package/lib/commonjs/api/ads/GoogleImaAd.js +6 -0
  65. package/lib/commonjs/api/ads/GoogleImaAd.js.map +1 -0
  66. package/lib/commonjs/api/ads/GoogleImaConfiguration.js +2 -0
  67. package/lib/commonjs/api/ads/GoogleImaConfiguration.js.map +1 -0
  68. package/lib/commonjs/api/ads/barrel.js +110 -0
  69. package/lib/commonjs/api/ads/barrel.js.map +1 -0
  70. package/lib/commonjs/api/barrel.js +58 -6
  71. package/lib/commonjs/api/barrel.js.map +1 -1
  72. package/lib/commonjs/api/config/PlayerConfiguration.js +4 -0
  73. package/lib/commonjs/api/config/PlayerConfiguration.js.map +1 -1
  74. package/lib/commonjs/api/drm/ContentProtectionAPI.js +6 -0
  75. package/lib/commonjs/api/drm/ContentProtectionAPI.js.map +1 -0
  76. package/lib/commonjs/api/drm/ContentProtectionIntegration.js +6 -0
  77. package/lib/commonjs/api/drm/ContentProtectionIntegration.js.map +1 -0
  78. package/lib/commonjs/api/drm/ContentProtectionIntegrationFactory.js +6 -0
  79. package/lib/commonjs/api/drm/ContentProtectionIntegrationFactory.js.map +1 -0
  80. package/lib/commonjs/api/drm/ContentProtectionRequest.js +2 -0
  81. package/lib/commonjs/api/drm/ContentProtectionRequest.js.map +1 -0
  82. package/lib/commonjs/api/drm/ContentProtectionResponse.js +6 -0
  83. package/lib/commonjs/api/drm/ContentProtectionResponse.js.map +1 -0
  84. package/lib/commonjs/api/drm/barrel.js +71 -0
  85. package/lib/commonjs/api/drm/barrel.js.map +1 -0
  86. package/lib/commonjs/api/event/AdEvent.js +89 -0
  87. package/lib/commonjs/api/event/AdEvent.js.map +1 -0
  88. package/lib/commonjs/api/event/barrel.js +13 -0
  89. package/lib/commonjs/api/event/barrel.js.map +1 -1
  90. package/lib/commonjs/api/source/SourceDescription.js.map +1 -1
  91. package/lib/commonjs/api/source/ads/FreeWheelAdDescription.js +6 -0
  92. package/lib/commonjs/api/source/ads/FreeWheelAdDescription.js.map +1 -0
  93. package/lib/commonjs/api/source/ads/IMAAdDescription.js +6 -0
  94. package/lib/commonjs/api/source/ads/IMAAdDescription.js.map +1 -0
  95. package/lib/commonjs/api/source/ads/SpotXAdDescription.js +6 -0
  96. package/lib/commonjs/api/source/ads/SpotXAdDescription.js.map +1 -0
  97. package/lib/commonjs/api/source/ads/THEOplayerAdDescription.js +6 -0
  98. package/lib/commonjs/api/source/ads/THEOplayerAdDescription.js.map +1 -0
  99. package/lib/commonjs/api/source/ads/barrel.js +84 -0
  100. package/lib/commonjs/api/source/ads/barrel.js.map +1 -0
  101. package/lib/commonjs/api/source/ads/ssai/GoogleDAIConfiguration.js +6 -0
  102. package/lib/commonjs/api/source/ads/ssai/GoogleDAIConfiguration.js.map +1 -0
  103. package/lib/commonjs/api/source/ads/ssai/ImagineServerSideAdInsertionConfiguration.js +6 -0
  104. package/lib/commonjs/api/source/ads/ssai/ImagineServerSideAdInsertionConfiguration.js.map +1 -0
  105. package/lib/commonjs/api/source/ads/ssai/ServerSideAdInsertionConfiguration.js +6 -0
  106. package/lib/commonjs/api/source/ads/ssai/ServerSideAdInsertionConfiguration.js.map +1 -0
  107. package/lib/commonjs/api/source/ads/ssai/YospaceServerSideAdInsertionConfiguration.js +6 -0
  108. package/lib/commonjs/api/source/ads/ssai/YospaceServerSideAdInsertionConfiguration.js.map +1 -0
  109. package/lib/commonjs/api/source/ads/ssai/barrel.js +58 -0
  110. package/lib/commonjs/api/source/ads/ssai/barrel.js.map +1 -0
  111. package/lib/commonjs/api/source/barrel.js +16 -3
  112. package/lib/commonjs/api/source/barrel.js.map +1 -1
  113. package/lib/commonjs/api/source/drm/DRMConfiguration.js.map +1 -1
  114. package/lib/commonjs/api/track/MediaTrack.js +29 -0
  115. package/lib/commonjs/api/track/MediaTrack.js.map +1 -1
  116. package/lib/commonjs/api/utils/TypeUtils.js +62 -0
  117. package/lib/commonjs/api/utils/TypeUtils.js.map +1 -0
  118. package/lib/commonjs/api/utils/barrel.js +19 -0
  119. package/lib/commonjs/api/utils/barrel.js.map +1 -0
  120. package/lib/commonjs/index.js +10 -1
  121. package/lib/commonjs/index.js.map +1 -1
  122. package/lib/commonjs/internal/THEOplayerView.js +42 -3
  123. package/lib/commonjs/internal/THEOplayerView.js.map +1 -1
  124. package/lib/commonjs/internal/THEOplayerView.web.js +41 -2
  125. package/lib/commonjs/internal/THEOplayerView.web.js.map +1 -1
  126. package/lib/commonjs/internal/ads/THEOplayerNativeAdsAPI.js +54 -0
  127. package/lib/commonjs/internal/ads/THEOplayerNativeAdsAPI.js.map +1 -0
  128. package/lib/commonjs/internal/ads/THEOplayerNativeGoogleDAI.js +34 -0
  129. package/lib/commonjs/internal/ads/THEOplayerNativeGoogleDAI.js.map +1 -0
  130. package/lib/commonjs/internal/ads/THEOplayerWebAdsAPI.js +78 -0
  131. package/lib/commonjs/internal/ads/THEOplayerWebAdsAPI.js.map +1 -0
  132. package/lib/commonjs/internal/ads/THEOplayerWebGoogleDAI.js +32 -0
  133. package/lib/commonjs/internal/ads/THEOplayerWebGoogleDAI.js.map +1 -0
  134. package/lib/commonjs/internal/drm/ContentProtectionRegistry.js +214 -0
  135. package/lib/commonjs/internal/drm/ContentProtectionRegistry.js.map +1 -0
  136. package/lib/commonjs/internal/drm/ContentProtectionRegistry.web.js +20 -0
  137. package/lib/commonjs/internal/drm/ContentProtectionRegistry.web.js.map +1 -0
  138. package/lib/commonjs/internal/drm/NativeCertificateRequest.js +41 -0
  139. package/lib/commonjs/internal/drm/NativeCertificateRequest.js.map +1 -0
  140. package/lib/commonjs/internal/drm/NativeCertificateResponse.js +41 -0
  141. package/lib/commonjs/internal/drm/NativeCertificateResponse.js.map +1 -0
  142. package/lib/commonjs/internal/drm/NativeContentProtectionEvent.js +2 -0
  143. package/lib/commonjs/internal/drm/NativeContentProtectionEvent.js.map +1 -0
  144. package/lib/commonjs/internal/drm/NativeLicenseRequest.js +44 -0
  145. package/lib/commonjs/internal/drm/NativeLicenseRequest.js.map +1 -0
  146. package/lib/commonjs/internal/drm/NativeLicenseResponse.js +41 -0
  147. package/lib/commonjs/internal/drm/NativeLicenseResponse.js.map +1 -0
  148. package/lib/commonjs/internal/utils/TypeUtils.js +41 -0
  149. package/lib/commonjs/internal/utils/TypeUtils.js.map +1 -0
  150. package/lib/commonjs/internal/web/TrackUtils.js +19 -0
  151. package/lib/commonjs/internal/web/TrackUtils.js.map +1 -1
  152. package/lib/module/api/THEOplayerView.js.map +1 -1
  153. package/lib/module/api/abr/ABRConfiguration.js +2 -0
  154. package/lib/module/api/abr/ABRConfiguration.js.map +1 -0
  155. package/lib/module/api/abr/barrel.js +2 -0
  156. package/lib/module/api/abr/barrel.js.map +1 -0
  157. package/lib/module/api/ads/Ad.js +2 -0
  158. package/lib/module/api/ads/Ad.js.map +1 -0
  159. package/lib/module/api/ads/AdBreak.js +2 -0
  160. package/lib/module/api/ads/AdBreak.js.map +1 -0
  161. package/lib/module/api/ads/AdsAPI.js +2 -0
  162. package/lib/module/api/ads/AdsAPI.js.map +1 -0
  163. package/lib/module/api/ads/AdsConfiguration.js +2 -0
  164. package/lib/module/api/ads/AdsConfiguration.js.map +1 -0
  165. package/lib/module/api/ads/CompanionAd.js +2 -0
  166. package/lib/module/api/ads/CompanionAd.js.map +1 -0
  167. package/lib/module/api/ads/GoogleDai.js +2 -0
  168. package/lib/module/api/ads/GoogleDai.js.map +1 -0
  169. package/lib/module/api/ads/GoogleImaAd.js +2 -0
  170. package/lib/module/api/ads/GoogleImaAd.js.map +1 -0
  171. package/lib/module/api/ads/GoogleImaConfiguration.js +2 -0
  172. package/lib/module/api/ads/GoogleImaConfiguration.js.map +1 -0
  173. package/lib/module/api/ads/barrel.js +9 -0
  174. package/lib/module/api/ads/barrel.js.map +1 -0
  175. package/lib/module/api/barrel.js +5 -1
  176. package/lib/module/api/barrel.js.map +1 -1
  177. package/lib/module/api/config/PlayerConfiguration.js +1 -1
  178. package/lib/module/api/config/PlayerConfiguration.js.map +1 -1
  179. package/lib/module/api/drm/ContentProtectionAPI.js +2 -0
  180. package/lib/module/api/drm/ContentProtectionAPI.js.map +1 -0
  181. package/lib/module/api/drm/ContentProtectionIntegration.js +2 -0
  182. package/lib/module/api/drm/ContentProtectionIntegration.js.map +1 -0
  183. package/lib/module/api/drm/ContentProtectionIntegrationFactory.js +2 -0
  184. package/lib/module/api/drm/ContentProtectionIntegrationFactory.js.map +1 -0
  185. package/lib/module/api/drm/ContentProtectionRequest.js +2 -0
  186. package/lib/module/api/drm/ContentProtectionRequest.js.map +1 -0
  187. package/lib/module/api/drm/ContentProtectionResponse.js +2 -0
  188. package/lib/module/api/drm/ContentProtectionResponse.js.map +1 -0
  189. package/lib/module/api/drm/barrel.js +6 -0
  190. package/lib/module/api/drm/barrel.js.map +1 -0
  191. package/lib/module/api/event/AdEvent.js +82 -0
  192. package/lib/module/api/event/AdEvent.js.map +1 -0
  193. package/lib/module/api/event/barrel.js +1 -0
  194. package/lib/module/api/event/barrel.js.map +1 -1
  195. package/lib/module/api/source/SourceDescription.js.map +1 -1
  196. package/lib/module/api/source/ads/FreeWheelAdDescription.js +2 -0
  197. package/lib/module/api/source/ads/FreeWheelAdDescription.js.map +1 -0
  198. package/lib/module/api/source/ads/IMAAdDescription.js +2 -0
  199. package/lib/module/api/source/ads/IMAAdDescription.js.map +1 -0
  200. package/lib/module/api/source/ads/SpotXAdDescription.js +2 -0
  201. package/lib/module/api/source/ads/SpotXAdDescription.js.map +1 -0
  202. package/lib/module/api/source/ads/THEOplayerAdDescription.js +2 -0
  203. package/lib/module/api/source/ads/THEOplayerAdDescription.js.map +1 -0
  204. package/lib/module/api/source/ads/barrel.js +7 -0
  205. package/lib/module/api/source/ads/barrel.js.map +1 -0
  206. package/lib/module/api/source/ads/ssai/GoogleDAIConfiguration.js +2 -0
  207. package/lib/module/api/source/ads/ssai/GoogleDAIConfiguration.js.map +1 -0
  208. package/lib/module/api/source/ads/ssai/ImagineServerSideAdInsertionConfiguration.js +2 -0
  209. package/lib/module/api/source/ads/ssai/ImagineServerSideAdInsertionConfiguration.js.map +1 -0
  210. package/lib/module/api/source/ads/ssai/ServerSideAdInsertionConfiguration.js +2 -0
  211. package/lib/module/api/source/ads/ssai/ServerSideAdInsertionConfiguration.js.map +1 -0
  212. package/lib/module/api/source/ads/ssai/YospaceServerSideAdInsertionConfiguration.js +2 -0
  213. package/lib/module/api/source/ads/ssai/YospaceServerSideAdInsertionConfiguration.js.map +1 -0
  214. package/lib/module/api/source/ads/ssai/barrel.js +5 -0
  215. package/lib/module/api/source/ads/ssai/barrel.js.map +1 -0
  216. package/lib/module/api/source/barrel.js +1 -0
  217. package/lib/module/api/source/barrel.js.map +1 -1
  218. package/lib/module/api/source/drm/DRMConfiguration.js.map +1 -1
  219. package/lib/module/api/track/MediaTrack.js +23 -1
  220. package/lib/module/api/track/MediaTrack.js.map +1 -1
  221. package/lib/module/api/utils/TypeUtils.js +36 -0
  222. package/lib/module/api/utils/TypeUtils.js.map +1 -0
  223. package/lib/module/api/utils/barrel.js +2 -0
  224. package/lib/module/api/utils/barrel.js.map +1 -0
  225. package/lib/module/index.js +1 -0
  226. package/lib/module/index.js.map +1 -1
  227. package/lib/module/internal/THEOplayerView.js +40 -3
  228. package/lib/module/internal/THEOplayerView.js.map +1 -1
  229. package/lib/module/internal/THEOplayerView.web.js +42 -4
  230. package/lib/module/internal/THEOplayerView.web.js.map +1 -1
  231. package/lib/module/internal/ads/THEOplayerNativeAdsAPI.js +43 -0
  232. package/lib/module/internal/ads/THEOplayerNativeAdsAPI.js.map +1 -0
  233. package/lib/module/internal/ads/THEOplayerNativeGoogleDAI.js +24 -0
  234. package/lib/module/internal/ads/THEOplayerNativeGoogleDAI.js.map +1 -0
  235. package/lib/module/internal/ads/THEOplayerWebAdsAPI.js +68 -0
  236. package/lib/module/internal/ads/THEOplayerWebAdsAPI.js.map +1 -0
  237. package/lib/module/internal/ads/THEOplayerWebGoogleDAI.js +23 -0
  238. package/lib/module/internal/ads/THEOplayerWebGoogleDAI.js.map +1 -0
  239. package/lib/module/internal/drm/ContentProtectionRegistry.js +188 -0
  240. package/lib/module/internal/drm/ContentProtectionRegistry.js.map +1 -0
  241. package/lib/module/internal/drm/ContentProtectionRegistry.web.js +9 -0
  242. package/lib/module/internal/drm/ContentProtectionRegistry.web.js.map +1 -0
  243. package/lib/module/internal/drm/NativeCertificateRequest.js +31 -0
  244. package/lib/module/internal/drm/NativeCertificateRequest.js.map +1 -0
  245. package/lib/module/internal/drm/NativeCertificateResponse.js +30 -0
  246. package/lib/module/internal/drm/NativeCertificateResponse.js.map +1 -0
  247. package/lib/module/internal/drm/NativeContentProtectionEvent.js +2 -0
  248. package/lib/module/internal/drm/NativeContentProtectionEvent.js.map +1 -0
  249. package/lib/module/internal/drm/NativeLicenseRequest.js +34 -0
  250. package/lib/module/internal/drm/NativeLicenseRequest.js.map +1 -0
  251. package/lib/module/internal/drm/NativeLicenseResponse.js +30 -0
  252. package/lib/module/internal/drm/NativeLicenseResponse.js.map +1 -0
  253. package/lib/module/internal/utils/TypeUtils.js +24 -0
  254. package/lib/module/internal/utils/TypeUtils.js.map +1 -0
  255. package/lib/module/internal/web/TrackUtils.js +15 -0
  256. package/lib/module/internal/web/TrackUtils.js.map +1 -1
  257. package/lib/typescript/lib/commonjs/api/abr/ABRConfiguration.d.ts +0 -0
  258. package/lib/typescript/lib/commonjs/api/abr/barrel.d.ts +1 -0
  259. package/lib/typescript/lib/commonjs/api/ads/Ad.d.ts +1 -0
  260. package/lib/typescript/lib/commonjs/api/ads/AdBreak.d.ts +1 -0
  261. package/lib/typescript/lib/commonjs/api/ads/AdsAPI.d.ts +1 -0
  262. package/lib/typescript/lib/commonjs/api/ads/AdsConfiguration.d.ts +1 -0
  263. package/lib/typescript/lib/commonjs/api/ads/CompanionAd.d.ts +0 -0
  264. package/lib/typescript/lib/commonjs/api/ads/GoogleDai.d.ts +0 -0
  265. package/lib/typescript/lib/commonjs/api/ads/GoogleImaAd.d.ts +1 -0
  266. package/lib/typescript/lib/commonjs/api/ads/GoogleImaConfiguration.d.ts +0 -0
  267. package/lib/typescript/lib/commonjs/api/ads/barrel.d.ts +1 -0
  268. package/lib/typescript/lib/commonjs/api/config/PlayerConfiguration.d.ts +1 -0
  269. package/lib/typescript/lib/commonjs/api/drm/ContentProtectionAPI.d.ts +1 -0
  270. package/lib/typescript/lib/commonjs/api/drm/ContentProtectionIntegration.d.ts +1 -0
  271. package/lib/typescript/lib/commonjs/api/drm/ContentProtectionIntegrationFactory.d.ts +1 -0
  272. package/lib/typescript/lib/commonjs/api/drm/ContentProtectionRequest.d.ts +0 -0
  273. package/lib/typescript/lib/commonjs/api/drm/ContentProtectionResponse.d.ts +1 -0
  274. package/lib/typescript/lib/commonjs/api/drm/barrel.d.ts +1 -0
  275. package/lib/typescript/lib/commonjs/api/event/AdEvent.d.ts +2 -0
  276. package/lib/typescript/lib/commonjs/api/source/ads/FreeWheelAdDescription.d.ts +1 -0
  277. package/lib/typescript/lib/commonjs/api/source/ads/IMAAdDescription.d.ts +1 -0
  278. package/lib/typescript/lib/commonjs/api/source/ads/SpotXAdDescription.d.ts +1 -0
  279. package/lib/typescript/lib/commonjs/api/source/ads/THEOplayerAdDescription.d.ts +1 -0
  280. package/lib/typescript/lib/commonjs/api/source/ads/barrel.d.ts +1 -0
  281. package/lib/typescript/lib/commonjs/api/source/ads/ssai/GoogleDAIConfiguration.d.ts +1 -0
  282. package/lib/typescript/lib/commonjs/api/source/ads/ssai/ImagineServerSideAdInsertionConfiguration.d.ts +1 -0
  283. package/lib/typescript/lib/commonjs/api/source/ads/ssai/ServerSideAdInsertionConfiguration.d.ts +1 -0
  284. package/lib/typescript/lib/commonjs/api/source/ads/ssai/YospaceServerSideAdInsertionConfiguration.d.ts +1 -0
  285. package/lib/typescript/lib/commonjs/api/source/ads/ssai/barrel.d.ts +1 -0
  286. package/lib/typescript/lib/commonjs/api/track/MediaTrack.d.ts +8 -0
  287. package/lib/typescript/lib/commonjs/api/utils/TypeUtils.d.ts +13 -0
  288. package/lib/typescript/lib/commonjs/api/utils/barrel.d.ts +1 -0
  289. package/lib/typescript/lib/commonjs/index.d.ts +2 -0
  290. package/lib/typescript/lib/commonjs/internal/THEOplayerView.d.ts +5 -0
  291. package/lib/typescript/lib/commonjs/internal/THEOplayerView.web.d.ts +4 -0
  292. package/lib/typescript/lib/commonjs/internal/ads/THEOplayerNativeAdsAPI.d.ts +14 -0
  293. package/lib/typescript/lib/commonjs/internal/ads/THEOplayerNativeGoogleDAI.d.ts +9 -0
  294. package/lib/typescript/lib/commonjs/internal/ads/THEOplayerWebAdsAPI.d.ts +14 -0
  295. package/lib/typescript/lib/commonjs/internal/ads/THEOplayerWebGoogleDAI.d.ts +9 -0
  296. package/lib/typescript/lib/commonjs/internal/drm/ContentProtectionRegistry.d.ts +14 -0
  297. package/lib/typescript/lib/commonjs/internal/drm/ContentProtectionRegistry.web.d.ts +5 -0
  298. package/lib/typescript/lib/commonjs/internal/drm/NativeCertificateRequest.d.ts +18 -0
  299. package/lib/typescript/lib/commonjs/internal/drm/NativeCertificateResponse.d.ts +21 -0
  300. package/lib/typescript/lib/commonjs/internal/drm/NativeContentProtectionEvent.d.ts +0 -0
  301. package/lib/typescript/lib/commonjs/internal/drm/NativeLicenseRequest.d.ts +20 -0
  302. package/lib/typescript/lib/commonjs/internal/drm/NativeLicenseResponse.d.ts +22 -0
  303. package/lib/typescript/lib/commonjs/internal/utils/TypeUtils.d.ts +6 -0
  304. package/lib/typescript/lib/commonjs/internal/web/TrackUtils.d.ts +2 -0
  305. package/lib/typescript/lib/module/api/abr/ABRConfiguration.d.ts +0 -0
  306. package/lib/typescript/lib/module/api/abr/barrel.d.ts +1 -0
  307. package/lib/typescript/lib/module/api/ads/Ad.d.ts +1 -0
  308. package/lib/typescript/lib/module/api/ads/AdBreak.d.ts +1 -0
  309. package/lib/typescript/lib/module/api/ads/AdsAPI.d.ts +1 -0
  310. package/lib/typescript/lib/module/api/ads/AdsConfiguration.d.ts +1 -0
  311. package/lib/typescript/lib/module/api/ads/CompanionAd.d.ts +0 -0
  312. package/lib/typescript/lib/module/api/ads/GoogleDai.d.ts +0 -0
  313. package/lib/typescript/lib/module/api/ads/GoogleImaAd.d.ts +1 -0
  314. package/lib/typescript/lib/module/api/ads/GoogleImaConfiguration.d.ts +0 -0
  315. package/lib/typescript/lib/module/api/ads/barrel.d.ts +5 -0
  316. package/lib/typescript/lib/module/api/barrel.d.ts +5 -1
  317. package/lib/typescript/lib/module/api/config/PlayerConfiguration.d.ts +1 -0
  318. package/lib/typescript/lib/module/api/config/barrel.d.ts +1 -1
  319. package/lib/typescript/lib/module/api/drm/ContentProtectionAPI.d.ts +1 -0
  320. package/lib/typescript/lib/module/api/drm/ContentProtectionIntegration.d.ts +1 -0
  321. package/lib/typescript/lib/module/api/drm/ContentProtectionIntegrationFactory.d.ts +1 -0
  322. package/lib/typescript/lib/module/api/drm/ContentProtectionRequest.d.ts +0 -0
  323. package/lib/typescript/lib/module/api/drm/ContentProtectionResponse.d.ts +1 -0
  324. package/lib/typescript/lib/module/api/drm/barrel.d.ts +4 -0
  325. package/lib/typescript/lib/module/api/event/AdEvent.d.ts +1 -0
  326. package/lib/typescript/lib/module/api/event/barrel.d.ts +1 -0
  327. package/lib/typescript/lib/module/api/source/ads/FreeWheelAdDescription.d.ts +1 -0
  328. package/lib/typescript/lib/module/api/source/ads/IMAAdDescription.d.ts +1 -0
  329. package/lib/typescript/lib/module/api/source/ads/SpotXAdDescription.d.ts +1 -0
  330. package/lib/typescript/lib/module/api/source/ads/THEOplayerAdDescription.d.ts +1 -0
  331. package/lib/typescript/lib/module/api/source/ads/barrel.d.ts +5 -0
  332. package/lib/typescript/lib/module/api/source/ads/ssai/GoogleDAIConfiguration.d.ts +1 -0
  333. package/lib/typescript/lib/module/api/source/ads/ssai/ImagineServerSideAdInsertionConfiguration.d.ts +1 -0
  334. package/lib/typescript/lib/module/api/source/ads/ssai/ServerSideAdInsertionConfiguration.d.ts +1 -0
  335. package/lib/typescript/lib/module/api/source/ads/ssai/YospaceServerSideAdInsertionConfiguration.d.ts +1 -0
  336. package/lib/typescript/lib/module/api/source/ads/ssai/barrel.d.ts +4 -0
  337. package/lib/typescript/lib/module/api/source/barrel.d.ts +1 -0
  338. package/lib/typescript/lib/module/api/track/MediaTrack.d.ts +8 -1
  339. package/lib/typescript/lib/module/api/utils/TypeUtils.d.ts +12 -0
  340. package/lib/typescript/lib/module/api/utils/barrel.d.ts +1 -0
  341. package/lib/typescript/lib/module/index.d.ts +1 -0
  342. package/lib/typescript/lib/module/internal/THEOplayerView.d.ts +8 -0
  343. package/lib/typescript/lib/module/internal/THEOplayerView.web.d.ts +4 -0
  344. package/lib/typescript/lib/module/internal/ads/THEOplayerNativeAdsAPI.d.ts +13 -0
  345. package/lib/typescript/lib/module/internal/ads/THEOplayerNativeGoogleDAI.d.ts +8 -0
  346. package/lib/typescript/lib/module/internal/ads/THEOplayerWebAdsAPI.d.ts +13 -0
  347. package/lib/typescript/lib/module/internal/ads/THEOplayerWebGoogleDAI.d.ts +8 -0
  348. package/lib/typescript/lib/module/internal/drm/ContentProtectionRegistry.d.ts +13 -0
  349. package/lib/typescript/lib/module/internal/drm/ContentProtectionRegistry.web.d.ts +4 -0
  350. package/lib/typescript/lib/module/internal/drm/NativeCertificateRequest.d.ts +17 -0
  351. package/lib/typescript/lib/module/internal/drm/NativeCertificateResponse.d.ts +20 -0
  352. package/lib/typescript/lib/module/internal/drm/NativeContentProtectionEvent.d.ts +0 -0
  353. package/lib/typescript/lib/module/internal/drm/NativeLicenseRequest.d.ts +19 -0
  354. package/lib/typescript/lib/module/internal/drm/NativeLicenseResponse.d.ts +21 -0
  355. package/lib/typescript/lib/module/internal/utils/TypeUtils.d.ts +5 -0
  356. package/lib/typescript/lib/module/internal/web/TrackUtils.d.ts +2 -0
  357. package/lib/typescript/src/__tests__/index.test.d.ts +1 -0
  358. package/lib/typescript/src/api/THEOplayerView.d.ts +25 -4
  359. package/lib/typescript/src/api/abr/ABRConfiguration.d.ts +95 -0
  360. package/lib/typescript/src/api/abr/barrel.d.ts +1 -0
  361. package/lib/typescript/src/api/ads/Ad.d.ts +238 -0
  362. package/lib/typescript/src/api/ads/AdBreak.d.ts +39 -0
  363. package/lib/typescript/src/api/ads/AdsAPI.d.ts +46 -0
  364. package/lib/typescript/src/api/ads/AdsConfiguration.d.ts +69 -0
  365. package/lib/typescript/src/api/ads/CompanionAd.d.ts +59 -0
  366. package/lib/typescript/src/api/ads/GoogleDai.d.ts +29 -0
  367. package/lib/typescript/src/api/ads/GoogleImaAd.d.ts +78 -0
  368. package/lib/typescript/src/api/ads/GoogleImaConfiguration.d.ts +13 -0
  369. package/lib/typescript/src/api/ads/barrel.d.ts +8 -0
  370. package/lib/typescript/src/api/barrel.d.ts +5 -1
  371. package/lib/typescript/src/api/config/PlayerConfiguration.d.ts +5 -0
  372. package/lib/typescript/src/api/drm/ContentProtectionAPI.d.ts +5 -0
  373. package/lib/typescript/src/api/drm/ContentProtectionIntegration.d.ts +86 -0
  374. package/lib/typescript/src/api/drm/ContentProtectionIntegrationFactory.d.ts +15 -0
  375. package/lib/typescript/src/api/drm/ContentProtectionRequest.d.ts +56 -0
  376. package/lib/typescript/src/api/drm/ContentProtectionResponse.d.ts +56 -0
  377. package/lib/typescript/src/api/drm/barrel.d.ts +5 -0
  378. package/lib/typescript/src/api/event/AdEvent.d.ts +13 -0
  379. package/lib/typescript/src/api/event/barrel.d.ts +1 -0
  380. package/lib/typescript/src/api/source/SourceDescription.d.ts +8 -0
  381. package/lib/typescript/src/api/source/ads/FreeWheelAdDescription.d.ts +85 -0
  382. package/lib/typescript/src/api/source/ads/IMAAdDescription.d.ts +25 -0
  383. package/lib/typescript/src/api/source/ads/SpotXAdDescription.d.ts +115 -0
  384. package/lib/typescript/src/api/source/ads/THEOplayerAdDescription.d.ts +32 -0
  385. package/lib/typescript/src/api/source/ads/barrel.d.ts +6 -0
  386. package/lib/typescript/src/api/source/ads/ssai/GoogleDAIConfiguration.d.ts +130 -0
  387. package/lib/typescript/src/api/source/ads/ssai/ImagineServerSideAdInsertionConfiguration.d.ts +27 -0
  388. package/lib/typescript/src/api/source/ads/ssai/ServerSideAdInsertionConfiguration.d.ts +26 -0
  389. package/lib/typescript/src/api/source/ads/ssai/YospaceServerSideAdInsertionConfiguration.d.ts +46 -0
  390. package/lib/typescript/src/api/source/ads/ssai/barrel.d.ts +4 -0
  391. package/lib/typescript/src/api/source/barrel.d.ts +1 -0
  392. package/lib/typescript/src/api/source/drm/DRMConfiguration.d.ts +0 -30
  393. package/lib/typescript/src/api/track/MediaTrack.d.ts +5 -2
  394. package/lib/typescript/src/api/utils/TypeUtils.d.ts +20 -0
  395. package/lib/typescript/src/api/utils/barrel.d.ts +1 -0
  396. package/lib/typescript/src/index.d.ts +1 -0
  397. package/lib/typescript/src/internal/THEOplayerView.d.ts +10 -4
  398. package/lib/typescript/src/internal/THEOplayerView.web.d.ts +7 -2
  399. package/lib/typescript/src/internal/ads/THEOplayerNativeAdsAPI.d.ts +17 -0
  400. package/lib/typescript/src/internal/ads/THEOplayerNativeGoogleDAI.d.ts +10 -0
  401. package/lib/typescript/src/internal/ads/THEOplayerWebAdsAPI.d.ts +15 -0
  402. package/lib/typescript/src/internal/ads/THEOplayerWebGoogleDAI.d.ts +10 -0
  403. package/lib/typescript/src/internal/drm/ContentProtectionRegistry.d.ts +19 -0
  404. package/lib/typescript/src/internal/drm/ContentProtectionRegistry.web.d.ts +5 -0
  405. package/lib/typescript/src/internal/drm/NativeCertificateRequest.d.ts +13 -0
  406. package/lib/typescript/src/internal/drm/NativeCertificateResponse.d.ts +18 -0
  407. package/lib/typescript/src/internal/drm/NativeContentProtectionEvent.d.ts +5 -0
  408. package/lib/typescript/src/internal/drm/NativeLicenseRequest.d.ts +14 -0
  409. package/lib/typescript/src/internal/drm/NativeLicenseResponse.d.ts +18 -0
  410. package/lib/typescript/src/internal/utils/TypeUtils.d.ts +5 -0
  411. package/lib/typescript/src/internal/web/TrackUtils.d.ts +3 -1
  412. package/package.json +4 -14
  413. package/src/__tests__/index.test.tsx +1 -0
  414. package/src/api/THEOplayerView.ts +29 -4
  415. package/src/api/abr/ABRConfiguration.ts +103 -0
  416. package/src/api/abr/barrel.ts +1 -0
  417. package/src/api/ads/Ad.ts +267 -0
  418. package/src/api/ads/AdBreak.ts +44 -0
  419. package/src/api/ads/AdsAPI.ts +53 -0
  420. package/src/api/ads/AdsConfiguration.ts +76 -0
  421. package/src/api/ads/CompanionAd.ts +65 -0
  422. package/src/api/ads/GoogleDai.ts +32 -0
  423. package/src/api/ads/GoogleImaAd.ts +86 -0
  424. package/src/api/ads/GoogleImaConfiguration.ts +13 -0
  425. package/src/api/ads/barrel.ts +8 -0
  426. package/src/api/barrel.ts +5 -1
  427. package/src/api/config/PlayerConfiguration.ts +7 -0
  428. package/src/api/drm/ContentProtectionAPI.ts +6 -0
  429. package/src/api/drm/ContentProtectionIntegration.ts +93 -0
  430. package/src/api/drm/ContentProtectionIntegrationFactory.ts +16 -0
  431. package/src/api/drm/ContentProtectionRequest.ts +60 -0
  432. package/src/api/drm/ContentProtectionResponse.ts +62 -0
  433. package/src/api/drm/barrel.ts +5 -0
  434. package/src/api/event/AdEvent.ts +117 -0
  435. package/src/api/event/barrel.ts +1 -0
  436. package/src/api/source/SourceDescription.ts +9 -0
  437. package/src/api/source/ads/FreeWheelAdDescription.ts +97 -0
  438. package/src/api/source/ads/IMAAdDescription.ts +26 -0
  439. package/src/api/source/ads/SpotXAdDescription.ts +126 -0
  440. package/src/api/source/ads/THEOplayerAdDescription.ts +34 -0
  441. package/src/api/source/ads/barrel.ts +6 -0
  442. package/src/api/source/ads/ssai/GoogleDAIConfiguration.ts +145 -0
  443. package/src/api/source/ads/ssai/ImagineServerSideAdInsertionConfiguration.ts +30 -0
  444. package/src/api/source/ads/ssai/ServerSideAdInsertionConfiguration.ts +28 -0
  445. package/src/api/source/ads/ssai/YospaceServerSideAdInsertionConfiguration.ts +51 -0
  446. package/src/api/source/ads/ssai/barrel.ts +4 -0
  447. package/src/api/source/barrel.ts +1 -0
  448. package/src/api/source/drm/DRMConfiguration.ts +0 -35
  449. package/src/api/track/MediaTrack.ts +22 -2
  450. package/src/api/utils/TypeUtils.ts +39 -0
  451. package/src/api/utils/barrel.ts +1 -0
  452. package/src/index.tsx +1 -0
  453. package/src/internal/THEOplayerView.tsx +49 -8
  454. package/src/internal/THEOplayerView.web.tsx +37 -7
  455. package/src/internal/ads/THEOplayerNativeAdsAPI.ts +44 -0
  456. package/src/internal/ads/THEOplayerNativeGoogleDAI.ts +23 -0
  457. package/src/internal/ads/THEOplayerWebAdsAPI.ts +51 -0
  458. package/src/internal/ads/THEOplayerWebGoogleDAI.ts +22 -0
  459. package/src/internal/drm/ContentProtectionRegistry.ts +173 -0
  460. package/src/internal/drm/ContentProtectionRegistry.web.ts +10 -0
  461. package/src/internal/drm/NativeCertificateRequest.ts +41 -0
  462. package/src/internal/drm/NativeCertificateResponse.ts +45 -0
  463. package/src/internal/drm/NativeContentProtectionEvent.ts +5 -0
  464. package/src/internal/drm/NativeLicenseRequest.ts +39 -0
  465. package/src/internal/drm/NativeLicenseResponse.ts +45 -0
  466. package/src/internal/utils/TypeUtils.ts +39 -0
  467. package/src/internal/web/TrackUtils.ts +22 -1
@@ -1 +1 @@
1
- {"version":3,"names":["THEOplayerView","PureComponent","constructor","props","reset","onSourceChange","maybeChangeBufferingState","onLoadStart","onLoadedData","event","onLoadedMetadata","nativeEvent","error","setState","onError","onProgress","onPlay","onPlaying","onPause","onSeeking","onSeeked","onEnded","readyState","onReadyStateChange","onTimeUpdate","onDurationChange","onSegmentNotFound","onTextTrackListEvent","onTextTrackEvent","onFullscreenPlayerWillPresent","onFullscreenPlayerDidPresent","onFullscreenPlayerWillDismiss","onFullscreenPlayerDidDismiss","_root","React","createRef","state","initialState","componentWillUnmount","Platform","OS","destroyTheoPlayer","node","findNodeHandle","current","command","UIManager","Commands","destroy","params","dispatchViewManagerCommand","seek","time","isNaN","Error","setNativeProps","nativeProps","isBuffering","wasBuffering","paused","newIsBuffering","onBufferingStateChange","render","wrapperProps","Object","assign","styles","base","style","source","_onSourceChange","_onLoadStart","_onLoadedData","_onLoadedMetadata","_onError","_onProgress","_onPlay","_onPlaying","_onPause","_onSeeking","_onSeeked","_onEnded","_onReadStateChange","_onTimeUpdate","_onDurationChange","_onSegmentNotFound","_onTextTrackListEvent","_onTextTrackEvent","_onFullscreenPlayerWillPresent","_onFullscreenPlayerDidPresent","_onFullscreenPlayerWillDismiss","_onFullscreenPlayerDidDismiss","StyleSheet","absoluteFill","undefined","LINKING_ERROR","select","ios","default","ComponentName","THEOplayerRCTView","getViewManagerConfig","requireNativeComponent"],"sources":["THEOplayerView.tsx"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport { findNodeHandle, StyleSheet, requireNativeComponent, View, UIManager, Platform, NativeSyntheticEvent } from 'react-native';\nimport type {\n DurationChangeEvent,\n ErrorEvent,\n LoadedMetadataEvent,\n ReadyStateChangeEvent,\n THEOplayerViewComponent,\n THEOplayerViewProps,\n TimeUpdateEvent,\n ProgressEvent,\n PlayerError,\n SegmentNotFoundEvent,\n TextTrackListEvent,\n TextTrackEvent,\n} from 'react-native-theoplayer';\n\nimport styles from './THEOplayerView.style';\nimport type { SourceDescription } from 'react-native-theoplayer';\n\ninterface THEOplayerRCTViewProps extends THEOplayerViewProps {\n ref: React.RefObject<THEOplayerViewNativeComponent>;\n src: SourceDescription;\n seek?: number;\n\n onNativeSourceChange: () => void;\n onNativeLoadStart: () => void;\n onNativeLoadedData: () => void;\n onNativeLoadedMetadata: (event: NativeSyntheticEvent<LoadedMetadataEvent>) => void;\n onNativeReadyStateChange?: (event: NativeSyntheticEvent<ReadyStateChangeEvent>) => void;\n onNativeError: (event: NativeSyntheticEvent<ErrorEvent>) => void;\n onNativeProgress: (event: NativeSyntheticEvent<ProgressEvent>) => void;\n onNativePlay: () => void;\n onNativePlaying: () => void;\n onNativePause: () => void;\n onNativeSeeking: () => void;\n onNativeSeeked: () => void;\n onNativeEnded: () => void;\n onNativeTimeUpdate: (event: NativeSyntheticEvent<TimeUpdateEvent>) => void;\n onNativeDurationChange: (event: NativeSyntheticEvent<DurationChangeEvent>) => void;\n onNativeSegmentNotFound: (event: NativeSyntheticEvent<SegmentNotFoundEvent>) => void;\n onNativeTextTrackListEvent: (event: NativeSyntheticEvent<TextTrackListEvent>) => void;\n onNativeTextTrackEvent: (event: NativeSyntheticEvent<TextTrackEvent>) => void;\n onNativeFullscreenPlayerWillPresent?: () => void;\n onNativeFullscreenPlayerDidPresent?: () => void;\n onNativeFullscreenPlayerWillDismiss?: () => void;\n onNativeFullscreenPlayerDidDismiss?: () => void;\n}\n\ninterface THEOplayerRCTViewState {\n isBuffering: boolean;\n error?: PlayerError;\n}\n\ninterface THEOplayerViewNativeComponent extends THEOplayerViewComponent {\n setNativeProps: (props: Partial<THEOplayerRCTViewProps>) => void;\n}\n\nexport class THEOplayerView extends PureComponent<THEOplayerViewProps, THEOplayerRCTViewState> {\n private readonly _root: React.RefObject<THEOplayerViewNativeComponent>;\n\n private static initialState: THEOplayerRCTViewState = {\n isBuffering: false,\n error: undefined,\n };\n\n constructor(props: THEOplayerRCTViewProps) {\n super(props);\n this._root = React.createRef();\n this.state = THEOplayerView.initialState;\n }\n\n componentWillUnmount() {\n if (Platform.OS === 'ios') {\n // on iOS, we trigger an explicit 'destroy' to clean up the underlying THEOplayer\n this.destroyTheoPlayer();\n }\n }\n\n private destroyTheoPlayer() {\n const node = findNodeHandle(this._root.current);\n const command = (UIManager as {[index: string]: any})['THEOplayerRCTView'].Commands.destroy;\n const params: any[] = [];\n UIManager.dispatchViewManagerCommand(node, command, params);\n }\n\n public seek(time: number): void {\n if (isNaN(time)) {\n throw new Error('Specified time is not a number');\n }\n this.setNativeProps({ seek: time });\n }\n\n private reset() {\n this.setState(THEOplayerView.initialState);\n }\n\n private setNativeProps(nativeProps: Partial<THEOplayerRCTViewProps>) {\n if (this._root?.current) {\n this._root.current.setNativeProps(nativeProps);\n }\n }\n\n private maybeChangeBufferingState(isBuffering: boolean) {\n const { isBuffering: wasBuffering, error } = this.state;\n const { paused } = this.props;\n\n // do not change state to buffering in case of an error or if the player is paused\n const newIsBuffering = isBuffering && !error && !paused;\n this.setState({ isBuffering: newIsBuffering });\n\n // notify change in buffering state\n if (newIsBuffering !== wasBuffering && this.props.onBufferingStateChange) {\n this.props.onBufferingStateChange(isBuffering);\n }\n }\n\n private _onSourceChange = () => {\n this.reset();\n\n if (this.props.onSourceChange) {\n this.props.onSourceChange();\n }\n };\n\n private _onLoadStart = () => {\n // potentially notify change in buffering state\n this.maybeChangeBufferingState(true);\n\n if (this.props.onLoadStart) {\n this.props.onLoadStart();\n }\n };\n\n private _onLoadedData = () => {\n if (this.props.onLoadedData) {\n this.props.onLoadedData();\n }\n };\n\n private _onLoadedMetadata = (event: NativeSyntheticEvent<LoadedMetadataEvent>) => {\n if (this.props.onLoadedMetadata) {\n this.props.onLoadedMetadata(event.nativeEvent);\n }\n };\n\n private _onError = (event: NativeSyntheticEvent<ErrorEvent>) => {\n const { error } = event.nativeEvent;\n this.setState({ error });\n\n // potentially notify change in buffering state\n this.maybeChangeBufferingState(false);\n\n if (this.props.onError) {\n this.props.onError(event.nativeEvent);\n }\n };\n\n private _onProgress = (event: NativeSyntheticEvent<ProgressEvent>) => {\n if (this.props.onProgress) {\n this.props.onProgress(event.nativeEvent);\n }\n };\n\n private _onPlay = () => {\n if (this.props.onPlay) {\n this.props.onPlay();\n }\n };\n\n private _onPlaying = () => {\n if (this.props.onPlaying) {\n this.props.onPlaying();\n }\n };\n\n private _onPause = () => {\n if (this.props.onPause) {\n this.props.onPause();\n }\n };\n\n private _onSeeking = () => {\n if (this.props.onSeeking) {\n this.props.onSeeking();\n }\n };\n\n private _onSeeked = () => {\n if (this.props.onSeeked) {\n this.props.onSeeked();\n }\n };\n\n private _onEnded = () => {\n if (this.props.onEnded) {\n this.props.onEnded();\n }\n };\n\n private _onReadStateChange = (event: NativeSyntheticEvent<ReadyStateChangeEvent>) => {\n // potentially notify change in buffering state\n this.maybeChangeBufferingState(event.nativeEvent.readyState < 3);\n\n if (this.props.onReadyStateChange) {\n this.props.onReadyStateChange(event.nativeEvent);\n }\n };\n\n private _onTimeUpdate = (event: NativeSyntheticEvent<TimeUpdateEvent>) => {\n if (this.props.onTimeUpdate) {\n this.props.onTimeUpdate(event.nativeEvent);\n }\n };\n\n private _onDurationChange = (event: NativeSyntheticEvent<DurationChangeEvent>) => {\n if (this.props.onDurationChange) {\n this.props.onDurationChange(event.nativeEvent);\n }\n };\n\n private _onSegmentNotFound = (event: NativeSyntheticEvent<SegmentNotFoundEvent>) => {\n if (this.props.onSegmentNotFound) {\n this.props.onSegmentNotFound(event.nativeEvent);\n }\n };\n\n private _onTextTrackListEvent = (event: NativeSyntheticEvent<TextTrackListEvent>) => {\n if (this.props.onTextTrackListEvent) {\n this.props.onTextTrackListEvent(event.nativeEvent);\n }\n };\n\n private _onTextTrackEvent = (event: NativeSyntheticEvent<TextTrackEvent>) => {\n if (this.props.onTextTrackEvent) {\n this.props.onTextTrackEvent(event.nativeEvent);\n }\n };\n\n private _onFullscreenPlayerWillPresent = () => {\n if (this.props.onFullscreenPlayerWillPresent) {\n this.props.onFullscreenPlayerWillPresent();\n }\n };\n\n private _onFullscreenPlayerDidPresent = () => {\n if (this.props.onFullscreenPlayerDidPresent) {\n this.props.onFullscreenPlayerDidPresent();\n }\n };\n\n private _onFullscreenPlayerWillDismiss = () => {\n if (this.props.onFullscreenPlayerWillDismiss) {\n this.props.onFullscreenPlayerWillDismiss();\n }\n };\n\n private _onFullscreenPlayerDidDismiss = () => {\n if (this.props.onFullscreenPlayerDidDismiss) {\n this.props.onFullscreenPlayerDidDismiss();\n }\n };\n\n public render(): JSX.Element {\n const wrapperProps = Object.assign({}, this.props);\n\n return (\n <View style={[styles.base, wrapperProps.style]}>\n <THEOplayerRCTView\n ref={this._root}\n src={this.props.source || {}}\n onNativeSourceChange={this._onSourceChange}\n onNativeLoadStart={this._onLoadStart}\n onNativeLoadedData={this._onLoadedData}\n onNativeLoadedMetadata={this._onLoadedMetadata}\n onNativeError={this._onError}\n onNativeProgress={this._onProgress}\n onNativePlay={this._onPlay}\n onNativePlaying={this._onPlaying}\n onNativePause={this._onPause}\n onNativeSeeking={this._onSeeking}\n onNativeSeeked={this._onSeeked}\n onNativeEnded={this._onEnded}\n onNativeReadyStateChange={this._onReadStateChange}\n onNativeTimeUpdate={this._onTimeUpdate}\n onNativeDurationChange={this._onDurationChange}\n onNativeSegmentNotFound={this._onSegmentNotFound}\n onNativeTextTrackListEvent={this._onTextTrackListEvent}\n onNativeTextTrackEvent={this._onTextTrackEvent}\n onNativeFullscreenPlayerWillPresent={this._onFullscreenPlayerWillPresent}\n onNativeFullscreenPlayerDidPresent={this._onFullscreenPlayerDidPresent}\n onNativeFullscreenPlayerWillDismiss={this._onFullscreenPlayerWillDismiss}\n onNativeFullscreenPlayerDidDismiss={this._onFullscreenPlayerDidDismiss}\n style={StyleSheet.absoluteFill}\n {...wrapperProps}\n />\n </View>\n );\n }\n}\n\nconst LINKING_ERROR =\n `The package 'react-native-theoplayer' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nconst ComponentName = 'THEOplayerRCTView';\n\nconst THEOplayerRCTView =\n UIManager.getViewManagerConfig(ComponentName) != null\n ? requireNativeComponent<THEOplayerRCTViewProps>(ComponentName)\n : () => {\n throw new Error(LINKING_ERROR);\n };\n"],"mappings":"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"}
1
+ {"version":3,"names":["THEOplayerView","PureComponent","constructor","props","reset","onSourceChange","maybeChangeBufferingState","onLoadStart","onLoadedData","event","onLoadedMetadata","nativeEvent","duration","decodeNanInf","error","setState","onError","onProgress","onPlay","onPlaying","onPause","onSeeking","onSeeked","onEnded","readyState","onReadyStateChange","onTimeUpdate","onDurationChange","onSegmentNotFound","onTextTrackListEvent","onTextTrackEvent","onAdEvent","onFullscreenPlayerWillPresent","onFullscreenPlayerDidPresent","onFullscreenPlayerWillDismiss","onFullscreenPlayerDidDismiss","_root","React","createRef","state","initialState","_adsApi","THEOplayerNativeAdsAPI","componentWillUnmount","Platform","OS","destroyTheoPlayer","node","findNodeHandle","current","command","UIManager","Commands","destroy","params","dispatchViewManagerCommand","seek","time","isNaN","Error","setNativeProps","nativeHandle","ads","nativeProps","isBuffering","wasBuffering","paused","newIsBuffering","onBufferingStateChange","buildWrapperProps","targetVideoQuality","Object","assign","Array","isArray","render","wrapperProps","styles","base","style","source","_onSourceChange","_onLoadStart","_onLoadedData","_onLoadedMetadata","_onError","_onProgress","_onPlay","_onPlaying","_onPause","_onSeeking","_onSeeked","_onEnded","_onReadStateChange","_onTimeUpdate","_onDurationChange","_onSegmentNotFound","_onTextTrackListEvent","_onTextTrackEvent","_onAdEvent","_onFullscreenPlayerWillPresent","_onFullscreenPlayerDidPresent","_onFullscreenPlayerWillDismiss","_onFullscreenPlayerDidDismiss","StyleSheet","absoluteFill","undefined","LINKING_ERROR","select","ios","default","ComponentName","THEOplayerRCTView","getViewManagerConfig","requireNativeComponent"],"sources":["THEOplayerView.tsx"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport { findNodeHandle, StyleSheet, requireNativeComponent, View, UIManager, Platform, NativeSyntheticEvent, HostComponent } from 'react-native';\nimport type {\n DurationChangeEvent,\n ErrorEvent,\n LoadedMetadataEvent,\n ReadyStateChangeEvent,\n THEOplayerViewComponent,\n THEOplayerViewProps,\n TimeUpdateEvent,\n ProgressEvent,\n PlayerError,\n SegmentNotFoundEvent,\n TextTrackListEvent,\n TextTrackEvent,\n AdEvent,\n AdsAPI,\n} from 'react-native-theoplayer';\n\nimport styles from './THEOplayerView.style';\nimport type { SourceDescription } from 'react-native-theoplayer';\nimport { THEOplayerNativeAdsAPI } from './ads/THEOplayerNativeAdsAPI';\nimport { decodeNanInf } from './utils/TypeUtils';\n\ninterface THEOplayerRCTViewProps extends THEOplayerViewProps {\n ref: React.RefObject<THEOplayerViewNativeComponent>;\n src: SourceDescription;\n seek?: number;\n\n onNativeSourceChange: () => void;\n onNativeLoadStart: () => void;\n onNativeLoadedData: () => void;\n onNativeLoadedMetadata: (event: NativeSyntheticEvent<LoadedMetadataEvent>) => void;\n onNativeReadyStateChange?: (event: NativeSyntheticEvent<ReadyStateChangeEvent>) => void;\n onNativeError: (event: NativeSyntheticEvent<ErrorEvent>) => void;\n onNativeProgress: (event: NativeSyntheticEvent<ProgressEvent>) => void;\n onNativePlay: () => void;\n onNativePlaying: () => void;\n onNativePause: () => void;\n onNativeSeeking: () => void;\n onNativeSeeked: () => void;\n onNativeEnded: () => void;\n onNativeTimeUpdate: (event: NativeSyntheticEvent<TimeUpdateEvent>) => void;\n onNativeDurationChange: (event: NativeSyntheticEvent<DurationChangeEvent>) => void;\n onNativeSegmentNotFound: (event: NativeSyntheticEvent<SegmentNotFoundEvent>) => void;\n onNativeTextTrackListEvent: (event: NativeSyntheticEvent<TextTrackListEvent>) => void;\n onNativeTextTrackEvent: (event: NativeSyntheticEvent<TextTrackEvent>) => void;\n onNativeAdEvent: (event: NativeSyntheticEvent<AdEvent>) => void;\n onNativeFullscreenPlayerWillPresent?: () => void;\n onNativeFullscreenPlayerDidPresent?: () => void;\n onNativeFullscreenPlayerWillDismiss?: () => void;\n onNativeFullscreenPlayerDidDismiss?: () => void;\n}\n\ninterface THEOplayerRCTViewState {\n isBuffering: boolean;\n error?: PlayerError;\n}\n\ninterface THEOplayerViewNativeComponent extends THEOplayerViewComponent, HostComponent<THEOplayerViewProps> {\n setNativeProps: (props: Partial<THEOplayerRCTViewProps>) => void;\n}\n\nexport class THEOplayerView extends PureComponent<THEOplayerViewProps, THEOplayerRCTViewState> implements THEOplayerViewComponent {\n private readonly _root: React.RefObject<THEOplayerViewNativeComponent>;\n private readonly _adsApi: THEOplayerNativeAdsAPI;\n\n private static initialState: THEOplayerRCTViewState = {\n isBuffering: false,\n error: undefined,\n };\n\n constructor(props: THEOplayerRCTViewProps) {\n super(props);\n this._root = React.createRef();\n this.state = THEOplayerView.initialState;\n this._adsApi = new THEOplayerNativeAdsAPI(this);\n }\n\n componentWillUnmount() {\n if (Platform.OS === 'ios') {\n // on iOS, we trigger an explicit 'destroy' to clean up the underlying THEOplayer\n this.destroyTheoPlayer();\n }\n }\n\n private destroyTheoPlayer() {\n const node = findNodeHandle(this._root.current);\n const command = (UIManager as { [index: string]: any })['THEOplayerRCTView'].Commands.destroy;\n const params: any[] = [];\n UIManager.dispatchViewManagerCommand(node, command, params);\n }\n\n public seek(time: number): void {\n if (isNaN(time)) {\n throw new Error('Specified time is not a number');\n }\n this.setNativeProps({ seek: time });\n }\n\n public get nativeHandle(): number | null {\n return findNodeHandle(this._root.current);\n }\n\n public get ads(): AdsAPI {\n return this._adsApi;\n }\n\n private reset() {\n this.setState(THEOplayerView.initialState);\n }\n\n private setNativeProps(nativeProps: Partial<THEOplayerRCTViewProps>) {\n if (this._root?.current) {\n this._root.current.setNativeProps(nativeProps);\n }\n }\n\n private maybeChangeBufferingState(isBuffering: boolean) {\n const { isBuffering: wasBuffering, error } = this.state;\n const { paused } = this.props;\n\n // do not change state to buffering in case of an error or if the player is paused\n const newIsBuffering = isBuffering && !error && !paused;\n this.setState({ isBuffering: newIsBuffering });\n\n // notify change in buffering state\n if (newIsBuffering !== wasBuffering && this.props.onBufferingStateChange) {\n this.props.onBufferingStateChange(isBuffering);\n }\n }\n\n private _onSourceChange = () => {\n this.reset();\n\n if (this.props.onSourceChange) {\n this.props.onSourceChange();\n }\n };\n\n private _onLoadStart = () => {\n // potentially notify change in buffering state\n this.maybeChangeBufferingState(true);\n\n if (this.props.onLoadStart) {\n this.props.onLoadStart();\n }\n };\n\n private _onLoadedData = () => {\n if (this.props.onLoadedData) {\n this.props.onLoadedData();\n }\n };\n\n private _onLoadedMetadata = (event: NativeSyntheticEvent<LoadedMetadataEvent>) => {\n if (this.props.onLoadedMetadata) {\n this.props.onLoadedMetadata({\n ...event.nativeEvent,\n duration: decodeNanInf(event.nativeEvent.duration),\n });\n }\n };\n\n private _onError = (event: NativeSyntheticEvent<ErrorEvent>) => {\n const { error } = event.nativeEvent;\n this.setState({ error });\n\n // potentially notify change in buffering state\n this.maybeChangeBufferingState(false);\n\n if (this.props.onError) {\n this.props.onError(event.nativeEvent);\n }\n };\n\n private _onProgress = (event: NativeSyntheticEvent<ProgressEvent>) => {\n if (this.props.onProgress) {\n this.props.onProgress(event.nativeEvent);\n }\n };\n\n private _onPlay = () => {\n if (this.props.onPlay) {\n this.props.onPlay();\n }\n };\n\n private _onPlaying = () => {\n // potentially notify change in buffering state\n this.maybeChangeBufferingState(false);\n\n if (this.props.onPlaying) {\n this.props.onPlaying();\n }\n };\n\n private _onPause = () => {\n if (this.props.onPause) {\n this.props.onPause();\n }\n };\n\n private _onSeeking = () => {\n if (this.props.onSeeking) {\n this.props.onSeeking();\n }\n };\n\n private _onSeeked = () => {\n if (this.props.onSeeked) {\n this.props.onSeeked();\n }\n };\n\n private _onEnded = () => {\n if (this.props.onEnded) {\n this.props.onEnded();\n }\n };\n\n private _onReadStateChange = (event: NativeSyntheticEvent<ReadyStateChangeEvent>) => {\n // potentially notify change in buffering state\n this.maybeChangeBufferingState(event.nativeEvent.readyState < 3);\n\n if (this.props.onReadyStateChange) {\n this.props.onReadyStateChange(event.nativeEvent);\n }\n };\n\n private _onTimeUpdate = (event: NativeSyntheticEvent<TimeUpdateEvent>) => {\n if (this.props.onTimeUpdate) {\n this.props.onTimeUpdate(event.nativeEvent);\n }\n };\n\n private _onDurationChange = (event: NativeSyntheticEvent<DurationChangeEvent>) => {\n if (this.props.onDurationChange) {\n this.props.onDurationChange({\n duration: decodeNanInf(event.nativeEvent.duration),\n });\n }\n };\n\n private _onSegmentNotFound = (event: NativeSyntheticEvent<SegmentNotFoundEvent>) => {\n if (this.props.onSegmentNotFound) {\n this.props.onSegmentNotFound(event.nativeEvent);\n }\n };\n\n private _onTextTrackListEvent = (event: NativeSyntheticEvent<TextTrackListEvent>) => {\n if (this.props.onTextTrackListEvent) {\n this.props.onTextTrackListEvent(event.nativeEvent);\n }\n };\n\n private _onTextTrackEvent = (event: NativeSyntheticEvent<TextTrackEvent>) => {\n if (this.props.onTextTrackEvent) {\n this.props.onTextTrackEvent(event.nativeEvent);\n }\n };\n\n private _onAdEvent = (event: NativeSyntheticEvent<AdEvent>) => {\n if (this.props.onAdEvent) {\n this.props.onAdEvent(event.nativeEvent);\n }\n };\n\n private _onFullscreenPlayerWillPresent = () => {\n if (this.props.onFullscreenPlayerWillPresent) {\n this.props.onFullscreenPlayerWillPresent();\n }\n };\n\n private _onFullscreenPlayerDidPresent = () => {\n if (this.props.onFullscreenPlayerDidPresent) {\n this.props.onFullscreenPlayerDidPresent();\n }\n };\n\n private _onFullscreenPlayerWillDismiss = () => {\n if (this.props.onFullscreenPlayerWillDismiss) {\n this.props.onFullscreenPlayerWillDismiss();\n }\n };\n\n private _onFullscreenPlayerDidDismiss = () => {\n if (this.props.onFullscreenPlayerDidDismiss) {\n this.props.onFullscreenPlayerDidDismiss();\n }\n };\n\n private buildWrapperProps(): THEOplayerViewProps {\n const { targetVideoQuality } = this.props;\n return Object.assign(\n {},\n {\n ...this.props,\n // Always pass an array for targetVideoQuality.\n targetVideoQuality: !targetVideoQuality ? [] : Array.isArray(targetVideoQuality) ? targetVideoQuality : [targetVideoQuality],\n },\n );\n }\n\n public render(): JSX.Element {\n const wrapperProps = this.buildWrapperProps();\n return (\n <View style={[styles.base, wrapperProps.style]}>\n <THEOplayerRCTView\n ref={this._root}\n src={this.props.source || {}}\n onNativeSourceChange={this._onSourceChange}\n onNativeLoadStart={this._onLoadStart}\n onNativeLoadedData={this._onLoadedData}\n onNativeLoadedMetadata={this._onLoadedMetadata}\n onNativeError={this._onError}\n onNativeProgress={this._onProgress}\n onNativePlay={this._onPlay}\n onNativePlaying={this._onPlaying}\n onNativePause={this._onPause}\n onNativeSeeking={this._onSeeking}\n onNativeSeeked={this._onSeeked}\n onNativeEnded={this._onEnded}\n onNativeReadyStateChange={this._onReadStateChange}\n onNativeTimeUpdate={this._onTimeUpdate}\n onNativeDurationChange={this._onDurationChange}\n onNativeSegmentNotFound={this._onSegmentNotFound}\n onNativeTextTrackListEvent={this._onTextTrackListEvent}\n onNativeTextTrackEvent={this._onTextTrackEvent}\n onNativeAdEvent={this._onAdEvent}\n onNativeFullscreenPlayerWillPresent={this._onFullscreenPlayerWillPresent}\n onNativeFullscreenPlayerDidPresent={this._onFullscreenPlayerDidPresent}\n onNativeFullscreenPlayerWillDismiss={this._onFullscreenPlayerWillDismiss}\n onNativeFullscreenPlayerDidDismiss={this._onFullscreenPlayerDidDismiss}\n style={StyleSheet.absoluteFill}\n {...wrapperProps}\n />\n </View>\n );\n }\n}\n\nconst LINKING_ERROR =\n `The package 'react-native-theoplayer' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nconst ComponentName = 'THEOplayerRCTView';\n\nconst THEOplayerRCTView =\n UIManager.getViewManagerConfig(ComponentName) != null\n ? requireNativeComponent<THEOplayerRCTViewProps>(ComponentName)\n : () => {\n throw new Error(LINKING_ERROR);\n };\n"],"mappings":"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"}
@@ -13,6 +13,8 @@ var THEOplayer = _interopRequireWildcard(require("theoplayer"));
13
13
 
14
14
  var _TrackUtils = require("./web/TrackUtils");
15
15
 
16
+ var _THEOplayerWebAdsAPI = require("./ads/THEOplayerWebAdsAPI");
17
+
16
18
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
19
 
18
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -25,6 +27,8 @@ class THEOplayerView extends _react.PureComponent {
25
27
 
26
28
  _defineProperty(this, "_player", null);
27
29
 
30
+ _defineProperty(this, "_adsApi", void 0);
31
+
28
32
  _defineProperty(this, "onAddTextTrackCue", track => event => {
29
33
  const {
30
34
  onTextTrackEvent
@@ -66,12 +70,14 @@ class THEOplayerView extends _react.PureComponent {
66
70
  });
67
71
 
68
72
  this.state = THEOplayerView.initialState;
73
+ this._adsApi = new _THEOplayerWebAdsAPI.THEOplayerWebAdsAPI(this);
69
74
  }
70
75
 
71
76
  componentDidMount() {
72
77
  const {
73
78
  config,
74
- source
79
+ source,
80
+ abrConfig
75
81
  } = this.props;
76
82
  const element = document.querySelector('.theoplayer-container');
77
83
 
@@ -90,6 +96,8 @@ class THEOplayerView extends _react.PureComponent {
90
96
  });
91
97
  }
92
98
 
99
+ Object.assign(this._player.abr, abrConfig);
100
+
93
101
  this._player.prepareWithUserAction();
94
102
 
95
103
  this._player.source = source;
@@ -112,6 +120,14 @@ class THEOplayerView extends _react.PureComponent {
112
120
  }
113
121
  }
114
122
 
123
+ get ads() {
124
+ return this._adsApi;
125
+ }
126
+
127
+ get nativePlayer() {
128
+ return this._player;
129
+ }
130
+
115
131
  reset() {
116
132
  this.setState(THEOplayerView.initialState);
117
133
  }
@@ -128,6 +144,7 @@ class THEOplayerView extends _react.PureComponent {
128
144
  selectedTextTrack,
129
145
  selectedAudioTrack,
130
146
  selectedVideoTrack,
147
+ targetVideoQuality,
131
148
  source,
132
149
  muted,
133
150
  playbackRate,
@@ -138,6 +155,7 @@ class THEOplayerView extends _react.PureComponent {
138
155
  selectedTextTrack: prevSelectedTextTrack,
139
156
  selectedAudioTrack: prevSelectedAudioTrack,
140
157
  selectedVideoTrack: prevSelectedVideoTrack,
158
+ targetVideoQuality: prevTargetVideoQuality,
141
159
  source: prevSource,
142
160
  muted: wasMuted,
143
161
  playbackRate: prevPlaybackRate,
@@ -208,6 +226,14 @@ class THEOplayerView extends _react.PureComponent {
208
226
  videoTrack.enabled = videoTrack.uid === selectedVideoTrack;
209
227
  });
210
228
  }
229
+
230
+ if (targetVideoQuality != prevTargetVideoQuality) {
231
+ const videoTrack = this._player.videoTracks.find(videoTrack => videoTrack.uid === selectedVideoTrack);
232
+
233
+ if (videoTrack) {
234
+ videoTrack.targetQuality = (0, _TrackUtils.findNativeQualitiesByUid)(videoTrack, targetVideoQuality);
235
+ }
236
+ }
211
237
  }
212
238
 
213
239
  maybeChangeBufferingState(isBuffering) {
@@ -230,6 +256,8 @@ class THEOplayerView extends _react.PureComponent {
230
256
  }
231
257
 
232
258
  addEventListeners() {
259
+ var _player$ads;
260
+
233
261
  const player = this._player;
234
262
 
235
263
  if (!player) {
@@ -283,7 +311,7 @@ class THEOplayerView extends _react.PureComponent {
283
311
  textTracks: player.textTracks.map(textTrack => (0, _TrackUtils.fromNativeTextTrack)(textTrack)),
284
312
  audioTracks: player.audioTracks.map(audioTrack => (0, _TrackUtils.fromNativeMediaTrack)(audioTrack)),
285
313
  videoTracks: player.videoTracks.map(videoTrack => (0, _TrackUtils.fromNativeMediaTrack)(videoTrack)),
286
- duration: 1e03 * player.duration,
314
+ duration: 1e3 * player.duration,
287
315
  selectedTextTrack: (_player$textTracks$fi = player.textTracks.find(track => track.mode === 'showing')) === null || _player$textTracks$fi === void 0 ? void 0 : _player$textTracks$fi.uid,
288
316
  selectedVideoTrack: (_player$videoTracks$f = player.videoTracks.find(track => track.enabled)) === null || _player$videoTracks$f === void 0 ? void 0 : _player$videoTracks$f.uid,
289
317
  selectedAudioTrack: (_player$audioTracks$f = player.audioTracks.find(track => track.enabled)) === null || _player$audioTracks$f === void 0 ? void 0 : _player$audioTracks$f.uid
@@ -343,6 +371,8 @@ class THEOplayerView extends _react.PureComponent {
343
371
  }
344
372
  });
345
373
  player.addEventListener('playing', () => {
374
+ // potentially notify change in buffering state
375
+ this.maybeChangeBufferingState(false);
346
376
  const {
347
377
  onPlaying
348
378
  } = this.props;
@@ -487,6 +517,15 @@ class THEOplayerView extends _react.PureComponent {
487
517
  });
488
518
  }
489
519
  });
520
+ (_player$ads = player.ads) === null || _player$ads === void 0 ? void 0 : _player$ads.addEventListener(_reactNativeTheoplayer.AdEventNames, event => {
521
+ const {
522
+ onAdEvent
523
+ } = this.props;
524
+
525
+ if (onAdEvent) {
526
+ onAdEvent(event);
527
+ }
528
+ });
490
529
  }
491
530
 
492
531
  render() {
@@ -1 +1 @@
1
- {"version":3,"names":["THEOplayerView","PureComponent","constructor","props","track","event","onTextTrackEvent","cue","type","TextTrackEventType","AddCue","trackUid","uid","fromNativeCue","RemoveCue","state","initialState","componentDidMount","config","source","element","document","querySelector","chromeless","undefined","_player","THEOplayer","ChromelessPlayer","libraryLocation","Player","ui","fluid","prepareWithUserAction","addEventListeners","componentWillUnmount","destroy","seek","time","isNaN","Error","currentTime","reset","setState","componentDidUpdate","prevProps","paused","volume","selectedTextTrack","selectedAudioTrack","selectedVideoTrack","muted","playbackRate","fullscreen","wasPaused","prevSelectedTextTrack","prevSelectedAudioTrack","prevSelectedVideoTrack","prevSource","wasMuted","prevPlaybackRate","wasFullscreen","prevVolume","pause","play","Boolean","Number","onFullscreenPlayerWillPresent","onFullscreenPlayerWillDismiss","appContainer","getElementById","requestFullscreen","then","exitFullscreen","textTracks","forEach","textTrack","mode","audioTracks","audioTrack","enabled","videoTracks","videoTrack","maybeChangeBufferingState","isBuffering","wasBuffering","error","newIsBuffering","onBufferingStateChange","player","addEventListener","onSourceChange","onLoadStart","onLoadedData","onLoadedMetadata","map","fromNativeTextTrack","fromNativeMediaTrack","duration","find","errorObject","errorCode","code","toString","errorMessage","message","onError","onProgress","seekable","i","length","push","start","end","onPlay","onPlaying","onPause","onSeeking","onSeeked","onEnded","readyState","onReadyStateChange","onTimeUpdate","currentProgramDateTime","getTime","onDurationChange","onSegmentNotFound","segmentStartTime","retryCount","presentation","presentationMode","onFullscreenPlayerDidPresent","onFullscreenPlayerDidDismiss","onTextTrackListEvent","onAddTextTrackCue","onRemoveTextTrackCue","TrackListEventType","AddTrack","removeEventListener","RemoveTrack","render"],"sources":["THEOplayerView.web.tsx"],"sourcesContent":["import React, { PureComponent } from 'react';\n\nimport type { PlayerError, TextTrack, THEOplayerViewProps, TimeRange } from 'react-native-theoplayer';\nimport { TextTrackEventType, TrackListEventType } from 'react-native-theoplayer';\nimport type { Event, TextTrackCue as NativeTextTrackCue } from 'theoplayer';\n\nimport type {\n AddTrackEvent,\n MediaTrack as NativeMediaTrack,\n PresentationModeChangeEvent,\n ReadyStateChangeEvent as NativeReadyStateChangeEvent,\n RemoveTrackEvent,\n TextTrack as NativeTextTrack,\n} from 'theoplayer';\nimport * as THEOplayer from 'theoplayer';\nimport { fromNativeCue, fromNativeMediaTrack, fromNativeTextTrack } from './web/TrackUtils';\n\ninterface THEOplayerRCTViewState {\n isBuffering: boolean;\n error?: PlayerError;\n}\n\nexport class THEOplayerView extends PureComponent<THEOplayerViewProps, THEOplayerRCTViewState> {\n private _player: THEOplayer.ChromelessPlayer | null = null;\n\n private static initialState: THEOplayerRCTViewState = {\n isBuffering: false,\n error: undefined,\n };\n\n constructor(props: THEOplayerViewProps) {\n super(props);\n this.state = THEOplayerView.initialState;\n }\n\n componentDidMount() {\n const { config, source } = this.props;\n const element = document.querySelector('.theoplayer-container') as HTMLElement;\n if (config?.chromeless === true || config?.chromeless === undefined) {\n this._player = new THEOplayer.ChromelessPlayer(element, {\n libraryLocation: 'node_modules/theoplayer',\n ...config,\n });\n } else {\n this._player = new THEOplayer.Player(element, {\n libraryLocation: 'node_modules/theoplayer',\n ...config,\n ui: {\n fluid: true,\n },\n });\n }\n this._player.prepareWithUserAction();\n this._player.source = source;\n this.addEventListeners();\n }\n\n componentWillUnmount() {\n if (this._player) {\n this._player.destroy();\n }\n }\n\n public seek(time: number): void {\n if (isNaN(time)) {\n throw new Error('Specified time is not a number');\n }\n if (this._player) {\n this._player.currentTime = time / 1e3;\n }\n }\n\n private reset() {\n this.setState(THEOplayerView.initialState);\n }\n\n componentDidUpdate(prevProps: Readonly<THEOplayerViewProps>) {\n if (!this._player) {\n return;\n }\n // track property changes\n const { paused, volume, selectedTextTrack, selectedAudioTrack, selectedVideoTrack, source, muted, playbackRate, fullscreen } = this.props;\n const {\n paused: wasPaused,\n selectedTextTrack: prevSelectedTextTrack,\n selectedAudioTrack: prevSelectedAudioTrack,\n selectedVideoTrack: prevSelectedVideoTrack,\n source: prevSource,\n muted: wasMuted,\n playbackRate: prevPlaybackRate,\n fullscreen: wasFullscreen,\n volume: prevVolume,\n } = prevProps;\n\n if (source !== prevSource) {\n this._player.source = source;\n }\n if (paused !== wasPaused) {\n if (paused) {\n this._player.pause();\n } else {\n this._player.play();\n }\n }\n if (muted !== wasMuted) {\n this._player.muted = Boolean(muted);\n }\n if (volume !== prevVolume) {\n this._player.volume = Number(volume);\n }\n if (fullscreen !== wasFullscreen) {\n const { onFullscreenPlayerWillPresent, onFullscreenPlayerWillDismiss } = this.props;\n const appContainer = document.getElementById('app');\n if (fullscreen) {\n if (onFullscreenPlayerWillPresent) {\n onFullscreenPlayerWillPresent();\n }\n appContainer?.requestFullscreen().then();\n } else {\n if (onFullscreenPlayerWillDismiss) {\n onFullscreenPlayerWillDismiss();\n }\n document.exitFullscreen().then();\n }\n }\n if (playbackRate && playbackRate !== prevPlaybackRate) {\n this._player.playbackRate = playbackRate;\n }\n if (selectedTextTrack !== prevSelectedTextTrack) {\n this._player.textTracks.forEach((textTrack: NativeTextTrack) => {\n textTrack.mode = textTrack.uid === selectedTextTrack ? 'showing' : 'disabled';\n });\n }\n if (selectedAudioTrack !== prevSelectedAudioTrack) {\n this._player.audioTracks.forEach((audioTrack: NativeMediaTrack) => {\n audioTrack.enabled = audioTrack.uid === selectedAudioTrack;\n });\n }\n if (selectedVideoTrack !== prevSelectedVideoTrack) {\n this._player.videoTracks.forEach((videoTrack: NativeMediaTrack) => {\n videoTrack.enabled = videoTrack.uid === selectedVideoTrack;\n });\n }\n }\n\n private maybeChangeBufferingState(isBuffering: boolean) {\n const { isBuffering: wasBuffering, error } = this.state;\n const { paused } = this.props;\n\n // do not change state to buffering in case of an error or if the player is paused\n const newIsBuffering = isBuffering && !error && !paused;\n this.setState({ isBuffering: newIsBuffering });\n\n // notify change in buffering state\n if (newIsBuffering !== wasBuffering && this.props.onBufferingStateChange) {\n this.props.onBufferingStateChange(newIsBuffering);\n }\n }\n\n private onAddTextTrackCue = (track: NativeTextTrack) => (event: Event<'addcue'>) => {\n const { onTextTrackEvent } = this.props;\n if (onTextTrackEvent) {\n const { cue } = event as unknown as { cue: NativeTextTrackCue };\n if (cue) {\n onTextTrackEvent({\n type: TextTrackEventType.AddCue,\n trackUid: track.uid,\n cue: fromNativeCue(cue),\n });\n }\n }\n };\n\n private onRemoveTextTrackCue = (track: NativeTextTrack) => (event: Event<'removecue'>) => {\n const { onTextTrackEvent } = this.props;\n if (onTextTrackEvent) {\n const { cue } = event as unknown as { cue: NativeTextTrackCue };\n if (cue) {\n onTextTrackEvent({\n type: TextTrackEventType.RemoveCue,\n trackUid: track.uid,\n cue: fromNativeCue(cue),\n });\n }\n }\n };\n\n private addEventListeners() {\n const player = this._player;\n if (!player) {\n return;\n }\n\n player.addEventListener('sourcechange', () => {\n const { onSourceChange, paused } = this.props;\n\n this.reset();\n if (!paused) {\n player.play();\n }\n if (onSourceChange) {\n onSourceChange();\n }\n });\n\n player.addEventListener('loadstart', () => {\n // potentially notify change in buffering state\n this.maybeChangeBufferingState(true);\n\n const { onLoadStart } = this.props;\n if (onLoadStart) {\n onLoadStart();\n }\n });\n\n player.addEventListener('loadeddata', () => {\n const { onLoadedData } = this.props;\n if (onLoadedData) {\n onLoadedData();\n }\n });\n\n player.addEventListener('loadedmetadata', () => {\n const { onLoadedMetadata } = this.props;\n if (onLoadedMetadata) {\n onLoadedMetadata({\n textTracks: player.textTracks.map((textTrack: NativeTextTrack) => fromNativeTextTrack(textTrack)),\n audioTracks: player.audioTracks.map((audioTrack: NativeMediaTrack) => fromNativeMediaTrack(audioTrack)),\n videoTracks: player.videoTracks.map((videoTrack: NativeMediaTrack) => fromNativeMediaTrack(videoTrack)),\n duration: 1e03 * player.duration,\n selectedTextTrack: player.textTracks.find((track: NativeTextTrack) => track.mode === 'showing')?.uid,\n selectedVideoTrack: player.videoTracks.find((track: NativeMediaTrack) => track.enabled)?.uid,\n selectedAudioTrack: player.audioTracks.find((track: NativeMediaTrack) => track.enabled)?.uid,\n });\n }\n });\n\n player.addEventListener('error', (event) => {\n const { errorObject } = event;\n const error = {\n errorCode: errorObject.code.toString(),\n errorMessage: errorObject.message,\n };\n this.setState({ error });\n\n // potentially notify change in buffering state\n this.maybeChangeBufferingState(false);\n\n const { onError } = this.props;\n if (onError) {\n onError({ error });\n }\n });\n\n player.addEventListener('progress', () => {\n const { onProgress } = this.props;\n if (onProgress) {\n const seekable: TimeRange[] = [];\n for (let i = 0; i < player.seekable.length; i++) {\n seekable.push({\n start: player.seekable.start(i) * 1e3,\n end: player.seekable.end(i) * 1e3,\n });\n }\n onProgress({ seekable });\n }\n });\n\n player.addEventListener('play', () => {\n const { onPlay } = this.props;\n if (onPlay) {\n onPlay();\n }\n });\n\n player.addEventListener('playing', () => {\n const { onPlaying } = this.props;\n if (onPlaying) {\n onPlaying();\n }\n });\n\n player.addEventListener('pause', () => {\n const { onPause } = this.props;\n if (onPause) {\n onPause();\n }\n });\n\n player.addEventListener('seeking', () => {\n const { onSeeking } = this.props;\n if (onSeeking) {\n onSeeking();\n }\n });\n\n player.addEventListener('seeked', () => {\n const { onSeeked } = this.props;\n if (onSeeked) {\n onSeeked();\n }\n });\n\n player.addEventListener('ended', () => {\n const { onEnded } = this.props;\n if (onEnded) {\n onEnded();\n }\n });\n\n player.addEventListener('readystatechange', (event: NativeReadyStateChangeEvent) => {\n // potentially notify change in buffering state\n this.maybeChangeBufferingState(event.readyState < 3);\n\n const { onReadyStateChange } = this.props;\n if (onReadyStateChange) {\n onReadyStateChange({ readyState: event.readyState });\n }\n });\n\n player.addEventListener('timeupdate', () => {\n const { onTimeUpdate } = this.props;\n if (onTimeUpdate) {\n onTimeUpdate({\n currentTime: player.currentTime * 1e3,\n currentProgramDateTime: player.currentProgramDateTime?.getTime(),\n });\n }\n });\n player.addEventListener('durationchange', (event) => {\n const { onDurationChange } = this.props;\n if (onDurationChange) {\n onDurationChange({\n duration: event.duration * 1e3,\n });\n }\n });\n player.addEventListener('segmentnotfound', () => {\n const { onSegmentNotFound } = this.props;\n if (onSegmentNotFound) {\n onSegmentNotFound({\n segmentStartTime: 0,\n error: 'Segment not found',\n retryCount: -1,\n });\n }\n });\n player.presentation.addEventListener('presentationmodechange', (event: PresentationModeChangeEvent) => {\n const { presentationMode } = event;\n const { onFullscreenPlayerDidPresent, onFullscreenPlayerDidDismiss } = this.props;\n if (presentationMode === 'fullscreen') {\n if (onFullscreenPlayerDidPresent) {\n onFullscreenPlayerDidPresent();\n }\n } else if (presentationMode === 'inline') {\n if (onFullscreenPlayerDidDismiss) {\n onFullscreenPlayerDidDismiss();\n }\n }\n });\n player.textTracks.addEventListener('addtrack', (event: AddTrackEvent) => {\n const { onTextTrackListEvent } = this.props;\n const track = event.track as NativeTextTrack;\n track.addEventListener('addcue', this.onAddTextTrackCue(track));\n track.addEventListener('removecue', this.onRemoveTextTrackCue(track));\n\n if (onTextTrackListEvent) {\n onTextTrackListEvent({\n type: TrackListEventType.AddTrack,\n track: track as TextTrack,\n });\n }\n });\n player.textTracks.addEventListener('removetrack', (event: RemoveTrackEvent) => {\n const { onTextTrackListEvent } = this.props;\n const track = event.track as NativeTextTrack;\n track.removeEventListener('addcue', this.onAddTextTrackCue(track));\n track.removeEventListener('removecue', this.onRemoveTextTrackCue(track));\n\n if (onTextTrackListEvent) {\n onTextTrackListEvent({\n type: TrackListEventType.RemoveTrack,\n track: event.track as unknown as TextTrack,\n });\n }\n });\n }\n\n public render(): JSX.Element {\n const { config } = this.props;\n const chromeless = config?.chromeless === undefined || config?.chromeless === true;\n\n return (\n <div id={'theoplayer-wrapper'}>\n <div className={chromeless ? 'theoplayer-container' : 'theoplayer-container video-js theoplayer-skin'} />\n </div>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["THEOplayerView","PureComponent","constructor","props","track","event","onTextTrackEvent","cue","type","TextTrackEventType","AddCue","trackUid","uid","fromNativeCue","RemoveCue","state","initialState","_adsApi","THEOplayerWebAdsAPI","componentDidMount","config","source","abrConfig","element","document","querySelector","chromeless","undefined","_player","THEOplayer","ChromelessPlayer","libraryLocation","Player","ui","fluid","Object","assign","abr","prepareWithUserAction","addEventListeners","componentWillUnmount","destroy","seek","time","isNaN","Error","currentTime","ads","nativePlayer","reset","setState","componentDidUpdate","prevProps","paused","volume","selectedTextTrack","selectedAudioTrack","selectedVideoTrack","targetVideoQuality","muted","playbackRate","fullscreen","wasPaused","prevSelectedTextTrack","prevSelectedAudioTrack","prevSelectedVideoTrack","prevTargetVideoQuality","prevSource","wasMuted","prevPlaybackRate","wasFullscreen","prevVolume","pause","play","Boolean","Number","onFullscreenPlayerWillPresent","onFullscreenPlayerWillDismiss","appContainer","getElementById","requestFullscreen","then","exitFullscreen","textTracks","forEach","textTrack","mode","audioTracks","audioTrack","enabled","videoTracks","videoTrack","find","targetQuality","findNativeQualitiesByUid","maybeChangeBufferingState","isBuffering","wasBuffering","error","newIsBuffering","onBufferingStateChange","player","addEventListener","onSourceChange","onLoadStart","onLoadedData","onLoadedMetadata","map","fromNativeTextTrack","fromNativeMediaTrack","duration","errorObject","errorCode","code","toString","errorMessage","message","onError","onProgress","seekable","i","length","push","start","end","onPlay","onPlaying","onPause","onSeeking","onSeeked","onEnded","readyState","onReadyStateChange","onTimeUpdate","currentProgramDateTime","getTime","onDurationChange","onSegmentNotFound","segmentStartTime","retryCount","presentation","presentationMode","onFullscreenPlayerDidPresent","onFullscreenPlayerDidDismiss","onTextTrackListEvent","onAddTextTrackCue","onRemoveTextTrackCue","TrackListEventType","AddTrack","removeEventListener","RemoveTrack","AdEventNames","onAdEvent","render"],"sources":["THEOplayerView.web.tsx"],"sourcesContent":["import React, { PureComponent } from 'react';\n\nimport type { AdEvent, AdsAPI, PlayerError, TextTrack, THEOplayerViewProps, TimeRange } from 'react-native-theoplayer';\nimport { AdEventNames, TextTrackEventType, THEOplayerViewComponent, TrackListEventType } from 'react-native-theoplayer';\nimport type { Event, TextTrackCue as NativeTextTrackCue } from 'theoplayer';\n\nimport type {\n AddTrackEvent,\n MediaTrack as NativeMediaTrack,\n PresentationModeChangeEvent,\n ReadyStateChangeEvent as NativeReadyStateChangeEvent,\n RemoveTrackEvent,\n TextTrack as NativeTextTrack,\n} from 'theoplayer';\nimport * as THEOplayer from 'theoplayer';\nimport { findNativeQualitiesByUid, fromNativeCue, fromNativeMediaTrack, fromNativeTextTrack } from './web/TrackUtils';\nimport { THEOplayerWebAdsAPI } from './ads/THEOplayerWebAdsAPI';\n\ninterface THEOplayerRCTViewState {\n isBuffering: boolean;\n error?: PlayerError;\n}\n\nexport class THEOplayerView extends PureComponent<THEOplayerViewProps, THEOplayerRCTViewState> implements THEOplayerViewComponent {\n private _player: THEOplayer.ChromelessPlayer | null = null;\n private _adsApi: THEOplayerWebAdsAPI;\n\n private static initialState: THEOplayerRCTViewState = {\n isBuffering: false,\n error: undefined,\n };\n\n constructor(props: THEOplayerViewProps) {\n super(props);\n this.state = THEOplayerView.initialState;\n this._adsApi = new THEOplayerWebAdsAPI(this);\n }\n\n componentDidMount() {\n const { config, source, abrConfig } = this.props;\n const element = document.querySelector('.theoplayer-container') as HTMLElement;\n if (config?.chromeless === true || config?.chromeless === undefined) {\n this._player = new THEOplayer.ChromelessPlayer(element, {\n libraryLocation: 'node_modules/theoplayer',\n ...config,\n });\n } else {\n this._player = new THEOplayer.Player(element, {\n libraryLocation: 'node_modules/theoplayer',\n ...config,\n ui: {\n fluid: true,\n },\n });\n }\n\n Object.assign(this._player.abr, abrConfig);\n this._player.prepareWithUserAction();\n this._player.source = source;\n this.addEventListeners();\n }\n\n componentWillUnmount() {\n if (this._player) {\n this._player.destroy();\n }\n }\n\n public seek(time: number): void {\n if (isNaN(time)) {\n throw new Error('Specified time is not a number');\n }\n if (this._player) {\n this._player.currentTime = time / 1e3;\n }\n }\n\n public get ads(): AdsAPI {\n return this._adsApi;\n }\n\n public get nativePlayer(): THEOplayer.ChromelessPlayer | null {\n return this._player;\n }\n\n private reset() {\n this.setState(THEOplayerView.initialState);\n }\n\n componentDidUpdate(prevProps: Readonly<THEOplayerViewProps>) {\n if (!this._player) {\n return;\n }\n // track property changes\n const { paused, volume, selectedTextTrack, selectedAudioTrack, selectedVideoTrack, targetVideoQuality, source, muted, playbackRate, fullscreen } =\n this.props;\n const {\n paused: wasPaused,\n selectedTextTrack: prevSelectedTextTrack,\n selectedAudioTrack: prevSelectedAudioTrack,\n selectedVideoTrack: prevSelectedVideoTrack,\n targetVideoQuality: prevTargetVideoQuality,\n source: prevSource,\n muted: wasMuted,\n playbackRate: prevPlaybackRate,\n fullscreen: wasFullscreen,\n volume: prevVolume,\n } = prevProps;\n\n if (source !== prevSource) {\n this._player.source = source;\n }\n if (paused !== wasPaused) {\n if (paused) {\n this._player.pause();\n } else {\n this._player.play();\n }\n }\n if (muted !== wasMuted) {\n this._player.muted = Boolean(muted);\n }\n if (volume !== prevVolume) {\n this._player.volume = Number(volume);\n }\n if (fullscreen !== wasFullscreen) {\n const { onFullscreenPlayerWillPresent, onFullscreenPlayerWillDismiss } = this.props;\n const appContainer = document.getElementById('app');\n if (fullscreen) {\n if (onFullscreenPlayerWillPresent) {\n onFullscreenPlayerWillPresent();\n }\n appContainer?.requestFullscreen().then();\n } else {\n if (onFullscreenPlayerWillDismiss) {\n onFullscreenPlayerWillDismiss();\n }\n document.exitFullscreen().then();\n }\n }\n if (playbackRate && playbackRate !== prevPlaybackRate) {\n this._player.playbackRate = playbackRate;\n }\n if (selectedTextTrack !== prevSelectedTextTrack) {\n this._player.textTracks.forEach((textTrack: NativeTextTrack) => {\n textTrack.mode = textTrack.uid === selectedTextTrack ? 'showing' : 'disabled';\n });\n }\n if (selectedAudioTrack !== prevSelectedAudioTrack) {\n this._player.audioTracks.forEach((audioTrack: NativeMediaTrack) => {\n audioTrack.enabled = audioTrack.uid === selectedAudioTrack;\n });\n }\n if (selectedVideoTrack !== prevSelectedVideoTrack) {\n this._player.videoTracks.forEach((videoTrack: NativeMediaTrack) => {\n videoTrack.enabled = videoTrack.uid === selectedVideoTrack;\n });\n }\n if (targetVideoQuality != prevTargetVideoQuality) {\n const videoTrack = this._player.videoTracks.find((videoTrack: NativeMediaTrack) => videoTrack.uid === selectedVideoTrack);\n if (videoTrack) {\n videoTrack.targetQuality = findNativeQualitiesByUid(videoTrack, targetVideoQuality);\n }\n }\n }\n\n private maybeChangeBufferingState(isBuffering: boolean) {\n const { isBuffering: wasBuffering, error } = this.state;\n const { paused } = this.props;\n\n // do not change state to buffering in case of an error or if the player is paused\n const newIsBuffering = isBuffering && !error && !paused;\n this.setState({ isBuffering: newIsBuffering });\n\n // notify change in buffering state\n if (newIsBuffering !== wasBuffering && this.props.onBufferingStateChange) {\n this.props.onBufferingStateChange(newIsBuffering);\n }\n }\n\n private onAddTextTrackCue = (track: NativeTextTrack) => (event: Event<'addcue'>) => {\n const { onTextTrackEvent } = this.props;\n if (onTextTrackEvent) {\n const { cue } = event as unknown as { cue: NativeTextTrackCue };\n if (cue) {\n onTextTrackEvent({\n type: TextTrackEventType.AddCue,\n trackUid: track.uid,\n cue: fromNativeCue(cue),\n });\n }\n }\n };\n\n private onRemoveTextTrackCue = (track: NativeTextTrack) => (event: Event<'removecue'>) => {\n const { onTextTrackEvent } = this.props;\n if (onTextTrackEvent) {\n const { cue } = event as unknown as { cue: NativeTextTrackCue };\n if (cue) {\n onTextTrackEvent({\n type: TextTrackEventType.RemoveCue,\n trackUid: track.uid,\n cue: fromNativeCue(cue),\n });\n }\n }\n };\n\n private addEventListeners() {\n const player = this._player;\n if (!player) {\n return;\n }\n\n player.addEventListener('sourcechange', () => {\n const { onSourceChange, paused } = this.props;\n\n this.reset();\n if (!paused) {\n player.play();\n }\n if (onSourceChange) {\n onSourceChange();\n }\n });\n\n player.addEventListener('loadstart', () => {\n // potentially notify change in buffering state\n this.maybeChangeBufferingState(true);\n\n const { onLoadStart } = this.props;\n if (onLoadStart) {\n onLoadStart();\n }\n });\n\n player.addEventListener('loadeddata', () => {\n const { onLoadedData } = this.props;\n if (onLoadedData) {\n onLoadedData();\n }\n });\n\n player.addEventListener('loadedmetadata', () => {\n const { onLoadedMetadata } = this.props;\n if (onLoadedMetadata) {\n onLoadedMetadata({\n textTracks: player.textTracks.map((textTrack: NativeTextTrack) => fromNativeTextTrack(textTrack)),\n audioTracks: player.audioTracks.map((audioTrack: NativeMediaTrack) => fromNativeMediaTrack(audioTrack)),\n videoTracks: player.videoTracks.map((videoTrack: NativeMediaTrack) => fromNativeMediaTrack(videoTrack)),\n duration: 1e3 * player.duration,\n selectedTextTrack: player.textTracks.find((track: NativeTextTrack) => track.mode === 'showing')?.uid,\n selectedVideoTrack: player.videoTracks.find((track: NativeMediaTrack) => track.enabled)?.uid,\n selectedAudioTrack: player.audioTracks.find((track: NativeMediaTrack) => track.enabled)?.uid,\n });\n }\n });\n\n player.addEventListener('error', (event) => {\n const { errorObject } = event;\n const error = {\n errorCode: errorObject.code.toString(),\n errorMessage: errorObject.message,\n };\n this.setState({ error });\n\n // potentially notify change in buffering state\n this.maybeChangeBufferingState(false);\n\n const { onError } = this.props;\n if (onError) {\n onError({ error });\n }\n });\n\n player.addEventListener('progress', () => {\n const { onProgress } = this.props;\n if (onProgress) {\n const seekable: TimeRange[] = [];\n for (let i = 0; i < player.seekable.length; i++) {\n seekable.push({\n start: player.seekable.start(i) * 1e3,\n end: player.seekable.end(i) * 1e3,\n });\n }\n onProgress({ seekable });\n }\n });\n\n player.addEventListener('play', () => {\n const { onPlay } = this.props;\n if (onPlay) {\n onPlay();\n }\n });\n\n player.addEventListener('playing', () => {\n // potentially notify change in buffering state\n this.maybeChangeBufferingState(false);\n\n const { onPlaying } = this.props;\n if (onPlaying) {\n onPlaying();\n }\n });\n\n player.addEventListener('pause', () => {\n const { onPause } = this.props;\n if (onPause) {\n onPause();\n }\n });\n\n player.addEventListener('seeking', () => {\n const { onSeeking } = this.props;\n if (onSeeking) {\n onSeeking();\n }\n });\n\n player.addEventListener('seeked', () => {\n const { onSeeked } = this.props;\n if (onSeeked) {\n onSeeked();\n }\n });\n\n player.addEventListener('ended', () => {\n const { onEnded } = this.props;\n if (onEnded) {\n onEnded();\n }\n });\n\n player.addEventListener('readystatechange', (event: NativeReadyStateChangeEvent) => {\n // potentially notify change in buffering state\n this.maybeChangeBufferingState(event.readyState < 3);\n\n const { onReadyStateChange } = this.props;\n if (onReadyStateChange) {\n onReadyStateChange({ readyState: event.readyState });\n }\n });\n\n player.addEventListener('timeupdate', () => {\n const { onTimeUpdate } = this.props;\n if (onTimeUpdate) {\n onTimeUpdate({\n currentTime: player.currentTime * 1e3,\n currentProgramDateTime: player.currentProgramDateTime?.getTime(),\n });\n }\n });\n player.addEventListener('durationchange', (event) => {\n const { onDurationChange } = this.props;\n if (onDurationChange) {\n onDurationChange({\n duration: event.duration * 1e3,\n });\n }\n });\n player.addEventListener('segmentnotfound', () => {\n const { onSegmentNotFound } = this.props;\n if (onSegmentNotFound) {\n onSegmentNotFound({\n segmentStartTime: 0,\n error: 'Segment not found',\n retryCount: -1,\n });\n }\n });\n player.presentation.addEventListener('presentationmodechange', (event: PresentationModeChangeEvent) => {\n const { presentationMode } = event;\n const { onFullscreenPlayerDidPresent, onFullscreenPlayerDidDismiss } = this.props;\n if (presentationMode === 'fullscreen') {\n if (onFullscreenPlayerDidPresent) {\n onFullscreenPlayerDidPresent();\n }\n } else if (presentationMode === 'inline') {\n if (onFullscreenPlayerDidDismiss) {\n onFullscreenPlayerDidDismiss();\n }\n }\n });\n player.textTracks.addEventListener('addtrack', (event: AddTrackEvent) => {\n const { onTextTrackListEvent } = this.props;\n const track = event.track as NativeTextTrack;\n track.addEventListener('addcue', this.onAddTextTrackCue(track));\n track.addEventListener('removecue', this.onRemoveTextTrackCue(track));\n\n if (onTextTrackListEvent) {\n onTextTrackListEvent({\n type: TrackListEventType.AddTrack,\n track: track as TextTrack,\n });\n }\n });\n player.textTracks.addEventListener('removetrack', (event: RemoveTrackEvent) => {\n const { onTextTrackListEvent } = this.props;\n const track = event.track as NativeTextTrack;\n track.removeEventListener('addcue', this.onAddTextTrackCue(track));\n track.removeEventListener('removecue', this.onRemoveTextTrackCue(track));\n\n if (onTextTrackListEvent) {\n onTextTrackListEvent({\n type: TrackListEventType.RemoveTrack,\n track: event.track as unknown as TextTrack,\n });\n }\n });\n player.ads?.addEventListener(AdEventNames, (event) => {\n const { onAdEvent } = this.props;\n if (onAdEvent) {\n onAdEvent(event as AdEvent);\n }\n });\n }\n\n public render(): JSX.Element {\n const { config } = this.props;\n const chromeless = config?.chromeless === undefined || config?.chromeless === true;\n\n return (\n <div id={'theoplayer-wrapper'}>\n <div className={chromeless ? 'theoplayer-container' : 'theoplayer-container video-js theoplayer-skin'} />\n </div>\n );\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.THEOplayerNativeAdsAPI = void 0;
7
+
8
+ var _reactNative = require("react-native");
9
+
10
+ var _THEOplayerNativeGoogleDAI = require("./THEOplayerNativeGoogleDAI");
11
+
12
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
+
14
+ class THEOplayerNativeAdsAPI {
15
+ constructor(_player) {
16
+ this._player = _player;
17
+
18
+ _defineProperty(this, "_dai", void 0);
19
+
20
+ this._dai = new _THEOplayerNativeGoogleDAI.THEOplayerNativeGoogleDAI(this._player);
21
+ }
22
+
23
+ playing() {
24
+ return _reactNative.NativeModules.AdsModule.playing(this._player.nativeHandle);
25
+ }
26
+
27
+ skip() {
28
+ _reactNative.NativeModules.AdsModule.skip(this._player.nativeHandle);
29
+ }
30
+
31
+ currentAdBreak() {
32
+ return _reactNative.NativeModules.AdsModule.currentAdBreak(this._player.nativeHandle);
33
+ }
34
+
35
+ currentAds() {
36
+ return _reactNative.NativeModules.AdsModule.currentAds(this._player.nativeHandle);
37
+ }
38
+
39
+ scheduledAdBreaks() {
40
+ return _reactNative.NativeModules.AdsModule.scheduledAdBreaks(this._player.nativeHandle);
41
+ }
42
+
43
+ schedule(ad) {
44
+ _reactNative.NativeModules.AdsModule.schedule(this._player.nativeHandle, ad);
45
+ }
46
+
47
+ get dai() {
48
+ return this._dai;
49
+ }
50
+
51
+ }
52
+
53
+ exports.THEOplayerNativeAdsAPI = THEOplayerNativeAdsAPI;
54
+ //# sourceMappingURL=THEOplayerNativeAdsAPI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["THEOplayerNativeAdsAPI","constructor","_player","_dai","THEOplayerNativeGoogleDAI","playing","NativeModules","AdsModule","nativeHandle","skip","currentAdBreak","currentAds","scheduledAdBreaks","schedule","ad","dai"],"sources":["THEOplayerNativeAdsAPI.ts"],"sourcesContent":["import type { AdBreak, AdsAPI } from \"react-native-theoplayer\";\nimport { NativeModules } from \"react-native\";\nimport type { AdDescription } from \"react-native-theoplayer\";\nimport type { Ad } from \"react-native-theoplayer\";\nimport type { THEOplayerView } from \"react-native-theoplayer\";\nimport type { GoogleDAI } from \"react-native-theoplayer\";\nimport { THEOplayerNativeGoogleDAI } from \"./THEOplayerNativeGoogleDAI\";\n\nexport class THEOplayerNativeAdsAPI implements AdsAPI {\n\n private readonly _dai: GoogleDAI;\n\n constructor(private _player: THEOplayerView) {\n this._dai = new THEOplayerNativeGoogleDAI(this._player);\n }\n\n playing(): Promise<boolean> {\n return NativeModules.AdsModule.playing(this._player.nativeHandle);\n }\n\n skip(): void {\n NativeModules.AdsModule.skip(this._player.nativeHandle);\n }\n\n currentAdBreak(): Promise<AdBreak> {\n return NativeModules.AdsModule.currentAdBreak(this._player.nativeHandle);\n }\n\n currentAds(): Promise<Ad[]> {\n return NativeModules.AdsModule.currentAds(this._player.nativeHandle);\n }\n\n scheduledAdBreaks(): Promise<AdBreak[]> {\n return NativeModules.AdsModule.scheduledAdBreaks(this._player.nativeHandle);\n }\n\n schedule(ad: AdDescription): void {\n NativeModules.AdsModule.schedule(this._player.nativeHandle, ad);\n }\n\n get dai(): GoogleDAI | undefined {\n return this._dai;\n }\n}\n"],"mappings":";;;;;;;AACA;;AAKA;;;;AAEO,MAAMA,sBAAN,CAA+C;EAIpDC,WAAW,CAASC,OAAT,EAAkC;IAAA,KAAzBA,OAAyB,GAAzBA,OAAyB;;IAAA;;IAC3C,KAAKC,IAAL,GAAY,IAAIC,oDAAJ,CAA8B,KAAKF,OAAnC,CAAZ;EACD;;EAEDG,OAAO,GAAqB;IAC1B,OAAOC,0BAAA,CAAcC,SAAd,CAAwBF,OAAxB,CAAgC,KAAKH,OAAL,CAAaM,YAA7C,CAAP;EACD;;EAEDC,IAAI,GAAS;IACXH,0BAAA,CAAcC,SAAd,CAAwBE,IAAxB,CAA6B,KAAKP,OAAL,CAAaM,YAA1C;EACD;;EAEDE,cAAc,GAAqB;IACjC,OAAOJ,0BAAA,CAAcC,SAAd,CAAwBG,cAAxB,CAAuC,KAAKR,OAAL,CAAaM,YAApD,CAAP;EACD;;EAEDG,UAAU,GAAkB;IAC1B,OAAOL,0BAAA,CAAcC,SAAd,CAAwBI,UAAxB,CAAmC,KAAKT,OAAL,CAAaM,YAAhD,CAAP;EACD;;EAEDI,iBAAiB,GAAuB;IACtC,OAAON,0BAAA,CAAcC,SAAd,CAAwBK,iBAAxB,CAA0C,KAAKV,OAAL,CAAaM,YAAvD,CAAP;EACD;;EAEDK,QAAQ,CAACC,EAAD,EAA0B;IAChCR,0BAAA,CAAcC,SAAd,CAAwBM,QAAxB,CAAiC,KAAKX,OAAL,CAAaM,YAA9C,EAA4DM,EAA5D;EACD;;EAEM,IAAHC,GAAG,GAA0B;IAC/B,OAAO,KAAKZ,IAAZ;EACD;;AAlCmD"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.THEOplayerNativeGoogleDAI = void 0;
7
+
8
+ var _reactNative = require("react-native");
9
+
10
+ class THEOplayerNativeGoogleDAI {
11
+ constructor(_player) {
12
+ this._player = _player;
13
+ }
14
+
15
+ get snapback() {
16
+ return _reactNative.NativeModules.AdsModule.daiSnapback(this._player.nativeHandle);
17
+ }
18
+
19
+ setSnapback(enabled) {
20
+ _reactNative.NativeModules.AdsModule.daiSetSnapback(this._player.nativeHandle, enabled);
21
+ }
22
+
23
+ contentTimeForStreamTime(time) {
24
+ return _reactNative.NativeModules.AdsModule.daiContentTimeForStreamTime(this._player.nativeHandle, time);
25
+ }
26
+
27
+ streamTimeForContentTime(time) {
28
+ return _reactNative.NativeModules.AdsModule.daiStreamTimeForContentTime(this._player.nativeHandle, time);
29
+ }
30
+
31
+ }
32
+
33
+ exports.THEOplayerNativeGoogleDAI = THEOplayerNativeGoogleDAI;
34
+ //# sourceMappingURL=THEOplayerNativeGoogleDAI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["THEOplayerNativeGoogleDAI","constructor","_player","snapback","NativeModules","AdsModule","daiSnapback","nativeHandle","setSnapback","enabled","daiSetSnapback","contentTimeForStreamTime","time","daiContentTimeForStreamTime","streamTimeForContentTime","daiStreamTimeForContentTime"],"sources":["THEOplayerNativeGoogleDAI.ts"],"sourcesContent":["import type { GoogleDAI } from 'react-native-theoplayer';\nimport { NativeModules } from 'react-native';\nimport type { THEOplayerView } from 'react-native-theoplayer';\n\nexport class THEOplayerNativeGoogleDAI implements GoogleDAI {\n public constructor(private readonly _player: THEOplayerView) {}\n\n get snapback(): Promise<boolean> {\n return NativeModules.AdsModule.daiSnapback(this._player.nativeHandle);\n }\n\n setSnapback(enabled: boolean): void {\n NativeModules.AdsModule.daiSetSnapback(this._player.nativeHandle, enabled);\n }\n\n contentTimeForStreamTime(time: number): Promise<number> {\n return NativeModules.AdsModule.daiContentTimeForStreamTime(this._player.nativeHandle, time);\n }\n\n streamTimeForContentTime(time: number): Promise<number> {\n return NativeModules.AdsModule.daiStreamTimeForContentTime(this._player.nativeHandle, time);\n }\n}\n"],"mappings":";;;;;;;AACA;;AAGO,MAAMA,yBAAN,CAAqD;EACnDC,WAAW,CAAkBC,OAAlB,EAA2C;IAAA,KAAzBA,OAAyB,GAAzBA,OAAyB;EAAE;;EAEnD,IAARC,QAAQ,GAAqB;IAC/B,OAAOC,0BAAA,CAAcC,SAAd,CAAwBC,WAAxB,CAAoC,KAAKJ,OAAL,CAAaK,YAAjD,CAAP;EACD;;EAEDC,WAAW,CAACC,OAAD,EAAyB;IAClCL,0BAAA,CAAcC,SAAd,CAAwBK,cAAxB,CAAuC,KAAKR,OAAL,CAAaK,YAApD,EAAkEE,OAAlE;EACD;;EAEDE,wBAAwB,CAACC,IAAD,EAAgC;IACtD,OAAOR,0BAAA,CAAcC,SAAd,CAAwBQ,2BAAxB,CAAoD,KAAKX,OAAL,CAAaK,YAAjE,EAA+EK,IAA/E,CAAP;EACD;;EAEDE,wBAAwB,CAACF,IAAD,EAAgC;IACtD,OAAOR,0BAAA,CAAcC,SAAd,CAAwBU,2BAAxB,CAAoD,KAAKb,OAAL,CAAaK,YAAjE,EAA+EK,IAA/E,CAAP;EACD;;AAjByD"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.THEOplayerWebAdsAPI = void 0;
7
+
8
+ var _THEOplayerWebGoogleDAI = require("./THEOplayerWebGoogleDAI");
9
+
10
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
+
12
+ class THEOplayerWebAdsAPI {
13
+ constructor(_player) {
14
+ this._player = _player;
15
+
16
+ _defineProperty(this, "_dai", void 0);
17
+ }
18
+
19
+ currentAdBreak() {
20
+ var _this$_player$nativeP, _this$_player$nativeP2;
21
+
22
+ const adBreak = (_this$_player$nativeP = this._player.nativePlayer) === null || _this$_player$nativeP === void 0 ? void 0 : (_this$_player$nativeP2 = _this$_player$nativeP.ads) === null || _this$_player$nativeP2 === void 0 ? void 0 : _this$_player$nativeP2.currentAdBreak;
23
+ return adBreak ? Promise.resolve(adBreak) : Promise.reject();
24
+ }
25
+
26
+ currentAds() {
27
+ var _this$_player$nativeP3, _this$_player$nativeP4;
28
+
29
+ const ads = (_this$_player$nativeP3 = this._player.nativePlayer) === null || _this$_player$nativeP3 === void 0 ? void 0 : (_this$_player$nativeP4 = _this$_player$nativeP3.ads) === null || _this$_player$nativeP4 === void 0 ? void 0 : _this$_player$nativeP4.currentAds;
30
+ return ads ? Promise.resolve(ads) : Promise.reject();
31
+ }
32
+
33
+ playing() {
34
+ var _this$_player$nativeP5, _this$_player$nativeP6;
35
+
36
+ return Promise.resolve(((_this$_player$nativeP5 = this._player.nativePlayer) === null || _this$_player$nativeP5 === void 0 ? void 0 : (_this$_player$nativeP6 = _this$_player$nativeP5.ads) === null || _this$_player$nativeP6 === void 0 ? void 0 : _this$_player$nativeP6.playing) || false);
37
+ }
38
+
39
+ schedule(ad) {
40
+ var _this$_player$nativeP7, _this$_player$nativeP8;
41
+
42
+ (_this$_player$nativeP7 = this._player.nativePlayer) === null || _this$_player$nativeP7 === void 0 ? void 0 : (_this$_player$nativeP8 = _this$_player$nativeP7.ads) === null || _this$_player$nativeP8 === void 0 ? void 0 : _this$_player$nativeP8.schedule(ad);
43
+ }
44
+
45
+ scheduledAdBreaks() {
46
+ var _this$_player$nativeP9, _this$_player$nativeP10;
47
+
48
+ const adBreaks = (_this$_player$nativeP9 = this._player.nativePlayer) === null || _this$_player$nativeP9 === void 0 ? void 0 : (_this$_player$nativeP10 = _this$_player$nativeP9.ads) === null || _this$_player$nativeP10 === void 0 ? void 0 : _this$_player$nativeP10.scheduledAdBreaks;
49
+ return adBreaks ? Promise.resolve(adBreaks) : Promise.reject();
50
+ }
51
+
52
+ skip() {
53
+ var _this$_player$nativeP11, _this$_player$nativeP12;
54
+
55
+ (_this$_player$nativeP11 = this._player.nativePlayer) === null || _this$_player$nativeP11 === void 0 ? void 0 : (_this$_player$nativeP12 = _this$_player$nativeP11.ads) === null || _this$_player$nativeP12 === void 0 ? void 0 : _this$_player$nativeP12.skip();
56
+ }
57
+
58
+ get dai() {
59
+ if (!this._dai) {
60
+ var _this$_player$nativeP13, _this$_player$nativeP14;
61
+
62
+ const nativeDai = (_this$_player$nativeP13 = this._player.nativePlayer) === null || _this$_player$nativeP13 === void 0 ? void 0 : (_this$_player$nativeP14 = _this$_player$nativeP13.ads) === null || _this$_player$nativeP14 === void 0 ? void 0 : _this$_player$nativeP14.dai;
63
+
64
+ if (!nativeDai) {
65
+ // Not native DAI available
66
+ return undefined;
67
+ }
68
+
69
+ this._dai = new _THEOplayerWebGoogleDAI.THEOplayerWebGoogleDAI(nativeDai);
70
+ }
71
+
72
+ return this._dai;
73
+ }
74
+
75
+ }
76
+
77
+ exports.THEOplayerWebAdsAPI = THEOplayerWebAdsAPI;
78
+ //# sourceMappingURL=THEOplayerWebAdsAPI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["THEOplayerWebAdsAPI","constructor","_player","currentAdBreak","adBreak","nativePlayer","ads","Promise","resolve","reject","currentAds","playing","schedule","ad","scheduledAdBreaks","adBreaks","skip","dai","_dai","nativeDai","undefined","THEOplayerWebGoogleDAI"],"sources":["THEOplayerWebAdsAPI.ts"],"sourcesContent":["import type { Ad, AdDescription, AdBreak, AdsAPI } from \"react-native-theoplayer\";\nimport type { THEOplayerView } from \"../THEOplayerView.web\";\nimport type { GoogleDAI } from \"react-native-theoplayer\";\nimport { THEOplayerWebGoogleDAI } from \"./THEOplayerWebGoogleDAI\";\n\nexport class THEOplayerWebAdsAPI implements AdsAPI {\n\n private _dai: GoogleDAI | undefined;\n\n constructor(private readonly _player: THEOplayerView) {\n }\n\n currentAdBreak(): Promise<AdBreak> {\n const adBreak = this._player.nativePlayer?.ads?.currentAdBreak;\n return adBreak ? Promise.resolve(adBreak) : Promise.reject<AdBreak>();\n }\n\n currentAds(): Promise<Ad[]> {\n const ads = this._player.nativePlayer?.ads?.currentAds;\n return ads ? Promise.resolve(ads) : Promise.reject<Ad[]>();\n }\n\n playing(): Promise<boolean> {\n return Promise.resolve<boolean>(this._player.nativePlayer?.ads?.playing || false);\n }\n\n schedule(ad: AdDescription): void {\n this._player.nativePlayer?.ads?.schedule(ad);\n }\n\n scheduledAdBreaks(): Promise<AdBreak[]> {\n const adBreaks = this._player.nativePlayer?.ads?.scheduledAdBreaks;\n return adBreaks ? Promise.resolve(adBreaks) : Promise.reject<AdBreak[]>();\n }\n\n skip(): void {\n this._player.nativePlayer?.ads?.skip();\n }\n\n get dai(): GoogleDAI | undefined {\n if (!this._dai) {\n const nativeDai = this._player.nativePlayer?.ads?.dai;\n if (!nativeDai) {\n // Not native DAI available\n return undefined;\n }\n this._dai = new THEOplayerWebGoogleDAI(nativeDai);\n }\n return this._dai;\n }\n}\n"],"mappings":";;;;;;;AAGA;;;;AAEO,MAAMA,mBAAN,CAA4C;EAIjDC,WAAW,CAAkBC,OAAlB,EAA2C;IAAA,KAAzBA,OAAyB,GAAzBA,OAAyB;;IAAA;EACrD;;EAEDC,cAAc,GAAqB;IAAA;;IACjC,MAAMC,OAAO,4BAAG,KAAKF,OAAL,CAAaG,YAAhB,oFAAG,sBAA2BC,GAA9B,2DAAG,uBAAgCH,cAAhD;IACA,OAAOC,OAAO,GAAGG,OAAO,CAACC,OAAR,CAAgBJ,OAAhB,CAAH,GAA8BG,OAAO,CAACE,MAAR,EAA5C;EACD;;EAEDC,UAAU,GAAkB;IAAA;;IAC1B,MAAMJ,GAAG,6BAAG,KAAKJ,OAAL,CAAaG,YAAhB,qFAAG,uBAA2BC,GAA9B,2DAAG,uBAAgCI,UAA5C;IACA,OAAOJ,GAAG,GAAGC,OAAO,CAACC,OAAR,CAAgBF,GAAhB,CAAH,GAA0BC,OAAO,CAACE,MAAR,EAApC;EACD;;EAEDE,OAAO,GAAqB;IAAA;;IAC1B,OAAOJ,OAAO,CAACC,OAAR,CAAyB,gCAAKN,OAAL,CAAaG,YAAb,4GAA2BC,GAA3B,kFAAgCK,OAAhC,KAA2C,KAApE,CAAP;EACD;;EAEDC,QAAQ,CAACC,EAAD,EAA0B;IAAA;;IAChC,+BAAKX,OAAL,CAAaG,YAAb,4GAA2BC,GAA3B,kFAAgCM,QAAhC,CAAyCC,EAAzC;EACD;;EAEDC,iBAAiB,GAAuB;IAAA;;IACtC,MAAMC,QAAQ,6BAAG,KAAKb,OAAL,CAAaG,YAAhB,sFAAG,uBAA2BC,GAA9B,4DAAG,wBAAgCQ,iBAAjD;IACA,OAAOC,QAAQ,GAAGR,OAAO,CAACC,OAAR,CAAgBO,QAAhB,CAAH,GAA+BR,OAAO,CAACE,MAAR,EAA9C;EACD;;EAEDO,IAAI,GAAS;IAAA;;IACX,gCAAKd,OAAL,CAAaG,YAAb,+GAA2BC,GAA3B,oFAAgCU,IAAhC;EACD;;EAEM,IAAHC,GAAG,GAA0B;IAC/B,IAAI,CAAC,KAAKC,IAAV,EAAgB;MAAA;;MACd,MAAMC,SAAS,8BAAG,KAAKjB,OAAL,CAAaG,YAAhB,uFAAG,wBAA2BC,GAA9B,4DAAG,wBAAgCW,GAAlD;;MACA,IAAI,CAACE,SAAL,EAAgB;QACd;QACA,OAAOC,SAAP;MACD;;MACD,KAAKF,IAAL,GAAY,IAAIG,8CAAJ,CAA2BF,SAA3B,CAAZ;IACD;;IACD,OAAO,KAAKD,IAAZ;EACD;;AA5CgD"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.THEOplayerWebGoogleDAI = void 0;
7
+
8
+ class THEOplayerWebGoogleDAI {
9
+ constructor(_googleDAI) {
10
+ this._googleDAI = _googleDAI;
11
+ }
12
+
13
+ get snapback() {
14
+ return Promise.resolve(this._googleDAI.snapback);
15
+ }
16
+
17
+ setSnapback(enabled) {
18
+ this._googleDAI.snapback = enabled;
19
+ }
20
+
21
+ contentTimeForStreamTime(time) {
22
+ return Promise.resolve(this._googleDAI.contentTimeForStreamTime(time));
23
+ }
24
+
25
+ streamTimeForContentTime(time) {
26
+ return Promise.resolve(this._googleDAI.streamTimeForContentTime(time));
27
+ }
28
+
29
+ }
30
+
31
+ exports.THEOplayerWebGoogleDAI = THEOplayerWebGoogleDAI;
32
+ //# sourceMappingURL=THEOplayerWebGoogleDAI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["THEOplayerWebGoogleDAI","constructor","_googleDAI","snapback","Promise","resolve","setSnapback","enabled","contentTimeForStreamTime","time","streamTimeForContentTime"],"sources":["THEOplayerWebGoogleDAI.ts"],"sourcesContent":["import type { GoogleDAI } from 'react-native-theoplayer';\nimport type { GoogleDAI as NativeGoogleDAI } from 'theoplayer';\n\nexport class THEOplayerWebGoogleDAI implements GoogleDAI {\n public constructor(private readonly _googleDAI: NativeGoogleDAI) {}\n\n get snapback(): Promise<boolean> {\n return Promise.resolve(this._googleDAI.snapback);\n }\n\n setSnapback(enabled: boolean): void {\n this._googleDAI.snapback = enabled;\n }\n\n contentTimeForStreamTime(time: number): Promise<number> {\n return Promise.resolve(this._googleDAI.contentTimeForStreamTime(time));\n }\n\n streamTimeForContentTime(time: number): Promise<number> {\n return Promise.resolve(this._googleDAI.streamTimeForContentTime(time));\n }\n}\n"],"mappings":";;;;;;;AAGO,MAAMA,sBAAN,CAAkD;EAChDC,WAAW,CAAkBC,UAAlB,EAA+C;IAAA,KAA7BA,UAA6B,GAA7BA,UAA6B;EAAE;;EAEvD,IAARC,QAAQ,GAAqB;IAC/B,OAAOC,OAAO,CAACC,OAAR,CAAgB,KAAKH,UAAL,CAAgBC,QAAhC,CAAP;EACD;;EAEDG,WAAW,CAACC,OAAD,EAAyB;IAClC,KAAKL,UAAL,CAAgBC,QAAhB,GAA2BI,OAA3B;EACD;;EAEDC,wBAAwB,CAACC,IAAD,EAAgC;IACtD,OAAOL,OAAO,CAACC,OAAR,CAAgB,KAAKH,UAAL,CAAgBM,wBAAhB,CAAyCC,IAAzC,CAAhB,CAAP;EACD;;EAEDC,wBAAwB,CAACD,IAAD,EAAgC;IACtD,OAAOL,OAAO,CAACC,OAAR,CAAgB,KAAKH,UAAL,CAAgBQ,wBAAhB,CAAyCD,IAAzC,CAAhB,CAAP;EACD;;AAjBsD"}