@gcorevideo/player 2.22.17 → 2.22.18

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 (52) hide show
  1. package/assets/clappr-nerd-stats/clappr-nerd-stats.ejs +76 -78
  2. package/assets/clappr-nerd-stats/clappr-nerd-stats.scss +10 -7
  3. package/dist/core.js +5 -7
  4. package/dist/index.css +1350 -1349
  5. package/dist/index.js +234 -89
  6. package/dist/plugins/index.css +666 -665
  7. package/dist/plugins/index.js +231 -83
  8. package/lib/playback/dash-playback/DashPlayback.d.ts +0 -1
  9. package/lib/playback/dash-playback/DashPlayback.d.ts.map +1 -1
  10. package/lib/playback/dash-playback/DashPlayback.js +4 -5
  11. package/lib/playback/hls-playback/HlsPlayback.d.ts +1 -1
  12. package/lib/playback/hls-playback/HlsPlayback.d.ts.map +1 -1
  13. package/lib/playback/hls-playback/HlsPlayback.js +0 -1
  14. package/lib/playback.types.d.ts +2 -3
  15. package/lib/playback.types.d.ts.map +1 -1
  16. package/lib/plugins/clappr-nerd-stats/NerdStats.d.ts +13 -10
  17. package/lib/plugins/clappr-nerd-stats/NerdStats.d.ts.map +1 -1
  18. package/lib/plugins/clappr-nerd-stats/NerdStats.js +171 -120
  19. package/lib/plugins/clappr-nerd-stats/formatter.d.ts +5 -0
  20. package/lib/plugins/clappr-nerd-stats/formatter.d.ts.map +1 -1
  21. package/lib/plugins/clappr-nerd-stats/formatter.js +56 -24
  22. package/lib/plugins/clappr-nerd-stats/speedtest/index.d.ts +2 -2
  23. package/lib/plugins/clappr-nerd-stats/speedtest/index.d.ts.map +1 -1
  24. package/lib/plugins/clappr-nerd-stats/speedtest/types.d.ts +1 -1
  25. package/lib/plugins/clappr-nerd-stats/speedtest/types.d.ts.map +1 -1
  26. package/lib/plugins/clappr-nerd-stats/types.d.ts +3 -0
  27. package/lib/plugins/clappr-nerd-stats/types.d.ts.map +1 -1
  28. package/lib/plugins/clappr-nerd-stats/utils.d.ts +7 -0
  29. package/lib/plugins/clappr-nerd-stats/utils.d.ts.map +1 -0
  30. package/lib/plugins/clappr-nerd-stats/utils.js +67 -0
  31. package/lib/plugins/clappr-stats/types.d.ts +0 -1
  32. package/lib/plugins/clappr-stats/types.d.ts.map +1 -1
  33. package/lib/plugins/clappr-stats/utils.d.ts +1 -1
  34. package/lib/plugins/clappr-stats/utils.d.ts.map +1 -1
  35. package/lib/plugins/clappr-stats/utils.js +0 -1
  36. package/lib/plugins/seek-time/SeekTime.d.ts +1 -1
  37. package/lib/plugins/seek-time/SeekTime.d.ts.map +1 -1
  38. package/lib/plugins/seek-time/SeekTime.js +3 -4
  39. package/package.json +1 -1
  40. package/src/playback/dash-playback/DashPlayback.ts +5 -7
  41. package/src/playback/hls-playback/HlsPlayback.ts +2 -4
  42. package/src/playback.types.ts +2 -3
  43. package/src/plugins/clappr-nerd-stats/NerdStats.ts +212 -139
  44. package/src/plugins/clappr-nerd-stats/formatter.ts +91 -47
  45. package/src/plugins/clappr-nerd-stats/speedtest/index.ts +2 -2
  46. package/src/plugins/clappr-nerd-stats/speedtest/types.ts +1 -1
  47. package/src/plugins/clappr-nerd-stats/types.ts +43 -3
  48. package/src/plugins/clappr-nerd-stats/utils.ts +75 -0
  49. package/src/plugins/clappr-stats/types.ts +39 -40
  50. package/src/plugins/clappr-stats/utils.ts +3 -4
  51. package/src/plugins/seek-time/SeekTime.ts +4 -5
  52. package/tsconfig.tsbuildinfo +1 -1
@@ -3,63 +3,72 @@ const timeScale = new humanFormat.Scale({
3
3
  ms: 1,
4
4
  sec: 1000,
5
5
  min: 60000,
6
- hours: 3600000
6
+ hours: 3600000,
7
7
  });
8
8
  const percentScale = new humanFormat.Scale({
9
- '%': 1
9
+ '%': 1,
10
10
  });
11
+ const metricTemplates = {
12
+ fps: {
13
+ scale: 'SI',
14
+ decimals: 0,
15
+ },
16
+ volume: {
17
+ scale: percentScale,
18
+ },
19
+ };
11
20
  const formattingTemplate = {
12
21
  general: {
13
22
  volume: {
14
- scale: percentScale
15
- }
23
+ scale: percentScale,
24
+ },
16
25
  },
17
26
  timers: {
18
27
  startup: {
19
- scale: timeScale
28
+ scale: timeScale,
20
29
  },
21
30
  watch: {
22
- scale: timeScale
31
+ scale: timeScale,
23
32
  },
24
33
  pause: {
25
- scale: timeScale
34
+ scale: timeScale,
26
35
  },
27
36
  buffering: {
28
- scale: timeScale
37
+ scale: timeScale,
29
38
  },
30
39
  session: {
31
- scale: timeScale
40
+ scale: timeScale,
32
41
  },
33
42
  latency: {
34
- scale: timeScale
35
- }
43
+ scale: timeScale,
44
+ },
36
45
  },
37
46
  extra: {
38
47
  buffersize: {
39
- scale: timeScale
48
+ scale: timeScale,
40
49
  },
41
50
  duration: {
42
- scale: timeScale
51
+ scale: timeScale,
43
52
  },
44
53
  currentTime: {
45
- scale: timeScale
54
+ scale: timeScale,
46
55
  },
47
56
  bitrateWeightedMean: {
48
- unit: 'bps'
57
+ unit: 'bps',
49
58
  },
50
59
  bitrateMostUsed: {
51
- unit: 'bps'
60
+ unit: 'bps',
52
61
  },
53
62
  bandwidth: {
54
- unit: 'bps'
63
+ unit: 'bps',
55
64
  },
56
65
  watchedPercentage: {
57
- scale: percentScale
66
+ scale: percentScale,
58
67
  },
59
68
  bufferingPercentage: {
60
- scale: percentScale
61
- }
62
- }
69
+ scale: percentScale,
70
+ },
71
+ },
63
72
  };
64
73
  export default class Formatter {
65
74
  static format(metrics) {
@@ -69,8 +78,10 @@ export default class Formatter {
69
78
  formattedMetrics[type] = fmt;
70
79
  const typeTemplate = formattingTemplate[type];
71
80
  Object.entries(mm).forEach(([name, value]) => {
72
- // const value = mm[name];
73
- if (typeTemplate && typeTemplate[name] && (typeof value === 'number') && !isNaN(value)) {
81
+ if (typeTemplate &&
82
+ typeTemplate[name] &&
83
+ typeof value === 'number' &&
84
+ !isNaN(value)) {
74
85
  // @ts-ignore
75
86
  const templateScale = typeTemplate[name].scale || 'SI';
76
87
  // @ts-ignore
@@ -78,7 +89,7 @@ export default class Formatter {
78
89
  fmt[name] = humanFormat(value, {
79
90
  scale: templateScale,
80
91
  unit: templateUnit,
81
- decimals: 2
92
+ decimals: 2,
82
93
  });
83
94
  }
84
95
  else {
@@ -88,4 +99,25 @@ export default class Formatter {
88
99
  });
89
100
  return formattedMetrics;
90
101
  }
102
+ static formatVolume(volume) {
103
+ return humanFormat(volume, metricTemplates.volume);
104
+ }
105
+ static formatTime(time) {
106
+ return humanFormat(time, {
107
+ scale: timeScale,
108
+ });
109
+ }
110
+ static formatFps(fps) {
111
+ return humanFormat(fps, metricTemplates.fps);
112
+ }
113
+ static formatPercentage(percentage) {
114
+ return humanFormat(percentage, {
115
+ scale: percentScale,
116
+ });
117
+ }
118
+ static formatBitrate(bitrate) {
119
+ return humanFormat(bitrate, {
120
+ unit: 'bps',
121
+ });
122
+ }
91
123
  }
@@ -1,7 +1,7 @@
1
1
  import { type Server } from './Speedtest.js';
2
- import { CustomMetrics } from './types.js';
2
+ import { SpeedtestMetrics } from './types.js';
3
3
  export declare function drawSpeedTestResults(): void;
4
- export declare const initSpeedTest: (customMetrics: CustomMetrics) => Promise<void>;
4
+ export declare const initSpeedTest: (customMetrics: SpeedtestMetrics) => Promise<void>;
5
5
  export declare const stopSpeedtest: () => void;
6
6
  export declare const startSpeedtest: () => void;
7
7
  export declare const clearSpeedTestResults: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/clappr-nerd-stats/speedtest/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAkC,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAqC3C,wBAAgB,oBAAoB,SAmBnC;AAID,eAAO,MAAM,aAAa,kBAAmB,aAAa,KAAG,OAAO,CAAC,IAAI,CA+ExE,CAAC;AAEF,eAAO,MAAM,aAAa,YAIzB,CAAC;AAEF,eAAO,MAAM,cAAc,YAI1B,CAAC;AAEF,eAAO,MAAM,qBAAqB,YAEjC,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,QAGnD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/clappr-nerd-stats/speedtest/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAkC,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAqC9C,wBAAgB,oBAAoB,SAmBnC;AAID,eAAO,MAAM,aAAa,kBAAmB,gBAAgB,KAAG,OAAO,CAAC,IAAI,CA+E3E,CAAC;AAEF,eAAO,MAAM,aAAa,YAIzB,CAAC;AAEF,eAAO,MAAM,cAAc,YAI1B,CAAC;AAEF,eAAO,MAAM,qBAAqB,YAEjC,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,QAGnD"}
@@ -1,4 +1,4 @@
1
- export type CustomMetrics = {
1
+ export type SpeedtestMetrics = {
2
2
  ping: number;
3
3
  jitter: number;
4
4
  connectionSpeed: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/plugins/clappr-nerd-stats/speedtest/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;CACzB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/plugins/clappr-nerd-stats/speedtest/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;CACzB,CAAA"}
@@ -1,4 +1,7 @@
1
1
  export type MetricsKind = 'general' | 'timers' | 'extra';
2
+ export type MetricType = 'general' | 'timers' | 'extra';
2
3
  export type MetricsType = 'volume' | 'startup' | 'watch' | 'pause' | 'buffering' | 'session' | 'latency' | 'buffersize' | 'duration' | 'currentTime' | 'bitrateWeightedMean' | 'bitrateMostUsed' | 'bandwidth' | 'watchedPercentage' | 'bufferingPercentage';
4
+ export type MetricName = 'volume' | 'startup' | 'watch' | 'pause' | 'buffering' | 'session' | 'latency' | 'buffersize' | 'duration' | 'currentTime' | 'bitrateWeightedMean' | 'bitrateMostUsed' | 'bandwidth' | 'watchedPercentage' | 'bufferingPercentage' | 'fps';
5
+ export type MetricKind = 'volume' | 'time' | 'precisetime' | 'percentage' | 'bitrate' | 'bandwidth';
3
6
  export type MetricsValue = number;
4
7
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/clappr-nerd-stats/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AACzD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,qBAAqB,GAAG,iBAAiB,GAAG,WAAW,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;AAC7P,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/clappr-nerd-stats/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAA;AACxD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAA;AACvD,MAAM,MAAM,WAAW,GACnB,QAAQ,GACR,SAAS,GACT,OAAO,GACP,OAAO,GACP,WAAW,GACX,SAAS,GACT,SAAS,GACT,YAAY,GACZ,UAAU,GACV,aAAa,GACb,qBAAqB,GACrB,iBAAiB,GACjB,WAAW,GACX,mBAAmB,GACnB,qBAAqB,CAAA;AACzB,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,SAAS,GACT,OAAO,GACP,OAAO,GACP,WAAW,GACX,SAAS,GACT,SAAS,GACT,YAAY,GACZ,UAAU,GACV,aAAa,GACb,qBAAqB,GACrB,iBAAiB,GACjB,WAAW,GACX,mBAAmB,GACnB,qBAAqB,GACrB,KAAK,CAAA;AACT,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,MAAM,GACN,aAAa,GACb,YAAY,GACZ,SAAS,GACT,WAAW,CAAA;AACf,MAAM,MAAM,YAAY,GAAG,MAAM,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { ZeptoResult } from "../../types";
2
+ import { SpeedtestMetrics } from "./speedtest/types";
3
+ export declare const getDownloadQuality: (speedValue: number) => number;
4
+ export declare const getPingQuality: (pingValue: number) => number;
5
+ export declare const generateQualityHtml: (quality: number) => string;
6
+ export declare const drawSummary: (customMetrics: SpeedtestMetrics, vodContainer: ZeptoResult, liveContainer: ZeptoResult) => void;
7
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/plugins/clappr-nerd-stats/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAUpD,eAAO,MAAM,kBAAkB,eAAgB,MAAM,KAAG,MAYvD,CAAA;AAED,eAAO,MAAM,cAAc,cAAe,MAAM,KAAG,MAYlD,CAAA;AAED,eAAO,MAAM,mBAAmB,YAAa,MAAM,KAAG,MAerD,CAAA;AAED,eAAO,MAAM,WAAW,kBACP,gBAAgB,gBACjB,WAAW,iBACV,WAAW,SAe3B,CAAA"}
@@ -0,0 +1,67 @@
1
+ const qualityClasses = [
2
+ 'speedtest-quality-value-1',
3
+ 'speedtest-quality-value-2',
4
+ 'speedtest-quality-value-3',
5
+ 'speedtest-quality-value-4',
6
+ 'speedtest-quality-value-5',
7
+ ];
8
+ export const getDownloadQuality = (speedValue) => {
9
+ if (speedValue < 3) {
10
+ return 1;
11
+ }
12
+ else if (speedValue < 7) {
13
+ return 2;
14
+ }
15
+ else if (speedValue < 13) {
16
+ return 3;
17
+ }
18
+ else if (speedValue < 25) {
19
+ return 4;
20
+ }
21
+ else {
22
+ return 5;
23
+ }
24
+ };
25
+ export const getPingQuality = (pingValue) => {
26
+ if (pingValue < 20) {
27
+ return 5;
28
+ }
29
+ else if (pingValue < 50) {
30
+ return 4;
31
+ }
32
+ else if (pingValue < 100) {
33
+ return 3;
34
+ }
35
+ else if (pingValue < 150) {
36
+ return 2;
37
+ }
38
+ else {
39
+ return 1;
40
+ }
41
+ };
42
+ export const generateQualityHtml = (quality) => {
43
+ const html = [];
44
+ const qualityClassName = qualityClasses[quality - 1];
45
+ for (let i = 0; i < qualityClasses.length; i++) {
46
+ if (i < quality) {
47
+ html.push(`<div class="speedtest-quality-content-item ${qualityClassName}"></div>`);
48
+ }
49
+ else {
50
+ html.push('<div class="speedtest-quality-content-item"></div>');
51
+ }
52
+ }
53
+ return html.join('');
54
+ };
55
+ export const drawSummary = (customMetrics, vodContainer, liveContainer) => {
56
+ const { connectionSpeed, ping } = customMetrics;
57
+ if (!connectionSpeed || !ping) {
58
+ return;
59
+ }
60
+ const downloadQuality = getDownloadQuality(connectionSpeed);
61
+ const pingQuality = getPingQuality(ping);
62
+ const liveQuality = Math.min(downloadQuality, pingQuality);
63
+ const vodHtml = generateQualityHtml(downloadQuality);
64
+ const liveHtml = generateQualityHtml(liveQuality);
65
+ vodContainer.html(vodHtml);
66
+ liveContainer.html(liveHtml);
67
+ };
@@ -80,7 +80,6 @@ export type Metrics = {
80
80
  duration: number;
81
81
  currentTime: number;
82
82
  };
83
- custom: Record<string, unknown>;
84
83
  };
85
84
  /**
86
85
  * @beta
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/clappr-stats/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,OAAO,YAAY;CAEpB;AAED;;GAEG;AACH,oBAAY,OAAO;IACjB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,GAAG,QAAQ;IACX,WAAW,gBAAgB;IAC3B,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,QAAQ,aAAa;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB;;OAEG;IACH,QAAQ,EAAE;QACR;;WAEG;QACH,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAChC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAChC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QACtB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAC9B,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAC7B,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF;;OAEG;IACH,MAAM,EAAE;QACN;;WAEG;QACH,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC9B;;WAEG;QACH,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAC5B;;WAEG;QACH,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAC5B,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAChC,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;KAE/B,CAAC;IACF,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,kBAAkB,EAAE,CAAC;QACtC,mBAAmB,EAAE,MAAM,CAAC;QAC5B,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACtC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAA;AAED;;GAEG;AACH,oBAAY,iBAAiB;IAC3B;;OAEG;IACH,MAAM,wBAAwB;CAK/B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/clappr-stats/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,OAAO,YAAY;CAEpB;AAED;;GAEG;AACH,oBAAY,OAAO;IACjB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,GAAG,QAAQ;IACX,WAAW,gBAAgB;IAC3B,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,QAAQ,aAAa;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB;;OAEG;IACH,QAAQ,EAAE;QACR;;WAEG;QACH,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;QACtB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;QACvB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;QACvB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;QAC3B,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;QAC/B,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;QAC/B,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;QACrB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;QAC7B,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;QACtB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;QAC5B,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAC3B,CAAA;IACD;;OAEG;IACH,MAAM,EAAE;QACN;;WAEG;QACH,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;QAC7B;;WAEG;QACH,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;QAC3B;;WAEG;QACH,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;QAC3B,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;QAC/B,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAE9B,CAAA;IACD,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAA;QACpB,YAAY,EAAE,MAAM,CAAA;QACpB,eAAe,EAAE,kBAAkB,EAAE,CAAA;QACrC,mBAAmB,EAAE,MAAM,CAAA;QAC3B,eAAe,EAAE,MAAM,CAAA;QACvB,UAAU,EAAE,MAAM,CAAA;QAClB,YAAY,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;QACrC,iBAAiB,EAAE,MAAM,CAAA;QACzB,mBAAmB,EAAE,MAAM,CAAA;QAC3B,SAAS,EAAE,MAAM,CAAA;QACjB,QAAQ,EAAE,MAAM,CAAA;QAChB,WAAW,EAAE,MAAM,CAAA;KACpB,CAAA;CACF,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED;;GAEG;AACH,oBAAY,iBAAiB;IAC3B;;OAEG;IACH,MAAM,wBAAwB;CAK/B"}
@@ -1,3 +1,3 @@
1
- import type { Metrics } from "./types";
1
+ import type { Metrics } from './types';
2
2
  export declare function newMetrics(): Metrics;
3
3
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/plugins/clappr-stats/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,wBAAgB,UAAU,IAAI,OAAO,CAsCpC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/plugins/clappr-stats/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,wBAAgB,UAAU,IAAI,OAAO,CAqCpC"}
@@ -34,6 +34,5 @@ export function newMetrics() {
34
34
  duration: 0,
35
35
  currentTime: 0,
36
36
  },
37
- custom: {},
38
37
  };
39
38
  }
@@ -28,7 +28,7 @@ export declare class SeekTime extends UICorePlugin {
28
28
  private $seekTimeEl;
29
29
  bindEvents(): void;
30
30
  private onContainerChanged;
31
- private updateDuration;
31
+ private onTimeUpdate;
32
32
  private showTime;
33
33
  private hideTime;
34
34
  private calculateHoverPosition;
@@ -1 +1 @@
1
- {"version":3,"file":"SeekTime.d.ts","sourceRoot":"","sources":["../../../src/plugins/seek-time/SeekTime.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoB,YAAY,EAAmB,MAAM,cAAc,CAAC;AAM/E,OAAO,0CAA0C,CAAC;AAKlD;;;GAGG;AACH,qBAAa,QAAS,SAAQ,YAAY;IACxC,IAAI,IAAI,WAEP;IAED,IAAI,gBAAgB;;MAEnB;IAED,IAAI,QAAQ,QAEX;IAED,IAAa,UAAU;;;MAKtB;IAED,IAAI,YAAY,QAEf;IAED,IAAI,qBAAqB,QAExB;IAED,IAAI,mBAAmB,QAItB;IAED,IAAI,aAAa,YAEhB;IAED,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,aAAa,CAAK;IAE1B,OAAO,CAAC,iBAAiB,CAAuB;IAEhD,OAAO,CAAC,iBAAiB,CAAsB;IAE/C,OAAO,CAAC,QAAQ,CAAK;IAGrB,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,WAAW,CAA4B;IAE/C,OAAO,CAAC,WAAW,CAA4B;IAEtC,UAAU;IAWnB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,sBAAsB;IAO9B,WAAW;;;IAYX,MAAM;IA8CN,eAAe;IAQN,MAAM;CAahB"}
1
+ {"version":3,"file":"SeekTime.d.ts","sourceRoot":"","sources":["../../../src/plugins/seek-time/SeekTime.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoB,YAAY,EAAmB,MAAM,cAAc,CAAC;AAM/E,OAAO,0CAA0C,CAAC;AAKlD;;;GAGG;AACH,qBAAa,QAAS,SAAQ,YAAY;IACxC,IAAI,IAAI,WAEP;IAED,IAAI,gBAAgB;;MAEnB;IAED,IAAI,QAAQ,QAEX;IAED,IAAa,UAAU;;;MAKtB;IAED,IAAI,YAAY,QAEf;IAED,IAAI,qBAAqB,QAExB;IAED,IAAI,mBAAmB,QAItB;IAED,IAAI,aAAa,YAEhB;IAED,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,aAAa,CAAK;IAE1B,OAAO,CAAC,iBAAiB,CAAuB;IAEhD,OAAO,CAAC,iBAAiB,CAAsB;IAE/C,OAAO,CAAC,QAAQ,CAAK;IAGrB,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,WAAW,CAA4B;IAE/C,OAAO,CAAC,WAAW,CAA4B;IAEtC,UAAU;IAWnB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,sBAAsB;IAO9B,WAAW;;;IAYX,MAAM;IA8CN,eAAe;IAQN,MAAM;CAahB"}
@@ -56,7 +56,7 @@ export class SeekTime extends UICorePlugin {
56
56
  this.listenTo(this.mediaControl, Events.MEDIACONTROL_CONTAINERCHANGED, this.onContainerChanged);
57
57
  if (this.mediaControlContainer) {
58
58
  this.listenTo(this.mediaControlContainer, Events.CONTAINER_PLAYBACKDVRSTATECHANGED, this.update);
59
- this.listenTo(this.mediaControlContainer, Events.CONTAINER_TIMEUPDATE, this.updateDuration);
59
+ this.listenTo(this.mediaControlContainer, Events.CONTAINER_TIMEUPDATE, this.onTimeUpdate);
60
60
  }
61
61
  }
62
62
  onContainerChanged() {
@@ -64,9 +64,8 @@ export class SeekTime extends UICorePlugin {
64
64
  this.stopListening();
65
65
  this.bindEvents();
66
66
  }
67
- updateDuration(timeProgress) {
68
- this.duration = timeProgress.total;
69
- // this.firstFragDateTime = timeProgress.firstFragDateTime;
67
+ onTimeUpdate({ total }) {
68
+ this.duration = total;
70
69
  this.update();
71
70
  }
72
71
  showTime(event) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gcorevideo/player",
3
- "version": "2.22.17",
3
+ "version": "2.22.18",
4
4
  "description": "Gcore JavaScript video player",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -20,7 +20,6 @@ import {
20
20
  PlaybackErrorCode,
21
21
  QualityLevel,
22
22
  TimePosition,
23
- TimeUpdate,
24
23
  TimeValue,
25
24
  } from '../../playback.types.js'
26
25
  import { isDashSource } from '../../utils/mediaSources.js'
@@ -77,7 +76,6 @@ export default class DashPlayback extends BasePlayback {
77
76
  // #EXT-X-PLAYLIST-TYPE
78
77
  _playlistType: PlaylistType | null = null
79
78
 
80
- // #EXT-X-PROGRAM-DATE-TIME
81
79
  _programDateTime: TimeValue = 0
82
80
 
83
81
  _dash: DASHJS.MediaPlayerClass | null = null
@@ -350,9 +348,9 @@ export default class DashPlayback extends BasePlayback {
350
348
  }
351
349
  }
352
350
 
353
- getProgramDateTime() {
354
- return this._programDateTime
355
- }
351
+ // getProgramDateTime() {
352
+ // return this._programDateTime
353
+ // }
356
354
 
357
355
  // the duration on the video element itself should not be used
358
356
  // as this does not necesarily represent the duration of the stream
@@ -498,10 +496,10 @@ export default class DashPlayback extends BasePlayback {
498
496
  if (this.startChangeQuality) {
499
497
  return
500
498
  }
501
- const update: TimeUpdate = {
499
+ const update: TimePosition = {
502
500
  current: this.getCurrentTime(),
503
501
  total: this.getDuration(),
504
- firstFragDateTime: this.getProgramDateTime(),
502
+ // firstFragDateTime: this.getProgramDateTime(), // TODO figure out if needed
505
503
  }
506
504
  const isSame =
507
505
  this._lastTimeUpdate &&
@@ -27,7 +27,6 @@ import {
27
27
  PlayerComponentType,
28
28
  QualityLevel,
29
29
  TimePosition,
30
- TimeUpdate,
31
30
  } from '../../playback.types.js'
32
31
  import { PlaybackType } from '../../types.js'
33
32
  import { isHlsSource } from '../../utils/mediaSources.js'
@@ -742,11 +741,10 @@ export default class HlsPlayback extends BasePlayback {
742
741
  )
743
742
  }
744
743
 
745
- private _onTimeUpdate() {
746
- const update: TimeUpdate = {
744
+ override _onTimeUpdate() {
745
+ const update: TimePosition = {
747
746
  current: this.getCurrentTime(),
748
747
  total: this.getDuration(),
749
- firstFragDateTime: this.getProgramDateTime(),
750
748
  }
751
749
  const isSame =
752
750
  this._lastTimeUpdate &&
@@ -42,10 +42,9 @@ export type TimeProgress = {
42
42
  /**
43
43
  * For the plugin development
44
44
  * @beta
45
+ * @deprecated Use TimePosition instead
45
46
  */
46
- export type TimeUpdate = TimePosition & {
47
- firstFragDateTime: number
48
- }
47
+ export type TimeUpdate = TimePosition
49
48
 
50
49
  /**
51
50
  * A level of quality within a media source/representation.