bitmovin-player-react-native 0.44.1-alpha.0 → 1.0.0-alpha.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 (497) hide show
  1. package/.eslintignore +11 -0
  2. package/.eslintrc.js +7 -0
  3. package/.gitattributes +3 -0
  4. package/.prettierignore +11 -0
  5. package/.ruby-version +1 -0
  6. package/.swiftlint.yml +171 -0
  7. package/Brewfile +2 -0
  8. package/CHANGELOG.md +627 -0
  9. package/CONTRIBUTING.md +255 -0
  10. package/TODO.md +0 -0
  11. package/android/.editorconfig +8 -0
  12. package/android/build.gradle +78 -75
  13. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  14. package/android/gradle/wrapper/gradle-wrapper.properties +7 -0
  15. package/android/gradle.properties +1 -0
  16. package/android/gradlew +248 -0
  17. package/android/gradlew.bat +92 -0
  18. package/android/ktlint.gradle +31 -0
  19. package/android/src/main/java/com/bitmovin/player/reactnative/ActivityLifecycleListener.kt +51 -0
  20. package/android/src/main/java/com/bitmovin/player/reactnative/BitmovinCastManagerModule.kt +32 -55
  21. package/android/src/main/java/com/bitmovin/player/reactnative/BufferModule.kt +33 -45
  22. package/android/src/main/java/com/bitmovin/player/reactnative/CustomMessageHandlerModule.kt +84 -0
  23. package/android/src/main/java/com/bitmovin/player/reactnative/DebugModule.kt +6 -14
  24. package/android/src/main/java/com/bitmovin/player/reactnative/DecoderConfigModule.kt +89 -44
  25. package/android/src/main/java/com/bitmovin/player/reactnative/DrmModule.kt +80 -99
  26. package/android/src/main/java/com/bitmovin/player/reactnative/EventSubscription.kt +22 -0
  27. package/android/src/main/java/com/bitmovin/player/reactnative/FullscreenHandlerModule.kt +100 -0
  28. package/android/src/main/java/com/bitmovin/player/reactnative/MediaSessionPlaybackManager.kt +5 -5
  29. package/android/src/main/java/com/bitmovin/player/reactnative/NetworkModule.kt +98 -56
  30. package/android/src/main/java/com/bitmovin/player/reactnative/OfflineModule.kt +132 -186
  31. package/android/src/main/java/com/bitmovin/player/reactnative/PlayerAnalyticsModule.kt +37 -36
  32. package/android/src/main/java/com/bitmovin/player/reactnative/PlayerModule.kt +252 -528
  33. package/android/src/main/java/com/bitmovin/player/reactnative/RNPlayerPackage.kt +11 -0
  34. package/android/src/main/java/com/bitmovin/player/reactnative/RNPlayerView.kt +558 -213
  35. package/android/src/main/java/com/bitmovin/player/reactnative/RNPlayerViewManager.kt +99 -286
  36. package/android/src/main/java/com/bitmovin/player/reactnative/ResultWaiter.kt +58 -0
  37. package/android/src/main/java/com/bitmovin/player/reactnative/SourceModule.kt +77 -151
  38. package/android/src/main/java/com/bitmovin/player/reactnative/Types.kt +44 -0
  39. package/android/src/main/java/com/bitmovin/player/reactnative/UuidModule.kt +12 -15
  40. package/android/src/main/java/com/bitmovin/player/reactnative/converter/JsonConverter.kt +296 -456
  41. package/android/src/main/java/com/bitmovin/player/reactnative/extensions/ListExtension.kt +89 -0
  42. package/android/src/main/java/com/bitmovin/player/reactnative/extensions/MapExtension.kt +95 -0
  43. package/android/src/main/java/com/bitmovin/player/reactnative/offline/OfflineContentManagerBridge.kt +20 -52
  44. package/android/src/main/java/com/bitmovin/player/reactnative/ui/CustomMessageHandlerBridge.kt +10 -20
  45. package/android/src/main/java/com/bitmovin/player/reactnative/ui/FullscreenHandlerBridge.kt +4 -9
  46. package/app.plugin.js +21 -0
  47. package/build/BitmovinPlayerReactNative.types.d.ts +18 -0
  48. package/build/BitmovinPlayerReactNative.types.d.ts.map +1 -0
  49. package/build/BitmovinPlayerReactNative.types.js +2 -0
  50. package/build/BitmovinPlayerReactNative.types.js.map +1 -0
  51. package/build/adaptationConfig.d.ts +18 -0
  52. package/build/adaptationConfig.d.ts.map +1 -0
  53. package/build/adaptationConfig.js +2 -0
  54. package/build/adaptationConfig.js.map +1 -0
  55. package/build/advertising.d.ts +175 -0
  56. package/build/advertising.d.ts.map +1 -0
  57. package/build/advertising.js +37 -0
  58. package/build/advertising.js.map +1 -0
  59. package/build/analytics/config.d.ts +194 -0
  60. package/build/analytics/config.d.ts.map +1 -0
  61. package/build/analytics/config.js +2 -0
  62. package/build/analytics/config.js.map +1 -0
  63. package/build/analytics/index.d.ts +3 -0
  64. package/build/analytics/index.d.ts.map +1 -0
  65. package/build/analytics/index.js +3 -0
  66. package/build/analytics/index.js.map +1 -0
  67. package/build/analytics/player.d.ts +24 -0
  68. package/build/analytics/player.d.ts.map +1 -0
  69. package/build/analytics/player.js +30 -0
  70. package/build/analytics/player.js.map +1 -0
  71. package/build/analytics/playerAnalyticsModule.d.ts +13 -0
  72. package/build/analytics/playerAnalyticsModule.d.ts.map +1 -0
  73. package/build/analytics/playerAnalyticsModule.js +3 -0
  74. package/build/analytics/playerAnalyticsModule.js.map +1 -0
  75. package/build/audioSession.d.ts +33 -0
  76. package/build/audioSession.d.ts.map +1 -0
  77. package/build/audioSession.js +21 -0
  78. package/build/audioSession.js.map +1 -0
  79. package/build/audioTrack.d.ts +39 -0
  80. package/build/audioTrack.d.ts.map +1 -0
  81. package/build/audioTrack.js +2 -0
  82. package/build/audioTrack.js.map +1 -0
  83. package/build/bitmovinCastManager.d.ts +58 -0
  84. package/build/bitmovinCastManager.d.ts.map +1 -0
  85. package/build/bitmovinCastManager.js +64 -0
  86. package/build/bitmovinCastManager.js.map +1 -0
  87. package/build/bufferApi.d.ts +85 -0
  88. package/build/bufferApi.d.ts.map +1 -0
  89. package/build/bufferApi.js +60 -0
  90. package/build/bufferApi.js.map +1 -0
  91. package/build/bufferConfig.d.ts +42 -0
  92. package/build/bufferConfig.d.ts.map +1 -0
  93. package/build/bufferConfig.js +2 -0
  94. package/build/bufferConfig.js.map +1 -0
  95. package/build/components/PlayerView/events.d.ts +310 -0
  96. package/build/components/PlayerView/events.d.ts.map +1 -0
  97. package/build/components/PlayerView/events.js +2 -0
  98. package/build/components/PlayerView/events.js.map +1 -0
  99. package/build/components/PlayerView/index.d.ts +10 -0
  100. package/build/components/PlayerView/index.d.ts.map +1 -0
  101. package/build/components/PlayerView/index.js +72 -0
  102. package/build/components/PlayerView/index.js.map +1 -0
  103. package/build/components/PlayerView/native.d.ts +30 -0
  104. package/build/components/PlayerView/native.d.ts.map +1 -0
  105. package/build/components/PlayerView/native.js +6 -0
  106. package/build/components/PlayerView/native.js.map +1 -0
  107. package/build/components/PlayerView/nativeEvents.d.ts +437 -0
  108. package/build/components/PlayerView/nativeEvents.d.ts.map +1 -0
  109. package/build/components/PlayerView/nativeEvents.js +2 -0
  110. package/build/components/PlayerView/nativeEvents.js.map +1 -0
  111. package/build/components/PlayerView/pictureInPictureConfig.d.ts +22 -0
  112. package/build/components/PlayerView/pictureInPictureConfig.d.ts.map +1 -0
  113. package/build/components/PlayerView/pictureInPictureConfig.js +2 -0
  114. package/build/components/PlayerView/pictureInPictureConfig.js.map +1 -0
  115. package/build/components/PlayerView/playerViewConfig.d.ts +111 -0
  116. package/build/components/PlayerView/playerViewConfig.d.ts.map +1 -0
  117. package/build/components/PlayerView/playerViewConfig.js +51 -0
  118. package/build/components/PlayerView/playerViewConfig.js.map +1 -0
  119. package/build/components/PlayerView/properties.d.ts +61 -0
  120. package/build/components/PlayerView/properties.d.ts.map +1 -0
  121. package/build/components/PlayerView/properties.js +2 -0
  122. package/build/components/PlayerView/properties.js.map +1 -0
  123. package/build/components/index.d.ts +5 -0
  124. package/build/components/index.d.ts.map +1 -0
  125. package/build/components/index.js +5 -0
  126. package/build/components/index.js.map +1 -0
  127. package/build/debug.d.ts +46 -0
  128. package/build/debug.d.ts.map +1 -0
  129. package/build/debug.js +52 -0
  130. package/build/debug.js.map +1 -0
  131. package/build/decoder/decoderConfig.d.ts +96 -0
  132. package/build/decoder/decoderConfig.d.ts.map +1 -0
  133. package/build/decoder/decoderConfig.js +6 -0
  134. package/build/decoder/decoderConfig.js.map +1 -0
  135. package/build/decoder/decoderConfigModule.d.ts +14 -0
  136. package/build/decoder/decoderConfigModule.d.ts.map +1 -0
  137. package/build/decoder/decoderConfigModule.js +31 -0
  138. package/build/decoder/decoderConfigModule.js.map +1 -0
  139. package/build/decoder/index.d.ts +26 -0
  140. package/build/decoder/index.d.ts.map +1 -0
  141. package/build/decoder/index.js +50 -0
  142. package/build/decoder/index.js.map +1 -0
  143. package/build/drm/drmModule.d.ts +55 -0
  144. package/build/drm/drmModule.d.ts.map +1 -0
  145. package/build/drm/drmModule.js +3 -0
  146. package/build/drm/drmModule.js.map +1 -0
  147. package/build/drm/fairplayConfig.d.ts +91 -0
  148. package/build/drm/fairplayConfig.d.ts.map +1 -0
  149. package/build/drm/fairplayConfig.js +2 -0
  150. package/build/drm/fairplayConfig.js.map +1 -0
  151. package/build/drm/index.d.ts +112 -0
  152. package/build/drm/index.d.ts.map +1 -0
  153. package/build/drm/index.js +191 -0
  154. package/build/drm/index.js.map +1 -0
  155. package/build/drm/widevineConfig.d.ts +58 -0
  156. package/build/drm/widevineConfig.d.ts.map +1 -0
  157. package/build/drm/widevineConfig.js +2 -0
  158. package/build/drm/widevineConfig.js.map +1 -0
  159. package/build/events.d.ts +692 -0
  160. package/build/events.d.ts.map +1 -0
  161. package/build/events.js +2 -0
  162. package/build/events.js.map +1 -0
  163. package/build/hooks/index.d.ts +2 -0
  164. package/build/hooks/index.d.ts.map +1 -0
  165. package/build/hooks/index.js +2 -0
  166. package/build/hooks/index.js.map +1 -0
  167. package/build/hooks/usePlayer.d.ts +8 -0
  168. package/build/hooks/usePlayer.d.ts.map +1 -0
  169. package/build/hooks/usePlayer.js +10 -0
  170. package/build/hooks/usePlayer.js.map +1 -0
  171. package/build/hooks/useProxy.d.ts +18 -0
  172. package/build/hooks/useProxy.d.ts.map +1 -0
  173. package/build/hooks/useProxy.js +16 -0
  174. package/build/hooks/useProxy.js.map +1 -0
  175. package/build/index.d.ts +32 -0
  176. package/build/index.d.ts.map +1 -0
  177. package/build/index.js +32 -0
  178. package/build/index.js.map +1 -0
  179. package/build/liveConfig.d.ts +13 -0
  180. package/build/liveConfig.d.ts.map +1 -0
  181. package/build/liveConfig.js +2 -0
  182. package/build/liveConfig.js.map +1 -0
  183. package/build/media.d.ts +85 -0
  184. package/build/media.d.ts.map +1 -0
  185. package/build/media.js +2 -0
  186. package/build/media.js.map +1 -0
  187. package/build/mediaControlConfig.d.ts +62 -0
  188. package/build/mediaControlConfig.d.ts.map +1 -0
  189. package/build/mediaControlConfig.js +2 -0
  190. package/build/mediaControlConfig.js.map +1 -0
  191. package/build/mediaTrackRole.d.ts +28 -0
  192. package/build/mediaTrackRole.d.ts.map +1 -0
  193. package/build/mediaTrackRole.js +2 -0
  194. package/build/mediaTrackRole.js.map +1 -0
  195. package/build/modules/AudioSessionModule.d.ts +8 -0
  196. package/build/modules/AudioSessionModule.d.ts.map +1 -0
  197. package/build/modules/AudioSessionModule.js +7 -0
  198. package/build/modules/AudioSessionModule.js.map +1 -0
  199. package/build/modules/BitmovinCastManagerModule.d.ts +11 -0
  200. package/build/modules/BitmovinCastManagerModule.d.ts.map +1 -0
  201. package/build/modules/BitmovinCastManagerModule.js +3 -0
  202. package/build/modules/BitmovinCastManagerModule.js.map +1 -0
  203. package/build/modules/BufferModule.d.ts +16 -0
  204. package/build/modules/BufferModule.d.ts.map +1 -0
  205. package/build/modules/BufferModule.js +3 -0
  206. package/build/modules/BufferModule.js.map +1 -0
  207. package/build/modules/DebugModule.d.ts +8 -0
  208. package/build/modules/DebugModule.d.ts.map +1 -0
  209. package/build/modules/DebugModule.js +3 -0
  210. package/build/modules/DebugModule.js.map +1 -0
  211. package/build/modules/PlayerModule.d.ts +188 -0
  212. package/build/modules/PlayerModule.d.ts.map +1 -0
  213. package/build/modules/PlayerModule.js +3 -0
  214. package/build/modules/PlayerModule.js.map +1 -0
  215. package/build/modules/SourceModule.d.ts +51 -0
  216. package/build/modules/SourceModule.d.ts.map +1 -0
  217. package/build/modules/SourceModule.js +3 -0
  218. package/build/modules/SourceModule.js.map +1 -0
  219. package/build/modules/UuidModule.d.ts +8 -0
  220. package/build/modules/UuidModule.d.ts.map +1 -0
  221. package/build/modules/UuidModule.js +3 -0
  222. package/build/modules/UuidModule.js.map +1 -0
  223. package/build/nativeInstance.d.ts +49 -0
  224. package/build/nativeInstance.d.ts.map +1 -0
  225. package/build/nativeInstance.js +20 -0
  226. package/build/nativeInstance.js.map +1 -0
  227. package/build/network/index.d.ts +50 -0
  228. package/build/network/index.d.ts.map +1 -0
  229. package/build/network/index.js +102 -0
  230. package/build/network/index.js.map +1 -0
  231. package/build/network/networkConfig.d.ts +151 -0
  232. package/build/network/networkConfig.d.ts.map +1 -0
  233. package/build/network/networkConfig.js +21 -0
  234. package/build/network/networkConfig.js.map +1 -0
  235. package/build/network/networkModule.d.ts +29 -0
  236. package/build/network/networkModule.d.ts.map +1 -0
  237. package/build/network/networkModule.js +3 -0
  238. package/build/network/networkModule.js.map +1 -0
  239. package/build/offline/index.d.ts +8 -0
  240. package/build/offline/index.d.ts.map +1 -0
  241. package/build/offline/index.js +8 -0
  242. package/build/offline/index.js.map +1 -0
  243. package/build/offline/offlineContentConfig.d.ts +18 -0
  244. package/build/offline/offlineContentConfig.d.ts.map +1 -0
  245. package/build/offline/offlineContentConfig.js +2 -0
  246. package/build/offline/offlineContentConfig.js.map +1 -0
  247. package/build/offline/offlineContentManager.d.ts +90 -0
  248. package/build/offline/offlineContentManager.d.ts.map +1 -0
  249. package/build/offline/offlineContentManager.js +177 -0
  250. package/build/offline/offlineContentManager.js.map +1 -0
  251. package/build/offline/offlineContentManagerListener.d.ts +174 -0
  252. package/build/offline/offlineContentManagerListener.d.ts.map +1 -0
  253. package/build/offline/offlineContentManagerListener.js +17 -0
  254. package/build/offline/offlineContentManagerListener.js.map +1 -0
  255. package/build/offline/offlineContentOptions.d.ts +29 -0
  256. package/build/offline/offlineContentOptions.d.ts.map +1 -0
  257. package/build/offline/offlineContentOptions.js +2 -0
  258. package/build/offline/offlineContentOptions.js.map +1 -0
  259. package/build/offline/offlineDownloadRequest.d.ts +19 -0
  260. package/build/offline/offlineDownloadRequest.d.ts.map +1 -0
  261. package/build/offline/offlineDownloadRequest.js +2 -0
  262. package/build/offline/offlineDownloadRequest.js.map +1 -0
  263. package/build/offline/offlineModule.d.ts +32 -0
  264. package/build/offline/offlineModule.d.ts.map +1 -0
  265. package/build/offline/offlineModule.js +3 -0
  266. package/build/offline/offlineModule.js.map +1 -0
  267. package/build/offline/offlineSourceOptions.d.ts +12 -0
  268. package/build/offline/offlineSourceOptions.d.ts.map +1 -0
  269. package/build/offline/offlineSourceOptions.js +2 -0
  270. package/build/offline/offlineSourceOptions.js.map +1 -0
  271. package/build/offline/offlineState.d.ts +23 -0
  272. package/build/offline/offlineState.d.ts.map +1 -0
  273. package/build/offline/offlineState.js +24 -0
  274. package/build/offline/offlineState.js.map +1 -0
  275. package/build/playbackConfig.d.ts +88 -0
  276. package/build/playbackConfig.d.ts.map +1 -0
  277. package/build/playbackConfig.js +2 -0
  278. package/build/playbackConfig.js.map +1 -0
  279. package/build/player.d.ts +308 -0
  280. package/build/player.d.ts.map +1 -0
  281. package/build/player.js +445 -0
  282. package/build/player.js.map +1 -0
  283. package/build/playerConfig.d.ts +83 -0
  284. package/build/playerConfig.d.ts.map +1 -0
  285. package/build/playerConfig.js +2 -0
  286. package/build/playerConfig.js.map +1 -0
  287. package/build/remoteControlConfig.d.ts +38 -0
  288. package/build/remoteControlConfig.d.ts.map +1 -0
  289. package/build/remoteControlConfig.js +2 -0
  290. package/build/remoteControlConfig.js.map +1 -0
  291. package/build/source.d.ts +216 -0
  292. package/build/source.d.ts.map +1 -0
  293. package/build/source.js +167 -0
  294. package/build/source.js.map +1 -0
  295. package/build/styleConfig.d.ts +120 -0
  296. package/build/styleConfig.d.ts.map +1 -0
  297. package/build/styleConfig.js +38 -0
  298. package/build/styleConfig.js.map +1 -0
  299. package/build/subtitleFormat.d.ts +27 -0
  300. package/build/subtitleFormat.d.ts.map +1 -0
  301. package/build/subtitleFormat.js +28 -0
  302. package/build/subtitleFormat.js.map +1 -0
  303. package/build/subtitleTrack.d.ts +55 -0
  304. package/build/subtitleTrack.d.ts.map +1 -0
  305. package/build/subtitleTrack.js +2 -0
  306. package/build/subtitleTrack.js.map +1 -0
  307. package/build/thumbnail.d.ts +38 -0
  308. package/build/thumbnail.d.ts.map +1 -0
  309. package/build/thumbnail.js +2 -0
  310. package/build/thumbnail.js.map +1 -0
  311. package/build/tweaksConfig.d.ts +197 -0
  312. package/build/tweaksConfig.d.ts.map +1 -0
  313. package/build/tweaksConfig.js +25 -0
  314. package/build/tweaksConfig.js.map +1 -0
  315. package/build/ui/customMessageHandlerModule.d.ts +27 -0
  316. package/build/ui/customMessageHandlerModule.d.ts.map +1 -0
  317. package/build/ui/customMessageHandlerModule.js +3 -0
  318. package/build/ui/customMessageHandlerModule.js.map +1 -0
  319. package/build/ui/custommessagehandler.d.ts +56 -0
  320. package/build/ui/custommessagehandler.d.ts.map +1 -0
  321. package/build/ui/custommessagehandler.js +54 -0
  322. package/build/ui/custommessagehandler.js.map +1 -0
  323. package/build/ui/custommessagehandlerbridge.d.ts +33 -0
  324. package/build/ui/custommessagehandlerbridge.d.ts.map +1 -0
  325. package/build/ui/custommessagehandlerbridge.js +72 -0
  326. package/build/ui/custommessagehandlerbridge.js.map +1 -0
  327. package/build/ui/custommessagesender.d.ts +5 -0
  328. package/build/ui/custommessagesender.d.ts.map +1 -0
  329. package/build/ui/custommessagesender.js +2 -0
  330. package/build/ui/custommessagesender.js.map +1 -0
  331. package/build/ui/fullscreenHandlerModule.d.ts +20 -0
  332. package/build/ui/fullscreenHandlerModule.d.ts.map +1 -0
  333. package/build/ui/fullscreenHandlerModule.js +3 -0
  334. package/build/ui/fullscreenHandlerModule.js.map +1 -0
  335. package/build/ui/fullscreenhandler.d.ts +18 -0
  336. package/build/ui/fullscreenhandler.d.ts.map +1 -0
  337. package/build/ui/fullscreenhandler.js +2 -0
  338. package/build/ui/fullscreenhandler.js.map +1 -0
  339. package/build/ui/fullscreenhandlerbridge.d.ts +26 -0
  340. package/build/ui/fullscreenhandlerbridge.d.ts.map +1 -0
  341. package/build/ui/fullscreenhandlerbridge.js +67 -0
  342. package/build/ui/fullscreenhandlerbridge.js.map +1 -0
  343. package/build/ui/index.d.ts +3 -0
  344. package/build/ui/index.d.ts.map +1 -0
  345. package/build/ui/index.js +3 -0
  346. package/build/ui/index.js.map +1 -0
  347. package/expo-module.config.json +40 -0
  348. package/ios/AppLifecycleDelegate.swift +25 -0
  349. package/ios/AudioSessionModule.swift +14 -40
  350. package/ios/BitmovinCastManagerModule.swift +30 -69
  351. package/ios/BufferModule.swift +26 -62
  352. package/ios/CustomMessageHandlerBridge.swift +11 -18
  353. package/ios/CustomMessageHandlerModule.swift +61 -63
  354. package/ios/DebugModule.swift +6 -27
  355. package/ios/DrmModule.swift +105 -379
  356. package/ios/Event+JSON.swift +1 -0
  357. package/ios/FullscreenHandlerBridge.swift +12 -5
  358. package/ios/FullscreenHandlerModule.swift +73 -57
  359. package/ios/LockedBox.swift +21 -0
  360. package/ios/ModuleRegistry+Generics.swift +11 -0
  361. package/ios/NetworkModule.swift +78 -82
  362. package/ios/OfflineContentManagerBridge.swift +11 -38
  363. package/ios/OfflineModule.swift +136 -454
  364. package/ios/PlayerAnalyticsModule.swift +24 -52
  365. package/ios/PlayerModule.swift +192 -770
  366. package/ios/RCTConvert+BitmovinPlayer.swift +38 -312
  367. package/ios/RNBitmovinPlayer.h +1 -8
  368. package/ios/RNBitmovinPlayer.podspec +47 -0
  369. package/ios/RNPlayerView.swift +600 -77
  370. package/ios/RNPlayerViewManager.swift +96 -210
  371. package/ios/Registry.swift +2 -2
  372. package/ios/ResultWaiter.swift +66 -0
  373. package/ios/SourceModule.swift +104 -223
  374. package/ios/UuidModule.swift +9 -18
  375. package/package.json +67 -71
  376. package/plugin/build/FeatureFlags.d.ts +24 -0
  377. package/plugin/build/FeatureFlags.js +2 -0
  378. package/plugin/build/index.d.ts +7 -0
  379. package/plugin/build/index.js +10 -0
  380. package/plugin/build/withAppGradleDependencies.d.ts +7 -0
  381. package/plugin/build/withAppGradleDependencies.js +49 -0
  382. package/plugin/build/withBitmovinAndroidConfig.d.ts +7 -0
  383. package/plugin/build/withBitmovinAndroidConfig.js +159 -0
  384. package/plugin/build/withBitmovinConfig.d.ts +7 -0
  385. package/plugin/build/withBitmovinConfig.js +21 -0
  386. package/plugin/build/withBitmovinIosConfig.d.ts +7 -0
  387. package/plugin/build/withBitmovinIosConfig.js +53 -0
  388. package/plugin/src/FeatureFlags.ts +21 -0
  389. package/plugin/src/index.ts +9 -0
  390. package/plugin/src/withAppGradleDependencies.ts +80 -0
  391. package/plugin/src/withBitmovinAndroidConfig.ts +224 -0
  392. package/plugin/src/withBitmovinConfig.ts +24 -0
  393. package/plugin/src/withBitmovinIosConfig.ts +71 -0
  394. package/plugin/tsconfig.json +9 -0
  395. package/plugin/tsconfig.tsbuildinfo +1 -0
  396. package/prettier.config.js +7 -0
  397. package/scripts/format-android.sh +2 -0
  398. package/scripts/format-swift.sh +3 -0
  399. package/scripts/lint-android.sh +2 -0
  400. package/scripts/lint-swift.sh +3 -0
  401. package/scripts/pre-commit.sh +14 -0
  402. package/scripts/setup-hooks.sh +58 -0
  403. package/src/BitmovinPlayerReactNative.types.ts +19 -0
  404. package/src/adaptationConfig.ts +1 -1
  405. package/src/advertising.ts +1 -1
  406. package/src/analytics/config.ts +4 -4
  407. package/src/analytics/player.ts +4 -6
  408. package/src/analytics/playerAnalyticsModule.ts +19 -0
  409. package/src/audioSession.ts +4 -6
  410. package/src/audioTrack.ts +1 -1
  411. package/src/bitmovinCastManager.ts +14 -10
  412. package/src/bufferApi.ts +1 -3
  413. package/src/bufferConfig.ts +2 -2
  414. package/src/components/PlayerView/events.ts +92 -94
  415. package/src/components/PlayerView/index.tsx +109 -159
  416. package/src/components/PlayerView/native.ts +24 -11
  417. package/src/components/PlayerView/nativeEvents.ts +113 -94
  418. package/src/components/PlayerView/pictureInPictureConfig.ts +1 -1
  419. package/src/components/PlayerView/playerViewConfig.ts +4 -8
  420. package/src/components/PlayerView/properties.ts +23 -22
  421. package/src/debug.ts +1 -3
  422. package/src/decoder/decoderConfig.ts +3 -3
  423. package/src/decoder/decoderConfigModule.ts +62 -0
  424. package/src/decoder/index.ts +32 -16
  425. package/src/drm/drmModule.ts +84 -0
  426. package/src/drm/fairplayConfig.ts +1 -1
  427. package/src/drm/index.ts +130 -40
  428. package/src/drm/widevineConfig.ts +5 -5
  429. package/src/events.ts +47 -41
  430. package/src/hooks/useProxy.ts +13 -20
  431. package/src/mediaControlConfig.ts +1 -1
  432. package/src/modules/AudioSessionModule.ts +13 -0
  433. package/src/modules/BitmovinCastManagerModule.ts +14 -0
  434. package/src/modules/BufferModule.ts +18 -0
  435. package/src/modules/DebugModule.ts +9 -0
  436. package/src/modules/PlayerModule.ts +251 -0
  437. package/src/modules/SourceModule.ts +74 -0
  438. package/src/modules/UuidModule.ts +9 -0
  439. package/src/nativeInstance.ts +3 -3
  440. package/src/network/index.ts +42 -15
  441. package/src/network/networkConfig.ts +3 -3
  442. package/src/network/networkModule.ts +51 -0
  443. package/src/offline/offlineContentConfig.ts +1 -1
  444. package/src/offline/offlineContentManager.ts +15 -50
  445. package/src/offline/offlineContentManagerListener.ts +20 -23
  446. package/src/offline/offlineContentOptions.ts +2 -2
  447. package/src/offline/offlineDownloadRequest.ts +1 -1
  448. package/src/offline/offlineModule.ts +46 -0
  449. package/src/offline/offlineSourceOptions.ts +2 -2
  450. package/src/offline/offlineState.ts +1 -1
  451. package/src/playbackConfig.ts +5 -6
  452. package/src/player.ts +53 -48
  453. package/src/source.ts +15 -14
  454. package/src/styleConfig.ts +5 -5
  455. package/src/subtitleFormat.ts +5 -5
  456. package/src/subtitleTrack.ts +1 -1
  457. package/src/tweaksConfig.ts +16 -16
  458. package/src/ui/customMessageHandlerModule.ts +46 -0
  459. package/src/ui/custommessagehandlerbridge.ts +45 -18
  460. package/src/ui/fullscreenHandlerModule.ts +35 -0
  461. package/src/ui/fullscreenhandlerbridge.ts +35 -15
  462. package/tsconfig.json +9 -0
  463. package/typedoc.json +23 -0
  464. package/RNBitmovinPlayer.podspec +0 -26
  465. package/android/src/main/java/com/bitmovin/player/reactnative/BitmovinBaseModule.kt +0 -114
  466. package/android/src/main/java/com/bitmovin/player/reactnative/EventRelay.kt +0 -47
  467. package/android/src/main/java/com/bitmovin/player/reactnative/RNPlayerViewPackage.kt +0 -48
  468. package/android/src/main/java/com/bitmovin/player/reactnative/extensions/ReactContextExtension.kt +0 -24
  469. package/android/src/main/java/com/bitmovin/player/reactnative/extensions/ReadableArray.kt +0 -20
  470. package/android/src/main/java/com/bitmovin/player/reactnative/extensions/ReadableMap.kt +0 -15
  471. package/android/src/main/java/com/bitmovin/player/reactnative/extensions/ReadableMapExtension.kt +0 -57
  472. package/android/src/main/java/com/bitmovin/player/reactnative/extensions/WritableMap.kt +0 -27
  473. package/android/src/main/java/com/bitmovin/player/reactnative/ui/CustomMessageHandlerModule.kt +0 -86
  474. package/android/src/main/java/com/bitmovin/player/reactnative/ui/FullscreenHandlerModule.kt +0 -78
  475. package/ios/AudioSessionModule.m +0 -10
  476. package/ios/BitmovinCastManagerModule.m +0 -14
  477. package/ios/BufferModule.m +0 -8
  478. package/ios/CustomMessageHandlerModule.m +0 -10
  479. package/ios/DebugModule.m +0 -7
  480. package/ios/DrmModule.m +0 -16
  481. package/ios/FullscreenHandlerModule.m +0 -10
  482. package/ios/NetworkModule.m +0 -10
  483. package/ios/OfflineModule.m +0 -19
  484. package/ios/PlayerAnalyticsModule.m +0 -8
  485. package/ios/PlayerModule.m +0 -130
  486. package/ios/PreprocessHttpRequestDelegateBridge.swift +0 -30
  487. package/ios/RCTBridge+Generics.swift +0 -6
  488. package/ios/RNBitmovinPlayer.xcodeproj/project.pbxproj +0 -303
  489. package/ios/RNPlayerView+PlayerListener.swift +0 -229
  490. package/ios/RNPlayerView+UserInterfaceListener.swift +0 -35
  491. package/ios/RNPlayerViewManager.m +0 -79
  492. package/ios/SourceModule.m +0 -42
  493. package/ios/UuidModule.m +0 -9
  494. package/lib/index.d.mts +0 -4303
  495. package/lib/index.d.ts +0 -4303
  496. package/lib/index.js +0 -1895
  497. package/lib/index.mjs +0 -1836
@@ -1,18 +1,12 @@
1
- import { NativeModules } from 'react-native';
2
- import BatchedBridge from 'react-native/Libraries/BatchedBridge/BatchedBridge';
1
+ import { EventSubscription } from 'expo-modules-core';
3
2
  import { DecoderConfig, DecoderContext, MediaCodecInfo } from './decoderConfig';
4
3
  import NativeInstance from '../nativeInstance';
5
-
6
- const DecoderConfigModule = NativeModules.DecoderConfigModule;
4
+ import DecoderConfigModule from './decoderConfigModule';
7
5
 
8
6
  /**
9
7
  * Takes care of JS/Native communication for a `DecoderConfig`.
10
8
  */
11
9
  export class DecoderConfigBridge extends NativeInstance<DecoderConfig> {
12
- constructor(decoderConfig: DecoderConfig) {
13
- super(decoderConfig);
14
- }
15
-
16
10
  /**
17
11
  * Whether this object's native instance has been created.
18
12
  */
@@ -22,14 +16,35 @@ export class DecoderConfigBridge extends NativeInstance<DecoderConfig> {
22
16
  */
23
17
  isDestroyed = false;
24
18
 
19
+ private onOverrideDecodersPrioritySubscription?: EventSubscription;
20
+
25
21
  initialize() {
26
22
  if (!this.isInitialized) {
27
- BatchedBridge.registerCallableModule(
28
- `DecoderConfigBridge-${this.nativeId}`,
29
- this
30
- );
23
+ // Set up event listener for decoder priority override
24
+ this.onOverrideDecodersPrioritySubscription =
25
+ DecoderConfigModule.addListener(
26
+ 'onOverrideDecodersPriority',
27
+ ({
28
+ nativeId,
29
+ context,
30
+ preferredDecoders,
31
+ }: {
32
+ nativeId: string;
33
+ context: DecoderContext;
34
+ preferredDecoders: MediaCodecInfo[];
35
+ }) => {
36
+ if (nativeId !== this.nativeId) {
37
+ return;
38
+ }
39
+ this.overrideDecodersPriority(context, preferredDecoders);
40
+ }
41
+ );
42
+
31
43
  // Create native configuration object.
32
- DecoderConfigModule.initWithConfig(this.nativeId, this.config);
44
+ DecoderConfigModule.initializeWithConfig(
45
+ this.nativeId,
46
+ this.config || {}
47
+ );
33
48
  this.isInitialized = true;
34
49
  }
35
50
  }
@@ -40,17 +55,18 @@ export class DecoderConfigBridge extends NativeInstance<DecoderConfig> {
40
55
  destroy() {
41
56
  if (!this.isDestroyed) {
42
57
  DecoderConfigModule.destroy(this.nativeId);
58
+ this.onOverrideDecodersPrioritySubscription?.remove();
59
+ this.onOverrideDecodersPrioritySubscription = undefined;
43
60
  this.isDestroyed = true;
44
61
  }
45
62
  }
46
63
 
47
- // noinspection JSUnusedGlobalSymbols
48
64
  /**
49
65
  * Called by native code, when the decoder priority should be evaluated.
50
66
  */
51
- overrideDecodersPriority(
67
+ private overrideDecodersPriority(
52
68
  context: DecoderContext,
53
- preferredDecoders: [MediaCodecInfo]
69
+ preferredDecoders: MediaCodecInfo[]
54
70
  ): void {
55
71
  const orderedPriority =
56
72
  this.config?.decoderPriorityProvider?.overrideDecodersPriority(
@@ -0,0 +1,84 @@
1
+ import { NativeModule, requireNativeModule } from 'expo-modules-core';
2
+ import { DrmConfig } from './index';
3
+
4
+ export type DrmModuleEvents = {
5
+ onPrepareCertificate: ({
6
+ nativeId,
7
+ id,
8
+ certificate,
9
+ }: {
10
+ nativeId: string;
11
+ id: string;
12
+ certificate: string;
13
+ }) => void;
14
+ onPrepareMessage: ({
15
+ nativeId,
16
+ id,
17
+ data,
18
+ message,
19
+ assetId,
20
+ }: {
21
+ nativeId: string;
22
+ id: string;
23
+ data?: string;
24
+ message?: string;
25
+ assetId?: string;
26
+ }) => void;
27
+ onPrepareSyncMessage: ({
28
+ nativeId,
29
+ id,
30
+ syncMessage,
31
+ assetId,
32
+ }: {
33
+ nativeId: string;
34
+ id: string;
35
+ syncMessage: string;
36
+ assetId: string;
37
+ }) => void;
38
+ onPrepareLicense: ({
39
+ nativeId,
40
+ id,
41
+ data,
42
+ license,
43
+ }: {
44
+ nativeId: string;
45
+ id: string;
46
+ data?: string;
47
+ license?: string;
48
+ }) => void;
49
+ onPrepareLicenseServerUrl: ({
50
+ nativeId,
51
+ id,
52
+ licenseServerUrl,
53
+ }: {
54
+ nativeId: string;
55
+ id: string;
56
+ licenseServerUrl: string;
57
+ }) => void;
58
+ onPrepareContentId: ({
59
+ nativeId,
60
+ id,
61
+ contentId,
62
+ }: {
63
+ nativeId: string;
64
+ id: string;
65
+ contentId: string;
66
+ }) => void;
67
+ };
68
+
69
+ /**
70
+ * Native DrmModule using Expo modules API.
71
+ * Provides modern async/await interface while maintaining backward compatibility.
72
+ */
73
+ declare class DrmModule extends NativeModule<DrmModuleEvents> {
74
+ initializeWithConfig(nativeId: string, config: DrmConfig): Promise<void>;
75
+ destroy(nativeId: string): Promise<void>;
76
+ setPreparedCertificate(id: string, certificate: string): any;
77
+ setPreparedMessage(id: string, message?: string): any;
78
+ setPreparedSyncMessage(id: string, syncMessage?: string): any;
79
+ setPreparedLicense(id: string, license?: string): any;
80
+ setPreparedLicenseServerUrl(id: string, url?: string): any;
81
+ setPreparedContentId(id: string, contentId?: string): any;
82
+ }
83
+
84
+ export default requireNativeModule<DrmModule>('DrmModule');
@@ -51,7 +51,7 @@ export interface FairplayConfig {
51
51
  * Note that both the passed `syncMessage` data and this block return value should be a Base64
52
52
  * string. So use whatever solution suits you best to handle Base64 in React Native.
53
53
  *
54
- * @param message - Base64 encoded message data.
54
+ * @param syncMessage - Base64 encoded message data.
55
55
  * @param assetId - Asset ID.
56
56
  * @returns The processed Base64 encoded sync message.
57
57
  */
package/src/drm/index.ts CHANGED
@@ -1,14 +1,13 @@
1
- import { NativeModules, Platform } from 'react-native';
2
- import BatchedBridge from 'react-native/Libraries/BatchedBridge/BatchedBridge';
1
+ import { Platform } from 'react-native';
2
+ import { EventSubscription } from 'expo-modules-core';
3
3
  import NativeInstance, { NativeInstanceConfig } from '../nativeInstance';
4
4
  import { FairplayConfig } from './fairplayConfig';
5
5
  import { WidevineConfig } from './widevineConfig';
6
+ import DrmModule from './drmModule';
6
7
 
7
8
  // Export config types from DRM module.
8
9
  export { FairplayConfig, WidevineConfig };
9
10
 
10
- const DrmModule = NativeModules.DrmModule;
11
-
12
11
  /**
13
12
  * Represents the general Streaming DRM config.
14
13
  */
@@ -16,13 +15,13 @@ export interface DrmConfig extends NativeInstanceConfig {
16
15
  /**
17
16
  * FairPlay specific configuration.
18
17
  *
19
- * @platform iOS
18
+ * @remarks Platform: iOS
20
19
  */
21
20
  fairplay?: FairplayConfig;
22
21
  /**
23
22
  * Widevine specific configuration.
24
23
  *
25
- * @platform Android, iOS (only for casting).
24
+ * @remarks Platform: Android, iOS (only for casting).
26
25
  */
27
26
  widevine?: WidevineConfig;
28
27
  }
@@ -41,16 +40,20 @@ export class Drm extends NativeInstance<DrmConfig> {
41
40
  */
42
41
  isDestroyed = false;
43
42
 
43
+ private eventSubscriptions: EventSubscription[] = [];
44
+
44
45
  /**
45
46
  * Allocates the DRM config instance and its resources natively.
46
47
  */
47
- initialize = () => {
48
+ initialize = async () => {
48
49
  if (!this.isInitialized) {
49
- // Register this object as a callable module so it's possible to
50
- // call functions on it from native code, e.g `onPrepareMessage`.
51
- BatchedBridge.registerCallableModule(`DRM-${this.nativeId}`, this);
52
- // Create native configuration object.
53
- DrmModule.initWithConfig(this.nativeId, this.config);
50
+ // Set up event listeners for DRM preparation callbacks
51
+ this.setupEventListeners();
52
+
53
+ // Create native configuration object using Expo module.
54
+ if (this.config) {
55
+ await DrmModule.initializeWithConfig(this.nativeId, this.config);
56
+ }
54
57
  this.isInitialized = true;
55
58
  }
56
59
  };
@@ -58,13 +61,85 @@ export class Drm extends NativeInstance<DrmConfig> {
58
61
  /**
59
62
  * Destroys the native DRM config and releases all of its allocated resources.
60
63
  */
61
- destroy = () => {
64
+ destroy = async () => {
62
65
  if (!this.isDestroyed) {
63
- DrmModule.destroy(this.nativeId);
66
+ await DrmModule.destroy(this.nativeId);
67
+ // Clean up event subscriptions
68
+ this.eventSubscriptions.forEach((subscription) => subscription.remove());
69
+ this.eventSubscriptions = [];
64
70
  this.isDestroyed = true;
65
71
  }
66
72
  };
67
73
 
74
+ /**
75
+ * Sets up event listeners for all DRM preparation callbacks
76
+ */
77
+ private setupEventListeners() {
78
+ // iOS-only events
79
+ this.eventSubscriptions.push(
80
+ DrmModule.addListener(
81
+ 'onPrepareCertificate',
82
+ ({ nativeId, id, certificate }) => {
83
+ if (nativeId !== this.nativeId) return;
84
+ this.onPrepareCertificate(id, certificate);
85
+ }
86
+ )
87
+ );
88
+
89
+ this.eventSubscriptions.push(
90
+ DrmModule.addListener(
91
+ 'onPrepareSyncMessage',
92
+ ({ nativeId, id, syncMessage, assetId }) => {
93
+ if (nativeId !== this.nativeId) return;
94
+ this.onPrepareSyncMessage(id, syncMessage, assetId);
95
+ }
96
+ )
97
+ );
98
+
99
+ this.eventSubscriptions.push(
100
+ DrmModule.addListener(
101
+ 'onPrepareLicenseServerUrl',
102
+ ({ nativeId, id, licenseServerUrl }) => {
103
+ if (nativeId !== this.nativeId) return;
104
+ this.onPrepareLicenseServerUrl(id, licenseServerUrl);
105
+ }
106
+ )
107
+ );
108
+
109
+ this.eventSubscriptions.push(
110
+ DrmModule.addListener(
111
+ 'onPrepareContentId',
112
+ ({ nativeId, id, contentId }) => {
113
+ if (nativeId !== this.nativeId) return;
114
+ this.onPrepareContentId(id, contentId);
115
+ }
116
+ )
117
+ );
118
+
119
+ // Cross-platform events
120
+ this.eventSubscriptions.push(
121
+ DrmModule.addListener(
122
+ 'onPrepareMessage',
123
+ ({ nativeId, id, data, message, assetId }) => {
124
+ if (nativeId !== this.nativeId) return;
125
+ // Android sends 'data', iOS sends 'message'
126
+ this.onPrepareMessage(id, data || message, assetId);
127
+ }
128
+ )
129
+ );
130
+
131
+ this.eventSubscriptions.push(
132
+ DrmModule.addListener(
133
+ 'onPrepareLicense',
134
+ ({ nativeId, id, data, license }) => {
135
+ if (nativeId !== this.nativeId) return;
136
+ // Android sends 'data', iOS sends 'license'
137
+ this.onPrepareLicense(id, data || license);
138
+ }
139
+ )
140
+ );
141
+ }
142
+
68
143
  /**
69
144
  * iOS only.
70
145
  *
@@ -75,12 +150,10 @@ export class Drm extends NativeInstance<DrmConfig> {
75
150
  *
76
151
  * @param certificate - Base64 encoded certificate data.
77
152
  */
78
- onPrepareCertificate = (certificate: string) => {
153
+ private onPrepareCertificate = (id: string, certificate: string) => {
79
154
  if (this.config?.fairplay?.prepareCertificate) {
80
- DrmModule.setPreparedCertificate(
81
- this.nativeId,
82
- this.config?.fairplay?.prepareCertificate?.(certificate)
83
- );
155
+ const result = this.config?.fairplay?.prepareCertificate?.(certificate);
156
+ DrmModule.setPreparedCertificate(id, result);
84
157
  }
85
158
  };
86
159
 
@@ -93,16 +166,23 @@ export class Drm extends NativeInstance<DrmConfig> {
93
166
  * @param message - Base64 encoded message data.
94
167
  * @param assetId - Optional asset ID. Only sent by iOS.
95
168
  */
96
- onPrepareMessage = (message: string, assetId?: string) => {
169
+ private onPrepareMessage = (
170
+ id: string,
171
+ message?: string,
172
+ assetId?: string
173
+ ) => {
174
+ if (!message) {
175
+ DrmModule.setPreparedMessage(id, undefined);
176
+ return;
177
+ }
97
178
  const config =
98
179
  Platform.OS === 'ios' ? this.config?.fairplay : this.config?.widevine;
99
180
  if (config && config.prepareMessage) {
100
- DrmModule.setPreparedMessage(
101
- this.nativeId,
181
+ const result =
102
182
  Platform.OS === 'ios'
103
183
  ? (config as FairplayConfig).prepareMessage?.(message, assetId!)
104
- : (config as WidevineConfig).prepareMessage?.(message)
105
- );
184
+ : (config as WidevineConfig).prepareMessage?.(message);
185
+ DrmModule.setPreparedMessage(id, result);
106
186
  }
107
187
  };
108
188
 
@@ -116,12 +196,17 @@ export class Drm extends NativeInstance<DrmConfig> {
116
196
  *
117
197
  * @param syncMessage - Base64 encoded sync SPC message data.
118
198
  */
119
- onPrepareSyncMessage = (syncMessage: string, assetId: string) => {
199
+ private onPrepareSyncMessage = (
200
+ id: string,
201
+ syncMessage: string,
202
+ assetId: string
203
+ ) => {
120
204
  if (this.config?.fairplay?.prepareSyncMessage) {
121
- DrmModule.setPreparedSyncMessage(
122
- this.nativeId,
123
- this.config?.fairplay?.prepareSyncMessage?.(syncMessage, assetId)
205
+ const result = this.config?.fairplay?.prepareSyncMessage?.(
206
+ syncMessage,
207
+ assetId
124
208
  );
209
+ DrmModule.setPreparedSyncMessage(id, result);
125
210
  }
126
211
  };
127
212
 
@@ -133,13 +218,17 @@ export class Drm extends NativeInstance<DrmConfig> {
133
218
  *
134
219
  * @param license - Base64 encoded license data.
135
220
  */
136
- onPrepareLicense = (license: string) => {
221
+ private onPrepareLicense = (id: string, license?: string) => {
222
+ if (!license) {
223
+ DrmModule.setPreparedLicense(id, undefined);
224
+ return;
225
+ }
137
226
  const prepareLicense =
138
227
  Platform.OS === 'ios'
139
228
  ? this.config?.fairplay?.prepareLicense
140
229
  : this.config?.widevine?.prepareLicense;
141
230
  if (prepareLicense) {
142
- DrmModule.setPreparedLicense(this.nativeId, prepareLicense(license));
231
+ DrmModule.setPreparedLicense(id, prepareLicense(license));
143
232
  }
144
233
  };
145
234
 
@@ -153,12 +242,14 @@ export class Drm extends NativeInstance<DrmConfig> {
153
242
  *
154
243
  * @param licenseServerUrl - The license server URL string.
155
244
  */
156
- onPrepareLicenseServerUrl = (licenseServerUrl: string) => {
245
+ private onPrepareLicenseServerUrl = (
246
+ id: string,
247
+ licenseServerUrl: string
248
+ ) => {
157
249
  if (this.config?.fairplay?.prepareLicenseServerUrl) {
158
- DrmModule.setPreparedLicenseServerUrl(
159
- this.nativeId,
160
- this.config?.fairplay?.prepareLicenseServerUrl?.(licenseServerUrl)
161
- );
250
+ const result =
251
+ this.config?.fairplay?.prepareLicenseServerUrl?.(licenseServerUrl);
252
+ DrmModule.setPreparedLicenseServerUrl(id, result);
162
253
  }
163
254
  };
164
255
 
@@ -172,12 +263,11 @@ export class Drm extends NativeInstance<DrmConfig> {
172
263
  *
173
264
  * @param contentId - The extracted contentId string.
174
265
  */
175
- onPrepareContentId = (contentId: string) => {
266
+ private onPrepareContentId = (id: string, contentId: string) => {
267
+ console.log('onPrepareContentId', contentId);
176
268
  if (this.config?.fairplay?.prepareContentId) {
177
- DrmModule.setPreparedContentId(
178
- this.nativeId,
179
- this.config?.fairplay?.prepareContentId?.(contentId)
180
- );
269
+ const result = this.config?.fairplay?.prepareContentId?.(contentId);
270
+ DrmModule.setPreparedContentId(id, result);
181
271
  }
182
272
  };
183
273
  }
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Represents a Widevine Streaming DRM config.
3
- * @platform Android, iOS (only for casting).
3
+ * @remarks Platform: Android, iOS (only for casting).
4
4
  */
5
5
  export interface WidevineConfig {
6
6
  /**
@@ -19,7 +19,7 @@ export interface WidevineConfig {
19
19
  * Note that both the passed `message` data and this block return value should be a Base64 string.
20
20
  * So use whatever solution suits you best to handle Base64 in React Native.
21
21
  *
22
- * @platform Android
22
+ * @remarks Platform: Android
23
23
  *
24
24
  * @param message - Base64 encoded message data.
25
25
  * @returns The processed Base64 encoded message.
@@ -33,7 +33,7 @@ export interface WidevineConfig {
33
33
  * Note that both the passed `license` data and this block return value should be a Base64 string.
34
34
  * So use whatever solution suits you best to handle Base64 in React Native.
35
35
  *
36
- * @platform Android
36
+ * @remarks Platform: Android
37
37
  *
38
38
  * @param license - Base64 encoded license data.
39
39
  * @returns The processed Base64 encoded license.
@@ -42,7 +42,7 @@ export interface WidevineConfig {
42
42
  /**
43
43
  * Set widevine's preferred security level.
44
44
  *
45
- * @platform Android
45
+ * @remarks Platform: Android
46
46
  */
47
47
  preferredSecurityLevel?: string;
48
48
  /**
@@ -51,7 +51,7 @@ export interface WidevineConfig {
51
51
  * as the same DRM scheme information.
52
52
  * Default: `false`
53
53
  *
54
- * @platform Android
54
+ * @remarks Platform: Android
55
55
  */
56
56
  shouldKeepDrmSessionsAlive?: boolean;
57
57
  }