unified-video-framework 1.4.536 → 1.4.538

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 (283) hide show
  1. package/README.md +4 -4
  2. package/package.json +8 -8
  3. package/packages/core/dist/BasePlayer.d.ts +60 -60
  4. package/packages/core/dist/BasePlayer.js +181 -181
  5. package/packages/core/dist/BasePlayer.js.map +1 -1
  6. package/packages/core/dist/VideoPlayer.d.ts +69 -70
  7. package/packages/core/dist/VideoPlayer.d.ts.map +1 -1
  8. package/packages/core/dist/VideoPlayer.js +129 -129
  9. package/packages/core/dist/VideoPlayer.js.map +1 -1
  10. package/packages/core/dist/VideoPlayerFactory.d.ts +7 -7
  11. package/packages/core/dist/VideoPlayerFactory.js +103 -103
  12. package/packages/core/dist/VideoPlayerFactory.js.map +1 -1
  13. package/packages/core/dist/analytics/adapters/PlayerAnalyticsAdapter.d.ts +17 -17
  14. package/packages/core/dist/analytics/adapters/PlayerAnalyticsAdapter.js +116 -116
  15. package/packages/core/dist/analytics/adapters/PlayerAnalyticsAdapter.js.map +1 -1
  16. package/packages/core/dist/analytics/core/AnalyticsProvider.d.ts +17 -17
  17. package/packages/core/dist/analytics/core/AnalyticsProvider.js +98 -98
  18. package/packages/core/dist/analytics/core/AnalyticsProvider.js.map +1 -1
  19. package/packages/core/dist/analytics/core/DynamicAnalyticsManager.d.ts +19 -19
  20. package/packages/core/dist/analytics/core/DynamicAnalyticsManager.js +160 -160
  21. package/packages/core/dist/analytics/core/DynamicAnalyticsManager.js.map +1 -1
  22. package/packages/core/dist/analytics/core/EventBatcher.d.ts +31 -31
  23. package/packages/core/dist/analytics/core/EventBatcher.js +97 -97
  24. package/packages/core/dist/analytics/core/EventBatcher.js.map +1 -1
  25. package/packages/core/dist/analytics/core/PlayerAnalytics.d.ts +18 -18
  26. package/packages/core/dist/analytics/core/PlayerAnalytics.js +79 -79
  27. package/packages/core/dist/analytics/core/PlayerAnalytics.js.map +1 -1
  28. package/packages/core/dist/analytics/index.d.ts +12 -12
  29. package/packages/core/dist/analytics/index.js +12 -12
  30. package/packages/core/dist/analytics/types/AnalyticsTypes.d.ts +238 -238
  31. package/packages/core/dist/analytics/types/AnalyticsTypes.js +7 -7
  32. package/packages/core/dist/analytics/utils/DeviceDetection.d.ts +26 -26
  33. package/packages/core/dist/analytics/utils/DeviceDetection.js +183 -183
  34. package/packages/core/dist/analytics/utils/DeviceDetection.js.map +1 -1
  35. package/packages/core/dist/chapter-manager.d.ts +38 -38
  36. package/packages/core/dist/chapter-manager.js +172 -172
  37. package/packages/core/dist/chapter-manager.js.map +1 -1
  38. package/packages/core/dist/index.d.ts +11 -11
  39. package/packages/core/dist/index.js +8 -8
  40. package/packages/core/dist/interfaces/IVideoPlayer.d.ts +287 -287
  41. package/packages/core/dist/interfaces/IVideoPlayer.js +1 -1
  42. package/packages/core/dist/interfaces.d.ts +524 -515
  43. package/packages/core/dist/interfaces.d.ts.map +1 -1
  44. package/packages/core/dist/interfaces.js +31 -31
  45. package/packages/core/dist/telemetry/TelemetryManager.d.ts +20 -20
  46. package/packages/core/dist/telemetry/TelemetryManager.js +62 -62
  47. package/packages/core/dist/telemetry/TelemetryManager.js.map +1 -1
  48. package/packages/core/dist/utils/EventEmitter.d.ts +13 -13
  49. package/packages/core/dist/utils/EventEmitter.js +54 -54
  50. package/packages/core/dist/utils/EventEmitter.js.map +1 -1
  51. package/packages/core/dist/utils/PlatformDetector.d.ts +28 -28
  52. package/packages/core/dist/utils/PlatformDetector.js +258 -258
  53. package/packages/core/dist/utils/PlatformDetector.js.map +1 -1
  54. package/packages/core/dist/version.d.ts +1 -1
  55. package/packages/core/dist/version.js +1 -1
  56. package/packages/core/package.json +1 -1
  57. package/packages/core/src/interfaces.ts +9 -0
  58. package/packages/core/src/version.ts +1 -1
  59. package/packages/react-native/dist/ReactNativePlayer.d.ts +48 -48
  60. package/packages/react-native/dist/ReactNativePlayer.js +351 -341
  61. package/packages/react-native/dist/ReactNativePlayer.js.map +1 -1
  62. package/packages/react-native/dist/VideoPlayer.d.ts +40 -40
  63. package/packages/react-native/dist/VideoPlayer.js +165 -155
  64. package/packages/react-native/dist/VideoPlayer.js.map +1 -1
  65. package/packages/react-native/dist/index.d.ts +4 -4
  66. package/packages/react-native/dist/index.js +8 -8
  67. package/packages/react-native/dist/utils/EventEmitter.d.ts +13 -13
  68. package/packages/react-native/dist/utils/EventEmitter.js +58 -58
  69. package/packages/react-native/dist/utils/EventEmitter.js.map +1 -1
  70. package/packages/react-native/package.json +1 -1
  71. package/packages/web/dist/WebPlayer.d.ts +368 -368
  72. package/packages/web/dist/WebPlayer.js +7524 -7524
  73. package/packages/web/dist/WebPlayer.js.map +1 -1
  74. package/packages/web/dist/ads/GoogleAdsManager.d.ts +63 -63
  75. package/packages/web/dist/ads/GoogleAdsManager.js +459 -459
  76. package/packages/web/dist/ads/GoogleAdsManager.js.map +1 -1
  77. package/packages/web/dist/chapters/ChapterManager.d.ts +41 -41
  78. package/packages/web/dist/chapters/ChapterManager.js +371 -371
  79. package/packages/web/dist/chapters/ChapterManager.js.map +1 -1
  80. package/packages/web/dist/chapters/CreditsButtonController.d.ts +45 -45
  81. package/packages/web/dist/chapters/CreditsButtonController.js +283 -283
  82. package/packages/web/dist/chapters/CreditsButtonController.js.map +1 -1
  83. package/packages/web/dist/chapters/SkipButtonController.d.ts +30 -30
  84. package/packages/web/dist/chapters/SkipButtonController.js +212 -212
  85. package/packages/web/dist/chapters/SkipButtonController.js.map +1 -1
  86. package/packages/web/dist/chapters/UserPreferencesManager.d.ts +24 -24
  87. package/packages/web/dist/chapters/UserPreferencesManager.js +181 -181
  88. package/packages/web/dist/chapters/UserPreferencesManager.js.map +1 -1
  89. package/packages/web/dist/chapters/index.d.ts +11 -11
  90. package/packages/web/dist/chapters/index.js +7 -7
  91. package/packages/web/dist/chapters/types/ChapterTypes.d.ts +135 -135
  92. package/packages/web/dist/chapters/types/ChapterTypes.js +31 -31
  93. package/packages/web/dist/drm/DRMManager.d.ts +14 -19
  94. package/packages/web/dist/drm/DRMManager.d.ts.map +1 -1
  95. package/packages/web/dist/drm/DRMManager.js +65 -129
  96. package/packages/web/dist/drm/DRMManager.js.map +1 -1
  97. package/packages/web/dist/drm/index.d.ts +15 -15
  98. package/packages/web/dist/drm/index.d.ts.map +1 -1
  99. package/packages/web/dist/drm/index.js +13 -13
  100. package/packages/web/dist/drm/index.js.map +1 -1
  101. package/packages/web/dist/drm/providers/BunnyNetProvider.d.ts +5 -18
  102. package/packages/web/dist/drm/providers/BunnyNetProvider.d.ts.map +1 -1
  103. package/packages/web/dist/drm/providers/BunnyNetProvider.js +12 -111
  104. package/packages/web/dist/drm/providers/BunnyNetProvider.js.map +1 -1
  105. package/packages/web/dist/drm/providers/GenericProvider.d.ts +9 -29
  106. package/packages/web/dist/drm/providers/GenericProvider.d.ts.map +1 -1
  107. package/packages/web/dist/drm/providers/GenericProvider.js +10 -103
  108. package/packages/web/dist/drm/providers/GenericProvider.js.map +1 -1
  109. package/packages/web/dist/drm/systems/BaseDRM.d.ts +14 -17
  110. package/packages/web/dist/drm/systems/BaseDRM.d.ts.map +1 -1
  111. package/packages/web/dist/drm/systems/BaseDRM.js +23 -28
  112. package/packages/web/dist/drm/systems/BaseDRM.js.map +1 -1
  113. package/packages/web/dist/drm/systems/FairPlayDRM.d.ts +9 -31
  114. package/packages/web/dist/drm/systems/FairPlayDRM.d.ts.map +1 -1
  115. package/packages/web/dist/drm/systems/FairPlayDRM.js +45 -207
  116. package/packages/web/dist/drm/systems/FairPlayDRM.js.map +1 -1
  117. package/packages/web/dist/drm/systems/PlayReadyDRM.d.ts +8 -8
  118. package/packages/web/dist/drm/systems/PlayReadyDRM.d.ts.map +1 -1
  119. package/packages/web/dist/drm/systems/PlayReadyDRM.js +38 -113
  120. package/packages/web/dist/drm/systems/PlayReadyDRM.js.map +1 -1
  121. package/packages/web/dist/drm/systems/WidevineDRM.d.ts +9 -8
  122. package/packages/web/dist/drm/systems/WidevineDRM.d.ts.map +1 -1
  123. package/packages/web/dist/drm/systems/WidevineDRM.js +62 -158
  124. package/packages/web/dist/drm/systems/WidevineDRM.js.map +1 -1
  125. package/packages/web/dist/drm/types/BunnyNetTypes.d.ts +15 -19
  126. package/packages/web/dist/drm/types/BunnyNetTypes.d.ts.map +1 -1
  127. package/packages/web/dist/drm/types/BunnyNetTypes.js +5 -7
  128. package/packages/web/dist/drm/types/BunnyNetTypes.js.map +1 -1
  129. package/packages/web/dist/drm/types/DRMTypes.d.ts +54 -59
  130. package/packages/web/dist/drm/types/DRMTypes.d.ts.map +1 -1
  131. package/packages/web/dist/drm/types/DRMTypes.js +16 -21
  132. package/packages/web/dist/drm/types/DRMTypes.js.map +1 -1
  133. package/packages/web/dist/drm/utils/BrowserDetector.d.ts +5 -19
  134. package/packages/web/dist/drm/utils/BrowserDetector.d.ts.map +1 -1
  135. package/packages/web/dist/drm/utils/BrowserDetector.js +34 -210
  136. package/packages/web/dist/drm/utils/BrowserDetector.js.map +1 -1
  137. package/packages/web/dist/drm/utils/CertificateManager.d.ts +5 -14
  138. package/packages/web/dist/drm/utils/CertificateManager.d.ts.map +1 -1
  139. package/packages/web/dist/drm/utils/CertificateManager.js +33 -45
  140. package/packages/web/dist/drm/utils/CertificateManager.js.map +1 -1
  141. package/packages/web/dist/drm/utils/DRMErrorHandler.d.ts +6 -6
  142. package/packages/web/dist/drm/utils/DRMErrorHandler.d.ts.map +1 -1
  143. package/packages/web/dist/drm/utils/DRMErrorHandler.js +35 -48
  144. package/packages/web/dist/drm/utils/DRMErrorHandler.js.map +1 -1
  145. package/packages/web/dist/index.d.ts +6 -6
  146. package/packages/web/dist/index.js +5 -5
  147. package/packages/web/dist/paywall/EmailAuthController.d.ts +59 -59
  148. package/packages/web/dist/paywall/EmailAuthController.js +575 -575
  149. package/packages/web/dist/paywall/EmailAuthController.js.map +1 -1
  150. package/packages/web/dist/paywall/PaywallController.d.ts +74 -73
  151. package/packages/web/dist/paywall/PaywallController.d.ts.map +1 -1
  152. package/packages/web/dist/paywall/PaywallController.js +835 -774
  153. package/packages/web/dist/paywall/PaywallController.js.map +1 -1
  154. package/packages/web/dist/react/EPG.d.ts +7 -7
  155. package/packages/web/dist/react/EPG.js +6 -6
  156. package/packages/web/dist/react/WebPlayerView.d.ts +406 -406
  157. package/packages/web/dist/react/WebPlayerView.js +1337 -1337
  158. package/packages/web/dist/react/WebPlayerView.js.map +1 -1
  159. package/packages/web/dist/react/components/ChapterProgress.d.ts +21 -21
  160. package/packages/web/dist/react/components/ChapterProgress.js +100 -100
  161. package/packages/web/dist/react/components/ChapterProgress.js.map +1 -1
  162. package/packages/web/dist/react/components/EPGNavigationControls.d.ts +14 -14
  163. package/packages/web/dist/react/components/EPGNavigationControls.d.ts.map +1 -1
  164. package/packages/web/dist/react/components/EPGNavigationControls.js +227 -226
  165. package/packages/web/dist/react/components/EPGNavigationControls.js.map +1 -1
  166. package/packages/web/dist/react/components/EPGOverlay-improved-positioning.d.ts +4 -4
  167. package/packages/web/dist/react/components/EPGOverlay-improved-positioning.js +336 -336
  168. package/packages/web/dist/react/components/EPGOverlay-improved-positioning.js.map +1 -1
  169. package/packages/web/dist/react/components/EPGOverlay.d.ts +4 -4
  170. package/packages/web/dist/react/components/EPGOverlay.js +388 -388
  171. package/packages/web/dist/react/components/EPGOverlay.js.map +1 -1
  172. package/packages/web/dist/react/components/EPGProgramDetails.d.ts +13 -13
  173. package/packages/web/dist/react/components/EPGProgramDetails.js +394 -394
  174. package/packages/web/dist/react/components/EPGProgramDetails.js.map +1 -1
  175. package/packages/web/dist/react/components/EPGProgramGrid.d.ts +22 -22
  176. package/packages/web/dist/react/components/EPGProgramGrid.js +322 -322
  177. package/packages/web/dist/react/components/EPGProgramGrid.js.map +1 -1
  178. package/packages/web/dist/react/components/EPGTimelineHeader.d.ts +15 -15
  179. package/packages/web/dist/react/components/EPGTimelineHeader.js +151 -151
  180. package/packages/web/dist/react/components/EPGTimelineHeader.js.map +1 -1
  181. package/packages/web/dist/react/components/SkipButton.d.ts +17 -17
  182. package/packages/web/dist/react/components/SkipButton.js +155 -155
  183. package/packages/web/dist/react/components/SkipButton.js.map +1 -1
  184. package/packages/web/dist/react/components/commerce/ProductBadge.d.ts +9 -9
  185. package/packages/web/dist/react/components/commerce/ProductBadge.js +76 -76
  186. package/packages/web/dist/react/components/commerce/ProductBadge.js.map +1 -1
  187. package/packages/web/dist/react/components/commerce/ProductPanel.d.ts +12 -12
  188. package/packages/web/dist/react/components/commerce/ProductPanel.js +40 -40
  189. package/packages/web/dist/react/components/playlist/PlaylistPanel.d.ts +20 -20
  190. package/packages/web/dist/react/components/playlist/PlaylistPanel.js +224 -224
  191. package/packages/web/dist/react/components/playlist/PlaylistPanel.js.map +1 -1
  192. package/packages/web/dist/react/examples/google-ads-example.d.ts +3 -3
  193. package/packages/web/dist/react/examples/google-ads-example.js +91 -91
  194. package/packages/web/dist/react/hooks/useChapters.d.ts +28 -28
  195. package/packages/web/dist/react/hooks/useChapters.js +157 -157
  196. package/packages/web/dist/react/hooks/useChapters.js.map +1 -1
  197. package/packages/web/dist/react/hooks/useCommerceSync.d.ts +7 -7
  198. package/packages/web/dist/react/hooks/useCommerceSync.js +39 -39
  199. package/packages/web/dist/react/hooks/useCommerceSync.js.map +1 -1
  200. package/packages/web/dist/react/types/EPGTypes.d.ts +115 -116
  201. package/packages/web/dist/react/types/EPGTypes.d.ts.map +1 -1
  202. package/packages/web/dist/react/types/EPGTypes.js +7 -7
  203. package/packages/web/dist/react/types/FlashNewsTickerTypes.d.ts +145 -145
  204. package/packages/web/dist/react/types/FlashNewsTickerTypes.js +1 -1
  205. package/packages/web/dist/react/types/PlaylistTypes.d.ts +23 -23
  206. package/packages/web/dist/react/types/PlaylistTypes.js +1 -1
  207. package/packages/web/dist/react/types/ThumbnailPreviewTypes.d.ts +25 -25
  208. package/packages/web/dist/react/types/ThumbnailPreviewTypes.js +1 -1
  209. package/packages/web/dist/react/types/VideoCommerceTypes.d.ts +108 -108
  210. package/packages/web/dist/react/types/VideoCommerceTypes.js +1 -1
  211. package/packages/web/dist/react/utils/ColorUtils.d.ts +7 -7
  212. package/packages/web/dist/react/utils/ColorUtils.js +14 -14
  213. package/packages/web/dist/react/utils/EPGUtils.d.ts +20 -20
  214. package/packages/web/dist/react/utils/EPGUtils.d.ts.map +1 -1
  215. package/packages/web/dist/react/utils/EPGUtils.js +154 -154
  216. package/packages/web/dist/react/utils/EPGUtils.js.map +1 -1
  217. package/packages/web/dist/test/epg-test.d.ts +2 -2
  218. package/packages/web/dist/test/epg-test.js +80 -80
  219. package/packages/web/dist/test/epg-test.js.map +1 -1
  220. package/packages/web/dist/utils/SrtConverter.d.ts +3 -3
  221. package/packages/web/dist/utils/SrtConverter.js +29 -29
  222. package/packages/web/dist/utils/SrtConverter.js.map +1 -1
  223. package/packages/web/dist/utils/YouTubeExtractor.d.ts +37 -37
  224. package/packages/web/dist/utils/YouTubeExtractor.js +89 -89
  225. package/packages/web/dist/utils/YouTubeExtractor.js.map +1 -1
  226. package/packages/web/package.json +1 -1
  227. package/packages/web/src/drm/DRMManager.ts +81 -0
  228. package/packages/web/src/drm/index.ts +14 -0
  229. package/packages/web/src/drm/providers/BunnyNetProvider.ts +14 -0
  230. package/packages/web/src/drm/providers/GenericProvider.ts +17 -0
  231. package/packages/web/src/drm/systems/BaseDRM.ts +34 -0
  232. package/packages/web/src/drm/systems/FairPlayDRM.ts +46 -0
  233. package/packages/web/src/drm/systems/PlayReadyDRM.ts +42 -0
  234. package/packages/web/src/drm/systems/WidevineDRM.ts +67 -0
  235. package/packages/web/src/drm/types/BunnyNetTypes.ts +18 -0
  236. package/packages/web/src/drm/types/DRMTypes.ts +61 -0
  237. package/packages/web/src/drm/utils/BrowserDetector.ts +35 -0
  238. package/packages/web/src/drm/utils/CertificateManager.ts +39 -0
  239. package/packages/web/src/drm/utils/DRMErrorHandler.ts +34 -0
  240. package/packages/web/src/paywall/PaywallController.ts +81 -11
  241. package/packages/web/src/react/components/EPGNavigationControls.tsx +1 -0
  242. package/packages/core/dist/PlayerFactory.d.ts +0 -11
  243. package/packages/core/dist/PlayerFactory.d.ts.map +0 -1
  244. package/packages/core/dist/PlayerFactory.js +0 -194
  245. package/packages/core/dist/PlayerFactory.js.map +0 -1
  246. package/packages/core/dist/analytics/examples/DynamicAnalyticsExample.d.ts +0 -32
  247. package/packages/core/dist/analytics/examples/DynamicAnalyticsExample.d.ts.map +0 -1
  248. package/packages/core/dist/analytics/examples/DynamicAnalyticsExample.js +0 -220
  249. package/packages/core/dist/analytics/examples/DynamicAnalyticsExample.js.map +0 -1
  250. package/packages/core/dist/interfaces/IDRMProtection.d.ts +0 -90
  251. package/packages/core/dist/interfaces/IDRMProtection.d.ts.map +0 -1
  252. package/packages/core/dist/interfaces/IDRMProtection.js +0 -15
  253. package/packages/core/dist/interfaces/IDRMProtection.js.map +0 -1
  254. package/packages/react-native/dist/drm/AndroidDRMProtection.d.ts +0 -21
  255. package/packages/react-native/dist/drm/AndroidDRMProtection.d.ts.map +0 -1
  256. package/packages/react-native/dist/drm/AndroidDRMProtection.js +0 -184
  257. package/packages/react-native/dist/drm/AndroidDRMProtection.js.map +0 -1
  258. package/packages/react-native/dist/drm/iOSDRMProtection.d.ts +0 -21
  259. package/packages/react-native/dist/drm/iOSDRMProtection.d.ts.map +0 -1
  260. package/packages/react-native/dist/drm/iOSDRMProtection.js +0 -172
  261. package/packages/react-native/dist/drm/iOSDRMProtection.js.map +0 -1
  262. package/packages/web/dist/drm/BunnyCDNDRMProvider.d.ts +0 -13
  263. package/packages/web/dist/drm/BunnyCDNDRMProvider.d.ts.map +0 -1
  264. package/packages/web/dist/drm/BunnyCDNDRMProvider.js +0 -65
  265. package/packages/web/dist/drm/BunnyCDNDRMProvider.js.map +0 -1
  266. package/packages/web/dist/drm/FairPlayDRMHandler.d.ts +0 -24
  267. package/packages/web/dist/drm/FairPlayDRMHandler.d.ts.map +0 -1
  268. package/packages/web/dist/drm/FairPlayDRMHandler.js +0 -190
  269. package/packages/web/dist/drm/FairPlayDRMHandler.js.map +0 -1
  270. package/packages/web/dist/drm/WidevineDRMHandler.d.ts +0 -21
  271. package/packages/web/dist/drm/WidevineDRMHandler.d.ts.map +0 -1
  272. package/packages/web/dist/drm/WidevineDRMHandler.js +0 -143
  273. package/packages/web/dist/drm/WidevineDRMHandler.js.map +0 -1
  274. package/packages/web/dist/drm/utils/LicenseRequestHandler.d.ts +0 -15
  275. package/packages/web/dist/drm/utils/LicenseRequestHandler.d.ts.map +0 -1
  276. package/packages/web/dist/drm/utils/LicenseRequestHandler.js +0 -110
  277. package/packages/web/dist/drm/utils/LicenseRequestHandler.js.map +0 -1
  278. package/packages/web/dist/drm.js +0 -5
  279. package/packages/web/dist/react/WebPlayerViewWithEPG.d.ts +0 -97
  280. package/packages/web/dist/react/WebPlayerViewWithEPG.d.ts.map +0 -1
  281. package/packages/web/dist/react/WebPlayerViewWithEPG.js +0 -306
  282. package/packages/web/dist/react/WebPlayerViewWithEPG.js.map +0 -1
  283. package/packages/web/src/drm.d.ts +0 -20
package/README.md CHANGED
@@ -4,15 +4,15 @@
4
4
 
5
5
  Built and maintained by **Flicknexs**, trusted by teams building video platforms across Web, Mobile Streaming Devices.
6
6
 
7
- 🔗 **Official Website**: https://flicknexs.com
8
- 📘 **Docs & Examples**: https://flicknexs.com/video-player-sdk?utm_source=npm&utm_medium=referral&utm_campaign=unified_video_framework
9
- 💻 **GitHub Repository**: https://github.com/flicknexs/unified-video-framework
7
+ 🔗 **Official Website**: https://flicknexs.com<br>
8
+ 📘 **Docs & Examples**: https://flicknexs.com/video-player-sdk?utm_source=npm&utm_medium=referral&utm_campaign=unified_video_framework<br>
9
+ 💻 **GitHub Repository**: https://github.com/flicknexs/unified-video-framework
10
10
 
11
11
  ---
12
12
 
13
13
  ## Why Unified Video Framework?
14
14
 
15
- Most video teams struggle with maintaining **separate players for Web, Mobile **. Flicknexs Unified Video Framework eliminates this complexity by providing **one SDK that works everywhere**.
15
+ Most video teams struggle with maintaining **separate players for Web, Mobile**. Flicknexs Unified Video Framework eliminates this complexity by providing **one SDK that works everywhere**.
16
16
 
17
17
  ### ✅ Supported Platforms
18
18
  - **Web** (all modern browsers)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unified-video-framework",
3
- "version": "1.4.536",
3
+ "version": "1.4.538",
4
4
  "description": "Cross-platform video player framework supporting iOS, Android, Web, Smart TVs (Samsung/LG), Roku, and more",
5
5
  "main": "packages/core/dist/index.js",
6
6
  "types": "packages/core/dist/index.d.ts",
@@ -93,15 +93,15 @@
93
93
  "@types/node": "^18.0.0",
94
94
  "@types/react": "^18.0.0",
95
95
  "@types/react-native": "^0.70.0",
96
- "@typescript-eslint/eslint-plugin": "^5.0.0",
97
- "@typescript-eslint/parser": "^5.0.0",
96
+ "@typescript-eslint/eslint-plugin": "^6.21.0",
97
+ "@typescript-eslint/parser": "^6.21.0",
98
98
  "eslint": "^8.0.0",
99
- "lerna": "^6.0.0",
99
+ "lerna": "^8.1.8",
100
100
  "prettier": "^2.8.0",
101
- "typescript": "^4.9.0",
102
- "typedoc": "^0.23.0",
103
- "webpack": "^5.75.0",
104
- "webpack-cli": "^5.0.0"
101
+ "typescript": "^5.4.0",
102
+ "typedoc": "^0.25.0",
103
+ "webpack": "^5.90.0",
104
+ "webpack-cli": "^5.1.0"
105
105
  },
106
106
  "repository": {
107
107
  "type": "git",
@@ -1,61 +1,61 @@
1
- import { IVideoPlayer, VideoSource, PlayerConfig, PlayerState, PlayerError, Quality, SubtitleTrack } from './interfaces/IVideoPlayer';
2
- import { PlayerEvent } from './interfaces';
3
- import { EventEmitter } from './utils/EventEmitter';
4
- export declare abstract class BasePlayer implements IVideoPlayer {
5
- protected container: HTMLElement | null;
6
- protected config: PlayerConfig;
7
- protected events: EventEmitter;
8
- protected state: PlayerState;
9
- protected source: VideoSource | null;
10
- protected subtitles: SubtitleTrack[];
11
- protected currentSubtitleIndex: number;
12
- constructor();
13
- protected getDefaultConfig(): PlayerConfig;
14
- protected getDefaultState(): PlayerState;
15
- initialize(container: HTMLElement | string, config?: PlayerConfig): Promise<void>;
16
- protected abstract setupPlayer(): Promise<void>;
17
- abstract destroy(): Promise<void>;
18
- abstract load(source: VideoSource): Promise<void>;
19
- play(): Promise<void>;
20
- pause(): void;
21
- stop(): void;
22
- abstract seek(time: number): void;
23
- setVolume(level: number): void;
24
- mute(): void;
25
- unmute(): void;
26
- toggleMute(): void;
27
- abstract getQualities(): Quality[];
28
- abstract getCurrentQuality(): Quality | null;
29
- abstract setQuality(index: number): void;
30
- abstract setAutoQuality(enabled: boolean): void;
31
- setPlaybackRate(rate: number): void;
32
- getPlaybackRate(): number;
33
- getCurrentTime(): number;
34
- getDuration(): number;
35
- getBufferedPercentage(): number;
36
- getState(): PlayerState;
37
- isPlaying(): boolean;
38
- isPaused(): boolean;
39
- isEnded(): boolean;
40
- abstract enterFullscreen(): Promise<void>;
41
- abstract exitFullscreen(): Promise<void>;
42
- toggleFullscreen(): Promise<void>;
43
- abstract enterPictureInPicture(): Promise<void>;
44
- abstract exitPictureInPicture(): Promise<void>;
45
- on(event: string, handler: Function): void;
46
- off(event: string, handler?: Function): void;
47
- once(event: string, handler: Function): void;
48
- protected emit(event: PlayerEvent, ...args: any[]): void;
49
- setFreeDuration?(seconds: number): void;
50
- resetFreePreviewGate?(): void;
51
- getSubtitles(): SubtitleTrack[];
52
- setSubtitleTrack(index: number): void;
53
- disableSubtitles(): void;
54
- protected abstract applySubtitleTrack(track: SubtitleTrack): void;
55
- protected abstract removeSubtitles(): void;
56
- protected handleError(error: PlayerError): void;
57
- protected updateTime(time: number): void;
58
- protected updateBuffered(percentage: number): void;
59
- protected setBuffering(isBuffering: boolean): void;
60
- }
1
+ import { IVideoPlayer, VideoSource, PlayerConfig, PlayerState, PlayerError, Quality, SubtitleTrack } from './interfaces/IVideoPlayer';
2
+ import { PlayerEvent } from './interfaces';
3
+ import { EventEmitter } from './utils/EventEmitter';
4
+ export declare abstract class BasePlayer implements IVideoPlayer {
5
+ protected container: HTMLElement | null;
6
+ protected config: PlayerConfig;
7
+ protected events: EventEmitter;
8
+ protected state: PlayerState;
9
+ protected source: VideoSource | null;
10
+ protected subtitles: SubtitleTrack[];
11
+ protected currentSubtitleIndex: number;
12
+ constructor();
13
+ protected getDefaultConfig(): PlayerConfig;
14
+ protected getDefaultState(): PlayerState;
15
+ initialize(container: HTMLElement | string, config?: PlayerConfig): Promise<void>;
16
+ protected abstract setupPlayer(): Promise<void>;
17
+ abstract destroy(): Promise<void>;
18
+ abstract load(source: VideoSource): Promise<void>;
19
+ play(): Promise<void>;
20
+ pause(): void;
21
+ stop(): void;
22
+ abstract seek(time: number): void;
23
+ setVolume(level: number): void;
24
+ mute(): void;
25
+ unmute(): void;
26
+ toggleMute(): void;
27
+ abstract getQualities(): Quality[];
28
+ abstract getCurrentQuality(): Quality | null;
29
+ abstract setQuality(index: number): void;
30
+ abstract setAutoQuality(enabled: boolean): void;
31
+ setPlaybackRate(rate: number): void;
32
+ getPlaybackRate(): number;
33
+ getCurrentTime(): number;
34
+ getDuration(): number;
35
+ getBufferedPercentage(): number;
36
+ getState(): PlayerState;
37
+ isPlaying(): boolean;
38
+ isPaused(): boolean;
39
+ isEnded(): boolean;
40
+ abstract enterFullscreen(): Promise<void>;
41
+ abstract exitFullscreen(): Promise<void>;
42
+ toggleFullscreen(): Promise<void>;
43
+ abstract enterPictureInPicture(): Promise<void>;
44
+ abstract exitPictureInPicture(): Promise<void>;
45
+ on(event: string, handler: Function): void;
46
+ off(event: string, handler?: Function): void;
47
+ once(event: string, handler: Function): void;
48
+ protected emit(event: PlayerEvent, ...args: any[]): void;
49
+ setFreeDuration?(seconds: number): void;
50
+ resetFreePreviewGate?(): void;
51
+ getSubtitles(): SubtitleTrack[];
52
+ setSubtitleTrack(index: number): void;
53
+ disableSubtitles(): void;
54
+ protected abstract applySubtitleTrack(track: SubtitleTrack): void;
55
+ protected abstract removeSubtitles(): void;
56
+ protected handleError(error: PlayerError): void;
57
+ protected updateTime(time: number): void;
58
+ protected updateBuffered(percentage: number): void;
59
+ protected setBuffering(isBuffering: boolean): void;
60
+ }
61
61
  //# sourceMappingURL=BasePlayer.d.ts.map
@@ -1,182 +1,182 @@
1
- import { EventEmitter } from './utils/EventEmitter';
2
- import { TelemetryManager } from './telemetry/TelemetryManager';
3
- import { VERSION } from './version';
4
- export class BasePlayer {
5
- constructor() {
6
- this.container = null;
7
- this.source = null;
8
- this.subtitles = [];
9
- this.currentSubtitleIndex = -1;
10
- this.config = this.getDefaultConfig();
11
- this.events = new EventEmitter();
12
- this.state = this.getDefaultState();
13
- }
14
- getDefaultConfig() {
15
- return {
16
- autoPlay: false,
17
- muted: false,
18
- volume: 1.0,
19
- controls: true,
20
- loop: false,
21
- preload: 'metadata',
22
- playsInline: true,
23
- enableAdaptiveBitrate: true,
24
- debug: false,
25
- freeDuration: 0
26
- };
27
- }
28
- getDefaultState() {
29
- return {
30
- isPlaying: false,
31
- isPaused: true,
32
- isBuffering: false,
33
- isEnded: false,
34
- isError: false,
35
- currentTime: 0,
36
- duration: 0,
37
- bufferedPercentage: 0,
38
- volume: 1.0,
39
- isMuted: false,
40
- playbackRate: 1.0,
41
- availableQualities: []
42
- };
43
- }
44
- async initialize(container, config) {
45
- if (typeof container === 'string') {
46
- const element = document.querySelector(container);
47
- if (!element) {
48
- throw new Error(`Container element not found: ${container}`);
49
- }
50
- this.container = element;
51
- }
52
- else {
53
- this.container = container;
54
- }
55
- this.config = { ...this.getDefaultConfig(), ...config };
56
- this.state.volume = this.config.volume || 1.0;
57
- this.state.isMuted = this.config.muted || false;
58
- try {
59
- TelemetryManager.getInstance().initialize('web', VERSION);
60
- }
61
- catch (e) {
62
- }
63
- await this.setupPlayer();
64
- }
65
- async play() {
66
- this.state.isPlaying = true;
67
- this.state.isPaused = false;
68
- this.emit('onPlay');
69
- }
70
- pause() {
71
- this.state.isPlaying = false;
72
- this.state.isPaused = true;
73
- this.emit('onPause');
74
- }
75
- stop() {
76
- this.pause();
77
- this.seek(0);
78
- this.state.isEnded = true;
79
- }
80
- setVolume(level) {
81
- const volume = Math.max(0, Math.min(1, level));
82
- this.state.volume = volume;
83
- this.emit('onVolumeChanged', volume);
84
- }
85
- mute() {
86
- this.state.isMuted = true;
87
- this.emit('onVolumeChanged', 0);
88
- }
89
- unmute() {
90
- this.state.isMuted = false;
91
- this.emit('onVolumeChanged', this.state.volume);
92
- }
93
- toggleMute() {
94
- if (this.state.isMuted) {
95
- this.unmute();
96
- }
97
- else {
98
- this.mute();
99
- }
100
- }
101
- setPlaybackRate(rate) {
102
- this.state.playbackRate = rate;
103
- }
104
- getPlaybackRate() {
105
- return this.state.playbackRate;
106
- }
107
- getCurrentTime() {
108
- return this.state.currentTime;
109
- }
110
- getDuration() {
111
- return this.state.duration;
112
- }
113
- getBufferedPercentage() {
114
- return this.state.bufferedPercentage;
115
- }
116
- getState() {
117
- return { ...this.state };
118
- }
119
- isPlaying() {
120
- return this.state.isPlaying;
121
- }
122
- isPaused() {
123
- return this.state.isPaused;
124
- }
125
- isEnded() {
126
- return this.state.isEnded;
127
- }
128
- async toggleFullscreen() {
129
- if (document.fullscreenElement) {
130
- await this.exitFullscreen();
131
- }
132
- else {
133
- await this.enterFullscreen();
134
- }
135
- }
136
- on(event, handler) {
137
- this.events.on(event, handler);
138
- }
139
- off(event, handler) {
140
- this.events.off(event, handler);
141
- }
142
- once(event, handler) {
143
- this.events.once(event, handler);
144
- }
145
- emit(event, ...args) {
146
- this.events.emit(event, ...args);
147
- }
148
- getSubtitles() {
149
- return this.subtitles;
150
- }
151
- setSubtitleTrack(index) {
152
- if (index >= 0 && index < this.subtitles.length) {
153
- this.currentSubtitleIndex = index;
154
- this.applySubtitleTrack(this.subtitles[index]);
155
- }
156
- }
157
- disableSubtitles() {
158
- this.currentSubtitleIndex = -1;
159
- this.removeSubtitles();
160
- }
161
- handleError(error) {
162
- this.state.isError = true;
163
- this.state.isPlaying = false;
164
- this.emit('onError', error);
165
- if (this.config.debug) {
166
- console.error('[VideoPlayer Error]', error);
167
- }
168
- }
169
- updateTime(time) {
170
- this.state.currentTime = time;
171
- this.emit('onTimeUpdate', time);
172
- }
173
- updateBuffered(percentage) {
174
- this.state.bufferedPercentage = percentage;
175
- this.emit('onProgress', percentage);
176
- }
177
- setBuffering(isBuffering) {
178
- this.state.isBuffering = isBuffering;
179
- this.emit('onBuffering', isBuffering);
180
- }
181
- }
1
+ import { EventEmitter } from './utils/EventEmitter';
2
+ import { TelemetryManager } from './telemetry/TelemetryManager';
3
+ import { VERSION } from './version';
4
+ export class BasePlayer {
5
+ constructor() {
6
+ this.container = null;
7
+ this.source = null;
8
+ this.subtitles = [];
9
+ this.currentSubtitleIndex = -1;
10
+ this.config = this.getDefaultConfig();
11
+ this.events = new EventEmitter();
12
+ this.state = this.getDefaultState();
13
+ }
14
+ getDefaultConfig() {
15
+ return {
16
+ autoPlay: false,
17
+ muted: false,
18
+ volume: 1.0,
19
+ controls: true,
20
+ loop: false,
21
+ preload: 'metadata',
22
+ playsInline: true,
23
+ enableAdaptiveBitrate: true,
24
+ debug: false,
25
+ freeDuration: 0
26
+ };
27
+ }
28
+ getDefaultState() {
29
+ return {
30
+ isPlaying: false,
31
+ isPaused: true,
32
+ isBuffering: false,
33
+ isEnded: false,
34
+ isError: false,
35
+ currentTime: 0,
36
+ duration: 0,
37
+ bufferedPercentage: 0,
38
+ volume: 1.0,
39
+ isMuted: false,
40
+ playbackRate: 1.0,
41
+ availableQualities: []
42
+ };
43
+ }
44
+ async initialize(container, config) {
45
+ if (typeof container === 'string') {
46
+ const element = document.querySelector(container);
47
+ if (!element) {
48
+ throw new Error(`Container element not found: ${container}`);
49
+ }
50
+ this.container = element;
51
+ }
52
+ else {
53
+ this.container = container;
54
+ }
55
+ this.config = { ...this.getDefaultConfig(), ...config };
56
+ this.state.volume = this.config.volume || 1.0;
57
+ this.state.isMuted = this.config.muted || false;
58
+ try {
59
+ TelemetryManager.getInstance().initialize('web', VERSION);
60
+ }
61
+ catch (e) {
62
+ }
63
+ await this.setupPlayer();
64
+ }
65
+ async play() {
66
+ this.state.isPlaying = true;
67
+ this.state.isPaused = false;
68
+ this.emit('onPlay');
69
+ }
70
+ pause() {
71
+ this.state.isPlaying = false;
72
+ this.state.isPaused = true;
73
+ this.emit('onPause');
74
+ }
75
+ stop() {
76
+ this.pause();
77
+ this.seek(0);
78
+ this.state.isEnded = true;
79
+ }
80
+ setVolume(level) {
81
+ const volume = Math.max(0, Math.min(1, level));
82
+ this.state.volume = volume;
83
+ this.emit('onVolumeChanged', volume);
84
+ }
85
+ mute() {
86
+ this.state.isMuted = true;
87
+ this.emit('onVolumeChanged', 0);
88
+ }
89
+ unmute() {
90
+ this.state.isMuted = false;
91
+ this.emit('onVolumeChanged', this.state.volume);
92
+ }
93
+ toggleMute() {
94
+ if (this.state.isMuted) {
95
+ this.unmute();
96
+ }
97
+ else {
98
+ this.mute();
99
+ }
100
+ }
101
+ setPlaybackRate(rate) {
102
+ this.state.playbackRate = rate;
103
+ }
104
+ getPlaybackRate() {
105
+ return this.state.playbackRate;
106
+ }
107
+ getCurrentTime() {
108
+ return this.state.currentTime;
109
+ }
110
+ getDuration() {
111
+ return this.state.duration;
112
+ }
113
+ getBufferedPercentage() {
114
+ return this.state.bufferedPercentage;
115
+ }
116
+ getState() {
117
+ return { ...this.state };
118
+ }
119
+ isPlaying() {
120
+ return this.state.isPlaying;
121
+ }
122
+ isPaused() {
123
+ return this.state.isPaused;
124
+ }
125
+ isEnded() {
126
+ return this.state.isEnded;
127
+ }
128
+ async toggleFullscreen() {
129
+ if (document.fullscreenElement) {
130
+ await this.exitFullscreen();
131
+ }
132
+ else {
133
+ await this.enterFullscreen();
134
+ }
135
+ }
136
+ on(event, handler) {
137
+ this.events.on(event, handler);
138
+ }
139
+ off(event, handler) {
140
+ this.events.off(event, handler);
141
+ }
142
+ once(event, handler) {
143
+ this.events.once(event, handler);
144
+ }
145
+ emit(event, ...args) {
146
+ this.events.emit(event, ...args);
147
+ }
148
+ getSubtitles() {
149
+ return this.subtitles;
150
+ }
151
+ setSubtitleTrack(index) {
152
+ if (index >= 0 && index < this.subtitles.length) {
153
+ this.currentSubtitleIndex = index;
154
+ this.applySubtitleTrack(this.subtitles[index]);
155
+ }
156
+ }
157
+ disableSubtitles() {
158
+ this.currentSubtitleIndex = -1;
159
+ this.removeSubtitles();
160
+ }
161
+ handleError(error) {
162
+ this.state.isError = true;
163
+ this.state.isPlaying = false;
164
+ this.emit('onError', error);
165
+ if (this.config.debug) {
166
+ console.error('[VideoPlayer Error]', error);
167
+ }
168
+ }
169
+ updateTime(time) {
170
+ this.state.currentTime = time;
171
+ this.emit('onTimeUpdate', time);
172
+ }
173
+ updateBuffered(percentage) {
174
+ this.state.bufferedPercentage = percentage;
175
+ this.emit('onProgress', percentage);
176
+ }
177
+ setBuffering(isBuffering) {
178
+ this.state.isBuffering = isBuffering;
179
+ this.emit('onBuffering', isBuffering);
180
+ }
181
+ }
182
182
  //# sourceMappingURL=BasePlayer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BasePlayer.js","sourceRoot":"","sources":["../src/BasePlayer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BasePlayer.js","sourceRoot":"","sources":["../src/BasePlayer.ts"],"names":[],"mappings":"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"}