@gcorevideo/player 2.22.21 → 2.22.22

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 (38) hide show
  1. package/assets/clappr-nerd-stats/clappr-nerd-stats.ejs +30 -30
  2. package/assets/clappr-nerd-stats/clappr-nerd-stats.scss +21 -14
  3. package/dist/core.js +1 -1
  4. package/dist/index.css +686 -678
  5. package/dist/index.js +49 -31
  6. package/dist/player.d.ts +32 -10
  7. package/dist/plugins/index.css +612 -604
  8. package/dist/plugins/index.js +48 -30
  9. package/docs/api/player.extendedevents.md +45 -0
  10. package/docs/api/player.md +21 -1
  11. package/docs/api/player.volumefade._constructor_.md +50 -0
  12. package/docs/api/player.volumefade.md +40 -1
  13. package/docs/api/player.volumefadesettings.md +18 -0
  14. package/lib/plugins/clappr-nerd-stats/NerdStats.d.ts +1 -0
  15. package/lib/plugins/clappr-nerd-stats/NerdStats.d.ts.map +1 -1
  16. package/lib/plugins/clappr-nerd-stats/NerdStats.js +13 -3
  17. package/lib/plugins/clappr-nerd-stats/speedtest/Speedtest.d.ts.map +1 -1
  18. package/lib/plugins/clappr-nerd-stats/speedtest/Speedtest.js +1 -0
  19. package/lib/plugins/clappr-nerd-stats/speedtest/index.js +1 -1
  20. package/lib/plugins/clappr-nerd-stats/utils.d.ts.map +1 -1
  21. package/lib/plugins/clappr-nerd-stats/utils.js +17 -15
  22. package/lib/plugins/clappr-stats/ClapprStats.d.ts +1 -0
  23. package/lib/plugins/clappr-stats/ClapprStats.d.ts.map +1 -1
  24. package/lib/plugins/clappr-stats/ClapprStats.js +3 -0
  25. package/lib/plugins/click-to-pause/ClickToPause.js +6 -7
  26. package/lib/plugins/volume-fade/VolumeFade.d.ts +3 -1
  27. package/lib/plugins/volume-fade/VolumeFade.d.ts.map +1 -1
  28. package/lib/plugins/volume-fade/VolumeFade.js +6 -3
  29. package/package.json +1 -1
  30. package/src/plugins/clappr-nerd-stats/NerdStats.ts +21 -8
  31. package/src/plugins/clappr-nerd-stats/speedtest/Speedtest.ts +1 -0
  32. package/src/plugins/clappr-nerd-stats/speedtest/index.ts +1 -1
  33. package/src/plugins/clappr-nerd-stats/utils.ts +23 -13
  34. package/src/plugins/clappr-stats/ClapprStats.ts +4 -0
  35. package/src/plugins/click-to-pause/ClickToPause.ts +6 -6
  36. package/src/plugins/volume-fade/VolumeFade.ts +6 -3
  37. package/temp/player.api.json +100 -2
  38. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ClapprStats.d.ts","sourceRoot":"","sources":["../../../src/plugins/clappr-stats/ClapprStats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAwB,MAAM,cAAc,CAAA;AAU/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAMpD,cAAc,YAAY,CAAA;AAG1B,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,WAAY,SAAQ,eAAe;IAC9C,OAAO,CAAC,OAAO,CAAuB;IAEtC,OAAO,CAAC,sBAAsB,CAAI;IAElC,OAAO,CAAC,OAAO,CAAmC;IAElD,OAAO,CAAC,MAAM,CAMb;IAED,OAAO,CAAC,OAAO,CAAQ;IAEvB;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,CAAC,GAAG;IASX,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,IAAI;gBAIA,SAAS,EAAE,SAAS;IAKhC;;OAEG;IACM,UAAU;IAmDnB;;OAEG;IACM,OAAO;IAKhB;;;OAGG;IACH,aAAa;IAIb,OAAO,CAAC,SAAS;IAkBjB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,OAAO;IAgBf,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,6BAA6B;IAOrC,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,QAAQ;IAgBhB,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,aAAa;CA0BtB"}
1
+ {"version":3,"file":"ClapprStats.d.ts","sourceRoot":"","sources":["../../../src/plugins/clappr-stats/ClapprStats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAwB,MAAM,cAAc,CAAA;AAU/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAMpD,cAAc,YAAY,CAAA;AAG1B,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,WAAY,SAAQ,eAAe;IAC9C,OAAO,CAAC,OAAO,CAAuB;IAEtC,OAAO,CAAC,sBAAsB,CAAI;IAElC,OAAO,CAAC,OAAO,CAAmC;IAElD,OAAO,CAAC,MAAM,CAMb;IAED,OAAO,CAAC,OAAO,CAAQ;IAEvB;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,CAAC,GAAG;IASX,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,IAAI;gBAIA,SAAS,EAAE,SAAS;IAKhC;;OAEG;IACM,UAAU;IAmDnB;;OAEG;IACM,OAAO;IAKhB;;;OAGG;IACH,aAAa;IAIb,YAAY;IAIZ,OAAO,CAAC,SAAS;IAkBjB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,OAAO;IAgBf,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,6BAA6B;IAOrC,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,QAAQ;IAgBhB,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,aAAa;CA0BtB"}
@@ -99,6 +99,9 @@ export class ClapprStats extends ContainerPlugin {
99
99
  exportMetrics() {
100
100
  return structuredClone(this.metrics);
101
101
  }
102
+ clearMetrics() {
103
+ this.metrics = newMetrics();
104
+ }
102
105
  onBitrate(newBitrate) {
103
106
  const bitrate = newBitrate.bitrate;
104
107
  const now = this.now();
@@ -41,14 +41,13 @@ export class ClickToPause extends ContainerPlugin {
41
41
  });
42
42
  if (isLivePlayback && !isDvrEnabled) {
43
43
  this.togglePlay(true);
44
+ return;
44
45
  }
45
- else if (!isLivePlayback || isDvrEnabled) {
46
- this.clearTimer();
47
- this.timer = setTimeout(() => {
48
- this.timer = null;
49
- this.togglePlay(false);
50
- }, 300);
51
- }
46
+ this.clearTimer();
47
+ this.timer = setTimeout(() => {
48
+ this.timer = null;
49
+ this.togglePlay(false);
50
+ }, 300);
52
51
  }
53
52
  settingsUpdate() {
54
53
  const isLivePlayback = this.container.getPlaybackType() === Playback.LIVE;
@@ -20,10 +20,12 @@ export type VolumeFadeSettings = {
20
20
  duration?: number;
21
21
  };
22
22
  /**
23
- * `PLUGIN` that applies fade effect to the player's volume change.
23
+ * `PLUGIN` that mutes the sound and fades it in when the mouse is over the player.
24
24
  * @beta
25
25
  *
26
26
  * @remarks
27
+ * When the user moves the mouse over and away from the player, the sound is unmuted and unmuted with a fade effect.
28
+ *
27
29
  * Depends on {@link MediaControl} plugin.
28
30
  * Configuration options - {@link VolumeFadeSettings}
29
31
  */
@@ -1 +1 @@
1
- {"version":3,"file":"VolumeFade.d.ts","sourceRoot":"","sources":["../../../src/plugins/volume-fade/VolumeFade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAsB,IAAI,EAAE,MAAM,cAAc,CAAA;AAMrE;;;GAGG;AACH,oBAAY,gBAAgB;IAC1B,IAAI,qBAAqB;CAC1B;AAMD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED;;;;;;;GAOG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,YAAY,CAAI;IAExB,OAAO,CAAC,QAAQ,CAAI;IAEpB,OAAO,CAAC,OAAO,CAAuB;IAEtC;;OAEG;IACH,IAAI,IAAI,WAEP;gBAEW,IAAI,EAAE,IAAI;IAOtB;;OAEG;IACM,UAAU;IAInB,OAAO,CAAC,WAAW;IA6BnB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,IAAI;IAqBZ,OAAO,CAAC,QAAQ;CAOjB"}
1
+ {"version":3,"file":"VolumeFade.d.ts","sourceRoot":"","sources":["../../../src/plugins/volume-fade/VolumeFade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAsB,IAAI,EAAE,MAAM,cAAc,CAAA;AAMrE;;;GAGG;AACH,oBAAY,gBAAgB;IAC1B,IAAI,qBAAqB;CAC1B;AAOD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED;;;;;;;;;GASG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,YAAY,CAAI;IAExB,OAAO,CAAC,QAAQ,CAAI;IAEpB,OAAO,CAAC,OAAO,CAAuB;IAEtC;;OAEG;IACH,IAAI,IAAI,WAEP;gBAEW,IAAI,EAAE,IAAI;IAOtB;;OAEG;IACM,UAAU;IAInB,OAAO,CAAC,WAAW;IA6BnB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,IAAI;IAqBZ,OAAO,CAAC,QAAQ;CAOjB"}
@@ -11,11 +11,14 @@ export var VolumeFadeEvents;
11
11
  })(VolumeFadeEvents || (VolumeFadeEvents = {}));
12
12
  const T = 'plugins.volume_fade';
13
13
  const DEFAULT_DURATION = 600;
14
+ const DEFAULT_VOLUME_LEVEL = 80;
14
15
  /**
15
- * `PLUGIN` that applies fade effect to the player's volume change.
16
+ * `PLUGIN` that mutes the sound and fades it in when the mouse is over the player.
16
17
  * @beta
17
18
  *
18
19
  * @remarks
20
+ * When the user moves the mouse over and away from the player, the sound is unmuted and unmuted with a fade effect.
21
+ *
19
22
  * Depends on {@link MediaControl} plugin.
20
23
  * Configuration options - {@link VolumeFadeSettings}
21
24
  */
@@ -57,10 +60,10 @@ export class VolumeFade extends UICorePlugin {
57
60
  this.core.activeContainer?.volume &&
58
61
  !isNaN(this.core.activeContainer.volume)
59
62
  ? this.core.activeContainer.volume
60
- : 80;
63
+ : DEFAULT_VOLUME_LEVEL;
61
64
  }
62
65
  this.duration = this.options.volumeFade?.duration || DEFAULT_DURATION;
63
- // TODO check if mute must be respected
66
+ // TODO check if `mute` must be respected
64
67
  this.core.activeContainer?.setVolume(this.activeVolume);
65
68
  this.core.activePlayback.volume(0);
66
69
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gcorevideo/player",
3
- "version": "2.22.21",
3
+ "version": "2.22.22",
4
4
  "description": "Gcore JavaScript video player",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -312,8 +312,12 @@ export class NerdStats extends UICorePlugin {
312
312
 
313
313
  private updateMetrics(metrics: PerfMetrics) {
314
314
  trace(`${T} updateMetrics`, { custom: this.speedtestMetrics })
315
- Object.assign(this.metrics, metrics)
316
- this.updateEstimatedQuality()
315
+ Object.assign(this.metrics, metrics) // TODO no Object.assign
316
+ this.metrics.custom = {
317
+ ...this.speedtestMetrics,
318
+ }
319
+
320
+ this.updateCustomMetrics()
317
321
 
318
322
  this.$el
319
323
  .find('#nerd-stats-current-time')
@@ -382,17 +386,19 @@ export class NerdStats extends UICorePlugin {
382
386
 
383
387
  this.setStatsBoxSize()
384
388
  drawSpeedTestResults()
385
- drawSummary(
386
- this.speedtestMetrics,
387
- this.$el.find('#nerd-stats-quality-vod'),
388
- this.$el.find('#nerd-stats-quality-live'),
389
- )
389
+ this.updateEstimatedQuality()
390
390
 
391
391
  if (!this.open) {
392
392
  this.hide()
393
393
  }
394
394
  }
395
395
 
396
+ private updateCustomMetrics() {
397
+ this.$el.find('#nerd-stats-dl-text').text(this.metrics.custom.connectionSpeed.toFixed(2))
398
+ this.$el.find('#nerd-stats-ping-text').text(this.metrics.custom.ping.toFixed(2))
399
+ this.$el.find('#nerd-stats-jitter-text').text(this.metrics.custom.jitter.toFixed(2))
400
+ }
401
+
396
402
  private updateEstimatedQuality() {
397
403
  this.estimateQuality()
398
404
  this.$el
@@ -401,6 +407,12 @@ export class NerdStats extends UICorePlugin {
401
407
  this.$el
402
408
  .find('#nerd-stats-quality-live-text')
403
409
  .html(this.metrics.custom.liveQuality)
410
+
411
+ drawSummary(
412
+ this.speedtestMetrics,
413
+ this.$el.find('#nerd-stats-quality-vod'),
414
+ this.$el.find('#nerd-stats-quality-live'),
415
+ )
404
416
  }
405
417
 
406
418
  private setStatsBoxSize() {
@@ -453,8 +465,9 @@ export class NerdStats extends UICorePlugin {
453
465
  this.speedtestMetrics.connectionSpeed = 0
454
466
  this.speedtestMetrics.ping = 0
455
467
  this.speedtestMetrics.jitter = 0
456
-
468
+
457
469
  if (clapprStats) {
470
+ clapprStats.clearMetrics()
458
471
  this.updateMetrics(clapprStats.exportMetrics())
459
472
  }
460
473
  }
@@ -116,6 +116,7 @@ export class Speedtest {
116
116
 
117
117
  addTestPoint(server: Server) {
118
118
  this._checkServerDefinition(server)
119
+ console.log('Speedtest addTestPoint %o', server)
119
120
  if (this._state === 0) {
120
121
  this._state = 1
121
122
  }
@@ -37,7 +37,7 @@ const getColor = (speedValue: number): string => {
37
37
  };
38
38
 
39
39
  export function drawSpeedTestResults() {
40
- const canvas = document.getElementById('speedTestCanvas');
40
+ const canvas = document.getElementById('nerd-stats-speed-test-canvas');
41
41
  if (!canvas) {
42
42
  return;
43
43
  }
@@ -10,31 +10,41 @@ const qualityClasses = [
10
10
  ]
11
11
 
12
12
  export const getDownloadQuality = (speedValue: number): number => {
13
+ if (!speedValue) {
14
+ return 0
15
+ }
13
16
  if (speedValue < 3) {
14
17
  return 1
15
- } else if (speedValue < 7) {
18
+ }
19
+ if (speedValue < 7) {
16
20
  return 2
17
- } else if (speedValue < 13) {
21
+ }
22
+ if (speedValue < 13) {
18
23
  return 3
19
- } else if (speedValue < 25) {
24
+ }
25
+ if (speedValue < 25) {
20
26
  return 4
21
- } else {
22
- return 5
23
27
  }
28
+ return 5
24
29
  }
25
30
 
26
31
  export const getPingQuality = (pingValue: number): number => {
32
+ if (!pingValue) {
33
+ return 0
34
+ }
27
35
  if (pingValue < 20) {
28
36
  return 5
29
- } else if (pingValue < 50) {
37
+ }
38
+ if (pingValue < 50) {
30
39
  return 4
31
- } else if (pingValue < 100) {
40
+ }
41
+ if (pingValue < 100) {
32
42
  return 3
33
- } else if (pingValue < 150) {
43
+ }
44
+ if (pingValue < 150) {
34
45
  return 2
35
- } else {
36
- return 1
37
46
  }
47
+ return 1
38
48
  }
39
49
 
40
50
  export const generateQualityHtml = (quality: number): string => {
@@ -61,9 +71,9 @@ export const drawSummary = (
61
71
  ) => {
62
72
  const { connectionSpeed, ping } = customMetrics
63
73
 
64
- if (!connectionSpeed || !ping) {
65
- return
66
- }
74
+ // if (!connectionSpeed || !ping) {
75
+ // return
76
+ // }
67
77
  const downloadQuality = getDownloadQuality(connectionSpeed)
68
78
  const pingQuality = getPingQuality(ping)
69
79
  const liveQuality = Math.min(downloadQuality, pingQuality)
@@ -172,6 +172,10 @@ export class ClapprStats extends ContainerPlugin {
172
172
  return structuredClone(this.metrics)
173
173
  }
174
174
 
175
+ clearMetrics() {
176
+ this.metrics = newMetrics()
177
+ }
178
+
175
179
  private onBitrate(newBitrate: QualityLevel) {
176
180
  const bitrate = newBitrate.bitrate
177
181
  const now = this.now()
@@ -58,13 +58,13 @@ export class ClickToPause extends ContainerPlugin {
58
58
 
59
59
  if (isLivePlayback && !isDvrEnabled) {
60
60
  this.togglePlay(true)
61
- } else if (!isLivePlayback || isDvrEnabled) {
62
- this.clearTimer()
63
- this.timer = setTimeout(() => {
64
- this.timer = null
65
- this.togglePlay(false)
66
- }, 300)
61
+ return
67
62
  }
63
+ this.clearTimer()
64
+ this.timer = setTimeout(() => {
65
+ this.timer = null
66
+ this.togglePlay(false)
67
+ }, 300)
68
68
  }
69
69
 
70
70
  private settingsUpdate() {
@@ -15,6 +15,7 @@ export enum VolumeFadeEvents {
15
15
  const T = 'plugins.volume_fade'
16
16
 
17
17
  const DEFAULT_DURATION = 600
18
+ const DEFAULT_VOLUME_LEVEL = 80
18
19
 
19
20
  /**
20
21
  * @beta
@@ -31,10 +32,12 @@ export type VolumeFadeSettings = {
31
32
  }
32
33
 
33
34
  /**
34
- * `PLUGIN` that applies fade effect to the player's volume change.
35
+ * `PLUGIN` that mutes the sound and fades it in when the mouse is over the player.
35
36
  * @beta
36
37
  *
37
38
  * @remarks
39
+ * When the user moves the mouse over and away from the player, the sound is unmuted and unmuted with a fade effect.
40
+ *
38
41
  * Depends on {@link MediaControl} plugin.
39
42
  * Configuration options - {@link VolumeFadeSettings}
40
43
  */
@@ -86,11 +89,11 @@ export class VolumeFade extends UICorePlugin {
86
89
  this.core.activeContainer?.volume &&
87
90
  !isNaN(this.core.activeContainer.volume)
88
91
  ? this.core.activeContainer.volume
89
- : 80
92
+ : DEFAULT_VOLUME_LEVEL
90
93
  }
91
94
 
92
95
  this.duration = this.options.volumeFade?.duration || DEFAULT_DURATION
93
- // TODO check if mute must be respected
96
+ // TODO check if `mute` must be respected
94
97
  this.core.activeContainer?.setVolume(this.activeVolume)
95
98
  this.core.activePlayback.volume(0)
96
99
  }
@@ -1925,6 +1925,44 @@
1925
1925
  "endIndex": 2
1926
1926
  }
1927
1927
  },
1928
+ {
1929
+ "kind": "Enum",
1930
+ "canonicalReference": "@gcorevideo/player!ExtendedEvents:enum",
1931
+ "docComment": "",
1932
+ "excerptTokens": [
1933
+ {
1934
+ "kind": "Content",
1935
+ "text": "export declare enum ExtendedEvents "
1936
+ }
1937
+ ],
1938
+ "fileUrlPath": "src/plugins/media-control/MediaControl.ts",
1939
+ "releaseTag": "Public",
1940
+ "name": "ExtendedEvents",
1941
+ "preserveMemberOrder": false,
1942
+ "members": [
1943
+ {
1944
+ "kind": "EnumMember",
1945
+ "canonicalReference": "@gcorevideo/player!ExtendedEvents.MEDIACONTROL_VOLUME:member",
1946
+ "docComment": "",
1947
+ "excerptTokens": [
1948
+ {
1949
+ "kind": "Content",
1950
+ "text": "MEDIACONTROL_VOLUME = "
1951
+ },
1952
+ {
1953
+ "kind": "Content",
1954
+ "text": "\"mediacontrol:volume\""
1955
+ }
1956
+ ],
1957
+ "initializerTokenRange": {
1958
+ "startIndex": 1,
1959
+ "endIndex": 2
1960
+ },
1961
+ "releaseTag": "Public",
1962
+ "name": "MEDIACONTROL_VOLUME"
1963
+ }
1964
+ ]
1965
+ },
1928
1966
  {
1929
1967
  "kind": "Class",
1930
1968
  "canonicalReference": "@gcorevideo/player!Favicon:class",
@@ -9818,7 +9856,7 @@
9818
9856
  {
9819
9857
  "kind": "Class",
9820
9858
  "canonicalReference": "@gcorevideo/player!VolumeFade:class",
9821
- "docComment": "/**\n * `PLUGIN` that applies fade effect to the player's volume change.\n *\n * @beta\n */\n",
9859
+ "docComment": "/**\n * `PLUGIN` that mutes the sound and fades it in when the mouse is over the player.\n *\n * @remarks\n *\n * When the user moves the mouse over and away from the player, the sound is unmuted and unmuted with a fade effect.\n *\n * Depends on {@link MediaControl} plugin. Configuration options - {@link VolumeFadeSettings}\n *\n * @beta\n */\n",
9822
9860
  "excerptTokens": [
9823
9861
  {
9824
9862
  "kind": "Content",
@@ -9839,7 +9877,41 @@
9839
9877
  "isAbstract": false,
9840
9878
  "name": "VolumeFade",
9841
9879
  "preserveMemberOrder": false,
9842
- "members": [],
9880
+ "members": [
9881
+ {
9882
+ "kind": "Constructor",
9883
+ "canonicalReference": "@gcorevideo/player!VolumeFade:constructor(1)",
9884
+ "docComment": "/**\n * Constructs a new instance of the `VolumeFade` class\n */\n",
9885
+ "excerptTokens": [
9886
+ {
9887
+ "kind": "Content",
9888
+ "text": "constructor(core: "
9889
+ },
9890
+ {
9891
+ "kind": "Reference",
9892
+ "text": "Core",
9893
+ "canonicalReference": "@clappr/core!default:class"
9894
+ },
9895
+ {
9896
+ "kind": "Content",
9897
+ "text": ");"
9898
+ }
9899
+ ],
9900
+ "releaseTag": "Beta",
9901
+ "isProtected": false,
9902
+ "overloadIndex": 1,
9903
+ "parameters": [
9904
+ {
9905
+ "parameterName": "core",
9906
+ "parameterTypeTokenRange": {
9907
+ "startIndex": 1,
9908
+ "endIndex": 2
9909
+ },
9910
+ "isOptional": false
9911
+ }
9912
+ ]
9913
+ }
9914
+ ],
9843
9915
  "extendsTokenRange": {
9844
9916
  "startIndex": 1,
9845
9917
  "endIndex": 2
@@ -9884,6 +9956,32 @@
9884
9956
  }
9885
9957
  ]
9886
9958
  },
9959
+ {
9960
+ "kind": "TypeAlias",
9961
+ "canonicalReference": "@gcorevideo/player!VolumeFadeSettings:type",
9962
+ "docComment": "/**\n * @beta\n */\n",
9963
+ "excerptTokens": [
9964
+ {
9965
+ "kind": "Content",
9966
+ "text": "export type VolumeFadeSettings = "
9967
+ },
9968
+ {
9969
+ "kind": "Content",
9970
+ "text": "{\n level?: number;\n duration?: number;\n}"
9971
+ },
9972
+ {
9973
+ "kind": "Content",
9974
+ "text": ";"
9975
+ }
9976
+ ],
9977
+ "fileUrlPath": "src/plugins/volume-fade/VolumeFade.ts",
9978
+ "releaseTag": "Beta",
9979
+ "name": "VolumeFadeSettings",
9980
+ "typeTokenRange": {
9981
+ "startIndex": 1,
9982
+ "endIndex": 2
9983
+ }
9984
+ },
9887
9985
  {
9888
9986
  "kind": "Interface",
9889
9987
  "canonicalReference": "@gcorevideo/player!WatchEventData:interface",