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
package/CHANGELOG.md ADDED
@@ -0,0 +1,627 @@
1
+ # Changelog
2
+
3
+ ## [0.44.0] - 2025-07-25
4
+
5
+ ### Changed
6
+
7
+ - Update Bitmovin's native Android SDK version to `3.118.0`
8
+ - Update Bitmovin's native iOS SDK version to `3.93.0`
9
+ - Android: Add null safety checks to `ReadableMap`/`ReadableArray` calls in `JsonConverter`
10
+
11
+ ### Removed
12
+
13
+ - Android: `TweaksConfig.shouldApplyTtmlRegionWorkaround` as support for TTML attributes defined in a Region's Style has improved
14
+
15
+ ## [0.43.0] - 2025-06-30
16
+
17
+ ### Added
18
+
19
+ - Android: `AudioTrack.qualities`, providing the `AudioQuality`s associated with the `AudioTrack`
20
+
21
+ ### Changed
22
+
23
+ - Update Bitmovin's native Android SDK version to `3.115.0`
24
+ - Update Bitmovin's native iOS SDK version to `3.92.0`
25
+
26
+ ## [0.42.0] - 2025-06-02
27
+
28
+ ### Changed
29
+
30
+ - Update Bitmovin's native Android SDK version to `3.112.0`
31
+ - Update Bitmovin's native iOS SDK version to `3.90.0`
32
+
33
+ ### Added
34
+
35
+ - `SubtitleTrack.roles` and `AudioTrack.roles` to list the associated `MediaTrackRole` information
36
+
37
+ ## [0.41.0] - 2025-04-02
38
+
39
+ ### Changed
40
+
41
+ - Update react-native-screens to v3.35.0 for Android SDK version compatibility
42
+
43
+ ### Added
44
+
45
+ - Android: `DecoderConfig.decoderPriorityProvider`, a callback interface to specify which decoder implementation the Player should use to decode the media
46
+
47
+ ### Changed
48
+
49
+ - Update IMA SDK dependency on Android to `3.35.1`
50
+
51
+ ## [0.40.0] - 2025-03-20
52
+
53
+ ### Changed
54
+
55
+ - Update Bitmovin's native Android SDK version to `3.104.2`
56
+ - Update Bitmovin's native iOS SDK version to `3.85.2`
57
+
58
+ ## [0.39.0] - 2025-03-07
59
+
60
+ ### Added
61
+
62
+ - `CueEnterEvent.image` and `CueExitEvent.image` to expose the Base64 encoded image data URI of the cue when available
63
+
64
+ ## [0.38.0] - 2025-02-28
65
+
66
+ ### Changed
67
+
68
+ - Update Bitmovin's native Android SDK version to `3.104.1`
69
+ - Update Bitmovin's native iOS SDK version to `3.85.0`
70
+
71
+ ## [0.37.0] - 2025-01-17
72
+
73
+ ### Fixed
74
+
75
+ - Android: App crashes when `mediaControlConfig.isEnabled` is set to `false` and the player gets destroyed
76
+
77
+ ## [0.36.0] - 2024-12-20
78
+
79
+ ### Changed
80
+
81
+ - Update Bitmovin's native iOS SDK version to `3.80.0`
82
+
83
+ ### Added
84
+
85
+ - Android: `PlayerViewConfig.surfaceType` that allows to render video on a `TextureView`
86
+
87
+ ## [0.35.0] - 2024-12-10
88
+
89
+ ### Changed
90
+
91
+ - Update Bitmovin's native Android SDK version to `3.98.0`
92
+ - Update Bitmovin's native iOS SDK version to `3.79.0`
93
+
94
+ ### Fixed
95
+
96
+ - Android: Controls disappearing post midroll ads on select device by setting background color to `Color.TRANSPARENT` on IMA Ad container
97
+
98
+ ## [0.34.0] - 2024-12-04
99
+
100
+ ### Changed
101
+
102
+ - Update Bitmovin's native Android SDK version to `3.96.0`
103
+
104
+ ## [0.33.0] - 2024-11-28
105
+
106
+ ### Added
107
+
108
+ - Android: `TweaksConfig.forceReuseVideoCodecReasons` that allows to force the reuse of the video codec despite a configuration change. This flag should be set only, if it is known that the codec can handle the given configuration change.
109
+ - `DebugConfig.isDebugLoggingEnabled` and `DebugConfig.setDebugLoggingEnabled(value: boolean)` to check and set whether debug logging is enabled. Debug logging helps diagnose problems and trace the flow of execution within the Player and **should not be enabled in production** as it may log sensitive or confidential information to the console.
110
+
111
+ ### Changed
112
+
113
+ - Update Bitmovin's native iOS SDK version to `3.78.0`
114
+ - Update Bitmovin's native Android SDK version to `3.94.0`
115
+
116
+ ## [0.32.0] - 2024-11-14
117
+
118
+ ### Changed
119
+
120
+ - Update Bitmovin's native Android SDK version to `3.92.0`
121
+
122
+ ### Fixed
123
+
124
+ - Error where setting `PlaybackConfig.isAutoplayEnabled = true` causes the player view creation to fail on Android
125
+ - Potential infinite stall when using `NetworkConfig.preprocessHttpRequest` and `NetworkConfig.preprocessHttpResponse` on Android
126
+
127
+ ## [0.31.0] - 2024-11-07
128
+
129
+ ### Added
130
+
131
+ - `MediaControlConfig` to configure the media control information for the application. When `isEnabled` is `true`, the current media information will be shown on the lock-screen, in notifications, and within the control center
132
+ - Android: `playerConfig.playbackConfig.isBackgroundPlaybackEnabled` to support background playback
133
+
134
+ ### Changed
135
+
136
+ - Update Bitmovin's native Android SDK version to `3.91.0`
137
+
138
+ ### Deprecated
139
+
140
+ - `TweaksConfig.updatesNowPlayingInfoCenter` in favor of `MediaControlConfig.isEnabled`
141
+
142
+ ## [0.30.0] - 2024-10-31
143
+
144
+ ### Changed
145
+
146
+ - Update Bitmovin's native Android SDK version to `3.90.0`
147
+ - Update Bitmovin's native iOS SDK version to `3.77.0`
148
+
149
+ ### Added
150
+
151
+ - `WebUiConfig.variant` to set the UI variant that should be used by the Bitmovin Web UI
152
+
153
+ ### Fixed
154
+
155
+ - Spatial navigation in the Web UI does not work properly
156
+
157
+ ## [0.29.0] - 2024-09-09
158
+
159
+ ### Added
160
+
161
+ - Android: `AdaptationConfig.initialBandwidthEstimateOverride` to override the selection of the optimal media tracks before actual bandwidth data is available
162
+
163
+ ### Changed
164
+
165
+ - Update Bitmovin's native Android SDK version to `3.82.0`
166
+ - Update Bitmovin's native iOS SDK version to `3.71.0`
167
+ - Update IMA SDK dependency on Android to `3.33.0`
168
+
169
+ ### Changed
170
+
171
+ ## [0.28.0] - 2024-08-07
172
+
173
+ ### Added
174
+
175
+ - Android: `AdItem.preloadOffset` to control when ad manifest gets loaded
176
+
177
+ ### Changed
178
+
179
+ - Update Bitmovin's native Android SDK version to `3.78.0`
180
+ - Update Bitmovin's native iOS SDK version to `3.67.0`
181
+
182
+ ## [0.27.1] - 2024-07-05
183
+
184
+ ### Fixed
185
+
186
+ - `player.setMaxSelectableBitrate(null)` does not reset the maximum selectable bitrate on iOS and tvOS
187
+ - Building with Xcode 16 beta due to negative integer overflow error with `UInt` type
188
+
189
+ ## [0.27.0] - 2024-06-21
190
+
191
+ ### Changed
192
+
193
+ - Update Google IMA SDK dependencies to `3.23.0` for iOS, and to `4.13.0` for tvOS
194
+ - Update example app dependency: Google Cast iOS sender SDK to `4.8.1`
195
+ - Update Bitmovin's native Android SDK version to `3.74.0`
196
+ - Update Bitmovin's native iOS SDK version to `3.66.0`
197
+
198
+ ## [0.26.0] - 2024-06-14
199
+
200
+ ### Added
201
+
202
+ - Support for `Player.setVideoQuality()` API to enable video quality selection on Android
203
+
204
+ ### Changed
205
+
206
+ - Update Bitmovin's native Android SDK version to `3.73.0`
207
+ - Update Bitmovin's native iOS SDK version to `3.65.0`
208
+
209
+ ### Fixed
210
+
211
+ - Missing parameter documentations in the API reference
212
+
213
+ ## [0.25.0] - 2024-06-07
214
+
215
+ ### Added
216
+
217
+ - `viewRef` property to `PlayerView` to allow setting a reference to the native view
218
+
219
+ ### Fixed
220
+
221
+ - iOS: Possible crash on hot-reload
222
+
223
+ ## [0.24.0] - 2024-06-04
224
+
225
+ ### Added
226
+
227
+ - `NetworkConfig` to configure the network request manipulation functionality
228
+ - `preprocessHttpRequest(type, request) => Promise<HttpRequest>` to pre-process an HTTP request before the request is executed by the player
229
+ - `preprocessHttpResponse(type, response) => Promise<HttpResponse>` to pre-process an HTTP response before it gets passed to the player
230
+
231
+ ### Changed
232
+
233
+ - Update Bitmovin's native Android SDK version to `3.72.0`
234
+ - Update Bitmovin's native iOS SDK version to `3.64.0`
235
+
236
+ ### Fixed
237
+
238
+ - Android: Can't create a new Player with an existing NativeID (to bind to the same native Player)
239
+ - iOS: Performance problem with large WebVTT thumbnail or subtitle tracks
240
+
241
+ ## [0.23.0] - 2024-05-08
242
+
243
+ ### Changed
244
+
245
+ - Update Bitmovin's native Android SDK version to `3.68.0`
246
+ - Update Bitmovin's native iOS SDK version to `3.62.0`
247
+
248
+ ### Fixed
249
+
250
+ - Android: Player Web UI freezing sometimes, under excessive WebUI-RN code messaging
251
+
252
+ ## [0.22.0] - 2024-04-15
253
+
254
+ ### Added
255
+
256
+ - iOS: `TweaksConfig.updatesNowPlayingInfoCenter` to decide whether AVKit should update Now Playing information automatically when using System UI. You may want to disable automatic updates in case they are interfering with manual updates you are performing
257
+
258
+ ### Changed
259
+
260
+ - Update Bitmovin's native iOS SDK version to `3.60.0`
261
+ - Update IMA SDK dependency on iOS to `3.19.1`, respectively `4.9.2` for tvOS
262
+
263
+ ## [0.21.0] - 2024-04-08
264
+
265
+ ### Fixed
266
+
267
+ - Android: Entering Picture-in-Picture automatically when navigating the app to the background after activating Picture-in-Picture mode once
268
+ - Android: Example app Toolbar not visible after going into PiP mode -> Dismissing PiP window (stopping the app) -> Opening the app again
269
+
270
+ ### Changed
271
+
272
+ - Android: Default Picture-in-Picture implementation doesn't automatically hide/show the Toolbar anymore. This should be handled by the app itself, check out the sample app for an example implementation
273
+ - Update Bitmovin's native Android SDK version to `3.65.0`
274
+ - Update Bitmovin's native iOS SDK version to `3.59.0`
275
+
276
+ ## [0.20.0] - 2024-03-29
277
+
278
+ ### Added
279
+
280
+ - `preferSoftwareDecodingForAds` in `TweaksConfig` to use software decoding for ads, which can be useful for low-end Android devices
281
+ - `hideFirstFrame` in `PlayerViewConfig` to ensure no frame of the main content is shown before pre-roll ads
282
+
283
+ ### Changed
284
+
285
+ - Update Bitmovin's native Android SDK version to `3.64.0`
286
+
287
+ ## [0.19.0] - 2024-03-22
288
+
289
+ ### Added
290
+
291
+ - `CueEnterEvent` and `CueExitEvent` to signal when a subtitle entry transitions into an active or inactive status respectively
292
+
293
+ ### Changed
294
+
295
+ - Update Bitmovin's native Android SDK version to `3.63.0`
296
+ - Update Bitmovin's native iOS SDK version to `3.57.2`
297
+
298
+ ### Fixed
299
+
300
+ - Fix potential event name conflicts with other 3rd party libraries
301
+
302
+ ## [0.18.0] - 2024-03-06
303
+
304
+ ### Changed
305
+
306
+ - React Native version to `0.73.4`
307
+ - Update Bitmovin's native Android SDK version to `3.61.0`
308
+ - Update Bitmovin's native iOS SDK version to `3.56.3`
309
+
310
+ ### Fixed
311
+
312
+ - Android: Subtitles appear out of frame
313
+
314
+ ## [0.17.0] - 2024-01-26
315
+
316
+ ### Added
317
+
318
+ - Support for side-loaded SRT (SubRip) subtitles
319
+
320
+ ### Changed
321
+
322
+ - Update Bitmovin's native iOS SDK version to `3.55.0`
323
+
324
+ ### Fixed
325
+
326
+ - Remove `patch-package` usage from released product
327
+
328
+ ## [0.16.0] - 2024-01-17
329
+
330
+ ### Changed
331
+
332
+ - Update Bitmovin's native Android SDK version to `3.56.0`
333
+ - Android: Kotlin version to `1.9.21`
334
+
335
+ ## [0.15.0] - 2023-12-18
336
+
337
+ ### Added
338
+
339
+ - Player (E2E) tests for Android and iOS can now be executed via `yarn integration-test test:android` and `yarn integration-test test:ios` respectively
340
+
341
+ ### Changed
342
+
343
+ - React Native version to `0.72.6`
344
+ - React Native peer dependency version to `0.65.0+`
345
+ - Update Bitmovin's native Android SDK version to `3.54.0`
346
+ - Android: Kotlin version to `1.8.20`
347
+
348
+ ## [0.14.2] - 2023-11-27
349
+
350
+ ### Fixed
351
+
352
+ - Android: `onEvent` callback not being called on `PlayerView`
353
+ - iOS: `onEvent` on iOS has incomplete payload information
354
+ - tvOS: Picture in Picture sample screen has unwanted padding
355
+ - iOS: hide home indicator when entering fullscreen mode in the example application
356
+ - iOS: invalid `loadingState` value in `SeekEvent`, `SourceLoadEvent`, `SourceLoadedEvent` and in `SourceUnloadedEvent`
357
+
358
+ ## [0.14.1] - 2023-11-16
359
+
360
+ ### Fixed
361
+
362
+ - Android: `PlayerView` destroys attached `Player` instance on destroy. `Player` lifecycle must be handled on the creation side
363
+
364
+ ## [0.14.0] - 2023-11-14
365
+
366
+ ### Added
367
+
368
+ - `LiveConfig.minTimeshiftBufferDepth` to control the minimum buffer depth of a stream needed to enable time shifting
369
+ - `Player.buffer` to control buffer preferences and to query the current buffer state
370
+ - `DownloadFinishedEvent` to signal when the download of specific content has finished
371
+ - `Player.videoQuality`, `Player.availableVideoQualities`, and `VideoDownloadQualityChangedEvent` to query current video qualities and listen to related changes
372
+ - `Player.playbackSpeed`, `Player.canPlayAtPlaybackSpeed`, `PlaybackSpeedChangedEvent` to query, control, and listen to changes to the speed of the playback
373
+ - Support for `UserInterfaceType.Subtitle` on Android
374
+
375
+ ### Fixed
376
+
377
+ - Android: Playback doesn't pause when app goes to background
378
+ - Android: `PlayerView.onDestroy` not being called when the view is detached from the view hierarchy
379
+
380
+ ## [0.13.0] - 2023-10-20
381
+
382
+ ### Added
383
+
384
+ - API Reference now can be found [here](https://cdn.bitmovin.com/player/reactnative/0/docs/index.html)
385
+ - `PlayerViewConfig` with a `UiConfig` to the `PlayerView` to enable configuration of the visual presentation and behaviour
386
+ - `PictureInPictureConfig` to `PlayerViewConfig` to allow configuring the Picture in Picture behavior
387
+ - `PictureInPictureConfig.isEnabled` to enable configuring if Picture in Picture is enabled
388
+ - `PictureInPictureConfig.shouldEnterOnBackground` to start Picture in Picture automatically when the app transitions to background
389
+ - `onPictureInPictureAvailabilityChanged` event is now emitted on iOS and tvOS in addition to Android
390
+ - `BufferConfig` to configure player buffer depth
391
+ - `PlayerView.isPictureInPictureRequested` to programmatically create a Picture in Picture request
392
+ - `PlayerView.scalingMode` to allow changing the video scaling mode
393
+
394
+ ### Changed
395
+
396
+ - Update IMA SDK dependency on Android to `3.31.0`
397
+ - Update Bitmovin's native Android SDK version to `3.47.0`
398
+
399
+ ### Deprecated
400
+
401
+ - `PlaybackConfig.isPictureInPictureEnabled` in favor of `PictureInPictureConfig.isEnabled`
402
+
403
+ ## [0.12.0] - 2023-09-25
404
+
405
+ ### Added
406
+
407
+ - `DefaultMetadata` for configuration of the bundled analytics collector
408
+ - `Player.analytics` to access the `AnalyticsApi` and interact with the bundled analytics collector
409
+ - `SourceConfig.analyticsSourceMetadata` for extended configuration of the bundled analytics collector
410
+ - Google Cast SDK support for Android and iOS
411
+
412
+ ### Changed
413
+
414
+ - `AnalyticsConfig` properties to match the Bitmovin analytics v3 API
415
+ - Use `jason` build of Bitmovin's native Android SDK
416
+ - Update Bitmovin's native Android SDK version to `3.44.0`
417
+
418
+ ### Removed
419
+
420
+ - `AnalyticsCollector` in favor of the bundled analytics functionality
421
+ - `CdnProvider`, as the property on the `AnalyticsConfig` is now a `string`
422
+
423
+ ## [0.11.0] - 2023-09-11
424
+
425
+ ### Added
426
+
427
+ - `Player.getAudioTrack` and `Player.getSubtitleTrack` APIs to get currently selected audio and subtitle tracks
428
+ - `SourceConfig.description` property to allow setting a description for the source
429
+ - `Player.getThumbnail` and `Source.getThumbnail` APIs to get thumbnail images
430
+
431
+ ### Changed
432
+
433
+ - Update Bitmovin's native Android SDK version to `3.43.0`
434
+
435
+ ## [0.10.0] - 2023-09-04
436
+
437
+ ### Added
438
+
439
+ - Offline playback support on Android and iOS
440
+ - `SourceConfig.options` to enable configuring stream start position
441
+ - `PlayerConfig.adaptationConfig` to allow configuring the player's adaptation behavior
442
+ - `Player.setMaxSelectableBitrate` to allow setting the maximum selectable bitrate on the `Player`
443
+
444
+ ## [0.9.2] - 2023-08-24
445
+
446
+ ### Changed
447
+
448
+ - Update Bitmovin's native iOS SDK version to `3.43.1`
449
+
450
+ ## [0.9.1] - 2023-08-17
451
+
452
+ ### Fixed
453
+
454
+ - Android: Player sometimes plays sound but doesn't display video nor controls.
455
+
456
+ ## [0.9.0] - 2023-08-11
457
+
458
+ ### Added
459
+
460
+ - Support for `Player.analyticsCollector.addSourceMetadata` to allow updating metadata assigned to the current source
461
+ - Support for `CustomData.experimentName` for the A/B testing support with Bitmovin Analytics
462
+ - iOS, tvOS: Support for configuring UI type via `StyleConfig.userInterfaceType`
463
+
464
+ ### Changed
465
+
466
+ - Update Bitmovin's native iOS SDK version to `3.42.0`
467
+
468
+ ### Fixed
469
+
470
+ - Android: Player sometimes plays sound but no video
471
+
472
+ ## [0.8.0] - 2023-07-31
473
+
474
+ ### Added
475
+
476
+ - Support for programmatic fullscreen request (`PlayerView.isFullscreenRequested`)
477
+
478
+ ### Changed
479
+
480
+ - Update Bitmovin's native iOS SDK version to `3.41.2`
481
+ - Update Bitmovin's native Android SDK version to `3.40.0`
482
+ - Update IMA SDK dependency on iOS to `3.18.4`, respectively `4.8.2` for tvOS
483
+ - Update IMA SDK dependency on Android to `3.29.0`
484
+
485
+ ### Fixed
486
+
487
+ - Android: Sporadic black screen after initialization
488
+
489
+ ## [0.7.2] - 2023-07-03
490
+
491
+ ### Fixed
492
+
493
+ - Android: None of the Player Web UI menu items work (anything that triggers a native UI pop up)
494
+
495
+ ## [0.7.1] - 2023-06-29
496
+
497
+ ### Added
498
+
499
+ - Support for `Player.timeShift` and `timeShift` related events
500
+
501
+ ### Fixed
502
+
503
+ - Project forces the usage of specific `react-native` version
504
+
505
+ ## [0.7.0] - 2023-06-26
506
+
507
+ ### Added
508
+
509
+ - Support for `SourceConfig.metadata` and `Source.metadata` to allow passing custom metadata to the Player UI
510
+ - Support for `CustomMessageHandler` to allow two-way communication between the Player UI and the React Native app
511
+
512
+ ### Fixed
513
+
514
+ - Android module build issues
515
+
516
+ ## [0.6.0] - 2023-03-27
517
+
518
+ ### Added
519
+
520
+ - Support for programmatic audio and subtitle track selection. (Thanks to @joornby-angel)
521
+ - Custom header support for DRM playback on Android.
522
+ - Support for keeping the DRM session alive for consecutive DRM protected sources on Android.
523
+
524
+ ### Changed
525
+
526
+ - Update Bitmovin's native iOS SDK version to `v3.36.0`.
527
+ - Update Bitmovin's native Android SDK version to `v3.35.0`.
528
+
529
+ ## [0.5.1] - 2023-01-23
530
+
531
+ ### Fixed
532
+
533
+ - Fix missing export of `FullscreenHandler` to allow fullscreen support to be integrated.
534
+
535
+ ## [0.5.0] - 2023-01-13
536
+
537
+ This version introduces analytics integration, fullscreen support and customizing the Player UI.
538
+
539
+ ### Added
540
+
541
+ - Built-in Bitmovin Analytics integration.
542
+ - `FullscreenHandler` support.
543
+ - Bitmovin Player Web UI customization via `styleConfig` property on player creation.
544
+
545
+ ## [0.4.0] - 2022-11-24
546
+
547
+ This version introduces the advertising API, full Picture in Picture support and exposes Stall events.
548
+
549
+ ### Added
550
+
551
+ - Advertising API support.
552
+ - Complete Picture in Picture support.
553
+ - `onStallStarted`/`onStallEnded` events support. (Thanks to @joornby-angel)
554
+
555
+ ## [0.3.1] - 2022-10-26
556
+
557
+ Adds tweaks configuration support.
558
+
559
+ ### Added
560
+
561
+ - Support for setting `TweaksConfig` on both Android and iOS.
562
+
563
+ ## [0.3.0] - 2022-10-13
564
+
565
+ Adds support for tvOS projects and ability to customize the default playback behavior of `Player` objects.
566
+
567
+ ### Added
568
+
569
+ - Custom playback configuration option as `PlayerConfig.playbackConfig`. (Thanks to @jonathanm-tkf)
570
+
571
+ ### Changed
572
+
573
+ - Update Bitmovin's native iOS SDK version to `v3.28.0`.
574
+ - Update Bitmovin's native Android SDK version to `v3.24.2`.
575
+ - Setup a new tvOS target on example app's `.xcodeproj` file.
576
+ - Replace `react-native` with `react-native-tvos` on the example app.
577
+
578
+ ### Fixed
579
+
580
+ - Fix pod installation error on tvOS projects by adding `:tvos => 12.4` to the list of supported platforms.
581
+
582
+ ## [0.2.1] - 2022-09-19
583
+
584
+ Fixes an NPM installation issue.
585
+
586
+ ### Fixed
587
+
588
+ - Fix installation error caused by wrong husky setup when fetching package from NPM.
589
+
590
+ ## [0.2.0] - 2022-08-23
591
+
592
+ Adds support for DRM playback on Android (Widevine only) and iOS (FairPlay only), as well as configuring
593
+ external subtitle tracks for a stream source.
594
+
595
+ ### Added
596
+
597
+ - Basic DRM playback support.
598
+ - External subtitle tracks option on the source configuration.
599
+ - Support for listening subtitle track events via `PlayerView`'s component props.
600
+ - `Player.getAvailableSubtitles()` method for fetching the available subtitle tracks in the player's active source.
601
+
602
+ ### Changed
603
+
604
+ - Setup a list of examples in the example app using [React Navigation](https://github.com/react-navigation/react-navigation).
605
+
606
+ ### Fixed
607
+
608
+ - Fix error caused when navigating back from screens containing a `PlayerView` child.
609
+
610
+ ## [0.1.0] - 2022-07-11
611
+
612
+ Adds support for basic playback using Bitmovin's Web UI as the default (and only) player UI.
613
+ No support for custom UI yet.
614
+
615
+ ### Added
616
+
617
+ - Native react component bridge to SDKs `PlayerView`.
618
+ - Minimal set of Player APIs through `Player` and `usePlayer` constructs.
619
+ - Support for listening most of `Player` and `Source` events via `PlayerView`'s component props.
620
+ - Simple React Native app to exemplify and test library features in development.
621
+
622
+ [0.4.0]: https://github.com/bitmovin/bitmovin-player-react-native/releases/tag/v0.4.0
623
+ [0.3.1]: https://github.com/bitmovin/bitmovin-player-react-native/releases/tag/v0.3.1
624
+ [0.3.0]: https://github.com/bitmovin/bitmovin-player-react-native/releases/tag/v0.3.0
625
+ [0.2.1]: https://github.com/bitmovin/bitmovin-player-react-native/releases/tag/v0.2.1
626
+ [0.2.0]: https://github.com/bitmovin/bitmovin-player-react-native/releases/tag/v0.2.0
627
+ [0.1.0]: https://github.com/bitmovin/bitmovin-player-react-native/releases/tag/v0.1.0