@gcorevideo/player 2.28.24 → 2.28.26

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 (147) hide show
  1. package/dist/core.js +45 -32
  2. package/dist/index.css +305 -305
  3. package/dist/index.embed.js +119 -40
  4. package/dist/index.js +255 -124
  5. package/lib/Player.d.ts.map +1 -1
  6. package/lib/index.core.d.ts +1 -1
  7. package/lib/index.core.d.ts.map +1 -1
  8. package/lib/index.core.js +1 -1
  9. package/lib/index.plugins.d.ts +34 -34
  10. package/lib/index.plugins.d.ts.map +1 -1
  11. package/lib/index.plugins.js +34 -34
  12. package/lib/playback/dash-playback/DashPlayback.d.ts +4 -0
  13. package/lib/playback/dash-playback/DashPlayback.d.ts.map +1 -1
  14. package/lib/playback/dash-playback/DashPlayback.js +7 -0
  15. package/lib/playback/types.d.ts.map +1 -1
  16. package/lib/plugins/bottom-gear/BottomGear.d.ts.map +1 -1
  17. package/lib/plugins/bottom-gear/BottomGear.js +3 -1
  18. package/lib/plugins/clappr-nerd-stats/speedtest/index.d.ts.map +1 -1
  19. package/lib/plugins/clappr-nerd-stats/speedtest/index.js +9 -5
  20. package/lib/plugins/clappr-nerd-stats/speedtest/types.d.ts.map +1 -1
  21. package/lib/plugins/clappr-nerd-stats/utils.d.ts +2 -2
  22. package/lib/plugins/clips/utils.d.ts.map +1 -1
  23. package/lib/plugins/cmcd-config/CmcdConfig.js +1 -1
  24. package/lib/plugins/favicon/Favicon.d.ts.map +1 -1
  25. package/lib/plugins/google-analytics/GoogleAnalytics.d.ts.map +1 -1
  26. package/lib/plugins/google-analytics/GoogleAnalytics.js +10 -3
  27. package/lib/plugins/kibo/index.d.ts.map +1 -1
  28. package/lib/plugins/kibo/index.js +69 -20
  29. package/lib/plugins/level-selector/QualityLevels.js +2 -2
  30. package/lib/plugins/logo/Logo.d.ts.map +1 -1
  31. package/lib/plugins/logo/Logo.js +19 -15
  32. package/lib/plugins/logo/utils/index.d.ts.map +1 -1
  33. package/lib/plugins/logo/utils/index.js +11 -7
  34. package/lib/plugins/media-control/MediaControl.d.ts.map +1 -1
  35. package/lib/plugins/multi-camera/MultiCamera.d.ts.map +1 -1
  36. package/lib/plugins/multi-camera/MultiCamera.js +42 -20
  37. package/lib/plugins/picture-in-picture/PictureInPicture.d.ts.map +1 -1
  38. package/lib/plugins/picture-in-picture/PictureInPicture.js +3 -2
  39. package/lib/plugins/share/Share.d.ts.map +1 -1
  40. package/lib/plugins/share/Share.js +17 -12
  41. package/lib/plugins/skip-time/SkipTime.d.ts.map +1 -1
  42. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts.map +1 -1
  43. package/lib/plugins/subtitles/ClosedCaptions.d.ts +2 -0
  44. package/lib/plugins/subtitles/ClosedCaptions.d.ts.map +1 -1
  45. package/lib/plugins/subtitles/ClosedCaptions.js +25 -5
  46. package/lib/plugins/thumbnails/Thumbnails.js +2 -3
  47. package/lib/plugins/thumbnails/utils.d.ts.map +1 -1
  48. package/lib/plugins/utils/fullscreen.d.ts.map +1 -1
  49. package/lib/plugins/utils.d.ts.map +1 -1
  50. package/lib/plugins/utils.js +1 -1
  51. package/lib/plugins/vast-ads/VastAds.d.ts.map +1 -1
  52. package/lib/plugins/vast-ads/VastAds.js +2 -1
  53. package/lib/plugins/vast-ads/loaderxml.d.ts.map +1 -1
  54. package/lib/plugins/vast-ads/loaderxml.js +8 -5
  55. package/lib/plugins/vast-ads/roll.d.ts +2 -2
  56. package/lib/plugins/vast-ads/roll.d.ts.map +1 -1
  57. package/lib/plugins/vast-ads/roll.js +16 -10
  58. package/lib/plugins/vast-ads/rollmanager.d.ts.map +1 -1
  59. package/lib/plugins/vast-ads/rollmanager.js +17 -7
  60. package/lib/plugins/vast-ads/sctemanager.d.ts +1 -1
  61. package/lib/plugins/vast-ads/sctemanager.d.ts.map +1 -1
  62. package/lib/plugins/vast-ads/sctemanager.js +6 -5
  63. package/lib/plugins/vast-ads/types.d.ts.map +1 -1
  64. package/lib/plugins/vast-ads/urlhandler.d.ts.map +1 -1
  65. package/lib/plugins/vast-ads/xmlhttprequest.d.ts.map +1 -1
  66. package/lib/plugins/vast-ads/xmlhttprequest.js +3 -2
  67. package/lib/plugins/vast-ads/xmlmerge.d.ts.map +1 -1
  68. package/lib/plugins/vast-ads/xmlmerge.js +4 -3
  69. package/lib/types.d.ts +1 -1
  70. package/lib/types.d.ts.map +1 -1
  71. package/lib/utils/clickaway.d.ts.map +1 -1
  72. package/lib/utils/mediaSources.d.ts.map +1 -1
  73. package/lib/utils/mediaSources.js +1 -3
  74. package/lib/utils/types.d.ts.map +1 -1
  75. package/lib/version.js +2 -2
  76. package/package.json +2 -2
  77. package/src/Player.ts +10 -10
  78. package/src/__tests__/Player.test.ts +33 -10
  79. package/src/index.core.ts +9 -1
  80. package/src/index.plugins.ts +35 -35
  81. package/src/playback/__tests__/HTML5Video.test.ts +10 -4
  82. package/src/playback/dash-playback/DashPlayback.ts +8 -0
  83. package/src/playback/dash-playback/__tests__/DashPlayback.test.ts +10 -38
  84. package/src/playback/hls-playback/__tests__/HlsPlayback.test.ts +12 -45
  85. package/src/playback/types.ts +0 -1
  86. package/src/playback.types.ts +1 -2
  87. package/src/plugins/audio-selector/AudioTracks.ts +1 -1
  88. package/src/plugins/audio-selector/__tests__/AudioTracks.test.ts +30 -11
  89. package/src/plugins/bottom-gear/BottomGear.ts +3 -2
  90. package/src/plugins/clappr-nerd-stats/NerdStats.ts +1 -1
  91. package/src/plugins/clappr-nerd-stats/speedtest/index.ts +104 -82
  92. package/src/plugins/clappr-nerd-stats/speedtest/types.ts +3 -3
  93. package/src/plugins/clappr-nerd-stats/utils.ts +2 -2
  94. package/src/plugins/clappr-stats/__tests__/ClapprStats.test.ts +30 -18
  95. package/src/plugins/clips/utils.ts +5 -1
  96. package/src/plugins/cmcd-config/CmcdConfig.ts +1 -1
  97. package/src/plugins/error-screen/__tests__/ErrorScreen.test.ts +21 -15
  98. package/src/plugins/favicon/Favicon.ts +73 -49
  99. package/src/plugins/google-analytics/GoogleAnalytics.ts +93 -58
  100. package/src/plugins/kibo/index.ts +183 -109
  101. package/src/plugins/level-selector/QualityLevels.ts +2 -2
  102. package/src/plugins/logo/Logo.ts +134 -105
  103. package/src/plugins/logo/utils/index.ts +27 -20
  104. package/src/plugins/media-control/MediaControl.ts +12 -6
  105. package/src/plugins/multi-camera/MultiCamera.ts +218 -157
  106. package/src/plugins/picture-in-picture/PictureInPicture.ts +41 -37
  107. package/src/plugins/playback-rate/__tests__/PlaybackRate.test.ts +25 -11
  108. package/src/plugins/poster/__tests__/Poster.test.ts +8 -9
  109. package/src/plugins/share/Share.ts +85 -60
  110. package/src/plugins/skip-time/SkipTime.ts +5 -1
  111. package/src/plugins/spinner-three-bounce/SpinnerThreeBounce.ts +8 -5
  112. package/src/plugins/subtitles/ClosedCaptions.ts +30 -6
  113. package/src/plugins/subtitles/__tests__/ClosedCaptions.test.ts +2 -3
  114. package/src/plugins/thumbnails/Thumbnails.ts +22 -21
  115. package/src/plugins/thumbnails/__tests__/Thumbnails.test.ts +14 -7
  116. package/src/plugins/thumbnails/utils.ts +3 -1
  117. package/src/plugins/typings/globals.d.ts +7 -7
  118. package/src/plugins/typings/workers.d.ts +3 -3
  119. package/src/plugins/utils/fullscreen.ts +2 -2
  120. package/src/plugins/utils.ts +17 -13
  121. package/src/plugins/vast-ads/VastAds.ts +4 -5
  122. package/src/plugins/vast-ads/loaderxml.ts +142 -101
  123. package/src/plugins/vast-ads/roll.ts +381 -284
  124. package/src/plugins/vast-ads/rollmanager.ts +214 -170
  125. package/src/plugins/vast-ads/sctemanager.ts +66 -48
  126. package/src/plugins/vast-ads/types.ts +15 -9
  127. package/src/plugins/vast-ads/urlhandler.ts +18 -13
  128. package/src/plugins/vast-ads/xmlhttprequest.ts +25 -20
  129. package/src/plugins/vast-ads/xmlmerge.ts +42 -32
  130. package/src/plugins/video360/VRControls.js +50 -42
  131. package/src/plugins/video360/VREffect.js +298 -206
  132. package/src/plugins/video360/Video360.js +553 -423
  133. package/src/plugins/video360/orbit-oriention-controls.js +526 -421
  134. package/src/plugins/video360/utils.js +18 -18
  135. package/src/types.ts +5 -3
  136. package/src/typings/@clappr/core/error_mixin.d.ts +9 -9
  137. package/src/typings/@clappr/core/index.d.ts +1 -3
  138. package/src/typings/@clappr/core/playback.d.ts +3 -3
  139. package/src/typings/@clappr/index.d.ts +1 -1
  140. package/src/typings/globals.d.ts +15 -15
  141. package/src/utils/__tests__/mediaSources.test.ts +42 -26
  142. package/src/utils/clickaway.ts +24 -24
  143. package/src/utils/errors.ts +2 -2
  144. package/src/utils/mediaSources.ts +5 -4
  145. package/src/utils/types.ts +1 -1
  146. package/src/version.ts +2 -2
  147. package/tsconfig.tsbuildinfo +1 -1
package/dist/core.js CHANGED
@@ -1,4 +1,4 @@
1
- const APP_NAME = "gplayer";
1
+ const APP_NAME = '_';
2
2
  class DebuggerWrapper {
3
3
  writer;
4
4
  namespace;
@@ -15,19 +15,19 @@ class DebuggerWrapper {
15
15
  this.currentWriter = nullWriter;
16
16
  }
17
17
  write = (m, ...args) => {
18
- const tokens = args.map((_) => "%s");
19
- if (typeof m === "string" || args.length > 0) {
20
- tokens.unshift("%s");
18
+ const tokens = args.map((_) => '%s');
19
+ if (typeof m === 'string' || args.length > 0) {
20
+ tokens.unshift('%s');
21
21
  }
22
- this.currentWriter(`${this.namespace}: ${tokens.join(' ')}`, m, ...args.map(a => JSON.stringify(a)));
22
+ this.currentWriter(`${this.namespace}: ${tokens.join(' ')}`, m, ...args.map((a) => JSON.stringify(a)));
23
23
  };
24
24
  }
25
25
  const currentPatterns = [];
26
26
  function parsePattern(pattern) {
27
- if (pattern === "*") {
27
+ if (pattern === '*') {
28
28
  return /.?/;
29
29
  }
30
- return new RegExp("^" + pattern.replace(/\*/g, "[@\\w-]+"), "i");
30
+ return new RegExp('^' + pattern.replace(/\*/g, '[@\\w-]+'), 'i');
31
31
  }
32
32
  function pass(namespace) {
33
33
  return currentPatterns.some((p) => p.test(namespace));
@@ -43,8 +43,8 @@ let Logger$1 = class Logger {
43
43
  error;
44
44
  debug;
45
45
  static items = [];
46
- constructor(namespace, appName = APP_NAME) {
47
- const ns = namespace ? `:${namespace}` : "";
46
+ constructor(appName = APP_NAME, namespace = '') {
47
+ const ns = namespace ? `:${namespace}` : '';
48
48
  const info = new DebuggerWrapper(console.info.bind(console), `${appName}:INFO${ns}`, pass(namespace));
49
49
  this.info = info.write;
50
50
  const warn = new DebuggerWrapper(console.warn.bind(console), `${appName}:WARN${ns}`, pass(namespace));
@@ -62,7 +62,7 @@ let Logger$1 = class Logger {
62
62
  * @param patterns - comma-separated list of patterns, can contain '*' as a wildcard
63
63
  */
64
64
  static enable(patterns) {
65
- currentPatterns.splice(0, currentPatterns.length, ...patterns.split(",").filter(Boolean).map(parsePattern));
65
+ currentPatterns.splice(0, currentPatterns.length, ...patterns.split(',').filter(Boolean).map(parsePattern));
66
66
  Logger.toggleItems();
67
67
  }
68
68
  static disable() {
@@ -80,14 +80,35 @@ let Logger$1 = class Logger {
80
80
  }
81
81
  };
82
82
 
83
+ /**
84
+ * A tracer that pushes a record through a chain of tracers
85
+ * @beta
86
+ */
87
+ class ChainedTracer {
88
+ tracers;
89
+ constructor(tracers) {
90
+ this.tracers = tracers;
91
+ }
92
+ reportError(e) {
93
+ for (const tracer of this.tracers) {
94
+ tracer.reportError(e);
95
+ }
96
+ }
97
+ trace(msg, data) {
98
+ for (const tracer of this.tracers) {
99
+ tracer.trace(msg, data);
100
+ }
101
+ }
102
+ }
103
+
83
104
  /**
84
105
  * A tracer that logs to the console
85
106
  * @public
86
107
  */
87
108
  class LogTracer {
88
109
  logger;
89
- constructor(ns = "") {
90
- this.logger = new Logger$1(ns);
110
+ constructor(appName = '') {
111
+ this.logger = new Logger$1(appName);
91
112
  }
92
113
  reportError(e) {
93
114
  this.logger.error(e);
@@ -96,19 +117,6 @@ class LogTracer {
96
117
  this.logger.debug(msg, data);
97
118
  }
98
119
  }
99
- // export class LogTracer implements Tracer {
100
- // private tags: Record<string, TagValue> = {};
101
- // reportError(e: Error) {
102
- // logger.error(e, this.tags);
103
- // }
104
- // setTag(name: string, value: TagValue) {
105
- // this.tags[name] = value;
106
- // }
107
- // trace(msg: string, data?: Record<string, unknown>) {
108
- // const fullData = Object.assign({}, this.tags, data);
109
- // logger.debug(msg, fullData);
110
- // }
111
- // }
112
120
 
113
121
  /**
114
122
  * @beta
@@ -125,8 +133,8 @@ class SentryTracer {
125
133
  }
126
134
  trace(message, data) {
127
135
  this.scope.addBreadcrumb({
128
- type: "default",
129
- level: "info",
136
+ type: 'default',
137
+ level: 'info',
130
138
  message,
131
139
  data,
132
140
  });
@@ -12621,9 +12629,7 @@ function buildMediaSourcesList(sources, priorityTransport = 'dash') {
12621
12629
  }
12622
12630
  const [preferred, rest] = sources.reduce(([preferred, rest], item) => {
12623
12631
  for (const p of playbacks) {
12624
- if ([
12625
- 'html5_audio', 'html_img', 'no_op'
12626
- ].includes(p.prototype.name)) {
12632
+ if (['html5_audio', 'html_img', 'no_op'].includes(p.prototype.name)) {
12627
12633
  continue;
12628
12634
  }
12629
12635
  const canPlay = p.canPlay(item.source, item.mimeType);
@@ -13247,6 +13253,13 @@ class DashPlayback extends BasePlayback {
13247
13253
  this.trigger(Events$1.PLAYBACK_AUDIO_AVAILABLE, tracks.map(toClapprTrack$1));
13248
13254
  }
13249
13255
  }
13256
+ /**
13257
+ * @override
13258
+ */
13259
+ _handleTextTrackChange() {
13260
+ super._handleTextTrackChange();
13261
+ this._dash?.setTextTrack(this.closedCaptionsTrackId);
13262
+ }
13250
13263
  }
13251
13264
  DashPlayback.canPlay = function (resource, mimeType) {
13252
13265
  if (!isDashSource(resource, mimeType)) {
@@ -51319,7 +51332,7 @@ class Player {
51319
51332
  }
51320
51333
  }
51321
51334
 
51322
- var version$1 = "2.28.24";
51335
+ var version$1 = "2.28.26";
51323
51336
 
51324
51337
  var packages = {
51325
51338
  "node_modules/@clappr/core": {
@@ -51343,4 +51356,4 @@ function version() {
51343
51356
  };
51344
51357
  }
51345
51358
 
51346
- export { LogTracer, Logger$1 as Logger, PlaybackErrorCode, Player, PlayerEvent, SentryTracer, reportError, setTracer, trace, version };
51359
+ export { ChainedTracer, LogTracer, Logger$1 as Logger, PlaybackErrorCode, Player, PlayerEvent, SentryTracer, reportError, setTracer, trace, version };