@gcorevideo/player 2.20.3 → 2.20.5

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 (108) hide show
  1. package/assets/error-screen/error_screen.ejs +3 -1
  2. package/dist/core.js +436 -210
  3. package/dist/index.css +1223 -1223
  4. package/dist/index.js +580 -392
  5. package/dist/player.d.ts +10 -0
  6. package/dist/plugins/index.css +754 -754
  7. package/dist/plugins/index.js +122 -163
  8. package/docs/api/player.contextmenupluginsettings.label.md +3 -0
  9. package/docs/api/player.contextmenupluginsettings.md +8 -3
  10. package/docs/api/player.contextmenupluginsettings.preventshowcontextmenu.md +3 -0
  11. package/docs/api/player.contextmenupluginsettings.url.md +3 -0
  12. package/docs/api/player.md +6 -2
  13. package/docs/api/player.multicamera._constructor_.md +3 -0
  14. package/docs/api/player.multicamera.activebyid.md +3 -0
  15. package/docs/api/player.multicamera.attributes.md +3 -0
  16. package/docs/api/player.multicamera.bindevents.md +3 -0
  17. package/docs/api/player.multicamera.events.md +3 -0
  18. package/docs/api/player.multicamera.getcameraslist.md +3 -0
  19. package/docs/api/player.multicamera.getcurrentcamera.md +3 -0
  20. package/docs/api/player.multicamera.md +28 -1
  21. package/docs/api/player.multicamera.name.md +3 -0
  22. package/docs/api/player.multicamera.render.md +3 -0
  23. package/docs/api/player.multicamera.supportedversion.md +3 -0
  24. package/docs/api/player.multicamera.template.md +3 -0
  25. package/docs/api/player.multicamera.unbindevents.md +3 -0
  26. package/docs/api/player.multicamera.version.md +3 -0
  27. package/docs/api/player.volumefadeevents.md +7 -0
  28. package/docs/api/player.zeptoresult.md +1 -0
  29. package/lib/Player.d.ts +5 -3
  30. package/lib/Player.d.ts.map +1 -1
  31. package/lib/Player.js +32 -8
  32. package/lib/internal.types.d.ts +7 -7
  33. package/lib/internal.types.d.ts.map +1 -1
  34. package/lib/playback/BasePlayback.d.ts +11 -0
  35. package/lib/playback/BasePlayback.d.ts.map +1 -0
  36. package/lib/playback/BasePlayback.js +33 -0
  37. package/lib/playback/dash-playback/DashPlayback.d.ts +3 -2
  38. package/lib/playback/dash-playback/DashPlayback.d.ts.map +1 -1
  39. package/lib/playback/dash-playback/DashPlayback.js +7 -7
  40. package/lib/playback/hls-playback/HlsPlayback.d.ts +2 -2
  41. package/lib/playback/hls-playback/HlsPlayback.d.ts.map +1 -1
  42. package/lib/playback/hls-playback/HlsPlayback.js +8 -5
  43. package/lib/playback/utils.d.ts +2 -0
  44. package/lib/playback/utils.d.ts.map +1 -0
  45. package/lib/playback/utils.js +1 -0
  46. package/lib/playback.types.d.ts +10 -3
  47. package/lib/playback.types.d.ts.map +1 -1
  48. package/lib/playback.types.js +3 -3
  49. package/lib/plugins/context-menu/ContextMenu.d.ts +4 -0
  50. package/lib/plugins/context-menu/ContextMenu.d.ts.map +1 -1
  51. package/lib/plugins/context-menu/ContextMenu.js +1 -2
  52. package/lib/plugins/error-screen/ErrorScreen.d.ts +39 -24
  53. package/lib/plugins/error-screen/ErrorScreen.d.ts.map +1 -1
  54. package/lib/plugins/error-screen/ErrorScreen.js +70 -136
  55. package/lib/plugins/media-control/MediaControl.d.ts +1 -1
  56. package/lib/plugins/media-control/MediaControl.d.ts.map +1 -1
  57. package/lib/plugins/media-control/MediaControl.js +7 -5
  58. package/lib/plugins/multi-camera/MultiCamera.d.ts +1 -0
  59. package/lib/plugins/multi-camera/MultiCamera.d.ts.map +1 -1
  60. package/lib/plugins/multi-camera/MultiCamera.js +5 -5
  61. package/lib/plugins/poster/Poster.js +1 -1
  62. package/lib/plugins/seek-time/SeekTime.js +1 -1
  63. package/lib/plugins/share/Share.js +1 -1
  64. package/lib/plugins/source-controller/SourceController.d.ts +2 -1
  65. package/lib/plugins/source-controller/SourceController.d.ts.map +1 -1
  66. package/lib/plugins/source-controller/SourceController.js +12 -6
  67. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts +2 -1
  68. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts.map +1 -1
  69. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.js +19 -3
  70. package/lib/plugins/volume-fade/VolumeFade.d.ts +4 -0
  71. package/lib/plugins/volume-fade/VolumeFade.d.ts.map +1 -1
  72. package/lib/plugins/volume-fade/VolumeFade.js +4 -0
  73. package/lib/testUtils.d.ts +66 -2
  74. package/lib/testUtils.d.ts.map +1 -1
  75. package/lib/testUtils.js +95 -2
  76. package/lib/types.d.ts +9 -1
  77. package/lib/types.d.ts.map +1 -1
  78. package/lib/utils/types.d.ts +1 -0
  79. package/lib/utils/types.d.ts.map +1 -1
  80. package/package.json +2 -2
  81. package/release_notes +297 -0
  82. package/src/Player.ts +103 -48
  83. package/src/__tests__/Player.test.ts +25 -4
  84. package/src/internal.types.ts +86 -79
  85. package/src/playback/BasePlayback.ts +41 -0
  86. package/src/playback/dash-playback/DashPlayback.ts +11 -15
  87. package/src/playback/hls-playback/HlsPlayback.ts +7 -5
  88. package/src/playback/utils.ts +2 -0
  89. package/src/playback.types.ts +11 -3
  90. package/src/plugins/context-menu/ContextMenu.ts +5 -2
  91. package/src/plugins/error-screen/ErrorScreen.ts +121 -195
  92. package/src/plugins/error-screen/__tests__/ErrorScreen.test.ts +113 -0
  93. package/src/plugins/error-screen/__tests__/__snapshots__/ErrorScreen.test.ts.snap +20 -0
  94. package/src/plugins/level-selector/__tests__/LevelSelector.test.ts +32 -57
  95. package/src/plugins/media-control/MediaControl.ts +8 -5
  96. package/src/plugins/multi-camera/MultiCamera.ts +5 -5
  97. package/src/plugins/poster/Poster.ts +1 -1
  98. package/src/plugins/seek-time/SeekTime.ts +1 -1
  99. package/src/plugins/share/Share.ts +1 -1
  100. package/src/plugins/source-controller/SourceController.ts +20 -14
  101. package/src/plugins/source-controller/__tests__/SourceController.test.ts +29 -46
  102. package/src/plugins/spinner-three-bounce/SpinnerThreeBounce.ts +20 -3
  103. package/src/plugins/volume-fade/VolumeFade.ts +4 -0
  104. package/src/testUtils.ts +100 -3
  105. package/src/types.ts +11 -1
  106. package/src/utils/types.ts +1 -0
  107. package/temp/player.api.json +24 -24
  108. package/tsconfig.tsbuildinfo +1 -1
@@ -4,6 +4,9 @@
4
4
 
5
5
  ## MultiCamera.getCamerasList() method
6
6
 
7
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
8
+ >
9
+
7
10
  **Signature:**
8
11
 
9
12
  ```typescript
@@ -4,6 +4,9 @@
4
4
 
5
5
  ## MultiCamera.getCurrentCamera() method
6
6
 
7
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
8
+ >
9
+
7
10
  **Signature:**
8
11
 
9
12
  ```typescript
@@ -4,6 +4,9 @@
4
4
 
5
5
  ## MultiCamera class
6
6
 
7
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
8
+ >
9
+
7
10
  The plugin adds support for loading multiple streams and switching between them using the media control UI.
8
11
 
9
12
  **Signature:**
@@ -41,7 +44,7 @@ Description
41
44
 
42
45
  </td><td>
43
46
 
44
- Constructs a new instance of the `MultiCamera` class
47
+ **_(BETA)_** Constructs a new instance of the `MultiCamera` class
45
48
 
46
49
 
47
50
  </td></tr>
@@ -87,6 +90,8 @@ Description
87
90
 
88
91
  </td><td>
89
92
 
93
+ **_(BETA)_**
94
+
90
95
 
91
96
  </td></tr>
92
97
  <tr><td>
@@ -106,6 +111,8 @@ Description
106
111
 
107
112
  </td><td>
108
113
 
114
+ **_(BETA)_**
115
+
109
116
 
110
117
  </td></tr>
111
118
  <tr><td>
@@ -125,6 +132,8 @@ string
125
132
 
126
133
  </td><td>
127
134
 
135
+ **_(BETA)_**
136
+
128
137
 
129
138
  </td></tr>
130
139
  <tr><td>
@@ -144,6 +153,8 @@ string
144
153
 
145
154
  </td><td>
146
155
 
156
+ **_(BETA)_**
157
+
147
158
 
148
159
  </td></tr>
149
160
  <tr><td>
@@ -163,6 +174,8 @@ any
163
174
 
164
175
  </td><td>
165
176
 
177
+ **_(BETA)_**
178
+
166
179
 
167
180
  </td></tr>
168
181
  <tr><td>
@@ -184,6 +197,8 @@ string
184
197
 
185
198
  </td><td>
186
199
 
200
+ **_(BETA)_**
201
+
187
202
 
188
203
  </td></tr>
189
204
  </tbody></table>
@@ -216,6 +231,8 @@ Description
216
231
 
217
232
  </td><td>
218
233
 
234
+ **_(BETA)_**
235
+
219
236
 
220
237
  </td></tr>
221
238
  <tr><td>
@@ -228,6 +245,8 @@ Description
228
245
 
229
246
  </td><td>
230
247
 
248
+ **_(BETA)_**
249
+
231
250
 
232
251
  </td></tr>
233
252
  <tr><td>
@@ -240,6 +259,8 @@ Description
240
259
 
241
260
  </td><td>
242
261
 
262
+ **_(BETA)_**
263
+
243
264
 
244
265
  </td></tr>
245
266
  <tr><td>
@@ -252,6 +273,8 @@ Description
252
273
 
253
274
  </td><td>
254
275
 
276
+ **_(BETA)_**
277
+
255
278
 
256
279
  </td></tr>
257
280
  <tr><td>
@@ -264,6 +287,8 @@ Description
264
287
 
265
288
  </td><td>
266
289
 
290
+ **_(BETA)_**
291
+
267
292
 
268
293
  </td></tr>
269
294
  <tr><td>
@@ -276,6 +301,8 @@ Description
276
301
 
277
302
  </td><td>
278
303
 
304
+ **_(BETA)_**
305
+
279
306
 
280
307
  </td></tr>
281
308
  </tbody></table>
@@ -4,6 +4,9 @@
4
4
 
5
5
  ## MultiCamera.name property
6
6
 
7
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
8
+ >
9
+
7
10
  **Signature:**
8
11
 
9
12
  ```typescript
@@ -4,6 +4,9 @@
4
4
 
5
5
  ## MultiCamera.render() method
6
6
 
7
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
8
+ >
9
+
7
10
  **Signature:**
8
11
 
9
12
  ```typescript
@@ -4,6 +4,9 @@
4
4
 
5
5
  ## MultiCamera.supportedVersion property
6
6
 
7
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
8
+ >
9
+
7
10
  **Signature:**
8
11
 
9
12
  ```typescript
@@ -4,6 +4,9 @@
4
4
 
5
5
  ## MultiCamera.template property
6
6
 
7
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
8
+ >
9
+
7
10
  **Signature:**
8
11
 
9
12
  ```typescript
@@ -4,6 +4,9 @@
4
4
 
5
5
  ## MultiCamera.unBindEvents() method
6
6
 
7
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
8
+ >
9
+
7
10
  **Signature:**
8
11
 
9
12
  ```typescript
@@ -4,6 +4,9 @@
4
4
 
5
5
  ## MultiCamera.version property
6
6
 
7
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
8
+ >
9
+
7
10
  **Signature:**
8
11
 
9
12
  ```typescript
@@ -4,6 +4,11 @@
4
4
 
5
5
  ## VolumeFadeEvents enum
6
6
 
7
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
8
+ >
9
+
10
+ Events emitted by the VolumeFade plugin.
11
+
7
12
  **Signature:**
8
13
 
9
14
  ```typescript
@@ -40,6 +45,8 @@ FADE
40
45
 
41
46
  </td><td>
42
47
 
48
+ **_(BETA)_**
49
+
43
50
 
44
51
  </td></tr>
45
52
  </tbody></table>
@@ -7,6 +7,7 @@
7
7
  > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
8
8
  >
9
9
 
10
+ [Zepto query result](https://zeptojs.com/#$())
10
11
 
11
12
  **Signature:**
12
13
 
package/lib/Player.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { ContainerSize, PlayerPlugin } from './types.js';
1
+ import type { ContainerSize, PlayerPluginConstructor } from './types.js';
2
2
  import { PlayerConfig, PlayerEvent } from './types.js';
3
3
  import { PlaybackError, TimePosition } from './playback.types.js';
4
4
  /**
@@ -186,12 +186,14 @@ export declare class Player {
186
186
  * Player.registerPlugin(MyPlugin)
187
187
  * ```
188
188
  */
189
- static registerPlugin(plugin: PlayerPlugin): void;
189
+ static registerPlugin(plugin: PlayerPluginConstructor): void;
190
+ private static getRegisteredPlugins;
191
+ private static corePlugins;
190
192
  /**
191
193
  * Unregisters a plugin registered earlier with {@link Player.registerPlugin}.
192
194
  * @param plugin - a plugin class
193
195
  */
194
- static unregisterPlugin(plugin: PlayerPlugin): void;
196
+ static unregisterPlugin(plugin: PlayerPluginConstructor): void;
195
197
  private setConfig;
196
198
  private initPlayer;
197
199
  private tuneIn;
@@ -1 +1 @@
1
- {"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../src/Player.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../src/Player.ts"],"names":[],"mappings":"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"}
package/lib/Player.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { Browser, Events as ClapprEvents, Log, Player as PlayerClappr, $, Loader, } from '@clappr/core';
2
2
  import { reportError, trace } from '@gcorevideo/utils';
3
3
  import assert from 'assert';
4
- import EventLite from 'event-lite';
4
+ import EventEmitter from 'eventemitter3';
5
5
  import { PlayerEvent } from './types.js';
6
- import { buildMediaSourcesList, wrapSource, } from './utils/mediaSources.js';
6
+ import { buildMediaSourcesList, wrapSource } from './utils/mediaSources.js';
7
7
  import { registerPlaybacks } from './playback/index.js';
8
8
  const T = 'GPlayer';
9
9
  const DEFAULT_OPTIONS = {
@@ -26,7 +26,7 @@ const DEFAULT_OPTIONS = {
26
26
  */
27
27
  export class Player {
28
28
  config = DEFAULT_OPTIONS;
29
- emitter = new EventLite();
29
+ emitter = new EventEmitter();
30
30
  player = null;
31
31
  ready = false;
32
32
  rootNode = null;
@@ -99,7 +99,7 @@ export class Player {
99
99
  Log.setLevel(0);
100
100
  }
101
101
  const coreOpts = this.buildCoreOptions(playerElement);
102
- const { core, container } = Loader.registeredPlugins;
102
+ const { core, container } = Player.getRegisteredPlugins();
103
103
  trace(`${T} init`, {
104
104
  registeredPlaybacks: Loader.registeredPlaybacks.map((p) => p.name),
105
105
  });
@@ -261,13 +261,35 @@ export class Player {
261
261
  * ```
262
262
  */
263
263
  static registerPlugin(plugin) {
264
+ assert.ok(plugin.type === 'core' || plugin.type === 'container', 'Invalid plugin type');
265
+ if (plugin.type === 'core') {
266
+ if (plugin.prototype.name === 'media_control') {
267
+ Player.corePlugins.unshift(plugin);
268
+ }
269
+ else {
270
+ Player.corePlugins.push(plugin);
271
+ }
272
+ return;
273
+ }
264
274
  Loader.registerPlugin(plugin);
265
275
  }
276
+ static getRegisteredPlugins() {
277
+ for (const plugin of Player.corePlugins) {
278
+ Loader.registerPlugin(plugin);
279
+ }
280
+ return Loader.registeredPlugins;
281
+ }
282
+ static corePlugins = [];
266
283
  /**
267
284
  * Unregisters a plugin registered earlier with {@link Player.registerPlugin}.
268
285
  * @param plugin - a plugin class
269
286
  */
270
287
  static unregisterPlugin(plugin) {
288
+ assert.ok(plugin.type === 'core' || plugin.type === 'container', 'Invalid plugin type');
289
+ if (plugin.type === 'core') {
290
+ Player.corePlugins = Player.corePlugins.filter((p) => p !== plugin);
291
+ return;
292
+ }
271
293
  Loader.unregisterPlugin(plugin);
272
294
  }
273
295
  setConfig(config) {
@@ -408,8 +430,10 @@ export class Player {
408
430
  }, null);
409
431
  }
410
432
  bindCoreListeners() {
411
- const core = this.player?.core;
412
- core?.on(ClapprEvents.CORE_SCREEN_ORIENTATION_CHANGED, ({ orientation }) => {
433
+ // TODO create an class inherited from PlayerClappr
434
+ assert.ok(this.player, 'Player is not initialized');
435
+ const core = this.player.core;
436
+ core.on(ClapprEvents.CORE_SCREEN_ORIENTATION_CHANGED, ({ orientation }) => {
413
437
  trace(`${T} on CORE_SCREEN_ORIENTATION_CHANGED`, {
414
438
  orientation,
415
439
  rootNode: {
@@ -424,14 +448,14 @@ export class Player {
424
448
  });
425
449
  }
426
450
  }, null);
427
- core?.on(ClapprEvents.CORE_RESIZE, ({ width, height }) => {
451
+ core.on(ClapprEvents.CORE_RESIZE, ({ width, height }) => {
428
452
  trace(`${T} on CORE_RESIZE`, {
429
453
  width,
430
454
  height,
431
455
  });
432
456
  this.safeTriggerEvent(PlayerEvent.Resize, { width, height });
433
457
  }, null);
434
- core?.on(ClapprEvents.CORE_FULLSCREEN, (isFullscreen) => {
458
+ core.on(ClapprEvents.CORE_FULLSCREEN, (isFullscreen) => {
435
459
  trace(`${T} CORE_FULLSCREEN`, {
436
460
  isFullscreen,
437
461
  });
@@ -1,8 +1,8 @@
1
- import type { CorePlugin, ContainerPlugin, Playback as ClapprPlayback } from "@clappr/core";
2
- import { ContainerSize, PlaybackType, PlayerDebugTag, PlayerMediaSource } from "./types";
3
- import { PlaybackError } from "./playback.types.js";
1
+ import type { CorePlugin, Playback as ClapprPlayback } from '@clappr/core';
2
+ import { ContainerSize, PlaybackType, PlayerDebugTag, PlayerMediaSource, type CorePluginConstructor, type ContainerPluginConstructor } from './types';
3
+ import { PlaybackError } from './playback.types.js';
4
4
  type ExternalTrack = {
5
- kind?: "subtitles" | "captions";
5
+ kind?: 'subtitles' | 'captions';
6
6
  src: string;
7
7
  label: string;
8
8
  lang: string;
@@ -65,8 +65,8 @@ export type PlaybackPluginFactory = typeof ClapprPlayback;
65
65
  * @internal
66
66
  */
67
67
  export type CorePluginOptions = {
68
- core?: CorePlugin[];
69
- container?: ContainerPlugin[];
68
+ core?: CorePluginConstructor[];
69
+ container?: ContainerPluginConstructor[];
70
70
  playback?: PlaybackPluginFactory[];
71
71
  loadExternalPluginsFirst?: boolean;
72
72
  loadExternalPlaybacksFirst?: boolean;
@@ -100,7 +100,7 @@ export type CoreOptions = {
100
100
  mimeType?: string;
101
101
  mute?: boolean;
102
102
  persistConfig?: boolean;
103
- preload?: "auto" | "metadata" | "none";
103
+ preload?: 'auto' | 'metadata' | 'none';
104
104
  parentId?: string;
105
105
  parent?: HTMLElement;
106
106
  playback?: CorePlaybackConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"internal.types.d.ts","sourceRoot":"","sources":["../src/internal.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internal.types.d.ts","sourceRoot":"","sources":["../src/internal.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { ErrorOptions, HTML5Video } from '@clappr/core';
2
+ /**
3
+ * This class adds common behaviors to all playback modules.
4
+ * @internal
5
+ * TODO use custom HTML5Video playback with this layer applied
6
+ */
7
+ export declare class BasePlayback extends HTML5Video {
8
+ createError(errorData: any, options?: ErrorOptions): Error;
9
+ _onProgress(): void;
10
+ }
11
+ //# sourceMappingURL=BasePlayback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BasePlayback.d.ts","sourceRoot":"","sources":["../../src/playback/BasePlayback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAU,UAAU,EAAe,MAAM,cAAc,CAAA;AAI5E;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,UAAU;IAC1C,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY;IA0BzC,WAAW;CAIrB"}
@@ -0,0 +1,33 @@
1
+ import { Events, HTML5Video, PlayerError } from '@clappr/core';
2
+ import { PlaybackErrorCode } from '../playback.types.js';
3
+ /**
4
+ * This class adds common behaviors to all playback modules.
5
+ * @internal
6
+ * TODO use custom HTML5Video playback with this layer applied
7
+ */
8
+ export class BasePlayback extends HTML5Video {
9
+ createError(errorData, options) {
10
+ const i18n = this.i18n ||
11
+ // @ts-ignore
12
+ (this.core && this.core.i18n) ||
13
+ // @ts-ignore
14
+ (this.container && this.container.i18n);
15
+ if (i18n &&
16
+ !errorData.UI &&
17
+ errorData.code === PlaybackErrorCode.MediaSourceUnavailable) {
18
+ const defaultUI = {
19
+ title: i18n.t('no_broadcast'),
20
+ message: '',
21
+ };
22
+ errorData.UI = defaultUI;
23
+ }
24
+ if (errorData.level === PlayerError.Levels.FATAL) {
25
+ this.trigger(Events.PLAYBACK_MEDIACONTROL_DISABLE);
26
+ }
27
+ return super.createError(errorData, options);
28
+ }
29
+ _onProgress() {
30
+ super._onProgress();
31
+ this.trigger(Events.PLAYBACK_MEDIACONTROL_ENABLE);
32
+ }
33
+ }
@@ -1,13 +1,14 @@
1
- import { HTML5Video, Playback } from '@clappr/core';
1
+ import { Playback } from '@clappr/core';
2
2
  import DASHJS, { type BitrateInfo as DashBitrateInfo, IManifestInfo } from 'dashjs';
3
3
  import { QualityLevel, TimePosition, TimeValue } from '../../playback.types.js';
4
+ import { BasePlayback } from '../BasePlayback.js';
4
5
  type PlaybackType = typeof Playback.VOD | typeof Playback.LIVE | typeof Playback.AOD | typeof Playback.NO_OP;
5
6
  type PlaylistType = string;
6
7
  type LocalTimeCorrelation = {
7
8
  local: number;
8
9
  remote: number;
9
10
  };
10
- export default class DashPlayback extends HTML5Video {
11
+ export default class DashPlayback extends BasePlayback {
11
12
  _levels: QualityLevel[] | null;
12
13
  _currentLevel: number | null;
13
14
  _durationExcludesAfterLiveSyncPoint: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"DashPlayback.d.ts","sourceRoot":"","sources":["../../../src/playback/dash-playback/DashPlayback.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,UAAU,EAEV,QAAQ,EAIT,MAAM,cAAc,CAAA;AAGrB,OAAO,MAAM,EAAE,EAIb,KAAK,WAAW,IAAI,eAAe,EAEnC,aAAa,EACd,MAAM,QAAQ,CAAA;AAEf,OAAO,EAIL,YAAY,EACZ,YAAY,EAEZ,SAAS,EACV,MAAM,yBAAyB,CAAA;AAOhC,KAAK,YAAY,GACb,OAAO,QAAQ,CAAC,GAAG,GACnB,OAAO,QAAQ,CAAC,IAAI,GACpB,OAAO,QAAQ,CAAC,GAAG,GACnB,OAAO,QAAQ,CAAC,KAAK,CAAA;AAEzB,KAAK,YAAY,GAAG,MAAM,CAAA;AAE1B,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAKD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,UAAU;IAClD,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAAO;IAErC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAO;IAKnC,mCAAmC,EAAE,OAAO,CAAQ;IAEpD,aAAa,EAAE,OAAO,CAAQ;IAI9B,uBAAuB,EAAE,MAAM,CAAI;IASnC,wBAAwB,EAAE,MAAM,CAAI;IAEpC,aAAa,EAAE,YAAY,CAAe;IAG1C,aAAa,EAAE,YAAY,GAAG,IAAI,CAAO;IAGzC,gBAAgB,EAAE,SAAS,CAAI;IAE/B,KAAK,EAAE,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAO;IAE5C,2BAA2B,EAAE,MAAM,CAAI;IAEvC,aAAa,EAAE,SAAS,GAAG,IAAI,CAAO;IAEtC,eAAe,EAAE,YAAY,CAA2B;IAIxD,0BAA0B,EAAE,oBAAoB,GAAG,IAAI,CAAO;IAI9D,wBAAwB,EAAE,oBAAoB,GAAG,IAAI,CAAO;IAE5D,kBAAkB,UAAQ;IAE1B,YAAY,EAAE,aAAa,GAAG,IAAI,CAAO;IAEzC,gBAAgB,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI,CAAO;IAE9D,IAAI,IAAI,WAEP;IAED,IAAI,MAAM,IAAI,YAAY,EAAE,CAE3B;IAED,IAAI,YAAY,IAAI,MAAM,CAMzB;IAED,IAAI,OAAO,YAEV;IAED,IAAI,YAAY,CAAC,EAAE,EAAE,MAAM,EAoC1B;IAED,IAAI,UAAU,WASb;IAED,IAAI,IAAI,WAEP;IAID,IAAI,sBAAsB,WAczB;IAID,IAAI,oBAAoB,WAgBvB;IAED,IAAI,SAAS,WAKZ;gBAEW,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,GAAG;IAOzD,MAAM;IA+EN,MAAM;IAMN,MAAM;YAMW,SAAS;IAI1B,qBAAqB;IAQrB,oBAAoB;IAMpB,kBAAkB;IAOlB,WAAW,IAAI,SAAS;IAQxB,cAAc,IAAI,SAAS;IAO3B,kBAAkB,IAAI,SAAS;IAI/B,cAAc,CAAC,UAAU,EAAE,MAAM;IAejC,IAAI,CAAC,IAAI,EAAE,SAAS;IAgBpB,eAAe;IAIf,UAAU,CAAC,MAAM,EAAE,OAAO;IAKjB,eAAe;IAgBxB,OAAO,CAAC,gBAAgB,CAGvB;IAED,OAAO,CAAC,eAAe,CAmCtB;IAED,OAAO,CAAC,YAAY;IAgBpB,aAAa;IAqBb,iBAAiB;IAWjB,IAAI,UAAU,YASb;IAED,WAAW;IAmBX,IAAI;IAUJ,KAAK;IAWL,IAAI;IASJ,OAAO;IAkBP,mBAAmB;IAYnB,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE;IAarC,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,gBAAgB;IAQxB,eAAe;IAIf,aAAa;IAIb,OAAO,CAAC,QAAQ;CAKjB"}
1
+ {"version":3,"file":"DashPlayback.d.ts","sourceRoot":"","sources":["../../../src/playback/dash-playback/DashPlayback.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,18 @@
1
1
  // Copyright 2014 Globo.com Player authors. All rights reserved.
2
2
  // Use of this source code is governed by a BSD-style
3
3
  // license that can be found in the LICENSE file.
4
- import { Events, HTML5Video, Log, Playback, PlayerError, Utils, $, } from '@clappr/core';
4
+ import { Events, Log, Playback, PlayerError, Utils, $ } from '@clappr/core';
5
5
  import { trace } from '@gcorevideo/utils';
6
6
  import assert from 'assert';
7
7
  import DASHJS from 'dashjs';
8
8
  import { PlaybackErrorCode, } from '../../playback.types.js';
9
9
  import { isDashSource } from '../../utils/mediaSources.js';
10
+ import { BasePlayback } from '../BasePlayback.js';
10
11
  const AUTO = -1;
11
12
  const { now } = Utils;
12
13
  const T = 'playback.dash';
13
14
  // @ts-expect-error
14
- export default class DashPlayback extends HTML5Video {
15
+ export default class DashPlayback extends BasePlayback {
15
16
  _levels = null;
16
17
  _currentLevel = null;
17
18
  // true when the actual duration is longer than hlsjs's live sync point
@@ -318,11 +319,10 @@ export default class DashPlayback extends HTML5Video {
318
319
  };
319
320
  triggerError(error) {
320
321
  trace(`${T} triggerError`, { error });
321
- this.trigger(Events.PLAYBACK_ERROR, {
322
- ...error,
323
- origin: this.name,
324
- scope: DashPlayback.type,
325
- });
322
+ // this triggers Events.ERROR to be handled by the UI
323
+ this.trigger(Events.PLAYBACK_ERROR, this.createError(error, {
324
+ useCodePrefix: false,
325
+ }));
326
326
  // only reset the dash player in 10ms async, so that the rest of the
327
327
  // calling function finishes
328
328
  setTimeout(() => {
@@ -1,8 +1,8 @@
1
- import { HTML5Video } from '@clappr/core';
2
1
  import HLSJS, { Events as HlsEvents, type ErrorData as HlsErrorData, type FragChangedData, type FragLoadedData, type FragParsingMetadataData, type LevelSwitchingData } from 'hls.js';
3
2
  import { PlaybackError, QualityLevel } from '../../playback.types.js';
4
3
  import { PlaybackType } from '../../types.js';
5
- export default class HlsPlayback extends HTML5Video {
4
+ import { BasePlayback } from '../BasePlayback.js';
5
+ export default class HlsPlayback extends BasePlayback {
6
6
  private _ccIsSetup;
7
7
  private _ccTracksUpdated;
8
8
  private _currentFragment;
@@ -1 +1 @@
1
- {"version":3,"file":"HlsPlayback.d.ts","sourceRoot":"","sources":["../../../src/playback/hls-playback/HlsPlayback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HlsPlayback.d.ts","sourceRoot":"","sources":["../../../src/playback/hls-playback/HlsPlayback.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,22 @@
1
1
  // Copyright 2014 Globo.com Player authors. All rights reserved.
2
2
  // Use of this source code is governed by a BSD-style
3
- // license that can be found in the LICENSE file.
4
- import { Events, HTML5Video, Log, Playback, PlayerError, Utils, $, } from '@clappr/core';
3
+ // license that can be found on https://github.com/clappr/hlsjs-playback/blob/main/LICENSE
4
+ import { Events, Log, Playback, PlayerError, Utils, $, } from '@clappr/core';
5
5
  import { trace } from '@gcorevideo/utils';
6
6
  import assert from 'assert';
7
7
  import HLSJS from 'hls.js';
8
8
  import { PlaybackErrorCode, } from '../../playback.types.js';
9
9
  import { isHlsSource } from '../../utils/mediaSources.js';
10
+ import { BasePlayback } from '../BasePlayback.js';
10
11
  import { CLAPPR_VERSION } from '../../build.js';
11
- const { now, listContainsIgnoreCase } = Utils;
12
+ const { now } = Utils;
12
13
  const AUTO = -1;
13
14
  const DEFAULT_RECOVER_ATTEMPTS = 16;
14
15
  Events.register('PLAYBACK_FRAGMENT_CHANGED');
15
16
  Events.register('PLAYBACK_FRAGMENT_PARSING_METADATA');
16
17
  const T = 'playback.hls';
17
18
  // @ts-expect-error
18
- export default class HlsPlayback extends HTML5Video {
19
+ export default class HlsPlayback extends BasePlayback {
19
20
  _ccIsSetup = false;
20
21
  _ccTracksUpdated = false;
21
22
  _currentFragment = null;
@@ -821,7 +822,9 @@ export default class HlsPlayback extends HTML5Video {
821
822
  return this._playbackType === Playback.VOD || this.dvrEnabled;
822
823
  }
823
824
  triggerError(error) {
824
- this.trigger(Events.PLAYBACK_ERROR, error);
825
+ this.trigger(Events.PLAYBACK_ERROR, this.createError(error, {
826
+ useCodePrefix: false,
827
+ }));
825
828
  this.stop();
826
829
  }
827
830
  }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/playback/utils.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export {};