@gcorevideo/player 2.20.7 → 2.20.9

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 (218) hide show
  1. package/dist/core.js +54 -25
  2. package/dist/index.css +1184 -1184
  3. package/dist/index.js +298 -267
  4. package/dist/player.d.ts +178 -126
  5. package/dist/plugins/index.css +841 -841
  6. package/dist/plugins/index.js +192 -192
  7. package/docs/api/player.bottomgear.md +14 -0
  8. package/docs/api/player.bottomgear.refresh.md +20 -0
  9. package/docs/api/player.clapprnerdstats.md +1 -1
  10. package/docs/api/player.clapprstats.exportmetrics.md +1 -1
  11. package/docs/api/player.clapprstats.md +1 -15
  12. package/docs/api/player.clapprstats.setupdatemetrics.md +2 -0
  13. package/docs/api/player.clipsplugin.md +1 -1
  14. package/docs/api/player.clipspluginsettings.md +5 -2
  15. package/docs/api/player.clipspluginsettings.text.md +3 -0
  16. package/docs/api/{player.errorscreen.bindevents.md → player.containerpluginconstructor.md} +7 -6
  17. package/docs/api/{player.errorscreen.render.md → player.corepluginconstructor.md} +7 -6
  18. package/docs/api/player.errordesc.md +28 -0
  19. package/docs/api/player.errorscreen.md +1 -220
  20. package/docs/api/{player.errorscreen.hide.md → player.errorscreenpluginsettings.md} +7 -7
  21. package/docs/api/player.levelselector.md +3 -9
  22. package/docs/api/player.levelselectorpluginsettings.labels.md +24 -0
  23. package/docs/api/player.levelselectorpluginsettings.md +79 -0
  24. package/docs/api/player.levelselectorpluginsettings.restrictresolution.md +16 -0
  25. package/docs/api/player.md +93 -16
  26. package/docs/api/{player.errorscreen.container.md → player.mediacontrol.currentseekpos.md} +3 -3
  27. package/docs/api/player.mediacontrol.disable.md +1 -1
  28. package/docs/api/player.mediacontrol.md +23 -2
  29. package/docs/api/{player.gearevents.md → player.mediacontrolevents.md} +4 -4
  30. package/docs/api/player.multicamera.md +1 -29
  31. package/docs/api/player.playbackerror.md +19 -0
  32. package/docs/api/{player.errorscreen.supportedversion.md → player.playbackerror.ui.md} +7 -4
  33. package/docs/api/player.playbackerrorcode.md +3 -3
  34. package/docs/api/{player.errorscreen.show.md → player.playbackrate._constructor_.md} +7 -11
  35. package/docs/api/player.playbackrate.md +35 -2
  36. package/docs/api/player.player.registerplugin.md +2 -2
  37. package/docs/api/player.player.unregisterplugin.md +2 -2
  38. package/docs/api/player.playerpluginconstructor.md +17 -0
  39. package/docs/api/player.share.attributes.md +3 -0
  40. package/docs/api/player.share.bindevents.md +3 -0
  41. package/docs/api/player.share.canshowshare.md +3 -0
  42. package/docs/api/player.share.events.md +3 -0
  43. package/docs/api/player.share.hideshare.md +3 -0
  44. package/docs/api/player.share.initializeicons.md +3 -0
  45. package/docs/api/player.share.md +40 -1
  46. package/docs/api/player.share.name.md +3 -0
  47. package/docs/api/player.share.onshareembedclick.md +3 -0
  48. package/docs/api/player.share.onsharefb.md +3 -0
  49. package/docs/api/player.share.onsharehide.md +3 -0
  50. package/docs/api/player.share.onsharelinkclick.md +3 -0
  51. package/docs/api/player.share.onshareshow.md +3 -0
  52. package/docs/api/player.share.onsharetw.md +3 -0
  53. package/docs/api/player.share.render.md +3 -0
  54. package/docs/api/player.share.showshare.md +3 -0
  55. package/docs/api/player.share.supportedversion.md +3 -0
  56. package/docs/api/player.share.template.md +3 -0
  57. package/docs/api/player.share.unbindevents.md +3 -0
  58. package/docs/api/player.skiptime.attributes.md +3 -0
  59. package/docs/api/player.skiptime.bindevents.md +3 -0
  60. package/docs/api/player.skiptime.container.md +3 -0
  61. package/docs/api/player.skiptime.events.md +3 -0
  62. package/docs/api/player.skiptime.handlerewindclicks.md +3 -0
  63. package/docs/api/player.skiptime.md +30 -1
  64. package/docs/api/player.skiptime.name.md +3 -0
  65. package/docs/api/player.skiptime.render.md +3 -0
  66. package/docs/api/player.skiptime.setback.md +3 -0
  67. package/docs/api/player.skiptime.setforward.md +3 -0
  68. package/docs/api/player.skiptime.setmidclick.md +3 -0
  69. package/docs/api/player.skiptime.supportedversion.md +3 -0
  70. package/docs/api/player.skiptime.template.md +3 -0
  71. package/docs/api/player.skiptime.togglefullscreen.md +3 -0
  72. package/docs/api/player.spinnerevents.md +4 -1
  73. package/docs/api/player.spinnerthreebounce.hide.md +1 -1
  74. package/docs/api/player.spinnerthreebounce.md +7 -5
  75. package/docs/api/player.spinnerthreebounce.show.md +40 -2
  76. package/docs/api/player.telemetry.md +1 -1
  77. package/docs/api/player.telemetrypluginsettings.md +1 -1
  78. package/docs/api/{player.errorscreen.unbindevents.md → player.telemetrysendfn.md} +6 -6
  79. package/lib/Player.d.ts +13 -4
  80. package/lib/Player.d.ts.map +1 -1
  81. package/lib/Player.js +17 -12
  82. package/lib/index.core.d.ts +0 -1
  83. package/lib/index.core.d.ts.map +1 -1
  84. package/lib/index.core.js +0 -1
  85. package/lib/index.plugins.d.ts +0 -1
  86. package/lib/index.plugins.d.ts.map +1 -1
  87. package/lib/index.plugins.js +0 -1
  88. package/lib/playback/BasePlayback.d.ts +5 -0
  89. package/lib/playback/BasePlayback.d.ts.map +1 -1
  90. package/lib/playback/BasePlayback.js +8 -0
  91. package/lib/playback/HTML5Video.d.ts +4 -0
  92. package/lib/playback/HTML5Video.d.ts.map +1 -0
  93. package/lib/playback/HTML5Video.js +3 -0
  94. package/lib/playback/dash-playback/DashPlayback.d.ts +1 -0
  95. package/lib/playback/dash-playback/DashPlayback.d.ts.map +1 -1
  96. package/lib/playback/dash-playback/DashPlayback.js +6 -2
  97. package/lib/playback/hls-playback/HlsPlayback.d.ts.map +1 -1
  98. package/lib/playback/hls-playback/HlsPlayback.js +1 -1
  99. package/lib/playback/index.d.ts.map +1 -1
  100. package/lib/playback/index.js +2 -0
  101. package/lib/playback/types.d.ts +9 -0
  102. package/lib/playback/types.d.ts.map +1 -0
  103. package/lib/playback/types.js +9 -0
  104. package/lib/plugins/bottom-gear/BottomGear.d.ts +7 -12
  105. package/lib/plugins/bottom-gear/BottomGear.d.ts.map +1 -1
  106. package/lib/plugins/bottom-gear/BottomGear.js +5 -14
  107. package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.d.ts +1 -1
  108. package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.js +3 -3
  109. package/lib/plugins/clappr-nerd-stats/speedtest/Speedtest.d.ts.map +1 -1
  110. package/lib/plugins/clappr-nerd-stats/speedtest/Speedtest.js +8 -8
  111. package/lib/plugins/clappr-stats/ClapprStats.d.ts +4 -5
  112. package/lib/plugins/clappr-stats/ClapprStats.d.ts.map +1 -1
  113. package/lib/plugins/clappr-stats/ClapprStats.js +4 -3
  114. package/lib/plugins/clips/Clips.d.ts +3 -2
  115. package/lib/plugins/clips/Clips.d.ts.map +1 -1
  116. package/lib/plugins/clips/Clips.js +1 -1
  117. package/lib/plugins/context-menu/ContextMenu.d.ts.map +1 -1
  118. package/lib/plugins/dvr-controls/DvrControls.d.ts +4 -3
  119. package/lib/plugins/dvr-controls/DvrControls.d.ts.map +1 -1
  120. package/lib/plugins/dvr-controls/DvrControls.js +30 -18
  121. package/lib/plugins/error-screen/ErrorScreen.d.ts +12 -1
  122. package/lib/plugins/error-screen/ErrorScreen.d.ts.map +1 -1
  123. package/lib/plugins/error-screen/ErrorScreen.js +1 -1
  124. package/lib/plugins/index.d.ts +0 -1
  125. package/lib/plugins/index.d.ts.map +1 -1
  126. package/lib/plugins/index.js +0 -1
  127. package/lib/plugins/kibo/index.d.ts +0 -3
  128. package/lib/plugins/kibo/index.d.ts.map +1 -1
  129. package/lib/plugins/kibo/index.js +0 -3
  130. package/lib/plugins/level-selector/LevelSelector.d.ts +8 -4
  131. package/lib/plugins/level-selector/LevelSelector.d.ts.map +1 -1
  132. package/lib/plugins/level-selector/LevelSelector.js +16 -7
  133. package/lib/plugins/media-control/MediaControl.d.ts +5 -4
  134. package/lib/plugins/media-control/MediaControl.d.ts.map +1 -1
  135. package/lib/plugins/media-control/MediaControl.js +8 -6
  136. package/lib/plugins/multi-camera/MultiCamera.d.ts +3 -11
  137. package/lib/plugins/multi-camera/MultiCamera.d.ts.map +1 -1
  138. package/lib/plugins/multi-camera/MultiCamera.js +1 -1
  139. package/lib/plugins/playback-rate/PlaybackRate.d.ts +11 -10
  140. package/lib/plugins/playback-rate/PlaybackRate.d.ts.map +1 -1
  141. package/lib/plugins/playback-rate/PlaybackRate.js +83 -91
  142. package/lib/plugins/poster/Poster.js +2 -2
  143. package/lib/plugins/share/Share.d.ts +2 -1
  144. package/lib/plugins/share/Share.d.ts.map +1 -1
  145. package/lib/plugins/share/Share.js +2 -1
  146. package/lib/plugins/skip-time/SkipTime.d.ts +2 -1
  147. package/lib/plugins/skip-time/SkipTime.d.ts.map +1 -1
  148. package/lib/plugins/skip-time/SkipTime.js +2 -1
  149. package/lib/plugins/source-controller/SourceController.js +3 -3
  150. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts +6 -3
  151. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts.map +1 -1
  152. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.js +6 -3
  153. package/lib/plugins/telemetry/Telemetry.d.ts +2 -3
  154. package/lib/plugins/telemetry/Telemetry.d.ts.map +1 -1
  155. package/lib/plugins/telemetry/Telemetry.js +1 -1
  156. package/lib/plugins/vast-ads/VastAds.d.ts.map +1 -1
  157. package/lib/plugins/vast-ads/VastAds.js +3 -3
  158. package/lib/plugins/vast-ads/roll.d.ts +1 -1
  159. package/lib/plugins/vast-ads/roll.d.ts.map +1 -1
  160. package/lib/plugins/vast-ads/rollmanager.d.ts +1 -1
  161. package/lib/plugins/vast-ads/rollmanager.d.ts.map +1 -1
  162. package/lib/plugins/vast-ads/rollmanager.js +2 -2
  163. package/lib/types.d.ts +21 -5
  164. package/lib/types.d.ts.map +1 -1
  165. package/lib/utils/types.d.ts +0 -6
  166. package/lib/utils/types.d.ts.map +1 -1
  167. package/package.json +1 -1
  168. package/src/Player.ts +18 -16
  169. package/src/index.core.ts +0 -1
  170. package/src/index.plugins.ts +0 -1
  171. package/src/playback/BasePlayback.ts +12 -4
  172. package/src/playback/HTML5Video.ts +3 -0
  173. package/src/playback/dash-playback/DashPlayback.ts +15 -11
  174. package/src/playback/hls-playback/HlsPlayback.ts +7 -11
  175. package/src/playback/index.ts +2 -1
  176. package/src/playback/types.ts +9 -0
  177. package/src/plugins/audio-selector/AudioSelector.ts +1 -1
  178. package/src/plugins/big-mute-button/BigMuteButton.ts +1 -1
  179. package/src/plugins/bottom-gear/BottomGear.ts +7 -16
  180. package/src/plugins/clappr-nerd-stats/ClapprNerdStats.ts +5 -5
  181. package/src/plugins/clappr-nerd-stats/speedtest/Speedtest.ts +184 -187
  182. package/src/plugins/clappr-stats/ClapprStats.ts +5 -4
  183. package/src/plugins/clips/Clips.ts +4 -3
  184. package/src/plugins/context-menu/ContextMenu.ts +0 -2
  185. package/src/plugins/dvr-controls/DvrControls.ts +90 -56
  186. package/src/plugins/error-screen/ErrorScreen.ts +12 -1
  187. package/src/plugins/favicon/Favicon.ts +1 -1
  188. package/src/plugins/index.ts +0 -1
  189. package/src/plugins/kibo/index.ts +0 -3
  190. package/src/plugins/level-selector/LevelSelector.ts +24 -10
  191. package/src/plugins/logo/Logo.ts +1 -1
  192. package/src/plugins/media-control/MediaControl.ts +13 -10
  193. package/src/plugins/multi-camera/MultiCamera.ts +4 -4
  194. package/src/plugins/playback-rate/PlaybackRate.ts +90 -106
  195. package/src/plugins/poster/Poster.ts +3 -3
  196. package/src/plugins/seek-time/SeekTime.ts +1 -1
  197. package/src/plugins/share/Share.ts +2 -1
  198. package/src/plugins/skip-time/SkipTime.ts +2 -1
  199. package/src/plugins/source-controller/SourceController.ts +3 -3
  200. package/src/plugins/source-controller/__tests__/SourceController.test.ts +2 -2
  201. package/src/plugins/spinner-three-bounce/SpinnerThreeBounce.ts +6 -3
  202. package/src/plugins/subtitles/Subtitles.ts +1 -1
  203. package/src/plugins/telemetry/Telemetry.ts +2 -2
  204. package/src/plugins/thumbnails/Thumbnails.ts +1 -1
  205. package/src/plugins/vast-ads/VastAds.ts +5 -4
  206. package/src/plugins/vast-ads/roll.ts +2 -1
  207. package/src/plugins/vast-ads/rollmanager.ts +3 -3
  208. package/src/types.ts +24 -5
  209. package/src/utils/types.ts +0 -8
  210. package/temp/player.api.json +540 -576
  211. package/tsconfig.tsbuildinfo +1 -1
  212. package/assets/playback-rate/playback-rate-selector.ejs +0 -9
  213. package/docs/api/player.clapprstats.onbitrate.md +0 -52
  214. package/docs/api/player.errorscreen.attributes.md +0 -17
  215. package/docs/api/player.errorscreen.name.md +0 -14
  216. package/docs/api/player.errorscreen.template.md +0 -14
  217. package/docs/api/player.multicamera.getcameraslist.md +0 -18
  218. package/docs/api/player.multicamera.getcurrentcamera.md +0 -18
@@ -1 +1 @@
1
- {"version":3,"file":"rollmanager.d.ts","sourceRoot":"","sources":["../../../src/plugins/vast-ads/rollmanager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,IAAI,EAAE,MAAM,EAAuD,MAAM,cAAc,CAAC;AAMzI,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAc,UAAU,EAAkB,MAAM,YAAY,CAAC;AAEhF,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAI3C,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,MAAM;IAqC3C,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IA7CpB,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,SAAS,CAAY;IAE7B,OAAO,CAAC,QAAQ,CAAc;IAE9B,OAAO,CAAC,cAAc,CAAiB;IAEvC,OAAO,CAAC,SAAS,CAAW;IAE5B,OAAO,CAAC,eAAe,CAAmB;IAE1C,OAAO,CAAC,aAAa,CAAoB;IAEzC,OAAO,CAAC,mBAAmB,CAAkB;IAE7C,OAAO,CAAC,WAAW,CAA6B;IAIhD,OAAO,CAAC,SAAS,CAA8B;IAE/C,OAAO,CAAC,iBAAiB,CAAK;IAE9B,OAAO,CAAC,aAAa,CAA4B;IAEjD,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,OAAO,CAA0B;IAEzC,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,IAAI,CAAqB;gBAGvB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,WAAW,EACtB,UAAU,EAAE,WAAW,EACvB,YAAY,EAAE,WAAW,EACzB,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM;IAqB5B,OAAO,CAAC,cAAc;IA6BtB,YAAY,CAAC,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAMjD,OAAO,CAAC,WAAW;IAInB,UAAU;IAIV,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,YAAY;IAUpB,mBAAmB;IAUnB,oBAAoB;IAOd,SAAS;IA+BT,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU;IAmDhD,gBAAgB;IAOhB,OAAO,CAAC,UAAU;IAQlB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAgCxB,MAAM,CAAC,GAAG,EAAE,MAAM;IAwDxB,UAAU,CAAC,YAAY,EAAE,GAAG;IAiB5B,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG;IAInC;;;OAGG;IACG,iBAAiB,CAAC,IAAI,EAAE,GAAG;IAcjC,iBAAiB;IAejB,WAAW;CASZ"}
1
+ {"version":3,"file":"rollmanager.d.ts","sourceRoot":"","sources":["../../../src/plugins/vast-ads/rollmanager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,IAAI,EAAE,MAAM,EAAuD,MAAM,cAAc,CAAC;AAMzI,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAc,UAAU,EAAkB,MAAM,YAAY,CAAC;AAEhF,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAI3C,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,MAAM;IAqC3C,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IA7CpB,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,SAAS,CAAY;IAE7B,OAAO,CAAC,QAAQ,CAAc;IAE9B,OAAO,CAAC,cAAc,CAAiB;IAEvC,OAAO,CAAC,SAAS,CAAW;IAE5B,OAAO,CAAC,eAAe,CAAmB;IAE1C,OAAO,CAAC,aAAa,CAAoB;IAEzC,OAAO,CAAC,mBAAmB,CAAkB;IAE7C,OAAO,CAAC,WAAW,CAA6B;IAIhD,OAAO,CAAC,SAAS,CAA8B;IAE/C,OAAO,CAAC,iBAAiB,CAAK;IAE9B,OAAO,CAAC,aAAa,CAA4B;IAEjD,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,OAAO,CAA0B;IAEzC,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,IAAI,CAAqB;gBAGvB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,WAAW,EACtB,UAAU,EAAE,WAAW,EACvB,YAAY,EAAE,WAAW,EACzB,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM;IAqB5B,OAAO,CAAC,cAAc;IA6BtB,YAAY,CAAC,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAMjD,OAAO,CAAC,WAAW;IAInB,UAAU;IAIV,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,YAAY;IAUpB,mBAAmB;IAUnB,oBAAoB;IAOd,SAAS;IA+BT,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU;IAmDhD,gBAAgB;IAOhB,OAAO,CAAC,UAAU;IAQlB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAgCxB,MAAM,CAAC,GAAG,EAAE,MAAM;IAwDxB,UAAU,CAAC,YAAY,EAAE,GAAG;IAiB5B,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG;IAInC;;;OAGG;IACG,iBAAiB,CAAC,IAAI,EAAE,GAAG;IAcjC,iBAAiB;IAejB,WAAW;CASZ"}
@@ -55,7 +55,7 @@ export default class RollManager extends Events {
55
55
  this.$areaClick = $areaClick;
56
56
  this._playback = this.core.activePlayback;
57
57
  this._contentElement = this._playback.el;
58
- this._posterPlugin = this._container.getPlugin('poster_custom');
58
+ this._posterPlugin = this._container.getPlugin('poster');
59
59
  this._clickToPausePlugin = this._container.getPlugin('click_to_pause_custom');
60
60
  this._adContainer = _adContainer;
61
61
  this._events = {};
@@ -177,7 +177,7 @@ export default class RollManager extends Events {
177
177
  //чтобы реклама шла одна за другой
178
178
  this._allURLRequest = !!roll.oneByOne;
179
179
  try {
180
- const customPosterPlugin = this.container.getPlugin('poster_custom');
180
+ const customPosterPlugin = this.container.getPlugin('poster');
181
181
  customPosterPlugin.hidePlayButton();
182
182
  }
183
183
  catch (error) {
package/lib/types.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { $, Container, Core } from "@clappr/core";
1
2
  /**
2
3
  * Describes a media source with its MIME type and URL.
3
4
  *
@@ -53,15 +54,25 @@ export type TransportPreference = MediaTransport;
53
54
  * {@link https://clappr.github.io/classes/ContainerPlugin.html}
54
55
  */
55
56
  export type PlayerPlugin = {
56
- new (...args: any[]): unknown;
57
57
  name: string;
58
58
  };
59
+ /**
60
+ * @beta
61
+ */
59
62
  export type PlayerPluginConstructor = CorePluginConstructor | ContainerPluginConstructor;
60
- export type CorePluginConstructor = ((core: unknown) => PlayerPlugin) & {
61
- type: 'core';
63
+ /**
64
+ * @beta
65
+ */
66
+ export type CorePluginConstructor = {
67
+ new (core: Core): PlayerPlugin;
68
+ type: string;
62
69
  };
63
- export type ContainerPluginConstructor = ((container: unknown) => PlayerPlugin) & {
64
- type: 'container';
70
+ /**
71
+ * @beta
72
+ */
73
+ export type ContainerPluginConstructor = {
74
+ new (container: Container): PlayerPlugin;
75
+ type: string;
65
76
  };
66
77
  /**
67
78
  * Configuration options for the player
@@ -261,4 +272,9 @@ export declare enum PlayerEvent {
261
272
  */
262
273
  VolumeUpdate = "volumeupdate"
263
274
  }
275
+ /**
276
+ * {@link https://zeptojs.com/#$() | Zepto query result}
277
+ * @beta
278
+ */
279
+ export type ZeptoResult = ReturnType<typeof $>;
264
280
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,qBAAqB,CAAA;AAE9D;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAA;AAEvE;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,OAAO,CAAA;AAE1D;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,CAAA;AAEzC;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,CAAA;AAE3C;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAA;AAEhD;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAA;IAC7B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,qBAAqB,GAAG,0BAA0B,CAAA;AACxF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,YAAY,CAAC,GAAG;IACtE,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,SAAS,EAAE,OAAO,KAAK,YAAY,CAAC,GAAG;IAChF,IAAI,EAAE,WAAW,CAAA;CAClB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3D;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;;OAIG;IACH,IAAI,CAAC,EAAE,YAAY,CAAA;IAEnB;;;OAGG;IACH,KAAK,CAAC,EAAE,mBAAmB,CAAA;IAE3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;;;OAIG;IACH,YAAY,CAAC,EAAE,YAAY,CAAA;IAE3B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,mBAAmB,CAAA;IAEvC;;OAEG;IACH,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAE5B;;OAEG;IACH,OAAO,CAAC,EAAE,mBAAmB,CAAA;CAC9B;AAED;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,CAAA;AAE5B;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAA;AAEnC;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAElD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,CACvC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAChD,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;GAGG;AACH,oBAAY,WAAW;IACrB;;OAEG;IACH,KAAK,UAAU;IACf;;;OAGG;IACH,KAAK,UAAU;IACf;;;OAGG;IACH,UAAU,eAAe;IACzB;;OAEG;IACH,KAAK,UAAU;IACf;;OAEG;IACH,IAAI,SAAS;IACb;;OAEG;IACH,KAAK,UAAU;IACf;;;OAGG;IACH,MAAM,WAAW;IACjB;;OAEG;IACH,IAAI,SAAS;IACb;;OAEG;IACH,IAAI,SAAS;IACb;;;OAGG;IACH,UAAU,eAAe;IACzB;;;OAGG;IACH,YAAY,iBAAiB;CAC9B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,3 @@
1
- import { $ } from "@clappr/core";
2
- /**
3
- * {@link https://zeptojs.com/#$() | Zepto query result}
4
- * @beta
5
- */
6
- export type ZeptoResult = ReturnType<typeof $>;
7
1
  /**
8
2
  * @internal
9
3
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAEjC;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AAE/C;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gcorevideo/player",
3
- "version": "2.20.7",
3
+ "version": "2.20.9",
4
4
  "description": "Gcore JavaScript video player",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
package/src/Player.ts CHANGED
@@ -360,6 +360,24 @@ export class Player {
360
360
  Loader.registerPlugin(plugin)
361
361
  }
362
362
 
363
+ /**
364
+ * Unregisters a plugin registered earlier with {@link Player.registerPlugin}.
365
+ * @remarks
366
+ * It can be also used to unregister a built-in default plugin.
367
+ *
368
+ * Currently, the plugins that are always registered are:
369
+ *
370
+ * - {@link https://github.com/clappr/clappr-core/blob/3126c3a38a6eee9d5aba3918b194e6380fa1178c/src/plugins/strings/strings.js | 'strings'}, which supports internationalization of the player UI
371
+ *
372
+ * - {@link https://github.com/clappr/clappr-core/blob/3126c3a38a6eee9d5aba3918b194e6380fa1178c/src/plugins/sources/sources.js | 'sources'}, which lets to specify multiple media sources and selects the first suitable playback module
373
+ *
374
+ * @param name - name of the plugin
375
+ */
376
+ static unregisterPlugin(name: string) {
377
+ Player.corePlugins = Player.corePlugins.filter((p) => p.prototype.name !== name)
378
+ Loader.unregisterPlugin(name)
379
+ }
380
+
363
381
  private static getRegisteredPlugins(): {
364
382
  core: Record<string, PlayerPluginConstructor>
365
383
  container: Record<string, PlayerPluginConstructor>
@@ -372,22 +390,6 @@ export class Player {
372
390
 
373
391
  private static corePlugins: PlayerPluginConstructor[] = []
374
392
 
375
- /**
376
- * Unregisters a plugin registered earlier with {@link Player.registerPlugin}.
377
- * @param plugin - a plugin class
378
- */
379
- static unregisterPlugin(plugin: PlayerPluginConstructor) {
380
- assert.ok(
381
- plugin.type === 'core' || plugin.type === 'container',
382
- 'Invalid plugin type',
383
- )
384
- if (plugin.type === 'core') {
385
- Player.corePlugins = Player.corePlugins.filter((p) => p !== plugin)
386
- return
387
- }
388
- Loader.unregisterPlugin(plugin)
389
- }
390
-
391
393
  private setConfig(config: Partial<PlayerConfig>) {
392
394
  this.config = $.extend(true, this.config, config)
393
395
  }
package/src/index.core.ts CHANGED
@@ -2,5 +2,4 @@ export { LogTracer, Logger, SentryTracer, reportError, setTracer, trace } from '
2
2
  export * from './Player.js'
3
3
  export * from './playback.types.js'
4
4
  export * from './types.js'
5
- export * from './utils/types.js'
6
5
  export * from './version.js'
@@ -13,7 +13,6 @@ export * from "./plugins/error-screen/ErrorScreen.js";
13
13
  export * from "./plugins/favicon/Favicon.js";
14
14
  // _ ga-events
15
15
  export * from "./plugins/google-analytics/GoogleAnalytics.js";
16
- export * from "./plugins/kibo/index.js";
17
16
  export * from "./plugins/level-selector/LevelSelector.js";
18
17
  export * from "./plugins/logo/Logo.js";
19
18
  export * from "./plugins/media-control/MediaControl.js";
@@ -11,10 +11,10 @@ export class BasePlayback extends HTML5Video {
11
11
  createError(errorData: any, options?: ErrorOptions) {
12
12
  const i18n =
13
13
  this.i18n ||
14
- // @ts-ignore
15
- (this.core && this.core.i18n) ||
16
- // @ts-ignore
17
- (this.container && this.container.i18n)
14
+ // @ts-ignore
15
+ (this.core && this.core.i18n) ||
16
+ // @ts-ignore
17
+ (this.container && this.container.i18n)
18
18
 
19
19
  if (
20
20
  i18n &&
@@ -34,6 +34,14 @@ export class BasePlayback extends HTML5Video {
34
34
  return super.createError(errorData, options)
35
35
  }
36
36
 
37
+ /**
38
+ * Sets the playback rate.
39
+ * @param rate - The playback rate to set.
40
+ */
41
+ setPlaybackRate(rate: number) {
42
+ ;(this.el as HTMLMediaElement).playbackRate = rate
43
+ }
44
+
37
45
  override _onPlaying() {
38
46
  super._onPlaying()
39
47
  this.trigger(Events.PLAYBACK_MEDIACONTROL_ENABLE)
@@ -0,0 +1,3 @@
1
+ import { BasePlayback } from './BasePlayback.js'
2
+
3
+ export default class HTML5Video extends BasePlayback {}
@@ -17,7 +17,6 @@ import DASHJS, {
17
17
  import {
18
18
  PlaybackError,
19
19
  PlaybackErrorCode,
20
- PlayerComponentType,
21
20
  QualityLevel,
22
21
  TimePosition,
23
22
  TimeUpdate,
@@ -25,6 +24,7 @@ import {
25
24
  } from '../../playback.types.js'
26
25
  import { isDashSource } from '../../utils/mediaSources.js'
27
26
  import { BasePlayback } from '../BasePlayback.js'
27
+ import { PlaybackEvents } from '../types.js'
28
28
 
29
29
  const AUTO = -1
30
30
 
@@ -300,8 +300,8 @@ export default class DashPlayback extends BasePlayback {
300
300
  },
301
301
  )
302
302
 
303
- this._dash.on(DASHJS.MediaPlayer.events.PLAYBACK_RATE_CHANGED, () => {
304
- this.trigger('dash:playback-rate-changed')
303
+ this._dash.on(DASHJS.MediaPlayer.events.PLAYBACK_RATE_CHANGED, (e: DASHJS.PlaybackRateChangedEvent) => {
304
+ this.trigger(PlaybackEvents.PLAYBACK_RATE_CHANGED, e.playbackRate)
305
305
  })
306
306
  }
307
307
 
@@ -361,7 +361,7 @@ export default class DashPlayback extends BasePlayback {
361
361
  return this._startTime
362
362
  }
363
363
 
364
- seekPercentage(percentage: number) {
364
+ override seekPercentage(percentage: number) {
365
365
  let seekTo = this._duration
366
366
 
367
367
  if (percentage > 0) {
@@ -376,7 +376,7 @@ export default class DashPlayback extends BasePlayback {
376
376
  this.seek(seekTo)
377
377
  }
378
378
 
379
- seek(time: TimeValue) {
379
+ override seek(time: TimeValue) {
380
380
  if (time < 0) {
381
381
  // eslint-disable-next-line max-len
382
382
  Log.warn(
@@ -478,7 +478,7 @@ export default class DashPlayback extends BasePlayback {
478
478
  }, 10)
479
479
  }
480
480
 
481
- _onTimeUpdate() {
481
+ override _onTimeUpdate() {
482
482
  if (this.startChangeQuality) {
483
483
  return
484
484
  }
@@ -499,7 +499,7 @@ export default class DashPlayback extends BasePlayback {
499
499
  this.trigger(Events.PLAYBACK_TIMEUPDATE, update, this.name)
500
500
  }
501
501
 
502
- _onDurationChange() {
502
+ override _onDurationChange() {
503
503
  const duration = this.getDuration()
504
504
 
505
505
  if (this._lastDuration === duration) {
@@ -540,7 +540,7 @@ export default class DashPlayback extends BasePlayback {
540
540
  this.trigger(Events.PLAYBACK_PROGRESS, progress, {})
541
541
  }
542
542
 
543
- play() {
543
+ override play() {
544
544
  trace(`${T} play`, { dash: !!this._dash })
545
545
  if (!this._dash) {
546
546
  this._setup()
@@ -550,7 +550,7 @@ export default class DashPlayback extends BasePlayback {
550
550
  this._startTimeUpdateTimer()
551
551
  }
552
552
 
553
- pause() {
553
+ override pause() {
554
554
  if (!this._dash) {
555
555
  return
556
556
  }
@@ -560,7 +560,7 @@ export default class DashPlayback extends BasePlayback {
560
560
  }
561
561
  }
562
562
 
563
- stop() {
563
+ override stop() {
564
564
  if (this._dash) {
565
565
  this._stopTimeUpdateTimer()
566
566
  this._dash.reset()
@@ -569,7 +569,7 @@ export default class DashPlayback extends BasePlayback {
569
569
  }
570
570
  }
571
571
 
572
- destroy() {
572
+ override destroy() {
573
573
  this._stopTimeUpdateTimer()
574
574
  if (this._dash) {
575
575
  this._dash.off(DASHJS.MediaPlayer.events.ERROR, this._onDASHJSSError)
@@ -638,6 +638,10 @@ export default class DashPlayback extends BasePlayback {
638
638
  assert.ok(ret, 'Invalid quality level')
639
639
  return ret
640
640
  }
641
+
642
+ setPlaybackRate(rate: number) {
643
+ this._dash?.setPlaybackRate(rate)
644
+ }
641
645
  }
642
646
 
643
647
  DashPlayback.canPlay = function (resource, mimeType) {
@@ -2,14 +2,7 @@
2
2
  // Use of this source code is governed by a BSD-style
3
3
  // license that can be found on https://github.com/clappr/hlsjs-playback/blob/main/LICENSE
4
4
 
5
- import {
6
- Events,
7
- Log,
8
- Playback,
9
- PlayerError,
10
- Utils,
11
- $,
12
- } from '@clappr/core'
5
+ import { Events, Log, Playback, PlayerError, Utils, $ } from '@clappr/core'
13
6
  import { trace } from '@gcorevideo/utils'
14
7
  import assert from 'assert'
15
8
  import HLSJS, {
@@ -1104,9 +1097,12 @@ export default class HlsPlayback extends BasePlayback {
1104
1097
  }
1105
1098
 
1106
1099
  private triggerError(error: PlaybackError) {
1107
- this.trigger(Events.PLAYBACK_ERROR, this.createError(error, {
1108
- useCodePrefix: false,
1109
- }))
1100
+ this.trigger(
1101
+ Events.PLAYBACK_ERROR,
1102
+ this.createError(error, {
1103
+ useCodePrefix: false,
1104
+ }),
1105
+ )
1110
1106
  this.stop()
1111
1107
  }
1112
1108
  }
@@ -2,9 +2,10 @@ import { Loader } from '@clappr/core'
2
2
 
3
3
  import DashPlayback from './dash-playback/DashPlayback.js'
4
4
  import HlsPlayback from './hls-playback/HlsPlayback.js'
5
-
5
+ import HTML5Video from './HTML5Video.js'
6
6
  // TODO consider allowing the variation of the order of playback modules
7
7
  export function registerPlaybacks() {
8
+ Loader.registerPlayback(HTML5Video) // TODO check it overrides the default HTML5Video
8
9
  Loader.registerPlayback(HlsPlayback)
9
10
  Loader.registerPlayback(DashPlayback)
10
11
  }
@@ -0,0 +1,9 @@
1
+
2
+ export enum PlaybackEvents {
3
+ /**
4
+ * Emitted when the playback rate changes.
5
+ * Payload:
6
+ * - playbackRate number
7
+ */
8
+ PLAYBACK_RATE_CHANGED = 'playback:rate-changed',
9
+ }
@@ -11,7 +11,7 @@ import { CLAPPR_VERSION } from '../../build.js'
11
11
  import pluginHtml from '../../../assets/audio-selector/track-selector.ejs'
12
12
  import '../../../assets/audio-selector/style.scss'
13
13
  import audioArrow from '../../../assets/icons/old/quality-arrow.svg'
14
- import { ZeptoResult } from '../../utils/types.js'
14
+ import { ZeptoResult } from '../../types.js'
15
15
  import assert from 'assert'
16
16
 
17
17
  const VERSION: string = '0.0.1'
@@ -2,7 +2,7 @@ import { Events, template, UICorePlugin, Utils } from '@clappr/core'
2
2
  import { trace } from '@gcorevideo/utils'
3
3
 
4
4
  import { CLAPPR_VERSION } from '../../build.js'
5
- import { ZeptoResult } from '../../utils/types.js'
5
+ import { ZeptoResult } from '../../types.js'
6
6
 
7
7
  import volumeMuteIcon from '../../../assets/icons/new/volume-off.svg'
8
8
  import pluginHtml from '../../../assets/big-mute-button/big-mute-button.ejs'
@@ -9,24 +9,13 @@ import '../../../assets/bottom-gear/gear.scss';
9
9
  import '../../../assets/bottom-gear/gear-sub-menu.scss';
10
10
  import gearIcon from '../../../assets/icons/new/gear.svg';
11
11
  import gearHdIcon from '../../../assets/icons/new/gear-hd.svg';
12
- import { ZeptoResult } from '../../utils/types.js';
12
+ import { ZeptoResult } from '../../types.js';
13
13
  import { MediaControlEvents } from '../media-control/MediaControl';
14
14
 
15
15
  const VERSION = '2.19.12';
16
16
 
17
17
  const T = 'plugins.bottom_gear';
18
18
 
19
- /**
20
- * Custom events emitted by the plugin
21
- * @beta
22
- */
23
- export enum GearEvents {
24
- /**
25
- * Emitted when the gear menu is rendered
26
- */
27
- MEDIACONTROL_GEAR_RENDERED = 'mediacontrol:gear:rendered',
28
- }
29
-
30
19
  /**
31
20
  * An element inside the gear menu
32
21
  * @beta
@@ -96,7 +85,6 @@ export class BottomGear extends UICorePlugin {
96
85
  assert(mediaControl, 'media_control plugin is required');
97
86
 
98
87
  this.listenTo(this.core, ClapprEvents.CORE_ACTIVE_CONTAINER_CHANGED, this.onActiveContainerChanged);
99
- this.listenTo(this.core, 'gear:refresh', this.refresh); // TODO use direct plugin method call
100
88
  this.listenTo(mediaControl, ClapprEvents.MEDIACONTROL_RENDERED, this.render);
101
89
  this.listenTo(mediaControl, ClapprEvents.MEDIACONTROL_HIDE, this.hide); // TODO mediacontrol show as well
102
90
  }
@@ -150,13 +138,16 @@ export class BottomGear extends UICorePlugin {
150
138
  this.$el.html(BottomGear.template({ icon, items }));
151
139
 
152
140
  mediaControl.getElement('gear')?.html(this.el);
153
- this.core.trigger('gear:rendered'); // @deprecated
154
- mediaControl.trigger(GearEvents.MEDIACONTROL_GEAR_RENDERED); // TODO drop
155
141
  mediaControl.trigger(MediaControlEvents.MEDIACONTROL_GEAR_RENDERED);
156
142
  return this;
157
143
  }
158
144
 
159
- private refresh() {
145
+ /**
146
+ * Re-renders the gear menu.
147
+ * It fires the {@link MediaControlEvents.MEDIACONTROL_GEAR_RENDERED | MEDIACONTROL_GEAR_RENDERED} event,
148
+ * which the plugins that attach to the gear menu can listen to to re-render themselves.
149
+ */
150
+ refresh() {
160
151
  this.render();
161
152
  this.$el.find('.gear-wrapper').show();
162
153
  }
@@ -18,14 +18,14 @@ import {
18
18
  stopSpeedtest,
19
19
  } from './speedtest/index.js'
20
20
  import { CustomMetrics } from './speedtest/types.js'
21
- import { ZeptoResult } from '../../utils/types.js'
21
+ import { ZeptoResult } from '../../types.js'
22
22
 
23
23
  import '../../../assets/clappr-nerd-stats/clappr-nerd-stats.scss'
24
24
  import pluginHtml from '../../../assets/clappr-nerd-stats/clappr-nerd-stats.ejs'
25
25
  import buttonHtml from '../../../assets/clappr-nerd-stats/button.ejs'
26
26
  import statsIcon from '../../../assets/icons/new/stats.svg'
27
- import { BottomGear, GearEvents } from '../bottom-gear/BottomGear.js'
28
- import { MediaControl } from '../media-control/MediaControl.js'
27
+ import { BottomGear } from '../bottom-gear/BottomGear.js'
28
+ import { MediaControl, MediaControlEvents } from '../media-control/MediaControl.js'
29
29
  import assert from 'assert'
30
30
 
31
31
  const qualityClasses = [
@@ -117,7 +117,7 @@ type Metrics = BaseMetrics & {
117
117
  // const T = 'plugins.clappr_nerd_stats';
118
118
 
119
119
  /**
120
- * Displays useful network-related statistics.
120
+ * PLUGIN that displays useful network-related statistics.
121
121
  * @beta
122
122
  *
123
123
  * @remarks
@@ -229,7 +229,7 @@ export class ClapprNerdStats extends UICorePlugin {
229
229
  this.listenToOnce(this.core, Events.CORE_READY, this.init)
230
230
  this.listenTo(
231
231
  mediaControl,
232
- GearEvents.MEDIACONTROL_GEAR_RENDERED,
232
+ MediaControlEvents.MEDIACONTROL_GEAR_RENDERED,
233
233
  this.addToBottomGear,
234
234
  )
235
235
  }