@gcorevideo/player 2.20.6 → 2.20.8

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 (65) hide show
  1. package/dist/core.js +37 -13
  2. package/dist/index.css +1163 -1163
  3. package/dist/index.js +2557 -2513
  4. package/dist/plugins/index.css +470 -470
  5. package/dist/plugins/index.js +5230 -5217
  6. package/lib/playback/BasePlayback.d.ts +5 -0
  7. package/lib/playback/BasePlayback.d.ts.map +1 -1
  8. package/lib/playback/BasePlayback.js +8 -0
  9. package/lib/playback/HTML5Video.d.ts +4 -0
  10. package/lib/playback/HTML5Video.d.ts.map +1 -0
  11. package/lib/playback/HTML5Video.js +3 -0
  12. package/lib/playback/dash-playback/DashPlayback.d.ts +1 -0
  13. package/lib/playback/dash-playback/DashPlayback.d.ts.map +1 -1
  14. package/lib/playback/dash-playback/DashPlayback.js +6 -2
  15. package/lib/playback/index.d.ts.map +1 -1
  16. package/lib/playback/index.js +2 -0
  17. package/lib/playback/types.d.ts +9 -0
  18. package/lib/playback/types.d.ts.map +1 -0
  19. package/lib/playback/types.js +9 -0
  20. package/lib/plugins/bottom-gear/BottomGear.d.ts +6 -11
  21. package/lib/plugins/bottom-gear/BottomGear.d.ts.map +1 -1
  22. package/lib/plugins/bottom-gear/BottomGear.js +9 -21
  23. package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.js +2 -2
  24. package/lib/plugins/dvr-controls/DvrControls.d.ts +1 -1
  25. package/lib/plugins/dvr-controls/DvrControls.d.ts.map +1 -1
  26. package/lib/plugins/dvr-controls/DvrControls.js +27 -16
  27. package/lib/plugins/level-selector/LevelSelector.d.ts +17 -5
  28. package/lib/plugins/level-selector/LevelSelector.d.ts.map +1 -1
  29. package/lib/plugins/level-selector/LevelSelector.js +35 -24
  30. package/lib/plugins/media-control/MediaControl.d.ts +11 -0
  31. package/lib/plugins/media-control/MediaControl.d.ts.map +1 -1
  32. package/lib/plugins/media-control/MediaControl.js +16 -3
  33. package/lib/plugins/playback-rate/PlaybackRate.d.ts +11 -10
  34. package/lib/plugins/playback-rate/PlaybackRate.d.ts.map +1 -1
  35. package/lib/plugins/playback-rate/PlaybackRate.js +83 -91
  36. package/lib/plugins/source-controller/SourceController.d.ts +1 -0
  37. package/lib/plugins/source-controller/SourceController.d.ts.map +1 -1
  38. package/lib/plugins/source-controller/SourceController.js +8 -4
  39. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts +7 -3
  40. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts.map +1 -1
  41. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.js +35 -27
  42. package/lib/testUtils.d.ts +5 -8
  43. package/lib/testUtils.d.ts.map +1 -1
  44. package/lib/testUtils.js +15 -9
  45. package/package.json +1 -1
  46. package/src/playback/BasePlayback.ts +12 -4
  47. package/src/playback/HTML5Video.ts +3 -0
  48. package/src/playback/dash-playback/DashPlayback.ts +15 -11
  49. package/src/playback/index.ts +2 -1
  50. package/src/playback/types.ts +9 -0
  51. package/src/plugins/bottom-gear/BottomGear.ts +10 -21
  52. package/src/plugins/bottom-gear/__tests__/BottomGear.test.ts +36 -0
  53. package/src/plugins/bottom-gear/__tests__/__snapshots__/BottomGear.test.ts.snap +41 -0
  54. package/src/plugins/clappr-nerd-stats/ClapprNerdStats.ts +3 -3
  55. package/src/plugins/dvr-controls/DvrControls.ts +87 -54
  56. package/src/plugins/level-selector/LevelSelector.ts +64 -31
  57. package/src/plugins/level-selector/__tests__/LevelSelector.test.ts +15 -16
  58. package/src/plugins/media-control/MediaControl.ts +20 -6
  59. package/src/plugins/playback-rate/PlaybackRate.ts +89 -105
  60. package/src/plugins/source-controller/SourceController.ts +9 -4
  61. package/src/plugins/source-controller/__tests__/SourceController.test.ts +35 -1
  62. package/src/plugins/spinner-three-bounce/SpinnerThreeBounce.ts +80 -57
  63. package/src/testUtils.ts +16 -9
  64. package/tsconfig.tsbuildinfo +1 -1
  65. package/assets/playback-rate/playback-rate-selector.ejs +0 -9
package/dist/core.js CHANGED
@@ -7675,7 +7675,7 @@ var UNKNOWN_ERROR = {
7675
7675
  };
7676
7676
 
7677
7677
  // TODO: rename this Playback to HTML5Playback (breaking change, only after 0.3.0)
7678
- var HTML5Video = /*#__PURE__*/function (_Playback) {
7678
+ var HTML5Video$1 = /*#__PURE__*/function (_Playback) {
7679
7679
  function HTML5Video() {
7680
7680
  var _this;
7681
7681
  _classCallCheck(this, HTML5Video);
@@ -8467,7 +8467,7 @@ var HTML5Video = /*#__PURE__*/function (_Playback) {
8467
8467
  }
8468
8468
  }]);
8469
8469
  }(Playback);
8470
- HTML5Video._mimeTypesForUrl = function () {
8470
+ HTML5Video$1._mimeTypesForUrl = function () {
8471
8471
  var resourceUrl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
8472
8472
  var mimeTypesByExtension = arguments.length > 1 ? arguments[1] : undefined;
8473
8473
  var mimeType = arguments.length > 2 ? arguments[2] : undefined;
@@ -8475,15 +8475,15 @@ HTML5Video._mimeTypesForUrl = function () {
8475
8475
  var mimeTypes = mimeType || extension && mimeTypesByExtension[extension.toLowerCase()] || [];
8476
8476
  return mimeTypes.constructor === Array ? mimeTypes : [mimeTypes];
8477
8477
  };
8478
- HTML5Video._canPlay = function (type, mimeTypesByExtension, resourceUrl, mimeType) {
8479
- var mimeTypes = HTML5Video._mimeTypesForUrl(resourceUrl, mimeTypesByExtension, mimeType);
8478
+ HTML5Video$1._canPlay = function (type, mimeTypesByExtension, resourceUrl, mimeType) {
8479
+ var mimeTypes = HTML5Video$1._mimeTypesForUrl(resourceUrl, mimeTypesByExtension, mimeType);
8480
8480
  var media = document.createElement(type);
8481
8481
  return !!mimeTypes.filter(function (mediaType) {
8482
8482
  return !!media.canPlayType(mediaType).replace(/no/, '');
8483
8483
  })[0];
8484
8484
  };
8485
- HTML5Video.canPlay = function (resourceUrl, mimeType) {
8486
- return HTML5Video._canPlay('audio', AUDIO_MIMETYPES, resourceUrl, mimeType) || HTML5Video._canPlay('video', MIMETYPES, resourceUrl, mimeType);
8485
+ HTML5Video$1.canPlay = function (resourceUrl, mimeType) {
8486
+ return HTML5Video$1._canPlay('audio', AUDIO_MIMETYPES, resourceUrl, mimeType) || HTML5Video$1._canPlay('video', MIMETYPES, resourceUrl, mimeType);
8487
8487
  };
8488
8488
 
8489
8489
  // TODO: remove this playback and change HTML5Video to HTML5Playback (breaking change, only after 0.3.0)
@@ -8528,7 +8528,7 @@ var HTML5Audio = /*#__PURE__*/function (_HTML5Video) {
8528
8528
  return Playback.AOD;
8529
8529
  }
8530
8530
  }]);
8531
- }(HTML5Video);
8531
+ }(HTML5Video$1);
8532
8532
  HTML5Audio.canPlay = function (resourceUrl, mimeType) {
8533
8533
  var mimetypes = {
8534
8534
  'wav': ['audio/wav'],
@@ -8536,7 +8536,7 @@ HTML5Audio.canPlay = function (resourceUrl, mimeType) {
8536
8536
  'aac': ['audio/mp4;codecs="mp4a.40.5"'],
8537
8537
  'oga': ['audio/ogg']
8538
8538
  };
8539
- return HTML5Video._canPlay('audio', mimetypes, resourceUrl, mimeType);
8539
+ return HTML5Video$1._canPlay('audio', mimetypes, resourceUrl, mimeType);
8540
8540
  };
8541
8541
 
8542
8542
  var css_248z$1 = "[data-html-img] {\n max-width: 100%;\n max-height: 100%; }\n";
@@ -8938,7 +8938,7 @@ Loader.registerPlugin(SourcesPlugin);
8938
8938
  Loader.registerPlayback(NoOp);
8939
8939
  Loader.registerPlayback(HTMLImg);
8940
8940
  Loader.registerPlayback(HTML5Audio);
8941
- Loader.registerPlayback(HTML5Video);
8941
+ Loader.registerPlayback(HTML5Video$1);
8942
8942
 
8943
8943
  const global$1 = (typeof global !== "undefined" ? global :
8944
8944
  typeof self !== "undefined" ? self :
@@ -12542,7 +12542,7 @@ var PlaybackErrorCode;
12542
12542
  * @internal
12543
12543
  * TODO use custom HTML5Video playback with this layer applied
12544
12544
  */
12545
- class BasePlayback extends HTML5Video {
12545
+ class BasePlayback extends HTML5Video$1 {
12546
12546
  createError(errorData, options) {
12547
12547
  const i18n = this.i18n ||
12548
12548
  // @ts-ignore
@@ -12563,12 +12563,29 @@ class BasePlayback extends HTML5Video {
12563
12563
  }
12564
12564
  return super.createError(errorData, options);
12565
12565
  }
12566
+ /**
12567
+ * Sets the playback rate.
12568
+ * @param rate - The playback rate to set.
12569
+ */
12570
+ setPlaybackRate(rate) {
12571
+ this.el.playbackRate = rate;
12572
+ }
12566
12573
  _onPlaying() {
12567
12574
  super._onPlaying();
12568
12575
  this.trigger(Events$1.PLAYBACK_MEDIACONTROL_ENABLE);
12569
12576
  }
12570
12577
  }
12571
12578
 
12579
+ var PlaybackEvents;
12580
+ (function (PlaybackEvents) {
12581
+ /**
12582
+ * Emitted when the playback rate changes.
12583
+ * Payload:
12584
+ * - playbackRate number
12585
+ */
12586
+ PlaybackEvents["PLAYBACK_RATE_CHANGED"] = "playback:rate-changed";
12587
+ })(PlaybackEvents || (PlaybackEvents = {}));
12588
+
12572
12589
  // Copyright 2014 Globo.com Player authors. All rights reserved.
12573
12590
  // Use of this source code is governed by a BSD-style
12574
12591
  // license that can be found in the LICENSE file.
@@ -12752,8 +12769,8 @@ class DashPlayback extends BasePlayback {
12752
12769
  }
12753
12770
  }
12754
12771
  });
12755
- this._dash.on(DASHJS.MediaPlayer.events.PLAYBACK_RATE_CHANGED, () => {
12756
- this.trigger('dash:playback-rate-changed');
12772
+ this._dash.on(DASHJS.MediaPlayer.events.PLAYBACK_RATE_CHANGED, (e) => {
12773
+ this.trigger(PlaybackEvents.PLAYBACK_RATE_CHANGED, e.playbackRate);
12757
12774
  });
12758
12775
  }
12759
12776
  render() {
@@ -13019,6 +13036,9 @@ class DashPlayback extends BasePlayback {
13019
13036
  assert.ok(ret, 'Invalid quality level');
13020
13037
  return ret;
13021
13038
  }
13039
+ setPlaybackRate(rate) {
13040
+ this._dash?.setPlaybackRate(rate);
13041
+ }
13022
13042
  }
13023
13043
  DashPlayback.canPlay = function (resource, mimeType) {
13024
13044
  if (!isDashSource(resource, mimeType)) {
@@ -42510,8 +42530,12 @@ HlsPlayback.canPlay = function (resource, mimeType) {
42510
42530
  return Hls.isSupported();
42511
42531
  };
42512
42532
 
42533
+ class HTML5Video extends BasePlayback {
42534
+ }
42535
+
42513
42536
  // TODO consider allowing the variation of the order of playback modules
42514
42537
  function registerPlaybacks() {
42538
+ Loader.registerPlayback(HTML5Video); // TODO check it overrides the default HTML5Video
42515
42539
  Loader.registerPlayback(HlsPlayback);
42516
42540
  Loader.registerPlayback(DashPlayback);
42517
42541
  }
@@ -42975,7 +42999,7 @@ class Player {
42975
42999
  }
42976
43000
  }
42977
43001
 
42978
- var version$1 = "2.20.6";
43002
+ var version$1 = "2.20.8";
42979
43003
 
42980
43004
  var packages = {
42981
43005
  "node_modules/@clappr/core": {