@gcorevideo/player 2.22.16 → 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 +10 -14
- package/dist/index.css +1441 -1440
- package/dist/index.js +589 -522
- package/dist/player.d.ts +216 -159
- package/dist/plugins/index.css +1204 -1203
- package/dist/plugins/index.js +581 -506
- package/docs/api/player.clapprstats.exportmetrics.md +1 -1
- package/docs/api/player.clapprstats.md +5 -15
- package/docs/api/player.clapprstatssettings.md +13 -0
- package/docs/api/player.clips.destroy.md +18 -0
- package/docs/api/player.clips.disable.md +18 -0
- package/docs/api/player.clips.enable.md +18 -0
- package/docs/api/player.clips.md +170 -0
- package/docs/api/player.clips.render.md +18 -0
- package/docs/api/player.clips.supportedversion.md +16 -0
- package/docs/api/player.clips.version.md +14 -0
- package/docs/api/player.clipspluginsettings.md +2 -2
- package/docs/api/player.clipspluginsettings.text.md +1 -1
- package/docs/api/player.md +27 -18
- package/docs/api/player.mediacontrol.md +1 -1
- package/docs/api/{player.mediacontrol.getelement.md → player.mediacontrol.mount.md} +20 -7
- package/docs/api/player.mediacontrolleftelement.md +1 -1
- package/docs/api/{player.clapprnerdstats._constructor_.md → player.nerdstats._constructor_.md} +3 -3
- package/docs/api/{player.clapprnerdstats.md → player.nerdstats.md} +5 -5
- package/docs/api/player.qualitylevel.height.md +1 -1
- package/docs/api/player.qualitylevel.level.md +1 -1
- package/docs/api/player.qualitylevel.md +4 -4
- package/docs/api/player.qualitylevel.width.md +1 -1
- package/docs/api/player.timeposition.current.md +1 -1
- package/docs/api/player.timeposition.md +2 -2
- package/docs/api/player.timeposition.total.md +1 -1
- package/docs/api/player.timeprogress.md +6 -4
- package/docs/api/player.timevalue.md +1 -1
- package/lib/index.plugins.d.ts +2 -1
- package/lib/index.plugins.d.ts.map +1 -1
- package/lib/index.plugins.js +2 -1
- 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 +9 -12
- 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 +24 -12
- package/lib/playback.types.d.ts.map +1 -1
- package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.d.ts +4 -0
- package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.d.ts.map +1 -1
- package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.js +20 -23
- package/lib/plugins/clappr-nerd-stats/NerdStats.d.ts +86 -0
- package/lib/plugins/clappr-nerd-stats/NerdStats.d.ts.map +1 -0
- package/lib/plugins/clappr-nerd-stats/NerdStats.js +390 -0
- 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/ClapprStats.d.ts +27 -32
- package/lib/plugins/clappr-stats/ClapprStats.d.ts.map +1 -1
- package/lib/plugins/clappr-stats/ClapprStats.js +94 -202
- package/lib/plugins/clappr-stats/types.d.ts +65 -25
- package/lib/plugins/clappr-stats/types.d.ts.map +1 -1
- package/lib/plugins/clappr-stats/types.js +37 -2
- 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 +1 -3
- 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/lib/testUtils.d.ts +2 -1
- package/lib/testUtils.d.ts.map +1 -1
- package/lib/testUtils.js +3 -2
- package/package.json +1 -1
- package/src/index.plugins.ts +2 -1
- package/src/playback/dash-playback/DashPlayback.ts +10 -15
- package/src/playback/hls-playback/HlsPlayback.ts +2 -4
- package/src/playback.types.ts +25 -11
- package/src/plugins/clappr-nerd-stats/NerdStats.ts +503 -0
- 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/ClapprStats.ts +242 -306
- package/src/plugins/clappr-stats/__tests__/ClapprStats.test.ts +133 -0
- package/src/plugins/clappr-stats/types.ts +93 -47
- package/src/plugins/clappr-stats/utils.ts +4 -6
- package/src/plugins/error-screen/__tests__/ErrorScreen.test.ts +3 -4
- package/src/plugins/seek-time/SeekTime.ts +4 -5
- package/src/plugins/subtitles/__tests__/ClosedCaptions.test.ts +1 -0
- package/src/testUtils.ts +3 -2
- package/temp/player.api.json +311 -159
- package/tsconfig.tsbuildinfo +1 -1
- package/docs/api/player.clapprstats.setupdatemetrics.md +0 -56
- package/docs/api/player.clipsplugin.gettext.md +0 -58
- package/docs/api/player.clipsplugin.md +0 -59
- package/src/plugins/clappr-nerd-stats/ClapprNerdStats.ts +0 -435
|
@@ -1,3 +1,43 @@
|
|
|
1
|
-
export type MetricsKind = 'general' | 'timers' | 'extra'
|
|
2
|
-
export type
|
|
3
|
-
export type
|
|
1
|
+
export type MetricsKind = 'general' | 'timers' | 'extra'
|
|
2
|
+
export type MetricType = 'general' | 'timers' | 'extra'
|
|
3
|
+
export type MetricsType =
|
|
4
|
+
| 'volume'
|
|
5
|
+
| 'startup'
|
|
6
|
+
| 'watch'
|
|
7
|
+
| 'pause'
|
|
8
|
+
| 'buffering'
|
|
9
|
+
| 'session'
|
|
10
|
+
| 'latency'
|
|
11
|
+
| 'buffersize'
|
|
12
|
+
| 'duration'
|
|
13
|
+
| 'currentTime'
|
|
14
|
+
| 'bitrateWeightedMean'
|
|
15
|
+
| 'bitrateMostUsed'
|
|
16
|
+
| 'bandwidth'
|
|
17
|
+
| 'watchedPercentage'
|
|
18
|
+
| 'bufferingPercentage'
|
|
19
|
+
export type MetricName =
|
|
20
|
+
| 'volume'
|
|
21
|
+
| 'startup'
|
|
22
|
+
| 'watch'
|
|
23
|
+
| 'pause'
|
|
24
|
+
| 'buffering'
|
|
25
|
+
| 'session'
|
|
26
|
+
| 'latency'
|
|
27
|
+
| 'buffersize'
|
|
28
|
+
| 'duration'
|
|
29
|
+
| 'currentTime'
|
|
30
|
+
| 'bitrateWeightedMean'
|
|
31
|
+
| 'bitrateMostUsed'
|
|
32
|
+
| 'bandwidth'
|
|
33
|
+
| 'watchedPercentage'
|
|
34
|
+
| 'bufferingPercentage'
|
|
35
|
+
| 'fps'
|
|
36
|
+
export type MetricKind =
|
|
37
|
+
| 'volume'
|
|
38
|
+
| 'time'
|
|
39
|
+
| 'precisetime'
|
|
40
|
+
| 'percentage'
|
|
41
|
+
| 'bitrate'
|
|
42
|
+
| 'bandwidth'
|
|
43
|
+
export type MetricsValue = number
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { ZeptoResult } from "../../types"
|
|
2
|
+
import { SpeedtestMetrics } from "./speedtest/types"
|
|
3
|
+
|
|
4
|
+
const qualityClasses = [
|
|
5
|
+
'speedtest-quality-value-1',
|
|
6
|
+
'speedtest-quality-value-2',
|
|
7
|
+
'speedtest-quality-value-3',
|
|
8
|
+
'speedtest-quality-value-4',
|
|
9
|
+
'speedtest-quality-value-5',
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
export const getDownloadQuality = (speedValue: number): number => {
|
|
13
|
+
if (speedValue < 3) {
|
|
14
|
+
return 1
|
|
15
|
+
} else if (speedValue < 7) {
|
|
16
|
+
return 2
|
|
17
|
+
} else if (speedValue < 13) {
|
|
18
|
+
return 3
|
|
19
|
+
} else if (speedValue < 25) {
|
|
20
|
+
return 4
|
|
21
|
+
} else {
|
|
22
|
+
return 5
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export const getPingQuality = (pingValue: number): number => {
|
|
27
|
+
if (pingValue < 20) {
|
|
28
|
+
return 5
|
|
29
|
+
} else if (pingValue < 50) {
|
|
30
|
+
return 4
|
|
31
|
+
} else if (pingValue < 100) {
|
|
32
|
+
return 3
|
|
33
|
+
} else if (pingValue < 150) {
|
|
34
|
+
return 2
|
|
35
|
+
} else {
|
|
36
|
+
return 1
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export const generateQualityHtml = (quality: number): string => {
|
|
41
|
+
const html = []
|
|
42
|
+
const qualityClassName = qualityClasses[quality - 1]
|
|
43
|
+
|
|
44
|
+
for (let i = 0; i < qualityClasses.length; i++) {
|
|
45
|
+
if (i < quality) {
|
|
46
|
+
html.push(
|
|
47
|
+
`<div class="speedtest-quality-content-item ${qualityClassName}"></div>`,
|
|
48
|
+
)
|
|
49
|
+
} else {
|
|
50
|
+
html.push('<div class="speedtest-quality-content-item"></div>')
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return html.join('')
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export const drawSummary = (
|
|
58
|
+
customMetrics: SpeedtestMetrics,
|
|
59
|
+
vodContainer: ZeptoResult,
|
|
60
|
+
liveContainer: ZeptoResult,
|
|
61
|
+
) => {
|
|
62
|
+
const { connectionSpeed, ping } = customMetrics
|
|
63
|
+
|
|
64
|
+
if (!connectionSpeed || !ping) {
|
|
65
|
+
return
|
|
66
|
+
}
|
|
67
|
+
const downloadQuality = getDownloadQuality(connectionSpeed)
|
|
68
|
+
const pingQuality = getPingQuality(ping)
|
|
69
|
+
const liveQuality = Math.min(downloadQuality, pingQuality)
|
|
70
|
+
const vodHtml = generateQualityHtml(downloadQuality)
|
|
71
|
+
const liveHtml = generateQualityHtml(liveQuality)
|
|
72
|
+
|
|
73
|
+
vodContainer.html(vodHtml)
|
|
74
|
+
liveContainer.html(liveHtml)
|
|
75
|
+
}
|