@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.
Files changed (104) 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 +10 -14
  4. package/dist/index.css +1441 -1440
  5. package/dist/index.js +589 -522
  6. package/dist/player.d.ts +216 -159
  7. package/dist/plugins/index.css +1204 -1203
  8. package/dist/plugins/index.js +581 -506
  9. package/docs/api/player.clapprstats.exportmetrics.md +1 -1
  10. package/docs/api/player.clapprstats.md +5 -15
  11. package/docs/api/player.clapprstatssettings.md +13 -0
  12. package/docs/api/player.clips.destroy.md +18 -0
  13. package/docs/api/player.clips.disable.md +18 -0
  14. package/docs/api/player.clips.enable.md +18 -0
  15. package/docs/api/player.clips.md +170 -0
  16. package/docs/api/player.clips.render.md +18 -0
  17. package/docs/api/player.clips.supportedversion.md +16 -0
  18. package/docs/api/player.clips.version.md +14 -0
  19. package/docs/api/player.clipspluginsettings.md +2 -2
  20. package/docs/api/player.clipspluginsettings.text.md +1 -1
  21. package/docs/api/player.md +27 -18
  22. package/docs/api/player.mediacontrol.md +1 -1
  23. package/docs/api/{player.mediacontrol.getelement.md → player.mediacontrol.mount.md} +20 -7
  24. package/docs/api/player.mediacontrolleftelement.md +1 -1
  25. package/docs/api/{player.clapprnerdstats._constructor_.md → player.nerdstats._constructor_.md} +3 -3
  26. package/docs/api/{player.clapprnerdstats.md → player.nerdstats.md} +5 -5
  27. package/docs/api/player.qualitylevel.height.md +1 -1
  28. package/docs/api/player.qualitylevel.level.md +1 -1
  29. package/docs/api/player.qualitylevel.md +4 -4
  30. package/docs/api/player.qualitylevel.width.md +1 -1
  31. package/docs/api/player.timeposition.current.md +1 -1
  32. package/docs/api/player.timeposition.md +2 -2
  33. package/docs/api/player.timeposition.total.md +1 -1
  34. package/docs/api/player.timeprogress.md +6 -4
  35. package/docs/api/player.timevalue.md +1 -1
  36. package/lib/index.plugins.d.ts +2 -1
  37. package/lib/index.plugins.d.ts.map +1 -1
  38. package/lib/index.plugins.js +2 -1
  39. package/lib/playback/dash-playback/DashPlayback.d.ts +0 -1
  40. package/lib/playback/dash-playback/DashPlayback.d.ts.map +1 -1
  41. package/lib/playback/dash-playback/DashPlayback.js +9 -12
  42. package/lib/playback/hls-playback/HlsPlayback.d.ts +1 -1
  43. package/lib/playback/hls-playback/HlsPlayback.d.ts.map +1 -1
  44. package/lib/playback/hls-playback/HlsPlayback.js +0 -1
  45. package/lib/playback.types.d.ts +24 -12
  46. package/lib/playback.types.d.ts.map +1 -1
  47. package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.d.ts +4 -0
  48. package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.d.ts.map +1 -1
  49. package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.js +20 -23
  50. package/lib/plugins/clappr-nerd-stats/NerdStats.d.ts +86 -0
  51. package/lib/plugins/clappr-nerd-stats/NerdStats.d.ts.map +1 -0
  52. package/lib/plugins/clappr-nerd-stats/NerdStats.js +390 -0
  53. package/lib/plugins/clappr-nerd-stats/formatter.d.ts +5 -0
  54. package/lib/plugins/clappr-nerd-stats/formatter.d.ts.map +1 -1
  55. package/lib/plugins/clappr-nerd-stats/formatter.js +56 -24
  56. package/lib/plugins/clappr-nerd-stats/speedtest/index.d.ts +2 -2
  57. package/lib/plugins/clappr-nerd-stats/speedtest/index.d.ts.map +1 -1
  58. package/lib/plugins/clappr-nerd-stats/speedtest/types.d.ts +1 -1
  59. package/lib/plugins/clappr-nerd-stats/speedtest/types.d.ts.map +1 -1
  60. package/lib/plugins/clappr-nerd-stats/types.d.ts +3 -0
  61. package/lib/plugins/clappr-nerd-stats/types.d.ts.map +1 -1
  62. package/lib/plugins/clappr-nerd-stats/utils.d.ts +7 -0
  63. package/lib/plugins/clappr-nerd-stats/utils.d.ts.map +1 -0
  64. package/lib/plugins/clappr-nerd-stats/utils.js +67 -0
  65. package/lib/plugins/clappr-stats/ClapprStats.d.ts +27 -32
  66. package/lib/plugins/clappr-stats/ClapprStats.d.ts.map +1 -1
  67. package/lib/plugins/clappr-stats/ClapprStats.js +94 -202
  68. package/lib/plugins/clappr-stats/types.d.ts +65 -25
  69. package/lib/plugins/clappr-stats/types.d.ts.map +1 -1
  70. package/lib/plugins/clappr-stats/types.js +37 -2
  71. package/lib/plugins/clappr-stats/utils.d.ts +1 -1
  72. package/lib/plugins/clappr-stats/utils.d.ts.map +1 -1
  73. package/lib/plugins/clappr-stats/utils.js +1 -3
  74. package/lib/plugins/seek-time/SeekTime.d.ts +1 -1
  75. package/lib/plugins/seek-time/SeekTime.d.ts.map +1 -1
  76. package/lib/plugins/seek-time/SeekTime.js +3 -4
  77. package/lib/testUtils.d.ts +2 -1
  78. package/lib/testUtils.d.ts.map +1 -1
  79. package/lib/testUtils.js +3 -2
  80. package/package.json +1 -1
  81. package/src/index.plugins.ts +2 -1
  82. package/src/playback/dash-playback/DashPlayback.ts +10 -15
  83. package/src/playback/hls-playback/HlsPlayback.ts +2 -4
  84. package/src/playback.types.ts +25 -11
  85. package/src/plugins/clappr-nerd-stats/NerdStats.ts +503 -0
  86. package/src/plugins/clappr-nerd-stats/formatter.ts +91 -47
  87. package/src/plugins/clappr-nerd-stats/speedtest/index.ts +2 -2
  88. package/src/plugins/clappr-nerd-stats/speedtest/types.ts +1 -1
  89. package/src/plugins/clappr-nerd-stats/types.ts +43 -3
  90. package/src/plugins/clappr-nerd-stats/utils.ts +75 -0
  91. package/src/plugins/clappr-stats/ClapprStats.ts +242 -306
  92. package/src/plugins/clappr-stats/__tests__/ClapprStats.test.ts +133 -0
  93. package/src/plugins/clappr-stats/types.ts +93 -47
  94. package/src/plugins/clappr-stats/utils.ts +4 -6
  95. package/src/plugins/error-screen/__tests__/ErrorScreen.test.ts +3 -4
  96. package/src/plugins/seek-time/SeekTime.ts +4 -5
  97. package/src/plugins/subtitles/__tests__/ClosedCaptions.test.ts +1 -0
  98. package/src/testUtils.ts +3 -2
  99. package/temp/player.api.json +311 -159
  100. package/tsconfig.tsbuildinfo +1 -1
  101. package/docs/api/player.clapprstats.setupdatemetrics.md +0 -56
  102. package/docs/api/player.clipsplugin.gettext.md +0 -58
  103. package/docs/api/player.clipsplugin.md +0 -59
  104. package/src/plugins/clappr-nerd-stats/ClapprNerdStats.ts +0 -435
@@ -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,3 +1,43 @@
1
- export type MetricsKind = 'general' | 'timers' | 'extra';
2
- export type MetricsType = 'volume' | 'startup' | 'watch' | 'pause' | 'buffering' | 'session' | 'latency' | 'buffersize' | 'duration' | 'currentTime' | 'bitrateWeightedMean' | 'bitrateMostUsed' | 'bandwidth' | 'watchedPercentage' | 'bufferingPercentage';
3
- export type MetricsValue = number;
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
+ }