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,174 @@
1
+ import { OfflineContentOptions } from './offlineContentOptions';
2
+ import { OfflineState } from './offlineState';
3
+ /**
4
+ * Enum to hold the `eventType` on the `BitmovinNativeOfflineEventData`
5
+ * @remarks Platform: Android, iOS
6
+ */
7
+ export declare enum OfflineEventType {
8
+ onCompleted = "onCompleted",
9
+ onError = "onError",
10
+ onProgress = "onProgress",
11
+ onOptionsAvailable = "onOptionsAvailable",
12
+ onDrmLicenseUpdated = "onDrmLicenseUpdated",
13
+ onDrmLicenseExpired = "onDrmLicenseExpired",
14
+ onSuspended = "onSuspended",
15
+ onResumed = "onResumed",
16
+ onCanceled = "onCanceled"
17
+ }
18
+ /**
19
+ * The base interface for all offline events.
20
+ * @remarks Platform: Android, iOS
21
+ */
22
+ export interface OfflineEvent<T extends OfflineEventType> {
23
+ /**
24
+ * The native id associated with the `OfflineContentManager` emitting this event
25
+ */
26
+ nativeId: string;
27
+ /**
28
+ * The supplied id representing the source associated with the `OfflineContentManager` emitting this event.
29
+ */
30
+ identifier: string;
31
+ /**
32
+ * The `OfflineEventType` that correlates to which native `OfflineContentManagerListener` method was called.
33
+ */
34
+ eventType: T;
35
+ /**
36
+ * The current offline download state
37
+ */
38
+ state: OfflineState;
39
+ }
40
+ /**
41
+ * Emitted when the download process has completed.
42
+ * @remarks Platform: Android, iOS
43
+ */
44
+ export interface OnCompletedEvent extends OfflineEvent<OfflineEventType.onCompleted> {
45
+ /**
46
+ * The options that are available to download
47
+ */
48
+ options?: OfflineContentOptions;
49
+ }
50
+ /**
51
+ * Emitted when an error has occurred.
52
+ * @remarks Platform: Android, iOS
53
+ */
54
+ export interface OnErrorEvent extends OfflineEvent<OfflineEventType.onError> {
55
+ /**
56
+ * The error code of the process error
57
+ */
58
+ code?: number;
59
+ /**
60
+ * The error message of the process error
61
+ */
62
+ message?: string;
63
+ }
64
+ /**
65
+ * Emitted when there is a progress change for the process call.
66
+ * @remarks Platform: Android, iOS
67
+ */
68
+ export interface OnProgressEvent extends OfflineEvent<OfflineEventType.onProgress> {
69
+ /**
70
+ * The progress for the current process
71
+ */
72
+ progress: number;
73
+ }
74
+ /**
75
+ * Emitted when the `OfflineContentOptions` is available after a `OfflineContentManager.getOptions` call.
76
+ * @remarks Platform: Android, iOS
77
+ */
78
+ export interface OnOptionsAvailableEvent extends OfflineEvent<OfflineEventType.onOptionsAvailable> {
79
+ /**
80
+ * The options that are available to download
81
+ */
82
+ options?: OfflineContentOptions;
83
+ }
84
+ /**
85
+ * Emitted when the DRM license was updated.
86
+ * @remarks Platform: Android, iOS
87
+ */
88
+ export type OnDrmLicenseUpdatedEvent = OfflineEvent<OfflineEventType.onDrmLicenseUpdated>;
89
+ /**
90
+ * Emitted when the DRM license has expired.
91
+ * @remarks Platform: iOS
92
+ */
93
+ export type OnDrmLicenseExpiredEvent = OfflineEvent<OfflineEventType.onDrmLicenseExpired>;
94
+ /**
95
+ * Emitted when all active actions have been suspended.
96
+ * @remarks Platform: Android, iOS
97
+ */
98
+ export type OnSuspendedEvent = OfflineEvent<OfflineEventType.onSuspended>;
99
+ /**
100
+ * Emitted when all actions have been resumed.
101
+ * @remarks Platform: Android, iOS
102
+ */
103
+ export type OnResumedEvent = OfflineEvent<OfflineEventType.onResumed>;
104
+ /**
105
+ * Emitted when the download of the media content was canceled by the user and all partially downloaded content has been deleted from disk.
106
+ * @remarks Platform: Android, iOS
107
+ */
108
+ export type OnCanceledEvent = OfflineEvent<OfflineEventType.onCanceled>;
109
+ /**
110
+ * The type aggregation for all possible native offline events received from the `DeviceEventEmitter`
111
+ * @remarks Platform: Android, iOS
112
+ */
113
+ export type BitmovinNativeOfflineEventData = OnCompletedEvent | OnOptionsAvailableEvent | OnProgressEvent | OnErrorEvent | OnDrmLicenseUpdatedEvent | OnDrmLicenseExpiredEvent | OnSuspendedEvent | OnResumedEvent | OnCanceledEvent;
114
+ /**
115
+ * The listener that can be passed to the `OfflineContentManager` to receive callbacks for different events.
116
+ * @remarks Platform: Android, iOS
117
+ */
118
+ export interface OfflineContentManagerListener {
119
+ /**
120
+ * Emitted when the download process has completed.
121
+ *
122
+ * @param e The `OnCompletedEvent` that was emitted
123
+ */
124
+ onCompleted?: (e: OnCompletedEvent) => void;
125
+ /**
126
+ * Emitted when an error has occurred.
127
+ *
128
+ * @param e The `OnErrorEvent` that was emitted
129
+ */
130
+ onError?: (e: OnErrorEvent) => void;
131
+ /**
132
+ * Emitted when there is a progress change for the process call.
133
+ *
134
+ * @param e The `OnProgressEvent` that was emitted
135
+ */
136
+ onProgress?: (e: OnProgressEvent) => void;
137
+ /**
138
+ * Emitted when the `OfflineContentOptions` is available after a `OfflineContentManager.getOptions` call.
139
+ *
140
+ * @param e The `OnOptionsAvailableEvent` that was emitted
141
+ */
142
+ onOptionsAvailable?: (e: OnOptionsAvailableEvent) => void;
143
+ /**
144
+ * Emitted when the DRM license was updated.
145
+ *
146
+ * @param e The `OnDrmLicenseUpdatedEvent` that was emitted
147
+ */
148
+ onDrmLicenseUpdated?: (e: OnDrmLicenseUpdatedEvent) => void;
149
+ /**
150
+ * Emitted when the DRM license has expired.
151
+ *
152
+ * @param e The `OnDrmLicenseExpiredEvent` that was emitted
153
+ */
154
+ onDrmLicenseExpired?: (e: OnDrmLicenseExpiredEvent) => void;
155
+ /**
156
+ * Emitted when all active actions have been suspended.
157
+ *
158
+ * @param e The `OnSuspendedEvent` that was emitted
159
+ */
160
+ onSuspended?: (e: OnSuspendedEvent) => void;
161
+ /**
162
+ * Emitted when all actions have been resumed.
163
+ *
164
+ * @param e The `OnResumedEvent` that was emitted
165
+ */
166
+ onResumed?: (e: OnResumedEvent) => void;
167
+ /**
168
+ * Emitted when the download of the media content was canceled by the user and all partially downloaded content has been deleted from disk.
169
+ *
170
+ * @param e The `OnCanceledEvent` that was emitted
171
+ */
172
+ onCanceled?: (e: OnCanceledEvent) => void;
173
+ }
174
+ //# sourceMappingURL=offlineContentManagerListener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offlineContentManagerListener.d.ts","sourceRoot":"","sources":["../../src/offline/offlineContentManagerListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;GAGG;AACH,oBAAY,gBAAgB;IAC1B,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,UAAU,eAAe;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,gBAAgB;IACtD;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,EAAE,CAAC,CAAC;IACb;;OAEG;IACH,KAAK,EAAE,YAAY,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,gBACf,SAAQ,YAAY,CAAC,gBAAgB,CAAC,WAAW,CAAC;IAClD;;OAEG;IACH,OAAO,CAAC,EAAE,qBAAqB,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC;IAC1E;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,eACf,SAAQ,YAAY,CAAC,gBAAgB,CAAC,UAAU,CAAC;IACjD;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,uBACf,SAAQ,YAAY,CAAC,gBAAgB,CAAC,kBAAkB,CAAC;IACzD;;OAEG;IACH,OAAO,CAAC,EAAE,qBAAqB,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAClC,YAAY,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;AAErD;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAClC,YAAY,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;AAErD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;AAE1E;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAEtE;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;AAExE;;;GAGG;AACH,MAAM,MAAM,8BAA8B,GACtC,gBAAgB,GAChB,uBAAuB,GACvB,eAAe,GACf,YAAY,GACZ,wBAAwB,GACxB,wBAAwB,GACxB,gBAAgB,GAChB,cAAc,GACd,eAAe,CAAC;AAEpB;;;GAGG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC5C;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACpC;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1C;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAC1D;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAC5D;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAC5D;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC5C;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IACxC;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;CAC3C"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Enum to hold the `eventType` on the `BitmovinNativeOfflineEventData`
3
+ * @remarks Platform: Android, iOS
4
+ */
5
+ export var OfflineEventType;
6
+ (function (OfflineEventType) {
7
+ OfflineEventType["onCompleted"] = "onCompleted";
8
+ OfflineEventType["onError"] = "onError";
9
+ OfflineEventType["onProgress"] = "onProgress";
10
+ OfflineEventType["onOptionsAvailable"] = "onOptionsAvailable";
11
+ OfflineEventType["onDrmLicenseUpdated"] = "onDrmLicenseUpdated";
12
+ OfflineEventType["onDrmLicenseExpired"] = "onDrmLicenseExpired";
13
+ OfflineEventType["onSuspended"] = "onSuspended";
14
+ OfflineEventType["onResumed"] = "onResumed";
15
+ OfflineEventType["onCanceled"] = "onCanceled";
16
+ })(OfflineEventType || (OfflineEventType = {}));
17
+ //# sourceMappingURL=offlineContentManagerListener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offlineContentManagerListener.js","sourceRoot":"","sources":["../../src/offline/offlineContentManagerListener.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,CAAN,IAAY,gBAUX;AAVD,WAAY,gBAAgB;IAC1B,+CAA2B,CAAA;IAC3B,uCAAmB,CAAA;IACnB,6CAAyB,CAAA;IACzB,6DAAyC,CAAA;IACzC,+DAA2C,CAAA;IAC3C,+DAA2C,CAAA;IAC3C,+CAA2B,CAAA;IAC3B,2CAAuB,CAAA;IACvB,6CAAyB,CAAA;AAC3B,CAAC,EAVW,gBAAgB,KAAhB,gBAAgB,QAU3B","sourcesContent":["import { OfflineContentOptions } from './offlineContentOptions';\nimport { OfflineState } from './offlineState';\n\n/**\n * Enum to hold the `eventType` on the `BitmovinNativeOfflineEventData`\n * @remarks Platform: Android, iOS\n */\nexport enum OfflineEventType {\n onCompleted = 'onCompleted',\n onError = 'onError',\n onProgress = 'onProgress',\n onOptionsAvailable = 'onOptionsAvailable',\n onDrmLicenseUpdated = 'onDrmLicenseUpdated',\n onDrmLicenseExpired = 'onDrmLicenseExpired',\n onSuspended = 'onSuspended',\n onResumed = 'onResumed',\n onCanceled = 'onCanceled',\n}\n\n/**\n * The base interface for all offline events.\n * @remarks Platform: Android, iOS\n */\nexport interface OfflineEvent<T extends OfflineEventType> {\n /**\n * The native id associated with the `OfflineContentManager` emitting this event\n */\n nativeId: string;\n /**\n * The supplied id representing the source associated with the `OfflineContentManager` emitting this event.\n */\n identifier: string;\n /**\n * The `OfflineEventType` that correlates to which native `OfflineContentManagerListener` method was called.\n */\n eventType: T;\n /**\n * The current offline download state\n */\n state: OfflineState;\n}\n\n/**\n * Emitted when the download process has completed.\n * @remarks Platform: Android, iOS\n */\nexport interface OnCompletedEvent\n extends OfflineEvent<OfflineEventType.onCompleted> {\n /**\n * The options that are available to download\n */\n options?: OfflineContentOptions;\n}\n\n/**\n * Emitted when an error has occurred.\n * @remarks Platform: Android, iOS\n */\nexport interface OnErrorEvent extends OfflineEvent<OfflineEventType.onError> {\n /**\n * The error code of the process error\n */\n code?: number;\n /**\n * The error message of the process error\n */\n message?: string;\n}\n\n/**\n * Emitted when there is a progress change for the process call.\n * @remarks Platform: Android, iOS\n */\nexport interface OnProgressEvent\n extends OfflineEvent<OfflineEventType.onProgress> {\n /**\n * The progress for the current process\n */\n progress: number;\n}\n\n/**\n * Emitted when the `OfflineContentOptions` is available after a `OfflineContentManager.getOptions` call.\n * @remarks Platform: Android, iOS\n */\nexport interface OnOptionsAvailableEvent\n extends OfflineEvent<OfflineEventType.onOptionsAvailable> {\n /**\n * The options that are available to download\n */\n options?: OfflineContentOptions;\n}\n\n/**\n * Emitted when the DRM license was updated.\n * @remarks Platform: Android, iOS\n */\nexport type OnDrmLicenseUpdatedEvent =\n OfflineEvent<OfflineEventType.onDrmLicenseUpdated>;\n\n/**\n * Emitted when the DRM license has expired.\n * @remarks Platform: iOS\n */\nexport type OnDrmLicenseExpiredEvent =\n OfflineEvent<OfflineEventType.onDrmLicenseExpired>;\n\n/**\n * Emitted when all active actions have been suspended.\n * @remarks Platform: Android, iOS\n */\nexport type OnSuspendedEvent = OfflineEvent<OfflineEventType.onSuspended>;\n\n/**\n * Emitted when all actions have been resumed.\n * @remarks Platform: Android, iOS\n */\nexport type OnResumedEvent = OfflineEvent<OfflineEventType.onResumed>;\n\n/**\n * Emitted when the download of the media content was canceled by the user and all partially downloaded content has been deleted from disk.\n * @remarks Platform: Android, iOS\n */\nexport type OnCanceledEvent = OfflineEvent<OfflineEventType.onCanceled>;\n\n/**\n * The type aggregation for all possible native offline events received from the `DeviceEventEmitter`\n * @remarks Platform: Android, iOS\n */\nexport type BitmovinNativeOfflineEventData =\n | OnCompletedEvent\n | OnOptionsAvailableEvent\n | OnProgressEvent\n | OnErrorEvent\n | OnDrmLicenseUpdatedEvent\n | OnDrmLicenseExpiredEvent\n | OnSuspendedEvent\n | OnResumedEvent\n | OnCanceledEvent;\n\n/**\n * The listener that can be passed to the `OfflineContentManager` to receive callbacks for different events.\n * @remarks Platform: Android, iOS\n */\nexport interface OfflineContentManagerListener {\n /**\n * Emitted when the download process has completed.\n *\n * @param e The `OnCompletedEvent` that was emitted\n */\n onCompleted?: (e: OnCompletedEvent) => void;\n /**\n * Emitted when an error has occurred.\n *\n * @param e The `OnErrorEvent` that was emitted\n */\n onError?: (e: OnErrorEvent) => void;\n /**\n * Emitted when there is a progress change for the process call.\n *\n * @param e The `OnProgressEvent` that was emitted\n */\n onProgress?: (e: OnProgressEvent) => void;\n /**\n * Emitted when the `OfflineContentOptions` is available after a `OfflineContentManager.getOptions` call.\n *\n * @param e The `OnOptionsAvailableEvent` that was emitted\n */\n onOptionsAvailable?: (e: OnOptionsAvailableEvent) => void;\n /**\n * Emitted when the DRM license was updated.\n *\n * @param e The `OnDrmLicenseUpdatedEvent` that was emitted\n */\n onDrmLicenseUpdated?: (e: OnDrmLicenseUpdatedEvent) => void;\n /**\n * Emitted when the DRM license has expired.\n *\n * @param e The `OnDrmLicenseExpiredEvent` that was emitted\n */\n onDrmLicenseExpired?: (e: OnDrmLicenseExpiredEvent) => void;\n /**\n * Emitted when all active actions have been suspended.\n *\n * @param e The `OnSuspendedEvent` that was emitted\n */\n onSuspended?: (e: OnSuspendedEvent) => void;\n /**\n * Emitted when all actions have been resumed.\n *\n * @param e The `OnResumedEvent` that was emitted\n */\n onResumed?: (e: OnResumedEvent) => void;\n /**\n * Emitted when the download of the media content was canceled by the user and all partially downloaded content has been deleted from disk.\n *\n * @param e The `OnCanceledEvent` that was emitted\n */\n onCanceled?: (e: OnCanceledEvent) => void;\n}\n"]}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Superclass of entries which can be selected to download for offline playback
3
+ * @remarks Platform: Android, iOS
4
+ */
5
+ export interface OfflineContentOptionEntry {
6
+ /**
7
+ * The ID of the option.
8
+ */
9
+ id: string;
10
+ /**
11
+ * The language of the option.
12
+ */
13
+ language?: string;
14
+ }
15
+ /**
16
+ * Represents the downloadable options provided via the `onOptionsAvailable` callback on `OfflineContentManagerListener`
17
+ * @remarks Platform: Android, iOS
18
+ */
19
+ export interface OfflineContentOptions {
20
+ /**
21
+ * Represents the audio options available for download
22
+ */
23
+ audioOptions: OfflineContentOptionEntry[];
24
+ /**
25
+ * Represents the text options available for download
26
+ */
27
+ textOptions: OfflineContentOptionEntry[];
28
+ }
29
+ //# sourceMappingURL=offlineContentOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offlineContentOptions.d.ts","sourceRoot":"","sources":["../../src/offline/offlineContentOptions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,YAAY,EAAE,yBAAyB,EAAE,CAAC;IAC1C;;OAEG;IACH,WAAW,EAAE,yBAAyB,EAAE,CAAC;CAC1C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=offlineContentOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offlineContentOptions.js","sourceRoot":"","sources":["../../src/offline/offlineContentOptions.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Superclass of entries which can be selected to download for offline playback\n * @remarks Platform: Android, iOS\n */\nexport interface OfflineContentOptionEntry {\n /**\n * The ID of the option.\n */\n id: string;\n /**\n * The language of the option.\n */\n language?: string;\n}\n\n/**\n * Represents the downloadable options provided via the `onOptionsAvailable` callback on `OfflineContentManagerListener`\n * @remarks Platform: Android, iOS\n */\nexport interface OfflineContentOptions {\n /**\n * Represents the audio options available for download\n */\n audioOptions: OfflineContentOptionEntry[];\n /**\n * Represents the text options available for download\n */\n textOptions: OfflineContentOptionEntry[];\n}\n"]}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Represents the configuration to start a download.
3
+ * @remarks Platform: Android, iOS
4
+ */
5
+ export interface OfflineDownloadRequest {
6
+ /**
7
+ * Minimum video bitrate to download. The nearest higher available bitrate will be selected.
8
+ */
9
+ minimumBitrate?: number;
10
+ /**
11
+ * Audio tracks with IDs to download.
12
+ */
13
+ audioOptionIds?: string[];
14
+ /**
15
+ * Text tracks with IDs to download.
16
+ */
17
+ textOptionIds?: string[];
18
+ }
19
+ //# sourceMappingURL=offlineDownloadRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offlineDownloadRequest.d.ts","sourceRoot":"","sources":["../../src/offline/offlineDownloadRequest.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=offlineDownloadRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offlineDownloadRequest.js","sourceRoot":"","sources":["../../src/offline/offlineDownloadRequest.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Represents the configuration to start a download.\n * @remarks Platform: Android, iOS\n */\nexport interface OfflineDownloadRequest {\n /**\n * Minimum video bitrate to download. The nearest higher available bitrate will be selected.\n */\n minimumBitrate?: number;\n\n /**\n * Audio tracks with IDs to download.\n */\n audioOptionIds?: string[];\n\n /**\n * Text tracks with IDs to download.\n */\n textOptionIds?: string[];\n}\n"]}
@@ -0,0 +1,32 @@
1
+ import { NativeModule } from 'expo-modules-core';
2
+ import { SourceConfig } from '../source';
3
+ import { OfflineDownloadRequest } from './offlineDownloadRequest';
4
+ import { BitmovinNativeOfflineEventData } from './offlineContentManagerListener';
5
+ export type OfflineModuleEvents = {
6
+ onBitmovinOfflineEvent: (event: BitmovinNativeOfflineEventData) => void;
7
+ };
8
+ /**
9
+ * Native OfflineModule using Expo modules API.
10
+ * Provides modern async/await interface while maintaining backward compatibility.
11
+ */
12
+ declare class OfflineModule extends NativeModule<OfflineModuleEvents> {
13
+ initializeWithConfig(nativeId: string, config: {
14
+ identifier: string;
15
+ sourceConfig: SourceConfig;
16
+ }, drmNativeId: string | undefined): Promise<void>;
17
+ getState(nativeId: string): Promise<string>;
18
+ getOptions(nativeId: string): Promise<void>;
19
+ download(nativeId: string, request: OfflineDownloadRequest): Promise<void>;
20
+ resume(nativeId: string): Promise<void>;
21
+ suspend(nativeId: string): Promise<void>;
22
+ cancelDownload(nativeId: string): Promise<void>;
23
+ usedStorage(nativeId: string): Promise<number>;
24
+ deleteAll(nativeId: string): Promise<void>;
25
+ downloadLicense(nativeId: string): Promise<void>;
26
+ releaseLicense(nativeId: string): Promise<void>;
27
+ renewOfflineLicense(nativeId: string): Promise<void>;
28
+ release(nativeId: string): Promise<void>;
29
+ }
30
+ declare const _default: OfflineModule;
31
+ export default _default;
32
+ //# sourceMappingURL=offlineModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offlineModule.d.ts","sourceRoot":"","sources":["../../src/offline/offlineModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAuB,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AAEjF,MAAM,MAAM,mBAAmB,GAAG;IAChC,sBAAsB,EAAE,CAAC,KAAK,EAAE,8BAA8B,KAAK,IAAI,CAAC;CACzE,CAAC;AAEF;;;GAGG;AACH,OAAO,OAAO,aAAc,SAAQ,YAAY,CAAC,mBAAmB,CAAC;IACnE,oBAAoB,CAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,YAAY,CAAA;KAAE,EAC1D,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,OAAO,CAAC,IAAI,CAAC;IAEhB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAE3C,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAE3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1E,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEvC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAExC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAE/C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAE9C,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1C,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEhD,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAE/C,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEpD,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CACzC;;AAED,wBAAmE"}
@@ -0,0 +1,3 @@
1
+ import { requireNativeModule } from 'expo-modules-core';
2
+ export default requireNativeModule('OfflineModule');
3
+ //# sourceMappingURL=offlineModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offlineModule.js","sourceRoot":"","sources":["../../src/offline/offlineModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AA6CtE,eAAe,mBAAmB,CAAgB,eAAe,CAAC,CAAC","sourcesContent":["import { NativeModule, requireNativeModule } from 'expo-modules-core';\nimport { SourceConfig } from '../source';\nimport { OfflineDownloadRequest } from './offlineDownloadRequest';\nimport { BitmovinNativeOfflineEventData } from './offlineContentManagerListener';\n\nexport type OfflineModuleEvents = {\n onBitmovinOfflineEvent: (event: BitmovinNativeOfflineEventData) => void;\n};\n\n/**\n * Native OfflineModule using Expo modules API.\n * Provides modern async/await interface while maintaining backward compatibility.\n */\ndeclare class OfflineModule extends NativeModule<OfflineModuleEvents> {\n initializeWithConfig(\n nativeId: string,\n config: { identifier: string; sourceConfig: SourceConfig },\n drmNativeId: string | undefined\n ): Promise<void>;\n\n getState(nativeId: string): Promise<string>;\n\n getOptions(nativeId: string): Promise<void>;\n\n download(nativeId: string, request: OfflineDownloadRequest): Promise<void>;\n\n resume(nativeId: string): Promise<void>;\n\n suspend(nativeId: string): Promise<void>;\n\n cancelDownload(nativeId: string): Promise<void>;\n\n usedStorage(nativeId: string): Promise<number>;\n\n deleteAll(nativeId: string): Promise<void>;\n\n downloadLicense(nativeId: string): Promise<void>;\n\n releaseLicense(nativeId: string): Promise<void>;\n\n renewOfflineLicense(nativeId: string): Promise<void>;\n\n release(nativeId: string): Promise<void>;\n}\n\nexport default requireNativeModule<OfflineModule>('OfflineModule');\n"]}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Object used configure how the native offline managers create and get offline source configurations
3
+ * @remarks Platform: Android, iOS
4
+ */
5
+ export interface OfflineSourceOptions {
6
+ /**
7
+ * Whether or not the player should restrict playback only to audio, video and subtitle tracks which are stored offline on the device. This has to be set to true if the device has no network access.
8
+ * @remarks Platform: iOS
9
+ */
10
+ restrictedToAssetCache?: boolean;
11
+ }
12
+ //# sourceMappingURL=offlineSourceOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offlineSourceOptions.d.ts","sourceRoot":"","sources":["../../src/offline/offlineSourceOptions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=offlineSourceOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offlineSourceOptions.js","sourceRoot":"","sources":["../../src/offline/offlineSourceOptions.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Object used configure how the native offline managers create and get offline source configurations\n * @remarks Platform: Android, iOS\n */\nexport interface OfflineSourceOptions {\n /**\n * Whether or not the player should restrict playback only to audio, video and subtitle tracks which are stored offline on the device. This has to be set to true if the device has no network access.\n * @remarks Platform: iOS\n */\n restrictedToAssetCache?: boolean;\n}\n"]}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Contains the state an OfflineContentManager can have.
3
+ * @remarks Platform: Android, iOS
4
+ */
5
+ export declare enum OfflineState {
6
+ /**
7
+ * The offline content is downloaded and ready for offline playback.
8
+ */
9
+ Downloaded = "Downloaded",
10
+ /**
11
+ * The offline content is currently downloading.
12
+ */
13
+ Downloading = "Downloading",
14
+ /**
15
+ * The download of the offline content is suspended, and is only partly downloaded yet.
16
+ */
17
+ Suspended = "Suspended",
18
+ /**
19
+ * The offline content is not downloaded. However, some data may be still cached.
20
+ */
21
+ NotDownloaded = "NotDownloaded"
22
+ }
23
+ //# sourceMappingURL=offlineState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offlineState.d.ts","sourceRoot":"","sources":["../../src/offline/offlineState.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,YAAY;IACtB;;OAEG;IACH,UAAU,eAAe;IACzB;;OAEG;IACH,WAAW,gBAAgB;IAC3B;;OAEG;IACH,SAAS,cAAc;IACvB;;OAEG;IACH,aAAa,kBAAkB;CAChC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Contains the state an OfflineContentManager can have.
3
+ * @remarks Platform: Android, iOS
4
+ */
5
+ export var OfflineState;
6
+ (function (OfflineState) {
7
+ /**
8
+ * The offline content is downloaded and ready for offline playback.
9
+ */
10
+ OfflineState["Downloaded"] = "Downloaded";
11
+ /**
12
+ * The offline content is currently downloading.
13
+ */
14
+ OfflineState["Downloading"] = "Downloading";
15
+ /**
16
+ * The download of the offline content is suspended, and is only partly downloaded yet.
17
+ */
18
+ OfflineState["Suspended"] = "Suspended";
19
+ /**
20
+ * The offline content is not downloaded. However, some data may be still cached.
21
+ */
22
+ OfflineState["NotDownloaded"] = "NotDownloaded";
23
+ })(OfflineState || (OfflineState = {}));
24
+ //# sourceMappingURL=offlineState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offlineState.js","sourceRoot":"","sources":["../../src/offline/offlineState.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAN,IAAY,YAiBX;AAjBD,WAAY,YAAY;IACtB;;OAEG;IACH,yCAAyB,CAAA;IACzB;;OAEG;IACH,2CAA2B,CAAA;IAC3B;;OAEG;IACH,uCAAuB,CAAA;IACvB;;OAEG;IACH,+CAA+B,CAAA;AACjC,CAAC,EAjBW,YAAY,KAAZ,YAAY,QAiBvB","sourcesContent":["/**\n * Contains the state an OfflineContentManager can have.\n * @remarks Platform: Android, iOS\n */\nexport enum OfflineState {\n /**\n * The offline content is downloaded and ready for offline playback.\n */\n Downloaded = 'Downloaded',\n /**\n * The offline content is currently downloading.\n */\n Downloading = 'Downloading',\n /**\n * The download of the offline content is suspended, and is only partly downloaded yet.\n */\n Suspended = 'Suspended',\n /**\n * The offline content is not downloaded. However, some data may be still cached.\n */\n NotDownloaded = 'NotDownloaded',\n}\n"]}
@@ -0,0 +1,88 @@
1
+ import { DecoderConfig } from './decoder/decoderConfig';
2
+ /**
3
+ * Configures the playback behaviour of the player.
4
+ */
5
+ export interface PlaybackConfig {
6
+ /**
7
+ * Whether the player starts playing automatically after loading a source or not. Default is `false`.
8
+ * @example
9
+ * ```
10
+ * const player = new Player({
11
+ * playbackConfig: {
12
+ * isAutoplayEnabled: true,
13
+ * },
14
+ * });
15
+ * ```
16
+ */
17
+ isAutoplayEnabled?: boolean;
18
+ /**
19
+ * Whether the sound is muted on startup or not. Default value is `false`.
20
+ * @example
21
+ * ```
22
+ * const player = new Player({
23
+ * playbackConfig: {
24
+ * isMuted: true,
25
+ * },
26
+ * });
27
+ * ```
28
+ */
29
+ isMuted?: boolean;
30
+ /**
31
+ * Whether time shift / DVR for live streams is enabled or not. Default is `true`.
32
+ * @example
33
+ * ```
34
+ * const player = new Player({
35
+ * playbackConfig: {
36
+ * isTimeShiftEnabled: false,
37
+ * },
38
+ * });
39
+ * ```
40
+ */
41
+ isTimeShiftEnabled?: boolean;
42
+ /**
43
+ * Whether background playback is enabled or not.
44
+ * Default is `false`.
45
+ *
46
+ * When set to `true`, playback is not automatically paused
47
+ * anymore when the app moves to the background.
48
+ * When set to `true`, also make sure to properly configure your app to allow
49
+ * background playback.
50
+ *
51
+ * Default is `false`.
52
+ *
53
+ * @remarks
54
+ * - On Android, {@link MediaControlConfig.isEnabled} has to be `true` for
55
+ * background playback to work.
56
+ * - On tvOS, background playback is only supported for audio-only content.
57
+ *
58
+ * @example
59
+ * ```
60
+ * const player = new Player({
61
+ * playbackConfig: {
62
+ * isBackgroundPlaybackEnabled: true,
63
+ * },
64
+ * });
65
+ * ```
66
+ */
67
+ isBackgroundPlaybackEnabled?: boolean;
68
+ /**
69
+ * Whether the Picture in Picture mode option is enabled or not. Default is `false`.
70
+ * @example
71
+ * ```
72
+ * const player = new Player({
73
+ * playbackConfig: {
74
+ * isPictureInPictureEnabled: true,
75
+ * },
76
+ * });
77
+ * ```
78
+ * @deprecated Use {@link PictureInPictureConfig.isEnabled} instead.
79
+ */
80
+ isPictureInPictureEnabled?: boolean;
81
+ /**
82
+ * Configures decoder behaviour.
83
+ *
84
+ * @remarks Platform: Android
85
+ */
86
+ decoderConfig?: DecoderConfig;
87
+ }
88
+ //# sourceMappingURL=playbackConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playbackConfig.d.ts","sourceRoot":"","sources":["../src/playbackConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC;;;;;;;;;;;OAWG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=playbackConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playbackConfig.js","sourceRoot":"","sources":["../src/playbackConfig.ts"],"names":[],"mappings":"","sourcesContent":["import { DecoderConfig } from './decoder/decoderConfig';\n\n/**\n * Configures the playback behaviour of the player.\n */\nexport interface PlaybackConfig {\n /**\n * Whether the player starts playing automatically after loading a source or not. Default is `false`.\n * @example\n * ```\n * const player = new Player({\n * playbackConfig: {\n * isAutoplayEnabled: true,\n * },\n * });\n * ```\n */\n isAutoplayEnabled?: boolean;\n /**\n * Whether the sound is muted on startup or not. Default value is `false`.\n * @example\n * ```\n * const player = new Player({\n * playbackConfig: {\n * isMuted: true,\n * },\n * });\n * ```\n */\n isMuted?: boolean;\n /**\n * Whether time shift / DVR for live streams is enabled or not. Default is `true`.\n * @example\n * ```\n * const player = new Player({\n * playbackConfig: {\n * isTimeShiftEnabled: false,\n * },\n * });\n * ```\n */\n isTimeShiftEnabled?: boolean;\n /**\n * Whether background playback is enabled or not.\n * Default is `false`.\n *\n * When set to `true`, playback is not automatically paused\n * anymore when the app moves to the background.\n * When set to `true`, also make sure to properly configure your app to allow\n * background playback.\n *\n * Default is `false`.\n *\n * @remarks\n * - On Android, {@link MediaControlConfig.isEnabled} has to be `true` for\n * background playback to work.\n * - On tvOS, background playback is only supported for audio-only content.\n *\n * @example\n * ```\n * const player = new Player({\n * playbackConfig: {\n * isBackgroundPlaybackEnabled: true,\n * },\n * });\n * ```\n */\n isBackgroundPlaybackEnabled?: boolean;\n /**\n * Whether the Picture in Picture mode option is enabled or not. Default is `false`.\n * @example\n * ```\n * const player = new Player({\n * playbackConfig: {\n * isPictureInPictureEnabled: true,\n * },\n * });\n * ```\n * @deprecated Use {@link PictureInPictureConfig.isEnabled} instead.\n */\n isPictureInPictureEnabled?: boolean;\n\n /**\n * Configures decoder behaviour.\n *\n * @remarks Platform: Android\n */\n decoderConfig?: DecoderConfig;\n}\n"]}