react-native-theoplayer 1.7.2 → 1.8.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 (236) hide show
  1. package/README.md +2 -0
  2. package/android/src/main/java/com/theoplayer/PlayerConfigAdapter.kt +115 -0
  3. package/android/src/main/java/com/theoplayer/PlayerEventEmitter.kt +648 -0
  4. package/android/src/main/java/com/theoplayer/ReactTHEOplayerPackage.kt +23 -0
  5. package/android/src/main/java/com/theoplayer/ReactTHEOplayerView.kt +446 -0
  6. package/android/src/main/java/com/theoplayer/ReactTHEOplayerViewManager.kt +117 -0
  7. package/android/src/main/java/com/theoplayer/{TimeUpdateRate.java → TimeUpdateRate.kt} +2 -2
  8. package/android/src/main/java/com/theoplayer/ads/AdAdapter.kt +161 -0
  9. package/android/src/main/java/com/theoplayer/ads/AdEventAdapter.kt +90 -0
  10. package/android/src/main/java/com/theoplayer/ads/AdsModule.kt +140 -0
  11. package/android/src/main/java/com/theoplayer/cast/CastEventAdapter.kt +81 -0
  12. package/android/src/main/java/com/theoplayer/cast/CastModule.kt +75 -0
  13. package/android/src/main/java/com/theoplayer/drm/ContentProtectionAdapter.kt +2 -2
  14. package/android/src/main/java/com/theoplayer/drm/ContentProtectionModule.kt +1 -2
  15. package/android/src/main/java/com/theoplayer/drm/ProxyContentProtectionIntegration.kt +1 -2
  16. package/android/src/main/java/com/theoplayer/drm/ProxyContentProtectionIntegrationFactory.kt +3 -5
  17. package/android/src/main/java/com/theoplayer/source/SourceAdapter.kt +402 -0
  18. package/android/src/main/java/com/theoplayer/track/MediaTrackEventType.kt +6 -0
  19. package/android/src/main/java/com/theoplayer/track/MediaTrackType.kt +6 -0
  20. package/android/src/main/java/com/theoplayer/track/QualityListAdapter.kt +43 -0
  21. package/android/src/main/java/com/theoplayer/track/QualityListFilter.kt +28 -0
  22. package/android/src/main/java/com/theoplayer/track/TextTrackCueEventType.kt +10 -0
  23. package/android/src/main/java/com/theoplayer/track/TrackEventType.kt +7 -0
  24. package/android/src/main/java/com/theoplayer/track/TrackListAdapter.kt +219 -0
  25. package/android/src/main/java/com/theoplayer/util/ViewResolver.kt +19 -0
  26. package/ios/THEOplayerRCTAdAggregator.swift +12 -6
  27. package/ios/THEOplayerRCTAdsAPI.swift +39 -40
  28. package/ios/THEOplayerRCTBridge.m +52 -1
  29. package/ios/THEOplayerRCTCastAPI.swift +275 -0
  30. package/ios/THEOplayerRCTDebug.swift +3 -0
  31. package/ios/THEOplayerRCTSourceDescriptionBuilder.swift +91 -19
  32. package/ios/{THEOplayerRCTMetadataAggregator.swift → THEOplayerRCTTrackMetadataAggregator.swift} +12 -12
  33. package/ios/THEOplayerRCTView.swift +104 -24
  34. package/ios/THEOplayerRCTViewAdEventHandler.swift +2 -2
  35. package/ios/THEOplayerRCTViewCastEventHandler.swift +124 -0
  36. package/ios/THEOplayerRCTViewMainEventHandler.swift +1 -1
  37. package/ios/THEOplayerRCTViewMediaTrackEventHandler.swift +6 -6
  38. package/ios/THEOplayerRCTViewTextTrackEventHandler.swift +5 -5
  39. package/ios/custom/Frameworks/ios/put_custom_ios_xcframework_here.txt +1 -1
  40. package/ios/custom/Frameworks/tvos/put_custom_tvos_xcframework_here.txt +2 -0
  41. package/ios/custom/react-native-theoplayer_custom.podspec +46 -0
  42. package/lib/commonjs/api/THEOplayerView.js.map +1 -1
  43. package/lib/commonjs/api/barrel.js +21 -8
  44. package/lib/commonjs/api/barrel.js.map +1 -1
  45. package/lib/commonjs/api/cast/Airplay.js +6 -0
  46. package/lib/commonjs/api/cast/Airplay.js.map +1 -0
  47. package/lib/commonjs/api/cast/CastAPI.js +6 -0
  48. package/lib/commonjs/api/cast/CastAPI.js.map +1 -0
  49. package/lib/commonjs/api/cast/CastConfiguration.js +2 -0
  50. package/lib/commonjs/api/cast/CastConfiguration.js.map +1 -0
  51. package/lib/commonjs/api/cast/CastState.js +2 -0
  52. package/lib/commonjs/api/cast/CastState.js.map +1 -0
  53. package/lib/commonjs/api/cast/Chromecast.js +6 -0
  54. package/lib/commonjs/api/cast/Chromecast.js.map +1 -0
  55. package/lib/commonjs/api/cast/barrel.js +71 -0
  56. package/lib/commonjs/api/cast/barrel.js.map +1 -0
  57. package/lib/commonjs/api/config/PlayerConfiguration.js.map +1 -1
  58. package/lib/commonjs/api/error/ChromecastError.js +2 -0
  59. package/lib/commonjs/api/error/ChromecastError.js.map +1 -0
  60. package/lib/commonjs/api/error/barrel.js +13 -0
  61. package/lib/commonjs/api/error/barrel.js.map +1 -1
  62. package/lib/commonjs/api/event/CastEvent.js +21 -0
  63. package/lib/commonjs/api/event/CastEvent.js.map +1 -0
  64. package/lib/commonjs/api/event/barrel.js +25 -12
  65. package/lib/commonjs/api/event/barrel.js.map +1 -1
  66. package/lib/commonjs/api/source/SourceDescription.js.map +1 -1
  67. package/lib/commonjs/api/source/barrel.js +13 -0
  68. package/lib/commonjs/api/source/barrel.js.map +1 -1
  69. package/lib/commonjs/api/source/metadata/MetadataDescription.js +2 -0
  70. package/lib/commonjs/api/source/metadata/MetadataDescription.js.map +1 -0
  71. package/lib/commonjs/api/source/metadata/barrel.js +19 -0
  72. package/lib/commonjs/api/source/metadata/barrel.js.map +1 -0
  73. package/lib/commonjs/internal/THEOplayerView.js +16 -0
  74. package/lib/commonjs/internal/THEOplayerView.js.map +1 -1
  75. package/lib/commonjs/internal/THEOplayerView.web.js +9 -0
  76. package/lib/commonjs/internal/THEOplayerView.web.js.map +1 -1
  77. package/lib/commonjs/internal/cast/THEOplayerNativeAirplay.js +34 -0
  78. package/lib/commonjs/internal/cast/THEOplayerNativeAirplay.js.map +1 -0
  79. package/lib/commonjs/internal/cast/THEOplayerNativeCastApi.js +46 -0
  80. package/lib/commonjs/internal/cast/THEOplayerNativeCastApi.js.map +1 -0
  81. package/lib/commonjs/internal/cast/THEOplayerNativeChromecast.js +42 -0
  82. package/lib/commonjs/internal/cast/THEOplayerNativeChromecast.js.map +1 -0
  83. package/lib/commonjs/internal/cast/THEOplayerWebCastApi.js +31 -0
  84. package/lib/commonjs/internal/cast/THEOplayerWebCastApi.js.map +1 -0
  85. package/lib/commonjs/internal/web/stub/CastButtonStub.js +16 -0
  86. package/lib/commonjs/internal/web/stub/CastButtonStub.js.map +1 -0
  87. package/lib/module/api/THEOplayerView.js.map +1 -1
  88. package/lib/module/api/barrel.js +1 -0
  89. package/lib/module/api/barrel.js.map +1 -1
  90. package/lib/module/api/cast/Airplay.js +2 -0
  91. package/lib/module/api/cast/Airplay.js.map +1 -0
  92. package/lib/module/api/cast/CastAPI.js +2 -0
  93. package/lib/module/api/cast/CastAPI.js.map +1 -0
  94. package/lib/module/api/cast/CastConfiguration.js +2 -0
  95. package/lib/module/api/cast/CastConfiguration.js.map +1 -0
  96. package/lib/module/api/cast/CastState.js +2 -0
  97. package/lib/module/api/cast/CastState.js.map +1 -0
  98. package/lib/module/api/cast/Chromecast.js +2 -0
  99. package/lib/module/api/cast/Chromecast.js.map +1 -0
  100. package/lib/module/api/cast/barrel.js +6 -0
  101. package/lib/module/api/cast/barrel.js.map +1 -0
  102. package/lib/module/api/config/PlayerConfiguration.js.map +1 -1
  103. package/lib/module/api/error/ChromecastError.js +2 -0
  104. package/lib/module/api/error/ChromecastError.js.map +1 -0
  105. package/lib/module/api/error/barrel.js +1 -0
  106. package/lib/module/api/error/barrel.js.map +1 -1
  107. package/lib/module/api/event/CastEvent.js +14 -0
  108. package/lib/module/api/event/CastEvent.js.map +1 -0
  109. package/lib/module/api/event/barrel.js +2 -1
  110. package/lib/module/api/event/barrel.js.map +1 -1
  111. package/lib/module/api/source/SourceDescription.js.map +1 -1
  112. package/lib/module/api/source/barrel.js +1 -0
  113. package/lib/module/api/source/barrel.js.map +1 -1
  114. package/lib/module/api/source/metadata/MetadataDescription.js +2 -0
  115. package/lib/module/api/source/metadata/MetadataDescription.js.map +1 -0
  116. package/lib/module/api/source/metadata/barrel.js +2 -0
  117. package/lib/module/api/source/metadata/barrel.js.map +1 -0
  118. package/lib/module/internal/THEOplayerView.js +15 -0
  119. package/lib/module/internal/THEOplayerView.js.map +1 -1
  120. package/lib/module/internal/THEOplayerView.web.js +8 -0
  121. package/lib/module/internal/THEOplayerView.web.js.map +1 -1
  122. package/lib/module/internal/cast/THEOplayerNativeAirplay.js +24 -0
  123. package/lib/module/internal/cast/THEOplayerNativeAirplay.js.map +1 -0
  124. package/lib/module/internal/cast/THEOplayerNativeCastApi.js +34 -0
  125. package/lib/module/internal/cast/THEOplayerNativeCastApi.js.map +1 -0
  126. package/lib/module/internal/cast/THEOplayerNativeChromecast.js +32 -0
  127. package/lib/module/internal/cast/THEOplayerNativeChromecast.js.map +1 -0
  128. package/lib/module/internal/cast/THEOplayerWebCastApi.js +22 -0
  129. package/lib/module/internal/cast/THEOplayerWebCastApi.js.map +1 -0
  130. package/lib/module/internal/web/stub/CastButtonStub.js +6 -0
  131. package/lib/module/internal/web/stub/CastButtonStub.js.map +1 -0
  132. package/lib/typescript/lib/commonjs/api/cast/Airplay.d.ts +1 -0
  133. package/lib/typescript/lib/commonjs/api/cast/CastAPI.d.ts +1 -0
  134. package/lib/typescript/lib/commonjs/api/cast/CastConfiguration.d.ts +0 -0
  135. package/lib/typescript/lib/commonjs/api/cast/CastState.d.ts +0 -0
  136. package/lib/typescript/lib/commonjs/api/cast/Chromecast.d.ts +1 -0
  137. package/lib/typescript/lib/commonjs/api/cast/barrel.d.ts +1 -0
  138. package/lib/typescript/lib/commonjs/api/error/ChromecastError.d.ts +0 -0
  139. package/lib/typescript/lib/commonjs/api/event/CastEvent.d.ts +2 -0
  140. package/lib/typescript/lib/commonjs/api/source/metadata/MetadataDescription.d.ts +0 -0
  141. package/lib/typescript/lib/commonjs/api/source/metadata/barrel.d.ts +1 -0
  142. package/lib/typescript/lib/commonjs/internal/THEOplayerView.d.ts +3 -0
  143. package/lib/typescript/lib/commonjs/internal/THEOplayerView.web.d.ts +3 -0
  144. package/lib/typescript/lib/commonjs/internal/cast/THEOplayerNativeAirplay.d.ts +9 -0
  145. package/lib/typescript/lib/commonjs/internal/cast/THEOplayerNativeCastApi.d.ts +12 -0
  146. package/lib/typescript/lib/commonjs/internal/cast/THEOplayerNativeChromecast.d.ts +11 -0
  147. package/lib/typescript/lib/commonjs/internal/cast/THEOplayerWebCastApi.d.ts +8 -0
  148. package/lib/typescript/lib/commonjs/internal/web/stub/CastButtonStub.d.ts +2 -0
  149. package/lib/typescript/lib/module/api/barrel.d.ts +1 -0
  150. package/lib/typescript/lib/module/api/cast/Airplay.d.ts +1 -0
  151. package/lib/typescript/lib/module/api/cast/CastAPI.d.ts +1 -0
  152. package/lib/typescript/lib/module/api/cast/CastConfiguration.d.ts +0 -0
  153. package/lib/typescript/lib/module/api/cast/CastState.d.ts +0 -0
  154. package/lib/typescript/lib/module/api/cast/Chromecast.d.ts +1 -0
  155. package/lib/typescript/lib/module/api/cast/barrel.d.ts +3 -0
  156. package/lib/typescript/lib/module/api/error/ChromecastError.d.ts +0 -0
  157. package/lib/typescript/lib/module/api/event/CastEvent.d.ts +1 -0
  158. package/lib/typescript/lib/module/api/event/barrel.d.ts +2 -1
  159. package/lib/typescript/lib/module/api/source/barrel.d.ts +1 -0
  160. package/lib/typescript/lib/module/api/source/metadata/MetadataDescription.d.ts +0 -0
  161. package/lib/typescript/lib/module/api/source/metadata/barrel.d.ts +1 -0
  162. package/lib/typescript/lib/module/internal/THEOplayerView.d.ts +3 -0
  163. package/lib/typescript/lib/module/internal/THEOplayerView.web.d.ts +3 -0
  164. package/lib/typescript/lib/module/internal/cast/THEOplayerNativeAirplay.d.ts +8 -0
  165. package/lib/typescript/lib/module/internal/cast/THEOplayerNativeCastApi.d.ts +11 -0
  166. package/lib/typescript/lib/module/internal/cast/THEOplayerNativeChromecast.d.ts +10 -0
  167. package/lib/typescript/lib/module/internal/cast/THEOplayerWebCastApi.d.ts +7 -0
  168. package/lib/typescript/lib/module/internal/web/stub/CastButtonStub.d.ts +2 -0
  169. package/lib/typescript/src/api/THEOplayerView.d.ts +10 -0
  170. package/lib/typescript/src/api/barrel.d.ts +1 -0
  171. package/lib/typescript/src/api/cast/Airplay.d.ts +27 -0
  172. package/lib/typescript/src/api/cast/CastAPI.d.ts +25 -0
  173. package/lib/typescript/src/api/cast/CastConfiguration.d.ts +41 -0
  174. package/lib/typescript/src/api/cast/CastState.d.ts +10 -0
  175. package/lib/typescript/src/api/cast/Chromecast.d.ts +39 -0
  176. package/lib/typescript/src/api/cast/barrel.d.ts +5 -0
  177. package/lib/typescript/src/api/config/PlayerConfiguration.d.ts +6 -1
  178. package/lib/typescript/src/api/error/ChromecastError.d.ts +34 -0
  179. package/lib/typescript/src/api/error/barrel.d.ts +1 -0
  180. package/lib/typescript/src/api/event/CastEvent.d.ts +21 -0
  181. package/lib/typescript/src/api/event/barrel.d.ts +2 -1
  182. package/lib/typescript/src/api/source/SourceDescription.d.ts +7 -0
  183. package/lib/typescript/src/api/source/barrel.d.ts +1 -0
  184. package/lib/typescript/src/api/source/metadata/MetadataDescription.d.ts +12 -0
  185. package/lib/typescript/src/api/source/metadata/barrel.d.ts +1 -0
  186. package/lib/typescript/src/internal/THEOplayerView.d.ts +5 -1
  187. package/lib/typescript/src/internal/THEOplayerView.web.d.ts +3 -1
  188. package/lib/typescript/src/internal/cast/THEOplayerNativeAirplay.d.ts +9 -0
  189. package/lib/typescript/src/internal/cast/THEOplayerNativeCastApi.d.ts +10 -0
  190. package/lib/typescript/src/internal/cast/THEOplayerNativeChromecast.d.ts +11 -0
  191. package/lib/typescript/src/internal/cast/THEOplayerWebCastApi.d.ts +9 -0
  192. package/lib/typescript/src/internal/web/stub/CastButtonStub.d.ts +3 -0
  193. package/package.json +2 -2
  194. package/react-native-theoplayer.podspec +2 -2
  195. package/src/api/THEOplayerView.ts +12 -0
  196. package/src/api/barrel.ts +1 -0
  197. package/src/api/cast/Airplay.ts +31 -0
  198. package/src/api/cast/CastAPI.ts +30 -0
  199. package/src/api/cast/CastConfiguration.ts +44 -0
  200. package/src/api/cast/CastState.ts +10 -0
  201. package/src/api/cast/Chromecast.ts +45 -0
  202. package/src/api/cast/barrel.ts +5 -0
  203. package/src/api/config/PlayerConfiguration.ts +7 -1
  204. package/src/api/error/ChromecastError.ts +46 -0
  205. package/src/api/error/barrel.ts +1 -0
  206. package/src/api/event/CastEvent.ts +45 -0
  207. package/src/api/event/barrel.ts +2 -1
  208. package/src/api/source/SourceDescription.ts +8 -0
  209. package/src/api/source/barrel.ts +1 -0
  210. package/src/api/source/metadata/MetadataDescription.ts +13 -0
  211. package/src/api/source/metadata/barrel.ts +1 -0
  212. package/src/internal/THEOplayerView.tsx +17 -0
  213. package/src/internal/THEOplayerView.web.tsx +8 -1
  214. package/src/internal/cast/THEOplayerNativeAirplay.ts +22 -0
  215. package/src/internal/cast/THEOplayerNativeCastApi.ts +28 -0
  216. package/src/internal/cast/THEOplayerNativeChromecast.ts +30 -0
  217. package/src/internal/cast/THEOplayerWebCastApi.ts +21 -0
  218. package/src/internal/web/stub/CastButtonStub.tsx +7 -0
  219. package/android/src/main/java/com/theoplayer/PlayerConfigHelper.java +0 -70
  220. package/android/src/main/java/com/theoplayer/ReactTHEOplayerPackage.java +0 -32
  221. package/android/src/main/java/com/theoplayer/ReactTHEOplayerView.java +0 -525
  222. package/android/src/main/java/com/theoplayer/ReactTHEOplayerViewManager.java +0 -127
  223. package/android/src/main/java/com/theoplayer/SourceHelper.java +0 -362
  224. package/android/src/main/java/com/theoplayer/VideoEventEmitter.java +0 -578
  225. package/android/src/main/java/com/theoplayer/ads/AdEventAdapter.java +0 -92
  226. package/android/src/main/java/com/theoplayer/ads/AdInfo.java +0 -168
  227. package/android/src/main/java/com/theoplayer/ads/AdsModule.java +0 -152
  228. package/android/src/main/java/com/theoplayer/track/MediaTrackEventType.java +0 -11
  229. package/android/src/main/java/com/theoplayer/track/MediaTrackType.java +0 -11
  230. package/android/src/main/java/com/theoplayer/track/QualityListAdapter.java +0 -54
  231. package/android/src/main/java/com/theoplayer/track/QualityListFilter.java +0 -40
  232. package/android/src/main/java/com/theoplayer/track/TextTrackCueEventType.java +0 -11
  233. package/android/src/main/java/com/theoplayer/track/TrackEventType.java +0 -12
  234. package/android/src/main/java/com/theoplayer/track/TrackListInfo.java +0 -234
  235. package/android/src/main/java/com/theoplayer/util/ViewResolver.java +0 -42
  236. package/ios/custom/react-native-theoplayer_custom_ios.podspec +0 -36
@@ -0,0 +1,32 @@
1
+ import { NativeModules } from 'react-native';
2
+ export class THEOplayerNativeChromecast {
3
+ constructor(_player) {
4
+ this._player = _player;
5
+ }
6
+
7
+ casting() {
8
+ return NativeModules.CastModule.chromecastCasting(this._player.nativeHandle);
9
+ }
10
+
11
+ state() {
12
+ return NativeModules.CastModule.chromecastState(this._player.nativeHandle);
13
+ }
14
+
15
+ start() {
16
+ NativeModules.CastModule.chromecastStart(this._player.nativeHandle);
17
+ }
18
+
19
+ stop() {
20
+ NativeModules.CastModule.chromecastStop(this._player.nativeHandle);
21
+ }
22
+
23
+ join() {
24
+ NativeModules.CastModule.chromecastJoin(this._player.nativeHandle);
25
+ }
26
+
27
+ leave() {
28
+ NativeModules.CastModule.chromecastLeave(this._player.nativeHandle);
29
+ }
30
+
31
+ }
32
+ //# sourceMappingURL=THEOplayerNativeChromecast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","THEOplayerNativeChromecast","constructor","_player","casting","CastModule","chromecastCasting","nativeHandle","state","chromecastState","start","chromecastStart","stop","chromecastStop","join","chromecastJoin","leave","chromecastLeave"],"sources":["THEOplayerNativeChromecast.ts"],"sourcesContent":["import type { CastState, Chromecast, THEOplayerView } from 'react-native-theoplayer';\nimport { NativeModules } from 'react-native';\n\nexport class THEOplayerNativeChromecast implements Chromecast {\n public constructor(private readonly _player: THEOplayerView) {}\n\n casting(): Promise<boolean> {\n return NativeModules.CastModule.chromecastCasting(this._player.nativeHandle);\n }\n\n state(): Promise<CastState> {\n return NativeModules.CastModule.chromecastState(this._player.nativeHandle);\n }\n\n start(): void {\n NativeModules.CastModule.chromecastStart(this._player.nativeHandle);\n }\n\n stop(): void {\n NativeModules.CastModule.chromecastStop(this._player.nativeHandle);\n }\n\n join(): void {\n NativeModules.CastModule.chromecastJoin(this._player.nativeHandle);\n }\n\n leave(): void {\n NativeModules.CastModule.chromecastLeave(this._player.nativeHandle);\n }\n}\n"],"mappings":"AACA,SAASA,aAAT,QAA8B,cAA9B;AAEA,OAAO,MAAMC,0BAAN,CAAuD;EACrDC,WAAW,CAAkBC,OAAlB,EAA2C;IAAA,KAAzBA,OAAyB,GAAzBA,OAAyB;EAAE;;EAE/DC,OAAO,GAAqB;IAC1B,OAAOJ,aAAa,CAACK,UAAd,CAAyBC,iBAAzB,CAA2C,KAAKH,OAAL,CAAaI,YAAxD,CAAP;EACD;;EAEDC,KAAK,GAAuB;IAC1B,OAAOR,aAAa,CAACK,UAAd,CAAyBI,eAAzB,CAAyC,KAAKN,OAAL,CAAaI,YAAtD,CAAP;EACD;;EAEDG,KAAK,GAAS;IACZV,aAAa,CAACK,UAAd,CAAyBM,eAAzB,CAAyC,KAAKR,OAAL,CAAaI,YAAtD;EACD;;EAEDK,IAAI,GAAS;IACXZ,aAAa,CAACK,UAAd,CAAyBQ,cAAzB,CAAwC,KAAKV,OAAL,CAAaI,YAArD;EACD;;EAEDO,IAAI,GAAS;IACXd,aAAa,CAACK,UAAd,CAAyBU,cAAzB,CAAwC,KAAKZ,OAAL,CAAaI,YAArD;EACD;;EAEDS,KAAK,GAAS;IACZhB,aAAa,CAACK,UAAd,CAAyBY,eAAzB,CAAyC,KAAKd,OAAL,CAAaI,YAAtD;EACD;;AAzB2D"}
@@ -0,0 +1,22 @@
1
+ export class THEOplayerWebCastAPI {
2
+ // @ts-ignore
3
+ constructor(_player) {
4
+ this._player = _player;
5
+ }
6
+
7
+ casting() {
8
+ return Promise.resolve(false);
9
+ }
10
+
11
+ get chromecast() {
12
+ // TODO
13
+ return undefined;
14
+ }
15
+
16
+ get airplay() {
17
+ // TODO
18
+ return undefined;
19
+ }
20
+
21
+ }
22
+ //# sourceMappingURL=THEOplayerWebCastApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["THEOplayerWebCastAPI","constructor","_player","casting","Promise","resolve","chromecast","undefined","airplay"],"sources":["THEOplayerWebCastApi.ts"],"sourcesContent":["import type { Airplay, CastAPI, Chromecast } from 'react-native-theoplayer';\nimport type { THEOplayerView } from '../THEOplayerView.web';\n\nexport class THEOplayerWebCastAPI implements CastAPI {\n // @ts-ignore\n constructor(private readonly _player: THEOplayerView) {}\n\n casting(): Promise<boolean> {\n return Promise.resolve(false);\n }\n\n get chromecast(): Chromecast | undefined {\n // TODO\n return undefined;\n }\n\n get airplay(): Airplay | undefined {\n // TODO\n return undefined;\n }\n}\n"],"mappings":"AAGA,OAAO,MAAMA,oBAAN,CAA8C;EACnD;EACAC,WAAW,CAAkBC,OAAlB,EAA2C;IAAA,KAAzBA,OAAyB,GAAzBA,OAAyB;EAAE;;EAExDC,OAAO,GAAqB;IAC1B,OAAOC,OAAO,CAACC,OAAR,CAAgB,KAAhB,CAAP;EACD;;EAEa,IAAVC,UAAU,GAA2B;IACvC;IACA,OAAOC,SAAP;EACD;;EAEU,IAAPC,OAAO,GAAwB;IACjC;IACA,OAAOD,SAAP;EACD;;AAhBkD"}
@@ -0,0 +1,6 @@
1
+ import React from 'react'; // Provides a stub for react-native-google-cast on web.
2
+
3
+ export function CastButton(_props) {
4
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
5
+ }
6
+ //# sourceMappingURL=CastButtonStub.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","CastButton","_props"],"sources":["CastButtonStub.tsx"],"sourcesContent":["import type { ViewProps } from 'react-native';\nimport React from 'react';\n\n// Provides a stub for react-native-google-cast on web.\nexport function CastButton(_props: ViewProps): JSX.Element {\n return <></>;\n}\n"],"mappings":"AACA,OAAOA,KAAP,MAAkB,OAAlB,C,CAEA;;AACA,OAAO,SAASC,UAAT,CAAoBC,MAApB,EAAoD;EACzD,oBAAO,yCAAP;AACD"}
@@ -0,0 +1 @@
1
+ export const __esModule: boolean;
@@ -0,0 +1 @@
1
+ export const __esModule: boolean;
@@ -0,0 +1 @@
1
+ export const __esModule: boolean;
@@ -0,0 +1 @@
1
+ export const __esModule: boolean;
@@ -0,0 +1,2 @@
1
+ export const __esModule: boolean;
2
+ export const CastEventNames: string[];
@@ -0,0 +1 @@
1
+ export const __esModule: boolean;
@@ -6,11 +6,13 @@ export class THEOplayerView extends THEOplayerView_base {
6
6
  _root: any;
7
7
  state: any;
8
8
  _adsApi: _THEOplayerNativeAdsAPI.THEOplayerNativeAdsAPI;
9
+ _castApi: _THEOplayerNativeCastApi.THEOplayerNativeCastAPI;
9
10
  componentWillUnmount(): void;
10
11
  destroyTheoPlayer(): void;
11
12
  seek(time: any): void;
12
13
  get nativeHandle(): number | null;
13
14
  get ads(): _THEOplayerNativeAdsAPI.THEOplayerNativeAdsAPI;
15
+ get cast(): _THEOplayerNativeCastApi.THEOplayerNativeCastAPI;
14
16
  reset(): void;
15
17
  setNativeProps(nativeProps: any): void;
16
18
  maybeChangeBufferingState(isBuffering: any): void;
@@ -18,4 +20,5 @@ export class THEOplayerView extends THEOplayerView_base {
18
20
  render(): any;
19
21
  }
20
22
  import _THEOplayerNativeAdsAPI = require("./ads/THEOplayerNativeAdsAPI");
23
+ import _THEOplayerNativeCastApi = require("./cast/THEOplayerNativeCastApi");
21
24
  export {};
@@ -5,11 +5,13 @@ export class THEOplayerView extends THEOplayerView_base {
5
5
  constructor(props: any);
6
6
  state: any;
7
7
  _adsApi: _THEOplayerWebAdsAPI.THEOplayerWebAdsAPI;
8
+ _castApi: _THEOplayerWebCastApi.THEOplayerWebCastAPI;
8
9
  componentDidMount(): void;
9
10
  _player: any;
10
11
  componentWillUnmount(): void;
11
12
  seek(time: any): void;
12
13
  get ads(): _THEOplayerWebAdsAPI.THEOplayerWebAdsAPI;
14
+ get cast(): _THEOplayerWebCastApi.THEOplayerWebCastAPI;
13
15
  get nativePlayer(): any;
14
16
  reset(): void;
15
17
  componentDidUpdate(prevProps: any): void;
@@ -18,4 +20,5 @@ export class THEOplayerView extends THEOplayerView_base {
18
20
  render(): any;
19
21
  }
20
22
  import _THEOplayerWebAdsAPI = require("./ads/THEOplayerWebAdsAPI");
23
+ import _THEOplayerWebCastApi = require("./cast/THEOplayerWebCastApi");
21
24
  export {};
@@ -0,0 +1,9 @@
1
+ export const __esModule: boolean;
2
+ export class THEOplayerNativeAirplay {
3
+ constructor(_player: any);
4
+ _player: any;
5
+ casting(): any;
6
+ state(): any;
7
+ start(): void;
8
+ stop(): void;
9
+ }
@@ -0,0 +1,12 @@
1
+ export const __esModule: boolean;
2
+ export class THEOplayerNativeCastAPI {
3
+ constructor(_player: any);
4
+ _player: any;
5
+ _chromecast: _THEOplayerNativeChromecast.THEOplayerNativeChromecast;
6
+ _airplay: _THEOplayerNativeAirplay.THEOplayerNativeAirplay | undefined;
7
+ casting(): any;
8
+ get chromecast(): _THEOplayerNativeChromecast.THEOplayerNativeChromecast;
9
+ get airplay(): _THEOplayerNativeAirplay.THEOplayerNativeAirplay | undefined;
10
+ }
11
+ import _THEOplayerNativeChromecast = require("./THEOplayerNativeChromecast");
12
+ import _THEOplayerNativeAirplay = require("./THEOplayerNativeAirplay");
@@ -0,0 +1,11 @@
1
+ export const __esModule: boolean;
2
+ export class THEOplayerNativeChromecast {
3
+ constructor(_player: any);
4
+ _player: any;
5
+ casting(): any;
6
+ state(): any;
7
+ start(): void;
8
+ stop(): void;
9
+ join(): void;
10
+ leave(): void;
11
+ }
@@ -0,0 +1,8 @@
1
+ export const __esModule: boolean;
2
+ export class THEOplayerWebCastAPI {
3
+ constructor(_player: any);
4
+ _player: any;
5
+ casting(): Promise<boolean>;
6
+ get chromecast(): undefined;
7
+ get airplay(): undefined;
8
+ }
@@ -0,0 +1,2 @@
1
+ export const __esModule: boolean;
2
+ export function CastButton(_props: any): any;
@@ -1,5 +1,6 @@
1
1
  export * from "./abr/barrel";
2
2
  export * from "./ads/barrel";
3
+ export * from "./cast/barrel";
3
4
  export * from "./config/barrel";
4
5
  export * from "./error/barrel";
5
6
  export * from "./event/barrel";
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ export * from "./Airplay";
2
+ export * from "./CastAPI";
3
+ export * from "./Chromecast";
@@ -0,0 +1 @@
1
+ export const CastEventNames: string[];
@@ -1,3 +1,4 @@
1
+ export * from "./AdEvent";
2
+ export * from "./CastEvent";
1
3
  export * from "./PlayerEvent";
2
4
  export * from "./TrackEvent";
3
- export * from "./AdEvent";
@@ -2,4 +2,5 @@ export * from "./ads/barrel";
2
2
  export * from "./drm/barrel";
3
3
  export * from "./dash/barrel";
4
4
  export * from "./hls/barrel";
5
+ export * from "./metadata/barrel";
5
6
  export * from "./SourceDescription";
@@ -3,11 +3,13 @@ export class THEOplayerView extends React.PureComponent<any, any, any> {
3
3
  _root: React.RefObject<any>;
4
4
  state: any;
5
5
  _adsApi: THEOplayerNativeAdsAPI;
6
+ _castApi: THEOplayerNativeCastAPI;
6
7
  componentWillUnmount(): void;
7
8
  destroyTheoPlayer(): void;
8
9
  seek(time: any): void;
9
10
  get nativeHandle(): number | null;
10
11
  get ads(): THEOplayerNativeAdsAPI;
12
+ get cast(): THEOplayerNativeCastAPI;
11
13
  reset(): void;
12
14
  setNativeProps(nativeProps: any): void;
13
15
  maybeChangeBufferingState(isBuffering: any): void;
@@ -19,4 +21,5 @@ export class THEOplayerView extends React.PureComponent<any, any, any> {
19
21
  }
20
22
  import React from "react";
21
23
  import { THEOplayerNativeAdsAPI } from "./ads/THEOplayerNativeAdsAPI";
24
+ import { THEOplayerNativeCastAPI } from "./cast/THEOplayerNativeCastApi";
22
25
  import { View } from "react-native";
@@ -2,11 +2,13 @@ export class THEOplayerView extends React.PureComponent<any, any, any> {
2
2
  constructor(props: any);
3
3
  state: any;
4
4
  _adsApi: THEOplayerWebAdsAPI;
5
+ _castApi: THEOplayerWebCastAPI;
5
6
  componentDidMount(): void;
6
7
  _player: THEOplayer.ChromelessPlayer | THEOplayer.Player | undefined;
7
8
  componentWillUnmount(): void;
8
9
  seek(time: any): void;
9
10
  get ads(): THEOplayerWebAdsAPI;
11
+ get cast(): THEOplayerWebCastAPI;
10
12
  get nativePlayer(): THEOplayer.ChromelessPlayer | THEOplayer.Player | undefined;
11
13
  reset(): void;
12
14
  componentDidUpdate(prevProps: any): void;
@@ -18,4 +20,5 @@ export class THEOplayerView extends React.PureComponent<any, any, any> {
18
20
  }
19
21
  import React from "react";
20
22
  import { THEOplayerWebAdsAPI } from "./ads/THEOplayerWebAdsAPI";
23
+ import { THEOplayerWebCastAPI } from "./cast/THEOplayerWebCastApi";
21
24
  import * as THEOplayer from "theoplayer";
@@ -0,0 +1,8 @@
1
+ export class THEOplayerNativeAirplay {
2
+ constructor(_player: any);
3
+ _player: any;
4
+ casting(): any;
5
+ state(): any;
6
+ start(): void;
7
+ stop(): void;
8
+ }
@@ -0,0 +1,11 @@
1
+ export class THEOplayerNativeCastAPI {
2
+ constructor(_player: any);
3
+ _player: any;
4
+ _chromecast: THEOplayerNativeChromecast;
5
+ _airplay: THEOplayerNativeAirplay | undefined;
6
+ casting(): any;
7
+ get chromecast(): THEOplayerNativeChromecast;
8
+ get airplay(): THEOplayerNativeAirplay | undefined;
9
+ }
10
+ import { THEOplayerNativeChromecast } from "./THEOplayerNativeChromecast";
11
+ import { THEOplayerNativeAirplay } from "./THEOplayerNativeAirplay";
@@ -0,0 +1,10 @@
1
+ export class THEOplayerNativeChromecast {
2
+ constructor(_player: any);
3
+ _player: any;
4
+ casting(): any;
5
+ state(): any;
6
+ start(): void;
7
+ stop(): void;
8
+ join(): void;
9
+ leave(): void;
10
+ }
@@ -0,0 +1,7 @@
1
+ export class THEOplayerWebCastAPI {
2
+ constructor(_player: any);
3
+ _player: any;
4
+ casting(): Promise<boolean>;
5
+ get chromecast(): undefined;
6
+ get airplay(): undefined;
7
+ }
@@ -0,0 +1,2 @@
1
+ export function CastButton(_props: any): React.FunctionComponentElement<{}>;
2
+ import React from "react";
@@ -6,6 +6,8 @@ import type { PlayerConfiguration } from './config/PlayerConfiguration';
6
6
  import type { ABRConfiguration } from './abr/ABRConfiguration';
7
7
  import type { AdEvent } from './event/AdEvent';
8
8
  import type { AdsAPI } from './ads/AdsAPI';
9
+ import type { CastAPI } from './cast/CastAPI';
10
+ import type { CastEvent } from './event/CastEvent';
9
11
  export interface THEOplayerViewProps {
10
12
  /**
11
13
  * The player configuration with THEOplayer license.
@@ -192,6 +194,10 @@ export interface THEOplayerViewProps {
192
194
  * Invoked when an ad event occurs.
193
195
  */
194
196
  onAdEvent?: (event: AdEvent) => void;
197
+ /**
198
+ * Invoked when a cast event occurs, either for Chromecast or Airplay.
199
+ */
200
+ onCastEvent?: (event: CastEvent) => void;
195
201
  }
196
202
  export interface THEOplayerViewComponent {
197
203
  /**
@@ -204,4 +210,8 @@ export interface THEOplayerViewComponent {
204
210
  * The API for advertisements.
205
211
  */
206
212
  ads: AdsAPI;
213
+ /**
214
+ * The API for casting devices.
215
+ */
216
+ cast: CastAPI;
207
217
  }
@@ -1,5 +1,6 @@
1
1
  export * from './abr/barrel';
2
2
  export * from './ads/barrel';
3
+ export * from './cast/barrel';
3
4
  export * from './config/barrel';
4
5
  export * from './error/barrel';
5
6
  export * from './event/barrel';
@@ -0,0 +1,27 @@
1
+ /**
2
+ * The Airplay API.
3
+ *
4
+ * @public
5
+ */
6
+ import type { CastState } from "./CastState";
7
+ export interface Airplay {
8
+ /**
9
+ * Whether the player is connected with an airplay device.
10
+ */
11
+ casting(): Promise<boolean>;
12
+ /**
13
+ * The state of the casting process.
14
+ */
15
+ state(): Promise<CastState>;
16
+ /**
17
+ * Start a casting session with the player's source.
18
+ *
19
+ * @remarks
20
+ * <br/> - A native browser pop-up will prompt to choose an airplay device.
21
+ */
22
+ start(): void;
23
+ /**
24
+ * Stop the active casting session.
25
+ */
26
+ stop(): void;
27
+ }
@@ -0,0 +1,25 @@
1
+ import type { Airplay } from "./Airplay";
2
+ import type { Chromecast } from "./Chromecast";
3
+ /**
4
+ * The API for casting.
5
+ */
6
+ export interface CastAPI {
7
+ /**
8
+ * Whether the player is connected with a casting device.
9
+ */
10
+ casting(): Promise<boolean>;
11
+ /**
12
+ * The Chromecast API.
13
+ *
14
+ * @remarks
15
+ * <br/> - Only available when the feature or extension `'chromecast'` is enabled.
16
+ */
17
+ readonly chromecast?: Chromecast;
18
+ /**
19
+ * The Airplay API.
20
+ *
21
+ * @remarks
22
+ * <br/> - Only available when the feature or extension `'airplay'` is enabled.
23
+ */
24
+ readonly airplay?: Airplay;
25
+ }
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Describes the configuration of the Cast integrations.
3
+ *
4
+ * @public
5
+ */
6
+ export interface CastConfiguration {
7
+ /**
8
+ * The Chromecast configuration.
9
+ *
10
+ * @defaultValue A {@link ChromecastConfiguration} with default values.
11
+ */
12
+ chromecast?: ChromecastConfiguration;
13
+ /**
14
+ * The join strategy of the player.
15
+ *
16
+ * @defaultValue `'manual'`
17
+ */
18
+ strategy?: JoinStrategy;
19
+ }
20
+ /**
21
+ * The join strategy, represented by a value from the following list:
22
+ * <br/> - `'auto'` : The player will automatically join a cast session if one exists when play is called. Otherwise it will prompt the user with all available devices.
23
+ * <br/> - `'manual'` : The player will take over an existing session if there is one and the cast button is clicked. Otherwise it will prompt the user with all available devices.
24
+ * <br/> - `'disabled'` : The player is not affected by cast sessions and is not castable.
25
+ *
26
+ * @public
27
+ */
28
+ export declare type JoinStrategy = 'auto' | 'manual' | 'disabled';
29
+ /**
30
+ * Describes the configuration of the Chromecast integration.
31
+ *
32
+ * @public
33
+ */
34
+ export interface ChromecastConfiguration {
35
+ /**
36
+ * The identifier of a custom Chromecast receiver app.
37
+ *
38
+ * @defaultValue The default THEOplayer receiver app.
39
+ */
40
+ appID?: string;
41
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * The state of a casting process, represented by a value from the following list:
3
+ * <br/> - `'unavailable'`: No available cast devices.
4
+ * <br/> - `'available'`: Cast device available, but the player is not connected.
5
+ * <br/> - `'connecting'`: Cast device available and the player is connecting.
6
+ * <br/> - `'connected'`: Cast device available and the player is connected.
7
+ *
8
+ * @public
9
+ */
10
+ export declare type CastState = 'unavailable' | 'available' | 'connecting' | 'connected';
@@ -0,0 +1,39 @@
1
+ /**
2
+ * The Airplay API.
3
+ *
4
+ * @public
5
+ */
6
+ import type { CastState } from "./CastState";
7
+ export interface Chromecast {
8
+ /**
9
+ * Whether the player is connected with a chromecast device.
10
+ */
11
+ casting(): Promise<boolean>;
12
+ /**
13
+ * The state of the casting process.
14
+ */
15
+ state(): Promise<CastState>;
16
+ /**
17
+ * Start a casting session with the player's source.
18
+ *
19
+ * @remarks
20
+ * <br/> - A native browser pop-up will prompt to choose a chromecast device.
21
+ */
22
+ start(): void;
23
+ /**
24
+ * Stop the active casting session.
25
+ */
26
+ stop(): void;
27
+ /**
28
+ * Join an active casting session.
29
+ */
30
+ join(): void;
31
+ /**
32
+ * Leave the active casting session.
33
+ *
34
+ * @remarks
35
+ * <br/> - Does not stop the session when other devices are connected.
36
+ * <br/> - Use {@link stop} to fully stop the session.
37
+ */
38
+ leave(): void;
39
+ }
@@ -0,0 +1,5 @@
1
+ export * from './Airplay';
2
+ export * from './CastAPI';
3
+ export * from './CastConfiguration';
4
+ export * from './CastState';
5
+ export * from './Chromecast';
@@ -1,9 +1,14 @@
1
- import type { AdsConfiguration } from "../ads/AdsConfiguration";
1
+ import type { AdsConfiguration } from '../ads/AdsConfiguration';
2
+ import type { CastConfiguration } from '../cast/CastConfiguration';
2
3
  export interface PlayerConfiguration {
3
4
  /**
4
5
  * The ads configuration for the player.
5
6
  */
6
7
  ads?: AdsConfiguration;
8
+ /**
9
+ * The cast configuration for the player.
10
+ */
11
+ cast?: CastConfiguration;
7
12
  /**
8
13
  * The license for the player
9
14
  */
@@ -0,0 +1,34 @@
1
+ /**
2
+ * The chromecast error code, represented by a value from the following list:
3
+ * <br/> - `'CANCEL'`: The operation was canceled by the user.
4
+ * <br/> - `'TIMEOUT'`: The operation timed out.
5
+ * <br/> - `'API_NOT_INITIALIZED'`: The API is not initialized.
6
+ * <br/> - `'INVALID_PARAMETER'`: The parameters to the operation were not valid.
7
+ * <br/> - `'EXTENSION_NOT_COMPATIBLE'`: The API script is not compatible with the installed Cast extension.
8
+ * <br/> - `'EXTENSION_MISSING'`: The Cast extension is not available.
9
+ * <br/> - `'RECEIVER_UNAVAILABLE'`: No receiver was compatible with the session request.
10
+ * <br/> - `'SESSION_ERROR'`: A session could not be created, or a session was invalid.
11
+ * <br/> - `'CHANNEL_ERROR'`: A channel to the receiver is not available.
12
+ * <br/> - `'LOAD_MEDIA_FAILED'`: Load media failed.
13
+ *
14
+ * @remarks
15
+ * <br/> - The error codes correspond to the error codes documented in the {@link https://developers.google.com/cast/docs/reference/chrome/chrome.cast.html#.ErrorCode | Chromecast API reference}.
16
+ *
17
+ * @public
18
+ */
19
+ export declare type ChromecastErrorCode = 'CANCEL' | 'TIMEOUT' | 'API_NOT_INITIALIZED' | 'INVALID_PARAMETER' | 'EXTENSION_NOT_COMPATIBLE' | 'EXTENSION_MISSING' | 'RECEIVER_UNAVAILABLE' | 'SESSION_ERROR' | 'CHANNEL_ERROR' | 'LOAD_MEDIA_FAILED';
20
+ /**
21
+ * An error that occurred while casting or attempting to cast to Chromecast.
22
+ *
23
+ * @public
24
+ */
25
+ export interface ChromecastError {
26
+ /**
27
+ * The error code of the error.
28
+ */
29
+ errorCode: ChromecastErrorCode;
30
+ /**
31
+ * The human-readable description of the error.
32
+ */
33
+ description: string;
34
+ }
@@ -1 +1,2 @@
1
1
  export * from './PlayerError';
2
+ export * from './ChromecastError';
@@ -0,0 +1,21 @@
1
+ import type { CastState, ChromecastError } from 'react-native-theoplayer';
2
+ export declare const CastEventNames: readonly ["chromecaststatechange", "airplaystatechange", "chromecasterror"];
3
+ export declare type CastEventType = typeof CastEventNames[number];
4
+ export interface CastEvent {
5
+ /**
6
+ * Type of ad event.
7
+ */
8
+ readonly type: CastEventType;
9
+ }
10
+ export interface ChromecastChangeEvent extends CastEvent {
11
+ readonly type: 'chromecaststatechange';
12
+ readonly state: CastState;
13
+ }
14
+ export interface AirplayStateChangeEvent extends CastEvent {
15
+ readonly type: 'airplaystatechange';
16
+ readonly state: CastState;
17
+ }
18
+ export interface ChromecastErrorEvent extends CastEvent {
19
+ readonly type: 'chromecasterror';
20
+ readonly error: ChromecastError;
21
+ }
@@ -1,3 +1,4 @@
1
+ export * from './AdEvent';
2
+ export * from './CastEvent';
1
3
  export * from './PlayerEvent';
2
4
  export * from './TrackEvent';
3
- export * from './AdEvent';