@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.
- package/assets/clappr-nerd-stats/clappr-nerd-stats.ejs +76 -78
- package/assets/clappr-nerd-stats/clappr-nerd-stats.scss +10 -7
- package/dist/core.js +5 -7
- package/dist/index.css +1350 -1349
- package/dist/index.js +234 -89
- package/dist/plugins/index.css +666 -665
- package/dist/plugins/index.js +231 -83
- package/lib/playback/dash-playback/DashPlayback.d.ts +0 -1
- package/lib/playback/dash-playback/DashPlayback.d.ts.map +1 -1
- package/lib/playback/dash-playback/DashPlayback.js +4 -5
- package/lib/playback/hls-playback/HlsPlayback.d.ts +1 -1
- package/lib/playback/hls-playback/HlsPlayback.d.ts.map +1 -1
- package/lib/playback/hls-playback/HlsPlayback.js +0 -1
- package/lib/playback.types.d.ts +2 -3
- package/lib/playback.types.d.ts.map +1 -1
- package/lib/plugins/clappr-nerd-stats/NerdStats.d.ts +13 -10
- package/lib/plugins/clappr-nerd-stats/NerdStats.d.ts.map +1 -1
- package/lib/plugins/clappr-nerd-stats/NerdStats.js +171 -120
- package/lib/plugins/clappr-nerd-stats/formatter.d.ts +5 -0
- package/lib/plugins/clappr-nerd-stats/formatter.d.ts.map +1 -1
- package/lib/plugins/clappr-nerd-stats/formatter.js +56 -24
- package/lib/plugins/clappr-nerd-stats/speedtest/index.d.ts +2 -2
- package/lib/plugins/clappr-nerd-stats/speedtest/index.d.ts.map +1 -1
- package/lib/plugins/clappr-nerd-stats/speedtest/types.d.ts +1 -1
- package/lib/plugins/clappr-nerd-stats/speedtest/types.d.ts.map +1 -1
- package/lib/plugins/clappr-nerd-stats/types.d.ts +3 -0
- package/lib/plugins/clappr-nerd-stats/types.d.ts.map +1 -1
- package/lib/plugins/clappr-nerd-stats/utils.d.ts +7 -0
- package/lib/plugins/clappr-nerd-stats/utils.d.ts.map +1 -0
- package/lib/plugins/clappr-nerd-stats/utils.js +67 -0
- package/lib/plugins/clappr-stats/types.d.ts +0 -1
- package/lib/plugins/clappr-stats/types.d.ts.map +1 -1
- package/lib/plugins/clappr-stats/utils.d.ts +1 -1
- package/lib/plugins/clappr-stats/utils.d.ts.map +1 -1
- package/lib/plugins/clappr-stats/utils.js +0 -1
- package/lib/plugins/seek-time/SeekTime.d.ts +1 -1
- package/lib/plugins/seek-time/SeekTime.d.ts.map +1 -1
- package/lib/plugins/seek-time/SeekTime.js +3 -4
- package/package.json +1 -1
- package/src/playback/dash-playback/DashPlayback.ts +5 -7
- package/src/playback/hls-playback/HlsPlayback.ts +2 -4
- package/src/playback.types.ts +2 -3
- package/src/plugins/clappr-nerd-stats/NerdStats.ts +212 -139
- package/src/plugins/clappr-nerd-stats/formatter.ts +91 -47
- package/src/plugins/clappr-nerd-stats/speedtest/index.ts +2 -2
- package/src/plugins/clappr-nerd-stats/speedtest/types.ts +1 -1
- package/src/plugins/clappr-nerd-stats/types.ts +43 -3
- package/src/plugins/clappr-nerd-stats/utils.ts +75 -0
- package/src/plugins/clappr-stats/types.ts +39 -40
- package/src/plugins/clappr-stats/utils.ts +3 -4
- package/src/plugins/seek-time/SeekTime.ts +4 -5
- 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
|
-
|
|
73
|
-
|
|
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 {
|
|
2
|
+
import { SpeedtestMetrics } from './types.js';
|
|
3
3
|
export declare function drawSpeedTestResults(): void;
|
|
4
|
-
export declare const initSpeedTest: (customMetrics:
|
|
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,
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/plugins/clappr-nerd-stats/speedtest/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,
|
|
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,
|
|
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
|
+
};
|
|
@@ -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,
|
|
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 +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,
|
|
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"}
|
|
@@ -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,
|
|
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.
|
|
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
|
-
|
|
68
|
-
this.duration =
|
|
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
|
@@ -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
|
-
|
|
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:
|
|
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
|
-
|
|
746
|
-
const update:
|
|
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 &&
|
package/src/playback.types.ts
CHANGED
|
@@ -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.
|