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
@@ -0,0 +1,71 @@
1
+ import {
2
+ ConfigPlugin,
3
+ withInfoPlist,
4
+ withPodfileProperties,
5
+ } from 'expo/config-plugins';
6
+ import FeatureFlags from './FeatureFlags';
7
+
8
+ const withBitmovinIosConfig: ConfigPlugin<{
9
+ playerLicenseKey: string;
10
+ features: FeatureFlags;
11
+ }> = (config, { playerLicenseKey, features }) => {
12
+ const offlineFeatureConfig =
13
+ typeof features.offline === 'object'
14
+ ? features.offline
15
+ : {
16
+ android: {
17
+ isEnabled: !!features.offline,
18
+ externalStoragePermission: false,
19
+ },
20
+ ios: { isEnabled: !!features.offline },
21
+ };
22
+ const googleCastIosConfig = features.googleCastSDK?.ios
23
+ ? typeof features.googleCastSDK.ios === 'string'
24
+ ? { version: features.googleCastSDK.ios }
25
+ : features.googleCastSDK.ios
26
+ : null;
27
+
28
+ config = withInfoPlist(config, (config) => {
29
+ config.modResults['BitmovinPlayerLicenseKey'] = playerLicenseKey;
30
+ if (
31
+ features.backgroundPlayback ||
32
+ features.airPlay ||
33
+ features.pictureInPicture
34
+ ) {
35
+ let backgroundModes = new Set(
36
+ config.modResults['UIBackgroundModes'] || []
37
+ );
38
+ backgroundModes.add('audio');
39
+ config.modResults['UIBackgroundModes'] = Array.from(backgroundModes);
40
+ }
41
+ if (offlineFeatureConfig?.ios?.isEnabled) {
42
+ config.modResults['BitmovinPlayerOfflineSupportEnabled'] = true;
43
+ }
44
+ if (googleCastIosConfig) {
45
+ const appId = googleCastIosConfig.appId || 'FFE417E5';
46
+ const localNetworkUsageDescription =
47
+ googleCastIosConfig.localNetworkUsageDescription ||
48
+ '${PRODUCT_NAME} uses the local network to discover Cast-enabled devices on your WiFi network.';
49
+
50
+ config.modResults['NSBonjourServices'] = [
51
+ '_googlecast._tcp',
52
+ `_${appId}._googlecast._tcp`,
53
+ ];
54
+ config.modResults['NSLocalNetworkUsageDescription'] =
55
+ localNetworkUsageDescription;
56
+ }
57
+ return config;
58
+ });
59
+
60
+ config = withPodfileProperties(config, (config) => {
61
+ if (googleCastIosConfig) {
62
+ config.modResults['BITMOVIN_GOOGLE_CAST_SDK_VERSION'] =
63
+ googleCastIosConfig.version;
64
+ }
65
+ return config;
66
+ });
67
+
68
+ return config;
69
+ };
70
+
71
+ export default withBitmovinIosConfig;
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "expo-module-scripts/tsconfig.plugin",
3
+ "compilerOptions": {
4
+ "outDir": "build",
5
+ "rootDir": "src"
6
+ },
7
+ "include": ["./src"],
8
+ "exclude": ["**/__mocks__/*", "**/__tests__/*"]
9
+ }
@@ -0,0 +1 @@
1
+ {"root":["./src/FeatureFlags.ts","./src/index.ts","./src/withAppGradleDependencies.ts","./src/withBitmovinAndroidConfig.ts","./src/withBitmovinConfig.ts","./src/withBitmovinIosConfig.ts"],"version":"5.8.3"}
@@ -0,0 +1,7 @@
1
+ module.exports = {
2
+ quoteProps: 'consistent',
3
+ singleQuote: true,
4
+ tabWidth: 2,
5
+ trailingComma: 'es5',
6
+ useTabs: false,
7
+ };
@@ -0,0 +1,2 @@
1
+ #!/bin/bash
2
+ cd android && ./gradlew -b ktlint.gradle ktlintFormat
@@ -0,0 +1,3 @@
1
+ #!/bin/bash
2
+ # Run SwiftLint with auto-correction to fix formatting issues
3
+ swiftlint ios --autocorrect
@@ -0,0 +1,2 @@
1
+ #!/bin/bash
2
+ cd android && ./gradlew -b ktlint.gradle ktlintCheck --quiet --console=plain
@@ -0,0 +1,3 @@
1
+ #!/bin/bash
2
+ # Run SwiftLint in strict and quiet mode - treat warnings as errors, only show violations
3
+ swiftlint ios --strict --quiet
@@ -0,0 +1,14 @@
1
+ #!/bin/sh
2
+ # Pre-commit hook to run lint-staged
3
+
4
+ # Load common paths where Node.js might be installed
5
+ export PATH="/usr/local/bin:/opt/homebrew/bin:$HOME/.nvm/current/bin:$HOME/.volta/bin:$HOME/.fnm/current/bin:$PATH"
6
+
7
+ # Try to find npx
8
+ NPX=$(command -v npx)
9
+ if [ -z "$NPX" ]; then
10
+ echo "Error: npx not found in PATH"
11
+ exit 1
12
+ fi
13
+
14
+ $NPX lint-staged
@@ -0,0 +1,58 @@
1
+ #!/bin/bash
2
+
3
+ # Setup git pre-commit hooks for the project
4
+ echo "Setting up pre-commit hooks..."
5
+
6
+ # Check if .git directory exists
7
+ if [ ! -d ".git" ]; then
8
+ echo "Error: Not a git repository. Please run this from the root of the project."
9
+ exit 1
10
+ fi
11
+
12
+ # Check if hooks directory exists
13
+ if [ ! -d ".git/hooks" ]; then
14
+ echo "Creating .git/hooks directory..."
15
+ mkdir -p .git/hooks
16
+ fi
17
+
18
+ # Get the directory where this script is located
19
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
20
+ PRE_COMMIT_SOURCE="$SCRIPT_DIR/pre-commit.sh"
21
+
22
+ # Check if the pre-commit.sh template exists
23
+ if [ ! -f "$PRE_COMMIT_SOURCE" ]; then
24
+ echo "Error: pre-commit.sh template not found at $PRE_COMMIT_SOURCE"
25
+ exit 1
26
+ fi
27
+
28
+ # Check if pre-commit hook already exists and compare content
29
+ HOOK_PATH=".git/hooks/pre-commit"
30
+ NEEDS_UPDATE=true
31
+
32
+ if [ -f "$HOOK_PATH" ]; then
33
+ # Compare the existing hook with the template
34
+ if cmp -s "$PRE_COMMIT_SOURCE" "$HOOK_PATH"; then
35
+ NEEDS_UPDATE=false
36
+ echo "✅ Pre-commit hook is already up to date"
37
+ else
38
+ echo "📝 Pre-commit hook exists but differs from template, updating..."
39
+ fi
40
+ else
41
+ echo "📦 Installing pre-commit hook..."
42
+ fi
43
+
44
+ # Install or update the hook if needed
45
+ if [ "$NEEDS_UPDATE" = true ]; then
46
+ cp "$PRE_COMMIT_SOURCE" "$HOOK_PATH"
47
+ chmod +x "$HOOK_PATH"
48
+ echo "✅ Pre-commit hook installed successfully!"
49
+ fi
50
+ echo ""
51
+ echo "The pre-commit hook will now run automatically on every commit and will:"
52
+ echo " - Run ESLint (quiet mode) on TypeScript/JavaScript files"
53
+ echo " - Auto-format Swift files with SwiftLint, then run SwiftLint (strict mode)"
54
+ echo " - Auto-format Kotlin files with ktlint, then run ktlint"
55
+ echo " - Auto-format files with Prettier"
56
+ echo ""
57
+ echo "To test all linting manually, run: yarn lint:all"
58
+ echo "To bypass the hook temporarily, commit with: git commit --no-verify"
@@ -0,0 +1,19 @@
1
+ import type { StyleProp, ViewStyle } from 'react-native';
2
+
3
+ export type OnLoadEventPayload = {
4
+ url: string;
5
+ };
6
+
7
+ export type BitmovinPlayerReactNativeModuleEvents = {
8
+ onChange: (params: ChangeEventPayload) => void;
9
+ };
10
+
11
+ export type ChangeEventPayload = {
12
+ value: string;
13
+ };
14
+
15
+ export type BitmovinPlayerReactNativeViewProps = {
16
+ url: string;
17
+ onLoad: (event: { nativeEvent: OnLoadEventPayload }) => void;
18
+ style?: StyleProp<ViewStyle>;
19
+ };
@@ -11,7 +11,7 @@ export interface AdaptationConfig {
11
11
  /**
12
12
  * The initial bandwidth estimate in bits per second the player uses to select the optimal media tracks before actual bandwidth data is available. Overriding this value should only be done in specific cases and will most of the time not result in better selection logic.
13
13
  *
14
- * @platform Android
14
+ * @remarks Platform: Android
15
15
  * @see https://cdn.bitmovin.com/player/android/3/docs/player-core/com.bitmovin.player.api.media/-adaptation-config/initial-bandwidth-estimate-override.html
16
16
  */
17
17
  initialBandwidthEstimateOverride?: number;
@@ -83,7 +83,7 @@ export interface AdItem {
83
83
  *
84
84
  * Default value is 0.0
85
85
  *
86
- * @platform Android
86
+ * @remarks Platform: Android
87
87
  */
88
88
  preloadOffset?: number;
89
89
  }
@@ -44,17 +44,17 @@ export interface SourceMetadata extends CustomDataConfig {
44
44
  /**
45
45
  * ID of the video in the CMS system
46
46
  */
47
- videoId?: String;
47
+ videoId?: string;
48
48
 
49
49
  /**
50
50
  * Human readable title of the video asset currently playing
51
51
  */
52
- title?: String;
52
+ title?: string;
53
53
 
54
54
  /**
55
55
  * Breadcrumb path to show where in the app the user is
56
56
  */
57
- path?: String;
57
+ path?: string;
58
58
 
59
59
  /**
60
60
  * Flag to see if stream is live before stream metadata is available
@@ -64,7 +64,7 @@ export interface SourceMetadata extends CustomDataConfig {
64
64
  /**
65
65
  * CDN Provider that the video playback session is using
66
66
  */
67
- cdnProvider?: String;
67
+ cdnProvider?: string;
68
68
  }
69
69
 
70
70
  /**
@@ -1,7 +1,5 @@
1
- import { NativeModules } from 'react-native';
2
1
  import { CustomDataConfig } from './config';
3
-
4
- const PlayerAnalyticsModule = NativeModules.PlayerAnalyticsModule;
2
+ import PlayerAnalyticsModule from './playerAnalyticsModule';
5
3
 
6
4
  /**
7
5
  * Provides the means to control the analytics collected by a `Player`.
@@ -21,8 +19,8 @@ export class AnalyticsApi {
21
19
  * Sends a sample with the provided custom data.
22
20
  * Does not change the configured custom data of the collector or source.
23
21
  */
24
- sendCustomDataEvent = (customData: CustomDataConfig) => {
25
- PlayerAnalyticsModule.sendCustomDataEvent(this.playerId, customData);
22
+ sendCustomDataEvent = async (customData: CustomDataConfig) => {
23
+ await PlayerAnalyticsModule.sendCustomDataEvent(this.playerId, customData);
26
24
  };
27
25
 
28
26
  /**
@@ -30,7 +28,7 @@ export class AnalyticsApi {
30
28
  *
31
29
  * @returns The current user id.
32
30
  */
33
- getUserId = async (): Promise<string> => {
31
+ getUserId = async (): Promise<string | null> => {
34
32
  return PlayerAnalyticsModule.getUserId(this.playerId);
35
33
  };
36
34
  }
@@ -0,0 +1,19 @@
1
+ import { NativeModule, requireNativeModule } from 'expo-modules-core';
2
+
3
+ export type PlayerAnalyticsModuleEvents = Record<string, any>;
4
+
5
+ /**
6
+ * Native PlayerAnalyticsModule using Expo modules API.
7
+ * Provides modern async/await interface while maintaining backward compatibility.
8
+ */
9
+ declare class PlayerAnalyticsModule extends NativeModule<PlayerAnalyticsModuleEvents> {
10
+ sendCustomDataEvent(
11
+ playerId: string,
12
+ customData: Record<string, any>
13
+ ): Promise<void>;
14
+ getUserId(playerId: string): Promise<string | null>;
15
+ }
16
+
17
+ export default requireNativeModule<PlayerAnalyticsModule>(
18
+ 'PlayerAnalyticsModule'
19
+ );
@@ -1,6 +1,4 @@
1
- import { NativeModules } from 'react-native';
2
-
3
- const AudioSessionModule = NativeModules.AudioSessionModule;
1
+ import AudioSessionModule from './modules/AudioSessionModule';
4
2
 
5
3
  /**
6
4
  * An audio session category defines a set of audio behaviors.
@@ -15,7 +13,7 @@ const AudioSessionModule = NativeModules.AudioSessionModule;
15
13
  * - `record`: The category for recording audio while also silencing playback audio.
16
14
  * - `soloAmbient`: The default audio session category.
17
15
  *
18
- * @platform iOS
16
+ * @remarks Platform: iOS
19
17
  * @see https://developer.apple.com/documentation/avfaudio/avaudiosession/category
20
18
  */
21
19
  export type AudioSessionCategory =
@@ -29,14 +27,14 @@ export type AudioSessionCategory =
29
27
  /**
30
28
  * An object that communicates to the system how you intend to use audio in your app.
31
29
  *
32
- * @platform iOS
30
+ * @remarks Platform: iOS
33
31
  * @see https://developer.apple.com/documentation/avfaudio/avaudiosession
34
32
  */
35
33
  export const AudioSession = {
36
34
  /**
37
35
  * Sets the audio session's category.
38
36
  *
39
- * @platform iOS
37
+ * @remarks Platform: iOS
40
38
  * @see https://developer.apple.com/documentation/avfaudio/avaudiosession/1616583-setcategory
41
39
  */
42
40
  setCategory: async (category: AudioSessionCategory): Promise<void> => {
package/src/audioTrack.ts CHANGED
@@ -31,7 +31,7 @@ export interface AudioTrack {
31
31
  */
32
32
  roles?: MediaTrackRole[];
33
33
  /**
34
- * A list of AudioQuality associated with this AudioTrack.
34
+ * The AudioQuality array associated with this AudioTrack.
35
35
  *
36
36
  * @platform Android
37
37
  */
@@ -1,10 +1,9 @@
1
- import { NativeModules, Platform } from 'react-native';
2
-
3
- const BitmovinCastManagerModule = NativeModules.BitmovinCastManagerModule;
1
+ import { Platform } from 'react-native';
2
+ import BitmovinCastManagerModule from './modules/BitmovinCastManagerModule';
4
3
 
5
4
  /**
6
5
  * The options to be used for initializing `BitmovinCastManager`
7
- * @platform Android, iOS
6
+ * @remarks Platform: Android, iOS
8
7
  */
9
8
  export interface BitmovinCastManagerOptions {
10
9
  /**
@@ -24,7 +23,7 @@ export interface BitmovinCastManagerOptions {
24
23
  * The `BitmovinCastManager` needs to be initialized by calling `BitmovinCastManager.initialize`
25
24
  * before `Player` creation to enable casting features.
26
25
  *
27
- * @platform Android, iOS
26
+ * @remarks Platform: Android, iOS
28
27
  */
29
28
  export const BitmovinCastManager = {
30
29
  /**
@@ -54,7 +53,9 @@ export const BitmovinCastManager = {
54
53
  if (Platform.OS === 'ios' && Platform.isTV) {
55
54
  return Promise.resolve();
56
55
  }
57
- return BitmovinCastManagerModule.initializeCastManager(options);
56
+ return BitmovinCastManagerModule.initializeCastManager(
57
+ options || undefined
58
+ );
58
59
  },
59
60
 
60
61
  /**
@@ -62,13 +63,13 @@ export const BitmovinCastManager = {
62
63
  * Make sure to call this method on every Android Activity switch.
63
64
  *
64
65
  * @returns A promise that resolves when the context was updated successfully
65
- * @platform Android
66
+ * @remarks Platform: Android
66
67
  */
67
68
  updateContext: async (): Promise<void> => {
68
69
  if (Platform.OS === 'ios') {
69
70
  return Promise.resolve();
70
71
  }
71
- return BitmovinCastManagerModule.updateContext();
72
+ return BitmovinCastManagerModule.updateContext?.() || Promise.resolve();
72
73
  },
73
74
 
74
75
  /**
@@ -78,10 +79,13 @@ export const BitmovinCastManager = {
78
79
  * @param messageNamespace The message namespace to be used, in case of null the default message namespace will be used
79
80
  * @returns A promise that resolves when the message was sent successfully
80
81
  */
81
- sendMessage: (message: String, messageNamespace: String | null = null) => {
82
+ sendMessage: (message: string, messageNamespace: string | null = null) => {
82
83
  if (Platform.OS === 'ios' && Platform.isTV) {
83
84
  return Promise.resolve();
84
85
  }
85
- return BitmovinCastManagerModule.sendMessage(message, messageNamespace);
86
+ return BitmovinCastManagerModule.sendMessage(
87
+ message,
88
+ messageNamespace || undefined
89
+ );
86
90
  },
87
91
  };
package/src/bufferApi.ts CHANGED
@@ -1,6 +1,4 @@
1
- import { NativeModules } from 'react-native';
2
-
3
- const BufferModule = NativeModules.BufferModule;
1
+ import BufferModule from './modules/BufferModule';
4
2
 
5
3
  /**
6
4
  * Represents different types of media.
@@ -27,7 +27,7 @@ export interface BufferConfig {
27
27
  *
28
28
  * Default is `5` seconds.
29
29
  *
30
- * @platform Android
30
+ * @remarks Platform: Android
31
31
  */
32
32
  restartThreshold?: number;
33
33
  /**
@@ -36,7 +36,7 @@ export interface BufferConfig {
36
36
  *
37
37
  * Default is `2.5` seconds.
38
38
  *
39
- * @platform Android
39
+ * @remarks Platform: Android
40
40
  */
41
41
  startupThreshold?: number;
42
42
  }