@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
@@ -7,13 +7,51 @@
7
7
  > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
8
8
  >
9
9
 
10
- Shows the spinner
10
+ Shows the spinner.
11
+
12
+ When called, the spinner will not hide (due to its built-in logic) until [SpinnerThreeBounce.hide()](./player.spinnerthreebounce.hide.md) is called
11
13
 
12
14
  **Signature:**
13
15
 
14
16
  ```typescript
15
- show(): void;
17
+ show(delay?: number): void;
16
18
  ```
19
+
20
+ ## Parameters
21
+
22
+ <table><thead><tr><th>
23
+
24
+ Parameter
25
+
26
+
27
+ </th><th>
28
+
29
+ Type
30
+
31
+
32
+ </th><th>
33
+
34
+ Description
35
+
36
+
37
+ </th></tr></thead>
38
+ <tbody><tr><td>
39
+
40
+ delay
41
+
42
+
43
+ </td><td>
44
+
45
+ number
46
+
47
+
48
+ </td><td>
49
+
50
+ _(Optional)_
51
+
52
+
53
+ </td></tr>
54
+ </tbody></table>
17
55
  **Returns:**
18
56
 
19
57
  void
@@ -7,7 +7,7 @@
7
7
  > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
8
8
  >
9
9
 
10
- Collects and reports the performance statistics.
10
+ PLUGIN that collects and reports the performance statistics.
11
11
 
12
12
  **Signature:**
13
13
 
@@ -48,7 +48,7 @@ Description
48
48
 
49
49
  </td><td>
50
50
 
51
- TelemetrySendFn
51
+ [TelemetrySendFn](./player.telemetrysendfn.md)
52
52
 
53
53
 
54
54
  </td><td>
@@ -1,18 +1,18 @@
1
1
  <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
2
 
3
- [Home](./index.md) &gt; [@gcorevideo/player](./player.md) &gt; [ErrorScreen](./player.errorscreen.md) &gt; [unBindEvents](./player.errorscreen.unbindevents.md)
3
+ [Home](./index.md) &gt; [@gcorevideo/player](./player.md) &gt; [TelemetrySendFn](./player.telemetrysendfn.md)
4
4
 
5
- ## ErrorScreen.unBindEvents() method
5
+ ## TelemetrySendFn type
6
6
 
7
7
  > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
8
8
  >
9
9
 
10
+ Callback to send the telemetry record to the storage.
11
+
10
12
  **Signature:**
11
13
 
12
14
  ```typescript
13
- unBindEvents(): void;
15
+ export type TelemetrySendFn = (data: TelemetryRecord) => void;
14
16
  ```
15
- **Returns:**
16
-
17
- void
17
+ **References:** [TelemetryRecord](./player.telemetryrecord.md)
18
18
 
package/lib/Player.d.ts CHANGED
@@ -187,13 +187,22 @@ export declare class Player {
187
187
  * ```
188
188
  */
189
189
  static registerPlugin(plugin: PlayerPluginConstructor): void;
190
- private static getRegisteredPlugins;
191
- private static corePlugins;
192
190
  /**
193
191
  * Unregisters a plugin registered earlier with {@link Player.registerPlugin}.
194
- * @param plugin - a plugin class
192
+ * @remarks
193
+ * It can be also used to unregister a built-in default plugin.
194
+ *
195
+ * Currently, the plugins that are always registered are:
196
+ *
197
+ * - {@link https://github.com/clappr/clappr-core/blob/3126c3a38a6eee9d5aba3918b194e6380fa1178c/src/plugins/strings/strings.js | 'strings'}, which supports internationalization of the player UI
198
+ *
199
+ * - {@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
200
+ *
201
+ * @param name - name of the plugin
195
202
  */
196
- static unregisterPlugin(plugin: PlayerPluginConstructor): void;
203
+ static unregisterPlugin(name: string): void;
204
+ private static getRegisteredPlugins;
205
+ private static corePlugins;
197
206
  private setConfig;
198
207
  private initPlayer;
199
208
  private tuneIn;
@@ -1 +1 @@
1
- {"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../src/Player.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../src/Player.ts"],"names":[],"mappings":"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"}
package/lib/Player.js CHANGED
@@ -273,6 +273,23 @@ export class Player {
273
273
  }
274
274
  Loader.registerPlugin(plugin);
275
275
  }
276
+ /**
277
+ * Unregisters a plugin registered earlier with {@link Player.registerPlugin}.
278
+ * @remarks
279
+ * It can be also used to unregister a built-in default plugin.
280
+ *
281
+ * Currently, the plugins that are always registered are:
282
+ *
283
+ * - {@link https://github.com/clappr/clappr-core/blob/3126c3a38a6eee9d5aba3918b194e6380fa1178c/src/plugins/strings/strings.js | 'strings'}, which supports internationalization of the player UI
284
+ *
285
+ * - {@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
286
+ *
287
+ * @param name - name of the plugin
288
+ */
289
+ static unregisterPlugin(name) {
290
+ Player.corePlugins = Player.corePlugins.filter((p) => p.prototype.name !== name);
291
+ Loader.unregisterPlugin(name);
292
+ }
276
293
  static getRegisteredPlugins() {
277
294
  for (const plugin of Player.corePlugins) {
278
295
  Loader.registerPlugin(plugin);
@@ -280,18 +297,6 @@ export class Player {
280
297
  return Loader.registeredPlugins;
281
298
  }
282
299
  static corePlugins = [];
283
- /**
284
- * Unregisters a plugin registered earlier with {@link Player.registerPlugin}.
285
- * @param plugin - a plugin class
286
- */
287
- static unregisterPlugin(plugin) {
288
- assert.ok(plugin.type === 'core' || plugin.type === 'container', 'Invalid plugin type');
289
- if (plugin.type === 'core') {
290
- Player.corePlugins = Player.corePlugins.filter((p) => p !== plugin);
291
- return;
292
- }
293
- Loader.unregisterPlugin(plugin);
294
- }
295
300
  setConfig(config) {
296
301
  this.config = $.extend(true, this.config, config);
297
302
  }
@@ -2,6 +2,5 @@ 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';
7
6
  //# sourceMappingURL=index.core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.core.d.ts","sourceRoot":"","sources":["../src/index.core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAClG,cAAc,aAAa,CAAA;AAC3B,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.core.d.ts","sourceRoot":"","sources":["../src/index.core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAClG,cAAc,aAAa,CAAA;AAC3B,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA"}
package/lib/index.core.js 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';
@@ -11,7 +11,6 @@ export * from "./plugins/dvr-controls/DvrControls.js";
11
11
  export * from "./plugins/error-screen/ErrorScreen.js";
12
12
  export * from "./plugins/favicon/Favicon.js";
13
13
  export * from "./plugins/google-analytics/GoogleAnalytics.js";
14
- export * from "./plugins/kibo/index.js";
15
14
  export * from "./plugins/level-selector/LevelSelector.js";
16
15
  export * from "./plugins/logo/Logo.js";
17
16
  export * from "./plugins/media-control/MediaControl.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.plugins.d.ts","sourceRoot":"","sources":["../src/index.plugins.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC;AAEnC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qCAAqC,CAAC;AACpD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,uCAAuC,CAAC;AACtD,cAAc,0CAA0C,CAAC;AACzD,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAE7C,cAAc,+CAA+C,CAAC;AAC9D,cAAc,yBAAyB,CAAC;AACxC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,wBAAwB,CAAC;AACvC,cAAc,yCAAyC,CAAC;AACxD,cAAc,uCAAuC,CAAC;AACtD,cAAc,kDAAkD,CAAC;AACjE,cAAc,yCAAyC,CAAC;AACxD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,sDAAsD,CAAC;AACrE,cAAc,iDAAiD,CAAC;AAChE,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AAGnD,cAAc,qCAAqC,CAAC"}
1
+ {"version":3,"file":"index.plugins.d.ts","sourceRoot":"","sources":["../src/index.plugins.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC;AAEnC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qCAAqC,CAAC;AACpD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,uCAAuC,CAAC;AACtD,cAAc,0CAA0C,CAAC;AACzD,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAE7C,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,wBAAwB,CAAC;AACvC,cAAc,yCAAyC,CAAC;AACxD,cAAc,uCAAuC,CAAC;AACtD,cAAc,kDAAkD,CAAC;AACjE,cAAc,yCAAyC,CAAC;AACxD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,sDAAsD,CAAC;AACrE,cAAc,iDAAiD,CAAC;AAChE,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AAGnD,cAAc,qCAAqC,CAAC"}
@@ -12,7 +12,6 @@ export * from "./plugins/error-screen/ErrorScreen.js";
12
12
  export * from "./plugins/favicon/Favicon.js";
13
13
  // _ ga-events
14
14
  export * from "./plugins/google-analytics/GoogleAnalytics.js";
15
- export * from "./plugins/kibo/index.js";
16
15
  export * from "./plugins/level-selector/LevelSelector.js";
17
16
  export * from "./plugins/logo/Logo.js";
18
17
  export * from "./plugins/media-control/MediaControl.js";
@@ -6,6 +6,11 @@ import { ErrorOptions, HTML5Video } from '@clappr/core';
6
6
  */
7
7
  export declare class BasePlayback extends HTML5Video {
8
8
  createError(errorData: any, options?: ErrorOptions): Error;
9
+ /**
10
+ * Sets the playback rate.
11
+ * @param rate - The playback rate to set.
12
+ */
13
+ setPlaybackRate(rate: number): void;
9
14
  _onPlaying(): void;
10
15
  }
11
16
  //# sourceMappingURL=BasePlayback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BasePlayback.d.ts","sourceRoot":"","sources":["../../src/playback/BasePlayback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAU,UAAU,EAAe,MAAM,cAAc,CAAA;AAI5E;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,UAAU;IAC1C,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY;IA0BzC,UAAU;CAIpB"}
1
+ {"version":3,"file":"BasePlayback.d.ts","sourceRoot":"","sources":["../../src/playback/BasePlayback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAU,UAAU,EAAe,MAAM,cAAc,CAAA;AAI5E;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,UAAU;IAC1C,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY;IA0BlD;;;OAGG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM;IAInB,UAAU;CAIpB"}
@@ -26,6 +26,14 @@ export class BasePlayback extends HTML5Video {
26
26
  }
27
27
  return super.createError(errorData, options);
28
28
  }
29
+ /**
30
+ * Sets the playback rate.
31
+ * @param rate - The playback rate to set.
32
+ */
33
+ setPlaybackRate(rate) {
34
+ ;
35
+ this.el.playbackRate = rate;
36
+ }
29
37
  _onPlaying() {
30
38
  super._onPlaying();
31
39
  this.trigger(Events.PLAYBACK_MEDIACONTROL_ENABLE);
@@ -0,0 +1,4 @@
1
+ import { BasePlayback } from './BasePlayback.js';
2
+ export default class HTML5Video extends BasePlayback {
3
+ }
4
+ //# sourceMappingURL=HTML5Video.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HTML5Video.d.ts","sourceRoot":"","sources":["../../src/playback/HTML5Video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,YAAY;CAAG"}
@@ -0,0 +1,3 @@
1
+ import { BasePlayback } from './BasePlayback.js';
2
+ export default class HTML5Video extends BasePlayback {
3
+ }
@@ -71,6 +71,7 @@ export default class DashPlayback extends BasePlayback {
71
71
  getPlaybackType(): string;
72
72
  isSeekEnabled(): boolean;
73
73
  private getLevel;
74
+ setPlaybackRate(rate: number): void;
74
75
  }
75
76
  export {};
76
77
  //# sourceMappingURL=DashPlayback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DashPlayback.d.ts","sourceRoot":"","sources":["../../../src/playback/dash-playback/DashPlayback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DashPlayback.d.ts","sourceRoot":"","sources":["../../../src/playback/dash-playback/DashPlayback.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import DASHJS from 'dashjs';
8
8
  import { PlaybackErrorCode, } from '../../playback.types.js';
9
9
  import { isDashSource } from '../../utils/mediaSources.js';
10
10
  import { BasePlayback } from '../BasePlayback.js';
11
+ import { PlaybackEvents } from '../types.js';
11
12
  const AUTO = -1;
12
13
  const { now } = Utils;
13
14
  const T = 'playback.dash';
@@ -188,8 +189,8 @@ export default class DashPlayback extends BasePlayback {
188
189
  }
189
190
  }
190
191
  });
191
- this._dash.on(DASHJS.MediaPlayer.events.PLAYBACK_RATE_CHANGED, () => {
192
- this.trigger('dash:playback-rate-changed');
192
+ this._dash.on(DASHJS.MediaPlayer.events.PLAYBACK_RATE_CHANGED, (e) => {
193
+ this.trigger(PlaybackEvents.PLAYBACK_RATE_CHANGED, e.playbackRate);
193
194
  });
194
195
  }
195
196
  render() {
@@ -455,6 +456,9 @@ export default class DashPlayback extends BasePlayback {
455
456
  assert.ok(ret, 'Invalid quality level');
456
457
  return ret;
457
458
  }
459
+ setPlaybackRate(rate) {
460
+ this._dash?.setPlaybackRate(rate);
461
+ }
458
462
  }
459
463
  DashPlayback.canPlay = function (resource, mimeType) {
460
464
  if (!isDashSource(resource, mimeType)) {
@@ -1 +1 @@
1
- {"version":3,"file":"HlsPlayback.d.ts","sourceRoot":"","sources":["../../../src/playback/hls-playback/HlsPlayback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HlsPlayback.d.ts","sourceRoot":"","sources":["../../../src/playback/hls-playback/HlsPlayback.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  // Copyright 2014 Globo.com Player authors. All rights reserved.
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
- import { Events, Log, Playback, PlayerError, Utils, $, } from '@clappr/core';
4
+ import { Events, Log, Playback, PlayerError, Utils, $ } from '@clappr/core';
5
5
  import { trace } from '@gcorevideo/utils';
6
6
  import assert from 'assert';
7
7
  import HLSJS from 'hls.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/playback/index.ts"],"names":[],"mappings":"AAMA,wBAAgB,iBAAiB,SAGhC;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,WAE5D;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,WAE3D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/playback/index.ts"],"names":[],"mappings":"AAMA,wBAAgB,iBAAiB,SAIhC;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,WAE5D;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,WAE3D"}
@@ -1,8 +1,10 @@
1
1
  import { Loader } from '@clappr/core';
2
2
  import DashPlayback from './dash-playback/DashPlayback.js';
3
3
  import HlsPlayback from './hls-playback/HlsPlayback.js';
4
+ import HTML5Video from './HTML5Video.js';
4
5
  // TODO consider allowing the variation of the order of playback modules
5
6
  export function registerPlaybacks() {
7
+ Loader.registerPlayback(HTML5Video); // TODO check it overrides the default HTML5Video
6
8
  Loader.registerPlayback(HlsPlayback);
7
9
  Loader.registerPlayback(DashPlayback);
8
10
  }
@@ -0,0 +1,9 @@
1
+ export declare enum PlaybackEvents {
2
+ /**
3
+ * Emitted when the playback rate changes.
4
+ * Payload:
5
+ * - playbackRate number
6
+ */
7
+ PLAYBACK_RATE_CHANGED = "playback:rate-changed"
8
+ }
9
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/playback/types.ts"],"names":[],"mappings":"AACA,oBAAY,cAAc;IACxB;;;;OAIG;IACH,qBAAqB,0BAA0B;CAChD"}
@@ -0,0 +1,9 @@
1
+ export var PlaybackEvents;
2
+ (function (PlaybackEvents) {
3
+ /**
4
+ * Emitted when the playback rate changes.
5
+ * Payload:
6
+ * - playbackRate number
7
+ */
8
+ PlaybackEvents["PLAYBACK_RATE_CHANGED"] = "playback:rate-changed";
9
+ })(PlaybackEvents || (PlaybackEvents = {}));
@@ -1,17 +1,7 @@
1
1
  import { UICorePlugin } from '@clappr/core';
2
2
  import '../../../assets/bottom-gear/gear.scss';
3
3
  import '../../../assets/bottom-gear/gear-sub-menu.scss';
4
- import { ZeptoResult } from '../../utils/types.js';
5
- /**
6
- * Custom events emitted by the plugin
7
- * @beta
8
- */
9
- export declare enum GearEvents {
10
- /**
11
- * Emitted when the gear menu is rendered
12
- */
13
- MEDIACONTROL_GEAR_RENDERED = "mediacontrol:gear:rendered"
14
- }
4
+ import { ZeptoResult } from '../../types.js';
15
5
  /**
16
6
  * An element inside the gear menu
17
7
  * @beta
@@ -78,7 +68,12 @@ export declare class BottomGear extends UICorePlugin {
78
68
  * @internal
79
69
  */
80
70
  render(): this;
81
- private refresh;
71
+ /**
72
+ * Re-renders the gear menu.
73
+ * It fires the {@link MediaControlEvents.MEDIACONTROL_GEAR_RENDERED | MEDIACONTROL_GEAR_RENDERED} event,
74
+ * which the plugins that attach to the gear menu can listen to to re-render themselves.
75
+ */
76
+ refresh(): void;
82
77
  private toggleGearMenu;
83
78
  private hide;
84
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BottomGear.d.ts","sourceRoot":"","sources":["../../../src/plugins/bottom-gear/BottomGear.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoC,MAAM,cAAc,CAAC;AAO9E,OAAO,uCAAuC,CAAC;AAC/C,OAAO,gDAAgD,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAOnD;;;GAGG;AACH,oBAAY,UAAU;IACpB;;OAEG;IACH,0BAA0B,+BAA+B;CAC1D;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1D;;;;;;;;;GASG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,IAAI,CAAS;IAErB;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,MAAM,KAAK,OAAO,WAEjB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAEvD;;OAEG;IACH,IAAa,UAAU;;;MAKtB;IAED;;OAEG;IACH,IAAa,MAAM;;MAIlB;IAED;;OAEG;IACM,UAAU;IAUnB;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW,GAAG,IAAI;IAIrD;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,WAAW;IAI/B,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,oBAAoB;IAM5B;;OAEG;IACM,MAAM;IAoBf,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,IAAI;CAGb"}
1
+ {"version":3,"file":"BottomGear.d.ts","sourceRoot":"","sources":["../../../src/plugins/bottom-gear/BottomGear.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoC,MAAM,cAAc,CAAC;AAO9E,OAAO,uCAAuC,CAAC;AAC/C,OAAO,gDAAgD,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAO7C;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1D;;;;;;;;;GASG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,IAAI,CAAS;IAErB;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,MAAM,KAAK,OAAO,WAEjB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAEvD;;OAEG;IACH,IAAa,UAAU;;;MAKtB;IAED;;OAEG;IACH,IAAa,MAAM;;MAIlB;IAED;;OAEG;IACM,UAAU;IASnB;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW,GAAG,IAAI;IAIrD;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,WAAW;IAI/B,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,oBAAoB;IAM5B;;OAEG;IACM,MAAM;IAkBf;;;;OAIG;IACH,OAAO;IAKP,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,IAAI;CAGb"}
@@ -10,17 +10,6 @@ import gearHdIcon from '../../../assets/icons/new/gear-hd.svg';
10
10
  import { MediaControlEvents } from '../media-control/MediaControl';
11
11
  const VERSION = '2.19.12';
12
12
  const T = 'plugins.bottom_gear';
13
- /**
14
- * Custom events emitted by the plugin
15
- * @beta
16
- */
17
- export var GearEvents;
18
- (function (GearEvents) {
19
- /**
20
- * Emitted when the gear menu is rendered
21
- */
22
- GearEvents["MEDIACONTROL_GEAR_RENDERED"] = "mediacontrol:gear:rendered";
23
- })(GearEvents || (GearEvents = {}));
24
13
  /**
25
14
  * Adds the gear button that triggers extra options menu on the right side of the {@link MediaControl | media control} UI
26
15
  * @beta
@@ -76,7 +65,6 @@ export class BottomGear extends UICorePlugin {
76
65
  const mediaControl = this.core.getPlugin('media_control');
77
66
  assert(mediaControl, 'media_control plugin is required');
78
67
  this.listenTo(this.core, ClapprEvents.CORE_ACTIVE_CONTAINER_CHANGED, this.onActiveContainerChanged);
79
- this.listenTo(this.core, 'gear:refresh', this.refresh); // TODO use direct plugin method call
80
68
  this.listenTo(mediaControl, ClapprEvents.MEDIACONTROL_RENDERED, this.render);
81
69
  this.listenTo(mediaControl, ClapprEvents.MEDIACONTROL_HIDE, this.hide); // TODO mediacontrol show as well
82
70
  }
@@ -122,11 +110,14 @@ export class BottomGear extends UICorePlugin {
122
110
  const icon = this.isHd ? gearHdIcon : gearIcon;
123
111
  this.$el.html(BottomGear.template({ icon, items }));
124
112
  mediaControl.getElement('gear')?.html(this.el);
125
- this.core.trigger('gear:rendered'); // @deprecated
126
- mediaControl.trigger(GearEvents.MEDIACONTROL_GEAR_RENDERED); // TODO drop
127
113
  mediaControl.trigger(MediaControlEvents.MEDIACONTROL_GEAR_RENDERED);
128
114
  return this;
129
115
  }
116
+ /**
117
+ * Re-renders the gear menu.
118
+ * It fires the {@link MediaControlEvents.MEDIACONTROL_GEAR_RENDERED | MEDIACONTROL_GEAR_RENDERED} event,
119
+ * which the plugins that attach to the gear menu can listen to to re-render themselves.
120
+ */
130
121
  refresh() {
131
122
  this.render();
132
123
  this.$el.find('.gear-wrapper').show();
@@ -1,7 +1,7 @@
1
1
  import { UICorePlugin, Core } from '@clappr/core';
2
2
  import '../../../assets/clappr-nerd-stats/clappr-nerd-stats.scss';
3
3
  /**
4
- * Displays useful network-related statistics.
4
+ * PLUGIN that displays useful network-related statistics.
5
5
  * @beta
6
6
  *
7
7
  * @remarks
@@ -10,7 +10,7 @@ import '../../../assets/clappr-nerd-stats/clappr-nerd-stats.scss';
10
10
  import pluginHtml from '../../../assets/clappr-nerd-stats/clappr-nerd-stats.ejs';
11
11
  import buttonHtml from '../../../assets/clappr-nerd-stats/button.ejs';
12
12
  import statsIcon from '../../../assets/icons/new/stats.svg';
13
- import { GearEvents } from '../bottom-gear/BottomGear.js';
13
+ import { MediaControlEvents } from '../media-control/MediaControl.js';
14
14
  import assert from 'assert';
15
15
  const qualityClasses = [
16
16
  'speedtest-quality-value-1',
@@ -81,7 +81,7 @@ const drawSummary = (customMetrics, vodContainer, liveContainer) => {
81
81
  };
82
82
  // const T = 'plugins.clappr_nerd_stats';
83
83
  /**
84
- * Displays useful network-related statistics.
84
+ * PLUGIN that displays useful network-related statistics.
85
85
  * @beta
86
86
  *
87
87
  * @remarks
@@ -175,7 +175,7 @@ export class ClapprNerdStats extends UICorePlugin {
175
175
  const mediaControl = this.core.getPlugin('media_control');
176
176
  assert(mediaControl, 'media_control plugin is required');
177
177
  this.listenToOnce(this.core, Events.CORE_READY, this.init);
178
- this.listenTo(mediaControl, GearEvents.MEDIACONTROL_GEAR_RENDERED, this.addToBottomGear);
178
+ this.listenTo(mediaControl, MediaControlEvents.MEDIACONTROL_GEAR_RENDERED, this.addToBottomGear);
179
179
  }
180
180
  init() {
181
181
  this.container = this.core.activeContainer;
@@ -1 +1 @@
1
- {"version":3,"file":"Speedtest.d.ts","sourceRoot":"","sources":["../../../../src/plugins/clappr-nerd-stats/speedtest/Speedtest.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,MAAM,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAA;AAID,KAAK,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;AAE7C,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAEF,KAAK,aAAa,GAAG,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;AAEpD,KAAK,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;AAItD,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAuB;IAErC,OAAO,CAAC,SAAS,CAAuB;IAExC,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,eAAe,CAAuB;IAE9C,OAAO,CAAC,WAAW,CAAgB;IAEnC,OAAO,CAAC,SAAS,CAAW;IAE5B,OAAO,CAAC,MAAM,CAAK;IAEnB,OAAO,CAAC,OAAO,CAAwB;IAEvC,OAAO,CAAC,SAAS,CAA+B;IAEhD,OAAO,CAAC,cAAc,CAAM;IAE5B,KAAK,EAAE,UAAU,GAAG,IAAI,CAAQ;IAEhC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAQ;IAEtC,QAAQ;IAIR,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAU9C,sBAAsB,CAAC,MAAM,EAAE,MAAM;IAiCrC,YAAY,CAAC,MAAM,EAAE,MAAM;IAY3B,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE;IAM5B,iBAAiB;IAQjB,iBAAiB,CAAC,MAAM,EAAE,MAAM;IAShC,YAAY,CAAC,MAAM,EAAE,cAAc;IA8KnC,KAAK;IAyEL,KAAK;IASL,OAAO,CAAC,UAAU;CAQnB"}
1
+ {"version":3,"file":"Speedtest.d.ts","sourceRoot":"","sources":["../../../../src/plugins/clappr-nerd-stats/speedtest/Speedtest.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,MAAM,GAAG;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAID,KAAK,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;AAE5C,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACrC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,CAAC,GAAG,CAAC,CAAA;IACjB,UAAU,EAAE,CAAC,GAAG,CAAC,CAAA;IACjB,YAAY,EAAE,CAAC,GAAG,CAAC,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB,CAAA;AAED,KAAK,aAAa,GAAG,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAA;AAEnD,KAAK,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;AAIrD,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAsB;IAEpC,OAAO,CAAC,SAAS,CAAsB;IAEvC,OAAO,CAAC,mBAAmB,CAAQ;IAEnC,OAAO,CAAC,eAAe,CAAsB;IAE7C,OAAO,CAAC,WAAW,CAAe;IAElC,OAAO,CAAC,SAAS,CAAU;IAE3B,OAAO,CAAC,MAAM,CAAI;IAElB,OAAO,CAAC,OAAO,CAAuB;IAEtC,OAAO,CAAC,SAAS,CAA8B;IAE/C,OAAO,CAAC,cAAc,CAAK;IAE3B,KAAK,EAAE,UAAU,GAAG,IAAI,CAAO;IAE/B,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAO;IAErC,QAAQ;IAIR,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAY9C,sBAAsB,CAAC,MAAM,EAAE,MAAM;IAiCrC,YAAY,CAAC,MAAM,EAAE,MAAM;IAY3B,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE;IAM5B,iBAAiB;IAQjB,iBAAiB,CAAC,MAAM,EAAE,MAAM;IAShC,YAAY,CAAC,MAAM,EAAE,cAAc;IA0KnC,KAAK;IAsEL,KAAK;IASL,OAAO,CAAC,UAAU;CAUnB"}
@@ -65,7 +65,7 @@ export class Speedtest {
65
65
  this._state = 1;
66
66
  }
67
67
  if (this._state !== 1) {
68
- throw 'You can\'t add a server after server selection';
68
+ throw "You can't add a server after server selection";
69
69
  }
70
70
  this._settings.mpot = true;
71
71
  this._serverList.push(server);
@@ -84,7 +84,7 @@ export class Speedtest {
84
84
  setSelectedServer(server) {
85
85
  this._checkServerDefinition(server);
86
86
  if (this._state === 3) {
87
- throw 'You can\'t select a server while the test is running';
87
+ throw "You can't select a server while the test is running";
88
88
  }
89
89
  this._selectedServer = server;
90
90
  this._state = 2;
@@ -98,7 +98,7 @@ export class Speedtest {
98
98
  throw 'Server already selected';
99
99
  }
100
100
  if (this._state >= 3) {
101
- throw 'You can\'t select a server while the test is running';
101
+ throw "You can't select a server while the test is running";
102
102
  }
103
103
  }
104
104
  if (this._selectServerCalled) {
@@ -108,7 +108,7 @@ export class Speedtest {
108
108
  this._selectServerCalled = true;
109
109
  }
110
110
  /*this function goes through a list of servers. For each server, the ping is measured, then the server with the function result is called with the best server, or null if all the servers were down.
111
- */
111
+ */
112
112
  const select = (serverList, result) => {
113
113
  //pings the specified URL, then calls the function result. Result will receive a parameter which is either the time it took to ping the URL, or -1 if something went wrong.
114
114
  const PING_TIMEOUT = 2000;
@@ -210,7 +210,7 @@ export class Speedtest {
210
210
  }
211
211
  result(bestServer);
212
212
  };
213
- serverList.forEach(server => {
213
+ serverList.forEach((server) => {
214
214
  checkServer(server, done);
215
215
  });
216
216
  if (i === serverList.length) {
@@ -303,12 +303,12 @@ export class Speedtest {
303
303
  if (typeof this._originalExtra !== 'undefined') {
304
304
  this._settings.telemetry_extra = JSON.stringify({
305
305
  server: this._selectedServer.name,
306
- extra: this._originalExtra
306
+ extra: this._originalExtra,
307
307
  });
308
308
  }
309
309
  else {
310
310
  this._settings.telemetry_extra = JSON.stringify({
311
- server: this._selectedServer.name
311
+ server: this._selectedServer.name,
312
312
  });
313
313
  }
314
314
  }
@@ -318,7 +318,7 @@ export class Speedtest {
318
318
  }
319
319
  abort() {
320
320
  if (this._state < 3) {
321
- throw new Error('You cannot abort a test that\'s not started yet');
321
+ throw new Error("You cannot abort a test that's not started yet");
322
322
  }
323
323
  if (this._state < 4) {
324
324
  this.worker?.postMessage('abort');