@gcorevideo/player 2.25.4 → 2.25.6

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/dist/index.js CHANGED
@@ -12680,7 +12680,7 @@ var PlaybackEvents;
12680
12680
  // https://github.com/clappr/clappr/blob/8752995ea439321ac7ca3cd35e8c64de7a3c3d17/LICENSE
12681
12681
  const AUTO$1 = -1;
12682
12682
  const { now: now$2 } = Utils;
12683
- const T$o = 'playback.dash';
12683
+ const T$p = 'playback.dash';
12684
12684
  class DashPlayback extends BasePlayback {
12685
12685
  _levels = null;
12686
12686
  _currentLevel = null;
@@ -12954,10 +12954,10 @@ class DashPlayback extends BasePlayback {
12954
12954
  }
12955
12955
  _onPlaybackError = (event) => {
12956
12956
  // TODO
12957
- trace(`${T$o} _onPlaybackError`, { event });
12957
+ trace(`${T$p} _onPlaybackError`, { event });
12958
12958
  };
12959
12959
  _onDASHJSSError = (event) => {
12960
- trace(`${T$o} _onDASHJSSError`, { event });
12960
+ trace(`${T$p} _onDASHJSSError`, { event });
12961
12961
  this._stopTimeUpdateTimer();
12962
12962
  // Note that the other error types are deprecated
12963
12963
  const e = event.error;
@@ -12992,7 +12992,7 @@ class DashPlayback extends BasePlayback {
12992
12992
  }
12993
12993
  };
12994
12994
  triggerError(error) {
12995
- trace(`${T$o} triggerError`, { error });
12995
+ trace(`${T$p} triggerError`, { error });
12996
12996
  // this triggers Events.ERROR to be handled by the UI
12997
12997
  this.trigger(Events$1.PLAYBACK_ERROR, this.createError(error, {
12998
12998
  useCodePrefix: false,
@@ -13031,10 +13031,10 @@ class DashPlayback extends BasePlayback {
13031
13031
  }
13032
13032
  get dvrEnabled() {
13033
13033
  if (!this._dash) {
13034
- trace(`${T$o} dvrEnable no dash player instance`);
13034
+ trace(`${T$p} dvrEnable no dash player instance`);
13035
13035
  return false;
13036
13036
  }
13037
- trace(`${T$o} get.dvrEnabled`, {
13037
+ trace(`${T$p} get.dvrEnabled`, {
13038
13038
  dvrWindowSize: this._dash?.getDVRWindowSize(),
13039
13039
  minDvrSize: this._minDvrSize,
13040
13040
  playbackType: this.getPlaybackType(),
@@ -13056,7 +13056,7 @@ class DashPlayback extends BasePlayback {
13056
13056
  this.trigger(Events$1.PLAYBACK_PROGRESS, progress, {});
13057
13057
  }
13058
13058
  play() {
13059
- trace(`${T$o} play`, { dash: !!this._dash });
13059
+ trace(`${T$p} play`, { dash: !!this._dash });
13060
13060
  !this._dash && this._setup();
13061
13061
  super.play();
13062
13062
  this._startTimeUpdateTimer();
@@ -13142,7 +13142,7 @@ class DashPlayback extends BasePlayback {
13142
13142
  }
13143
13143
  // @ts-expect-error
13144
13144
  get currentAudioTrack() {
13145
- trace(`${T$o} get currentAudioTrack`);
13145
+ trace(`${T$p} get currentAudioTrack`);
13146
13146
  assert.ok(this._dash, 'DASH.js MediaPlayer is not initialized');
13147
13147
  const t = this._dash.getCurrentTrackFor('audio');
13148
13148
  if (!t) {
@@ -41850,7 +41850,7 @@ const AUTO = -1;
41850
41850
  const DEFAULT_RECOVER_ATTEMPTS = 16;
41851
41851
  Events$1.register('PLAYBACK_FRAGMENT_CHANGED');
41852
41852
  Events$1.register('PLAYBACK_FRAGMENT_PARSING_METADATA');
41853
- const T$n = 'playback.hls';
41853
+ const T$o = 'playback.hls';
41854
41854
  class HlsPlayback extends BasePlayback {
41855
41855
  _ccIsSetup = false;
41856
41856
  _ccTracksUpdated = false;
@@ -42082,7 +42082,7 @@ class HlsPlayback extends BasePlayback {
42082
42082
  maxMaxBufferLength: 4,
42083
42083
  autoStartLoad: false,
42084
42084
  }, this.options.playback.hlsjsConfig);
42085
- trace(`${T$n} _createHLSInstance`, { config });
42085
+ trace(`${T$o} _createHLSInstance`, { config });
42086
42086
  this._hls = new Hls(config);
42087
42087
  }
42088
42088
  _attachHLSMedia() {
@@ -42175,7 +42175,7 @@ class HlsPlayback extends BasePlayback {
42175
42175
  }
42176
42176
  else {
42177
42177
  Log.error('hlsjs: failed to recover', { evt, data });
42178
- trace(`${T$n} _recover failed to recover`, {
42178
+ trace(`${T$o} _recover failed to recover`, {
42179
42179
  type: data.type,
42180
42180
  details: data.details,
42181
42181
  });
@@ -42261,7 +42261,7 @@ class HlsPlayback extends BasePlayback {
42261
42261
  this.trigger(Events$1.PLAYBACK_SETTINGSUPDATE);
42262
42262
  }
42263
42263
  _onHLSJSError(evt, data) {
42264
- trace(`${T$n} _onHLSJSError`, {
42264
+ trace(`${T$o} _onHLSJSError`, {
42265
42265
  fatal: data.fatal,
42266
42266
  type: data.type,
42267
42267
  details: data.details,
@@ -42309,7 +42309,7 @@ class HlsPlayback extends BasePlayback {
42309
42309
  evt,
42310
42310
  data,
42311
42311
  });
42312
- trace(`${T$n} _onHLSJSError trying to recover from network error`, {
42312
+ trace(`${T$o} _onHLSJSError trying to recover from network error`, {
42313
42313
  details: data.details,
42314
42314
  });
42315
42315
  error.level = PlayerError.Levels.WARN;
@@ -42322,7 +42322,7 @@ class HlsPlayback extends BasePlayback {
42322
42322
  evt,
42323
42323
  data,
42324
42324
  });
42325
- trace(`${T$n} _onHLSJSError trying to recover from media error`, {
42325
+ trace(`${T$o} _onHLSJSError trying to recover from media error`, {
42326
42326
  details: data.details,
42327
42327
  });
42328
42328
  error.level = PlayerError.Levels.WARN;
@@ -42352,7 +42352,7 @@ class HlsPlayback extends BasePlayback {
42352
42352
  return;
42353
42353
  }
42354
42354
  Log.warn('hlsjs: non-fatal error occurred', { evt, data });
42355
- trace(`${T$n} _onHLSJSError non-fatal error occurred`, {
42355
+ trace(`${T$o} _onHLSJSError non-fatal error occurred`, {
42356
42356
  type: data.type,
42357
42357
  details: data.details,
42358
42358
  });
@@ -42686,11 +42686,11 @@ class HlsPlayback extends BasePlayback {
42686
42686
  this._hls.audioTrack = Number(id); // TODO or find index by .id == id?
42687
42687
  }
42688
42688
  _onAudioTracksUpdated(_, data) {
42689
- trace(`${T$n} onAudioTracksUpdated`);
42689
+ trace(`${T$o} onAudioTracksUpdated`);
42690
42690
  this.trigger(Events$1.PLAYBACK_AUDIO_AVAILABLE, data.audioTracks.map(toClapprTrack));
42691
42691
  }
42692
42692
  _onAudioTrackSwitched(_, data) {
42693
- trace(`${T$n} onAudioTrackSwitched`);
42693
+ trace(`${T$o} onAudioTrackSwitched`);
42694
42694
  // @ts-ignore
42695
42695
  const track = this._hls.audioTracks[data.id];
42696
42696
  this.trigger(Events$1.PLAYBACK_AUDIO_CHANGED, toClapprTrack(track));
@@ -42711,7 +42711,7 @@ function toClapprTrack(t) {
42711
42711
  };
42712
42712
  }
42713
42713
 
42714
- const T$m = 'playback.html5_video';
42714
+ const T$n = 'playback.html5_video';
42715
42715
  const STALL_TIMEOUT = 15000;
42716
42716
  class HTML5Video extends BasePlayback {
42717
42717
  stallTimerId = null;
@@ -42719,7 +42719,7 @@ class HTML5Video extends BasePlayback {
42719
42719
  * @internal
42720
42720
  */
42721
42721
  createError(errorData, options) {
42722
- trace(`${T$m} createError`, {
42722
+ trace(`${T$n} createError`, {
42723
42723
  errorData: { ...errorData },
42724
42724
  });
42725
42725
  const i18n = this.i18n ||
@@ -42735,11 +42735,11 @@ class HTML5Video extends BasePlayback {
42735
42735
  return super.createError(errorData, { ...options, useCodePrefix: false });
42736
42736
  }
42737
42737
  _onWaiting() {
42738
- trace(`${T$m} _onWaiting`);
42738
+ trace(`${T$n} _onWaiting`);
42739
42739
  super._onWaiting();
42740
42740
  }
42741
42741
  _onEnded() {
42742
- trace(`${T$m} _onEnded`);
42742
+ trace(`${T$n} _onEnded`);
42743
42743
  if (this.stallTimerId) {
42744
42744
  clearTimeout(this.stallTimerId);
42745
42745
  this.stallTimerId = null;
@@ -42747,12 +42747,12 @@ class HTML5Video extends BasePlayback {
42747
42747
  super._onEnded();
42748
42748
  }
42749
42749
  _handleBufferingEvents() {
42750
- trace(`${T$m} _handleBufferingEvents`, {
42750
+ trace(`${T$n} _handleBufferingEvents`, {
42751
42751
  networkState: this.el.networkState,
42752
42752
  });
42753
42753
  if (!this.stallTimerId) {
42754
42754
  this.stallTimerId = setTimeout(() => {
42755
- trace(`${T$m} _handleBufferingEvents stall timeout`, {
42755
+ trace(`${T$n} _handleBufferingEvents stall timeout`, {
42756
42756
  buffering: this.buffering,
42757
42757
  ended: this.ended,
42758
42758
  });
@@ -42770,7 +42770,7 @@ class HTML5Video extends BasePlayback {
42770
42770
  super._handleBufferingEvents();
42771
42771
  }
42772
42772
  _onPlaying() {
42773
- trace(`${T$m} _onPlaying`);
42773
+ trace(`${T$n} _onPlaying`);
42774
42774
  if (this.stallTimerId) {
42775
42775
  clearTimeout(this.stallTimerId);
42776
42776
  this.stallTimerId = null;
@@ -42778,7 +42778,7 @@ class HTML5Video extends BasePlayback {
42778
42778
  super._onPlaying();
42779
42779
  }
42780
42780
  _onPause() {
42781
- trace(`${T$m} _onPause`);
42781
+ trace(`${T$n} _onPause`);
42782
42782
  super._onPause();
42783
42783
  if (this.stallTimerId) {
42784
42784
  clearTimeout(this.stallTimerId);
@@ -42788,7 +42788,7 @@ class HTML5Video extends BasePlayback {
42788
42788
  get audioTracks() {
42789
42789
  const tracks = this.el.audioTracks;
42790
42790
  const supported = !!tracks;
42791
- trace(`${T$m} get audioTracks`, { supported });
42791
+ trace(`${T$n} get audioTracks`, { supported });
42792
42792
  const retval = [];
42793
42793
  if (supported) {
42794
42794
  for (let i = 0; i < tracks.length; i++) {
@@ -42807,7 +42807,7 @@ class HTML5Video extends BasePlayback {
42807
42807
  get currentAudioTrack() {
42808
42808
  const tracks = this.el.audioTracks;
42809
42809
  const supported = !!tracks;
42810
- trace(`${T$m} get currentAudioTrack`, {
42810
+ trace(`${T$n} get currentAudioTrack`, {
42811
42811
  supported,
42812
42812
  });
42813
42813
  if (supported) {
@@ -42828,7 +42828,7 @@ class HTML5Video extends BasePlayback {
42828
42828
  switchAudioTrack(id) {
42829
42829
  const tracks = this.el.audioTracks;
42830
42830
  const supported = !!tracks;
42831
- trace(`${T$m} switchAudioTrack`, {
42831
+ trace(`${T$n} switchAudioTrack`, {
42832
42832
  supported,
42833
42833
  });
42834
42834
  if (supported) {
@@ -42847,7 +42847,7 @@ function registerPlaybacks() {
42847
42847
  Loader.registerPlayback(DashPlayback);
42848
42848
  }
42849
42849
 
42850
- const T$l = 'gplayer';
42850
+ const T$m = 'gplayer';
42851
42851
  const DEFAULT_OPTIONS = {
42852
42852
  autoPlay: false,
42853
42853
  debug: 'none',
@@ -42935,7 +42935,7 @@ class Player {
42935
42935
  * ```
42936
42936
  */
42937
42937
  attachTo(playerElement) {
42938
- trace(`${T$l} attachTo`, {
42938
+ trace(`${T$m} attachTo`, {
42939
42939
  player: !!this.player,
42940
42940
  });
42941
42941
  assert.ok(!this.player, 'Player already initialized');
@@ -42945,7 +42945,7 @@ class Player {
42945
42945
  }
42946
42946
  const coreOpts = this.buildCoreOptions(playerElement);
42947
42947
  const { core, container } = Player.getRegisteredPlugins();
42948
- trace(`${T$l} init`, {
42948
+ trace(`${T$m} init`, {
42949
42949
  registeredPlaybacks: Loader.registeredPlaybacks.map((p) => p.prototype.name),
42950
42950
  });
42951
42951
  coreOpts.plugins = {
@@ -42959,7 +42959,7 @@ class Player {
42959
42959
  * Destroys the player, releasing all resources and unmounting its UI from the DOM.
42960
42960
  */
42961
42961
  destroy() {
42962
- trace(`${T$l} destroy`, {
42962
+ trace(`${T$m} destroy`, {
42963
42963
  player: !!this.player,
42964
42964
  });
42965
42965
  if (this.player) {
@@ -43146,7 +43146,7 @@ class Player {
43146
43146
  this.config = $.extend(true, this.config, config);
43147
43147
  }
43148
43148
  initPlayer(coreOptions) {
43149
- trace(`${T$l} initPlayer`, {
43149
+ trace(`${T$m} initPlayer`, {
43150
43150
  autoPlay: coreOptions.autoPlay,
43151
43151
  sources: coreOptions.sources,
43152
43152
  player: !!this.player,
@@ -43171,7 +43171,7 @@ class Player {
43171
43171
  }
43172
43172
  }
43173
43173
  triggerAutoPlay() {
43174
- trace(`${T$l} triggerAutoPlay`);
43174
+ trace(`${T$m} triggerAutoPlay`);
43175
43175
  setTimeout(() => {
43176
43176
  this.player?.play({
43177
43177
  autoPlay: true,
@@ -43189,7 +43189,7 @@ class Player {
43189
43189
  // TODO test
43190
43190
  events = {
43191
43191
  onReady: () => {
43192
- trace(`${T$l} onReady`, {
43192
+ trace(`${T$m} onReady`, {
43193
43193
  ready: this.ready,
43194
43194
  });
43195
43195
  if (this.ready) {
@@ -43223,7 +43223,7 @@ class Player {
43223
43223
  buildCoreOptions(rootNode) {
43224
43224
  const sources = this.buildMediaSourcesList();
43225
43225
  const source = sources[0];
43226
- trace(`${T$l} buildCoreOptions`, {
43226
+ trace(`${T$m} buildCoreOptions`, {
43227
43227
  source,
43228
43228
  sources,
43229
43229
  });
@@ -43284,7 +43284,7 @@ class Player {
43284
43284
  assert.ok(this.player, 'Player is not initialized');
43285
43285
  const core = this.player.core;
43286
43286
  core.on(Events$1.CORE_SCREEN_ORIENTATION_CHANGED, ({ orientation }) => {
43287
- trace(`${T$l} on CORE_SCREEN_ORIENTATION_CHANGED`, {
43287
+ trace(`${T$m} on CORE_SCREEN_ORIENTATION_CHANGED`, {
43288
43288
  orientation,
43289
43289
  rootNode: {
43290
43290
  width: this.rootNode?.clientWidth,
@@ -43299,14 +43299,14 @@ class Player {
43299
43299
  }
43300
43300
  }, null);
43301
43301
  core.on(Events$1.CORE_RESIZE, ({ width, height }) => {
43302
- trace(`${T$l} on CORE_RESIZE`, {
43302
+ trace(`${T$m} on CORE_RESIZE`, {
43303
43303
  width,
43304
43304
  height,
43305
43305
  });
43306
43306
  this.safeTriggerEvent(PlayerEvent.Resize, { width, height });
43307
43307
  }, null);
43308
43308
  core.on(Events$1.CORE_FULLSCREEN, (isFullscreen) => {
43309
- trace(`${T$l} CORE_FULLSCREEN`, {
43309
+ trace(`${T$m} CORE_FULLSCREEN`, {
43310
43310
  isFullscreen,
43311
43311
  });
43312
43312
  this.safeTriggerEvent(PlayerEvent.Fullscreen, isFullscreen);
@@ -43314,7 +43314,7 @@ class Player {
43314
43314
  }
43315
43315
  }
43316
43316
 
43317
- var version$1 = "2.25.4";
43317
+ var version$1 = "2.25.6";
43318
43318
 
43319
43319
  var packages = {
43320
43320
  "node_modules/@clappr/core": {
@@ -43649,7 +43649,7 @@ const INITIAL_SETTINGS = {
43649
43649
  default: [],
43650
43650
  seekEnabled: false,
43651
43651
  };
43652
- const T$k = 'plugins.media_control';
43652
+ const T$l = 'plugins.media_control';
43653
43653
  /**
43654
43654
  * Extended events for the {@link MediaControl} plugin
43655
43655
  * @beta
@@ -43931,7 +43931,7 @@ class MediaControl extends UICorePlugin {
43931
43931
  * Hides the media control UI
43932
43932
  */
43933
43933
  disable() {
43934
- trace(`${T$k} disable`);
43934
+ trace(`${T$l} disable`);
43935
43935
  this.userDisabled = true; // TODO distinguish between user and system (e.g., unplayable) disabled?
43936
43936
  this.hide();
43937
43937
  this.unbindKeyEvents();
@@ -43941,7 +43941,7 @@ class MediaControl extends UICorePlugin {
43941
43941
  * Reenables the plugin disabled earlier with the {@link MediaControl.disable} method
43942
43942
  */
43943
43943
  enable() {
43944
- trace(`${T$k} enable`);
43944
+ trace(`${T$l} enable`);
43945
43945
  if (this.options.chromeless) {
43946
43946
  return;
43947
43947
  }
@@ -44871,7 +44871,7 @@ function mergeElements(a, b) {
44871
44871
  }
44872
44872
 
44873
44873
  const VERSION$7 = '2.22.4';
44874
- const T$j = 'plugins.audiotracks';
44874
+ const T$k = 'plugins.audiotracks';
44875
44875
  /**
44876
44876
  * `PLUGIN` that makes possible to switch audio tracks via the media control UI.
44877
44877
  * @beta
@@ -44993,7 +44993,7 @@ class AudioTracks extends UICorePlugin {
44993
44993
  this.updateText();
44994
44994
  }
44995
44995
  hideMenu() {
44996
- trace(`${T$j} hideMenu`);
44996
+ trace(`${T$k} hideMenu`);
44997
44997
  this.$el.find('#audiotracks-select').addClass('hidden');
44998
44998
  this.$el.find('#audiotracks-button').attr('aria-expanded', 'false');
44999
44999
  }
@@ -45046,7 +45046,7 @@ class AudioTracks extends UICorePlugin {
45046
45046
 
45047
45047
  const templateHtml$2 = "<div class=\"big-mute-icon-wrapper\" data-big-mute id=\"gplayer-big-mute-button\">\n <div class=\"big-mute-icon gcore-skin-border-color\" data-big-mute-icon id=\"gplayer-big-mute-icon\"></div>\n</div>\n";
45048
45048
 
45049
- const T$i = 'plugins.big_mute_button';
45049
+ const T$j = 'plugins.big_mute_button';
45050
45050
  // TODO rewrite as a container plugin
45051
45051
  /**
45052
45052
  * `PLUGIN` that displays a big mute button over the video when it's being played muted.
@@ -45109,7 +45109,7 @@ class BigMuteButton extends UICorePlugin {
45109
45109
  if (autoPlay) {
45110
45110
  this.autoPlay = true;
45111
45111
  }
45112
- trace(`${T$i} onPlay`, {
45112
+ trace(`${T$j} onPlay`, {
45113
45113
  autoPlay: this.autoPlay,
45114
45114
  wasMuted,
45115
45115
  volume,
@@ -45122,7 +45122,7 @@ class BigMuteButton extends UICorePlugin {
45122
45122
  }
45123
45123
  }
45124
45124
  onStop(_, { ui }) {
45125
- trace(`${T$i} onStop`, { ui });
45125
+ trace(`${T$j} onStop`, { ui });
45126
45126
  if (ui) {
45127
45127
  this.destroy();
45128
45128
  }
@@ -45150,7 +45150,7 @@ class BigMuteButton extends UICorePlugin {
45150
45150
  * @internal
45151
45151
  */
45152
45152
  render() {
45153
- trace(`${T$i} render`);
45153
+ trace(`${T$j} render`);
45154
45154
  this.$el.html(BigMuteButton.template());
45155
45155
  this.$el.find('#gplayer-big-mute-icon').append(volumeMuteIcon);
45156
45156
  // TODO
@@ -45170,7 +45170,7 @@ class BigMuteButton extends UICorePlugin {
45170
45170
  this.$el.find('#gplayer-big-mute-button')?.removeClass('hide');
45171
45171
  }
45172
45172
  clicked(e) {
45173
- trace(`${T$i} clicked`);
45173
+ trace(`${T$j} clicked`);
45174
45174
  const mediaControl = this.core.getPlugin('media_control');
45175
45175
  // TODO delegate to media_control plugin
45176
45176
  const localVolume = Utils.Config.restore('volume');
@@ -45194,7 +45194,7 @@ const gearIcon = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"n
45194
45194
  const gearHdIcon = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_28_1567)\">\n <path\n d=\"M19.14 12.94C19.18 12.64 19.2 12.33 19.2 12C19.2 11.68 19.18 11.36 19.13 11.06L21.16 9.47999C21.34 9.33999 21.39 9.06999 21.28 8.86999L19.36 5.54999C19.24 5.32999 18.99 5.25999 18.77 5.32999L16.38 6.28999C15.88 5.90999 15.35 5.58999 14.76 5.34999L14.4 2.80999C14.36 2.56999 14.16 2.39999 13.92 2.39999H10.08C9.83999 2.39999 9.64999 2.56999 9.60999 2.80999L9.24999 5.34999C8.65999 5.58999 8.11999 5.91999 7.62999 6.28999L5.23999 5.32999C5.01999 5.24999 4.76999 5.32999 4.64999 5.54999L2.73999 8.86999C2.61999 9.07999 2.65999 9.33999 2.85999 9.47999L4.88999 11.06C4.83999 11.36 4.79999 11.69 4.79999 12C4.79999 12.31 4.81999 12.64 4.86999 12.94L2.83999 14.52C2.65999 14.66 2.60999 14.93 2.71999 15.13L4.63999 18.45C4.75999 18.67 5.00999 18.74 5.22999 18.67L7.61999 17.71C8.11999 18.09 8.64999 18.41 9.23999 18.65L9.59999 21.19C9.64999 21.43 9.83999 21.6 10.08 21.6H13.92C14.16 21.6 14.36 21.43 14.39 21.19L14.75 18.65C15.34 18.41 15.88 18.09 16.37 17.71L18.76 18.67C18.98 18.75 19.23 18.67 19.35 18.45L21.27 15.13C21.39 14.91 21.34 14.66 21.15 14.52L19.14 12.94ZM12 15.6C10.02 15.6 8.39999 13.98 8.39999 12C8.39999 10.02 10.02 8.39999 12 8.39999C13.98 8.39999 15.6 10.02 15.6 12C15.6 13.98 13.98 15.6 12 15.6Z\"\n fill=\"#C9C9C9\"/>\n <rect x=\"13\" width=\"11\" height=\"7\" rx=\"1\" fill=\"#F6413B\"/>\n <path\n d=\"M14.6962 6V1.63636H15.3546V3.53267H17.53V1.63636H18.1905V6H17.53V4.0973H15.3546V6H14.6962ZM20.562 6H19.1493V1.63636H20.6067C21.0343 1.63636 21.4015 1.72372 21.7083 1.89844C22.0151 2.07173 22.2502 2.32102 22.4135 2.64631C22.5783 2.97017 22.6607 3.35866 22.6607 3.81179C22.6607 4.26634 22.5776 4.65696 22.4114 4.98366C22.2466 5.31037 22.008 5.56179 21.6955 5.73793C21.383 5.91264 21.0051 6 20.562 6ZM19.8077 5.42472H20.5257C20.8581 5.42472 21.1344 5.36222 21.3546 5.23722C21.5748 5.1108 21.7395 4.92827 21.8489 4.68963C21.9583 4.44957 22.013 4.15696 22.013 3.81179C22.013 3.46946 21.9583 3.17898 21.8489 2.94034C21.7409 2.7017 21.5797 2.5206 21.3652 2.39702C21.1507 2.27344 20.8844 2.21165 20.5662 2.21165H19.8077V5.42472Z\"\n fill=\"#C9C9C9\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_28_1567\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n</svg>\n";
45195
45195
 
45196
45196
  const VERSION$6 = '2.19.12';
45197
- const T$h = 'plugins.bottom_gear';
45197
+ const T$i = 'plugins.bottom_gear';
45198
45198
  const MENU_VMARGIN = 12;
45199
45199
  const MENU_BACKLINK_HEIGHT = 44;
45200
45200
  /**
@@ -45346,14 +45346,14 @@ class BottomGear extends UICorePlugin {
45346
45346
  addItem(name, $subMenu) {
45347
45347
  const $existingItem = this.$el.find(`#gear-options li[data-${name}]`);
45348
45348
  if ($existingItem.length) {
45349
- trace(`${T$h} addItem already exists`, { name });
45349
+ trace(`${T$i} addItem already exists`, { name });
45350
45350
  return $existingItem;
45351
45351
  }
45352
45352
  const $item = $('<li></li>')
45353
45353
  .attr(`data-${name}`, '')
45354
45354
  .appendTo(this.$el.find('#gear-options'));
45355
45355
  if ($subMenu) {
45356
- trace(`${T$h} addItem adding submenu`, { name });
45356
+ trace(`${T$i} addItem adding submenu`, { name });
45357
45357
  $subMenu
45358
45358
  .addClass('gear-sub-menu-wrapper')
45359
45359
  .hide()
@@ -45376,7 +45376,7 @@ class BottomGear extends UICorePlugin {
45376
45376
  });
45377
45377
  }
45378
45378
  highDefinitionUpdate(isHd) {
45379
- trace(`${T$h} highDefinitionUpdate`, { isHd });
45379
+ trace(`${T$i} highDefinitionUpdate`, { isHd });
45380
45380
  this.hd = isHd;
45381
45381
  this.$el.find('#gear-button').html(isHd ? gearHdIcon : gearIcon);
45382
45382
  }
@@ -48054,7 +48054,7 @@ const PLAYBACK_NAMES = {
48054
48054
  hls: 'HLS.js',
48055
48055
  html5_video: 'Native',
48056
48056
  };
48057
- const T$g = 'plugins.nerd_stats';
48057
+ const T$h = 'plugins.nerd_stats';
48058
48058
  /**
48059
48059
  * `PLUGIN` that displays useful statistics regarding the playback as well as the network quality estimation.
48060
48060
  * @beta
@@ -48373,7 +48373,7 @@ class NerdStats extends UICorePlugin {
48373
48373
  return this;
48374
48374
  }
48375
48375
  attach() {
48376
- trace(`${T$g} attach`);
48376
+ trace(`${T$h} attach`);
48377
48377
  const gear = this.core.getPlugin('bottom_gear');
48378
48378
  gear
48379
48379
  .addItem('nerd_stats')
@@ -48387,7 +48387,7 @@ class NerdStats extends UICorePlugin {
48387
48387
  });
48388
48388
  }
48389
48389
  clearSpeedtestMetrics() {
48390
- trace(`${T$g} clearSpeedtestMetrics`);
48390
+ trace(`${T$h} clearSpeedtestMetrics`);
48391
48391
  const clapprStats = this.container?.getPlugin('clappr_stats');
48392
48392
  this.speedtestMetrics.connectionSpeed = 0;
48393
48393
  this.speedtestMetrics.ping = 0;
@@ -48442,7 +48442,7 @@ function newMetrics() {
48442
48442
  // Copyright 2014 Globo.com Player authors. All rights reserved.
48443
48443
  // Use of this source code is governed by a BSD-style
48444
48444
  // license that can be found at https://github.com/clappr/clappr-plugins/blob/master/LICENSE.
48445
- const T$f = 'plugins.click_to_pause';
48445
+ const T$g = 'plugins.click_to_pause';
48446
48446
  /**
48447
48447
  * A small `PLUGIN` that toggles the playback state on click over the video container
48448
48448
  * @beta
@@ -48472,7 +48472,7 @@ class ClickToPause extends ContainerPlugin {
48472
48472
  click() {
48473
48473
  const isLivePlayback = this.container.getPlaybackType() === Playback.LIVE;
48474
48474
  const isDvrEnabled = this.container.isDvrEnabled();
48475
- trace(`${T$f} click`, {
48475
+ trace(`${T$g} click`, {
48476
48476
  isLivePlayback,
48477
48477
  isDvrEnabled,
48478
48478
  });
@@ -48551,7 +48551,7 @@ function buildSvg(clips, duration, barWidth) {
48551
48551
 
48552
48552
  const clipsHTML = "<div class=\"gplayer-mc-clips-text\" id=\"gplayer-mc-clips-text\"></div>";
48553
48553
 
48554
- const T$e = 'plugins.clips';
48554
+ const T$f = 'plugins.clips';
48555
48555
  const VERSION$5 = '2.22.16';
48556
48556
  const CLAPPR_VERSION = '0.11.4';
48557
48557
  const COMPACT_WIDTH = 495;
@@ -48584,7 +48584,7 @@ class Clips extends UICorePlugin {
48584
48584
  */
48585
48585
  get attributes() {
48586
48586
  return {
48587
- class: 'media-control-clips gplayer-mc-clips',
48587
+ class: 'gplayer-mc-clips',
48588
48588
  };
48589
48589
  }
48590
48590
  get version() {
@@ -48602,7 +48602,6 @@ class Clips extends UICorePlugin {
48602
48602
  this.listenTo(this.core, Events$1.CORE_ACTIVE_CONTAINER_CHANGED, this.onContainerChanged);
48603
48603
  }
48604
48604
  render() {
48605
- trace(`${T$e} render`);
48606
48605
  if (!this.options.clips) {
48607
48606
  return this;
48608
48607
  }
@@ -48638,19 +48637,18 @@ class Clips extends UICorePlugin {
48638
48637
  ?.text;
48639
48638
  }
48640
48639
  onCoreReady() {
48641
- trace(`${T$e} onCoreReady`);
48640
+ trace(`${T$f} onCoreReady`);
48642
48641
  const mediaControl = this.core.getPlugin('media_control');
48643
48642
  assert(mediaControl, 'media_control plugin is required');
48644
48643
  this.parseClips(this.options.clips.text);
48645
48644
  this.listenTo(mediaControl, Events$1.MEDIACONTROL_RENDERED, this.onMcRender);
48646
48645
  }
48647
48646
  onMcRender() {
48648
- trace(`${T$e} onMcRender`);
48649
- const mediaControl = this.core.getPlugin('media_control');
48650
- mediaControl.slot('clips', this.$el);
48647
+ trace(`${T$f} onMcRender`);
48648
+ this.core.getPlugin('media_control')?.slot('clips', this.$el);
48651
48649
  }
48652
48650
  onContainerChanged() {
48653
- trace(`${T$e} onContainerChanged`);
48651
+ trace(`${T$f} onContainerChanged`);
48654
48652
  // TODO figure out the conditions of changing the container (without destroying the previous one)
48655
48653
  // probably it is the case with the MultiCamera plugin
48656
48654
  if (this.oldContainer) {
@@ -48841,7 +48839,7 @@ class ContextMenu extends UIContainerPlugin {
48841
48839
 
48842
48840
  const dvrHTML = "<div class=\"live-info\" id=\"gplayer-mc-live\"><%= i18n.t('live') %></div>\n<button type=\"button\"\n class=\"live-button\"\n aria-label=\"<%= i18n.t('back_to_live') %>\"\n id=\"gplayer-mc-back-to-live\"\n>\n <%= i18n.t('back_to_live') %>\n</button>\n";
48843
48841
 
48844
- const T$d = 'plugins.dvr_controls';
48842
+ const T$e = 'plugins.dvr_controls';
48845
48843
  /**
48846
48844
  * `PLUGIN` that adds the DVR controls to the media control UI
48847
48845
  *
@@ -48914,7 +48912,7 @@ class DvrControls extends UICorePlugin {
48914
48912
  * @internal
48915
48913
  */
48916
48914
  render() {
48917
- trace(`${T$d} render`);
48915
+ trace(`${T$e} render`);
48918
48916
  this.$el.html(DvrControls.template({
48919
48917
  i18n: this.core.i18n,
48920
48918
  }));
@@ -48957,7 +48955,7 @@ const reloadIcon = "<svg fill=\"#FFFFFF\" height=\"24\" viewBox=\"0 0 24 24\" wi
48957
48955
 
48958
48956
  const templateHtml = "<div class=\"player-error-screen__content\" data-error-screen>\n <% if (icon) { %>\n <div class=\"player-error-screen__icon\" data-error-screen><%= icon %></div>\n <% } %>\n <div class=\"player-error-screen__title\" data-error-screen><%= title %></div>\n <% if (message) { %>\n <div class=\"player-error-screen__message\" data-error-screen><%= message %></div>\n <% } %>\n <% if (code) { %>\n <div class=\"player-error-screen__code\" data-error-screen><%= i18n.t('error_code') %>: <%= code %></div>\n <% } %>\n <% if (reloadIcon) { %>\n <div class=\"player-error-screen__reload\" data-error-screen><%= reloadIcon %></div>\n <% } %>\n</div>\n";
48959
48957
 
48960
- const T$c = 'plugins.error_screen';
48958
+ const T$d = 'plugins.error_screen';
48961
48959
  /**
48962
48960
  * `PLUGIN` that displays fatal errors nicely in the overlay on top of the player.
48963
48961
  * @public
@@ -49009,11 +49007,11 @@ class ErrorScreen extends UICorePlugin {
49009
49007
  this.listenTo(this.core, Events$1.CORE_ACTIVE_CONTAINER_CHANGED, this.onActiveContainerChanged);
49010
49008
  }
49011
49009
  onPlay() {
49012
- trace(`${T$c} onPlay`);
49010
+ trace(`${T$d} onPlay`);
49013
49011
  this.unmount();
49014
49012
  }
49015
49013
  unmount() {
49016
- trace(`${T$c} unmount`);
49014
+ trace(`${T$d} unmount`);
49017
49015
  this.err = null;
49018
49016
  this.$el.remove();
49019
49017
  }
@@ -49026,7 +49024,7 @@ class ErrorScreen extends UICorePlugin {
49026
49024
  };
49027
49025
  }
49028
49026
  reload() {
49029
- trace(`${T$c} reload`);
49027
+ trace(`${T$d} reload`);
49030
49028
  setTimeout(() => {
49031
49029
  this.core.configure({
49032
49030
  reloading: true,
@@ -49036,7 +49034,7 @@ class ErrorScreen extends UICorePlugin {
49036
49034
  }, 0);
49037
49035
  }
49038
49036
  onActiveContainerChanged() {
49039
- trace(`${T$c} onActiveContainerChanged`, {
49037
+ trace(`${T$d} onActiveContainerChanged`, {
49040
49038
  reloading: this.core.options.reloading,
49041
49039
  });
49042
49040
  this.err = null;
@@ -49052,7 +49050,7 @@ class ErrorScreen extends UICorePlugin {
49052
49050
  }
49053
49051
  }
49054
49052
  onError(err) {
49055
- trace(`${T$c} onError`, { err });
49053
+ trace(`${T$d} onError`, { err });
49056
49054
  if (err.UI) {
49057
49055
  if (this.err) {
49058
49056
  this.unmount();
@@ -49522,7 +49520,7 @@ const streamsMomentoIcon = "<svg id=\"Слой_1\" data-name=\"Слой 1\" xmln
49522
49520
  const streamsWhiteNightsIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"50\" height=\"50\" viewBox=\"0 0 50 50\">\n <defs>\n <clipPath id=\"clip-Icon\">\n <rect width=\"50\" height=\"50\"/>\n </clipPath>\n </defs>\n <g id=\"Icon\" clip-path=\"url(#clip-Icon)\">\n <g id=\"icon2\" transform=\"translate(-0.041 0)\">\n <path id=\"Контур_77\" data-name=\"Контур 77\" d=\"M6.493,13v8.266h6.275V19.74H8.31V17.714h4.006V16.3H8.31V14.53h4.365V13Zm7.5,0v8.266h1.7V15.732h.023l3.438,5.534h1.818V13h-1.7v5.545h-.023L15.8,13Z\" fill=\"#fff\"/>\n <path id=\"Контур_76\" data-name=\"Контур 76\" d=\"M29.949,29.1V26.774H31.94a1.4,1.4,0,0,1,.938.272,1.1,1.1,0,0,1,.313.874,1.155,1.155,0,0,1-.313.9,1.375,1.375,0,0,1-.938.278ZM28.132,25.36v8.266h1.817V30.4h1.818a1.353,1.353,0,0,1,.984.3,1.637,1.637,0,0,1,.394.949c.046.333.079.681.1,1.042a3.2,3.2,0,0,0,.185.938h1.819a1.218,1.218,0,0,1-.191-.423,3.611,3.611,0,0,1-.093-.527c-.019-.185-.033-.367-.041-.544s-.016-.332-.023-.463a5.052,5.052,0,0,0-.087-.625,2.109,2.109,0,0,0-.2-.573,1.586,1.586,0,0,0-.359-.451,1.414,1.414,0,0,0-.556-.284v-.023a1.926,1.926,0,0,0,1-.81,2.494,2.494,0,0,0,.307-1.262,2.308,2.308,0,0,0-.165-.88,2.128,2.128,0,0,0-.486-.724,2.3,2.3,0,0,0-.764-.492,2.67,2.67,0,0,0-1-.179ZM43.506,30.5V25.36H41.689V30.5a2.065,2.065,0,0,1-.37,1.36,1.7,1.7,0,0,1-1.343.434,2.086,2.086,0,0,1-.886-.156,1.283,1.283,0,0,1-.758-.978,3.748,3.748,0,0,1-.058-.66V25.36H36.456V30.5a3.16,3.16,0,0,0,.92,2.5,3.807,3.807,0,0,0,2.6.81,3.82,3.82,0,0,0,2.593-.816,3.132,3.132,0,0,0,.937-2.492Z\" fill=\"#fff\"/>\n <path id=\"Контур_80\" data-name=\"Контур 80\" d=\"M22.646,31.2H4.689a4.505,4.505,0,0,1-4.5-4.5V8.5A4.505,4.505,0,0,1,4.689,4h18.2a4.505,4.505,0,0,1,4.5,4.5v8.445l-.893.1a3.184,3.184,0,0,0-2.846,3.177V30.5l-.465.7ZM4.689,6a2.5,2.5,0,0,0-2.5,2.5V26.7a2.5,2.5,0,0,0,2.5,2.5H21.65V20.22a5.18,5.18,0,0,1,3.739-4.992V8.5a2.5,2.5,0,0,0-2.5-2.5Z\" fill=\"#fff\"/>\n <path id=\"Контур_81\" data-name=\"Контур 81\" d=\"M30.127,47.884a1,1,0,0,1-1-1V43.267H26.846a5.206,5.206,0,0,1-5.2-5.2V20.222a5.206,5.206,0,0,1,5.2-5.2H44.692a5.206,5.206,0,0,1,5.2,5.2V38.068a5.206,5.206,0,0,1-5.2,5.2H35.058l-4.216,4.316A1,1,0,0,1,30.127,47.884ZM26.846,17.022a3.2,3.2,0,0,0-3.2,3.2V38.067a3.2,3.2,0,0,0,3.2,3.2h3.281a1,1,0,0,1,1,1v2.162l2.8-2.86a1,1,0,0,1,.715-.3H44.692a3.2,3.2,0,0,0,3.2-3.2V20.222a3.2,3.2,0,0,0-3.2-3.2Z\" fill=\"#fff\"/>\n </g>\n </g>\n</svg>\n";
49523
49521
 
49524
49522
  const VERSION$4 = '0.0.1';
49525
- const T$b = 'plugins.multicamera';
49523
+ const T$c = 'plugins.multicamera';
49526
49524
  /**
49527
49525
  * `PLUGIN` that adds support for loading multiple streams and switching between them using the media control UI.
49528
49526
  * @beta
@@ -49668,7 +49666,7 @@ class MultiCamera extends UICorePlugin {
49668
49666
  }
49669
49667
  onCameraSelect(event) {
49670
49668
  const value = event.currentTarget.dataset.multicameraSelectorSelect;
49671
- trace(`${T$b} onCameraSelect`, { value });
49669
+ trace(`${T$c} onCameraSelect`, { value });
49672
49670
  if (value !== undefined) {
49673
49671
  this.changeById(parseInt(value, 10));
49674
49672
  }
@@ -49794,13 +49792,13 @@ class MultiCamera extends UICorePlugin {
49794
49792
  }
49795
49793
  }
49796
49794
  changeById(id) {
49797
- trace(`${T$b} changeById`, { id });
49795
+ trace(`${T$c} changeById`, { id });
49798
49796
  queueMicrotask(() => {
49799
49797
  const playbackOptions = this.core.options.playback || {};
49800
49798
  // TODO figure out what this does
49801
49799
  playbackOptions.recycleVideo = Browser.isMobile;
49802
49800
  this.currentCamera = this.findElementById(id) ?? null;
49803
- trace(`${T$b} changeById`, { id, currentCamera: this.currentCamera, multicamera: this.multicamera });
49801
+ trace(`${T$c} changeById`, { id, currentCamera: this.currentCamera, multicamera: this.multicamera });
49804
49802
  if (!this.currentCamera) {
49805
49803
  return;
49806
49804
  }
@@ -49817,7 +49815,7 @@ class MultiCamera extends UICorePlugin {
49817
49815
  // TODO remove?
49818
49816
  // for html5 playback:
49819
49817
  this.options.dvrEnabled = this.currentCamera.dvr;
49820
- trace(`${T$b} changeById`, { currentCamera: this.currentCamera });
49818
+ trace(`${T$c} changeById`, { currentCamera: this.currentCamera });
49821
49819
  // TODO
49822
49820
  this.core.configure({
49823
49821
  playback: playbackOptions,
@@ -49875,7 +49873,7 @@ const pipIcon = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"no
49875
49873
  const buttonHtml$2 = "<button class=\"gplayer-lite-btn gcore-skin-button-color\">\n <%= pipIcon %>\n</button>\n";
49876
49874
 
49877
49875
  const VERSION$3 = '0.0.1';
49878
- const T$a = `plugins.pip`;
49876
+ const T$b = `plugins.pip`;
49879
49877
  /**
49880
49878
  * `PLUGIN` that enables picture in picture mode.
49881
49879
  * @beta
@@ -49933,7 +49931,7 @@ class PictureInPicture extends UICorePlugin {
49933
49931
  });
49934
49932
  }
49935
49933
  isPiPSupported() {
49936
- trace(`${T$a} isPiPSupported`, {
49934
+ trace(`${T$b} isPiPSupported`, {
49937
49935
  pictureInPictureEnabled: !!document.pictureInPictureEnabled,
49938
49936
  requestPictureInPicture: !!HTMLVideoElement.prototype.requestPictureInPicture,
49939
49937
  });
@@ -49954,7 +49952,7 @@ class PictureInPicture extends UICorePlugin {
49954
49952
  return this;
49955
49953
  }
49956
49954
  togglePictureInPicture() {
49957
- trace(`${T$a} togglePictureInPicture`);
49955
+ trace(`${T$b} togglePictureInPicture`);
49958
49956
  if (this.videoElement !== document.pictureInPictureElement) {
49959
49957
  this.requestPictureInPicture();
49960
49958
  }
@@ -49963,13 +49961,13 @@ class PictureInPicture extends UICorePlugin {
49963
49961
  }
49964
49962
  }
49965
49963
  requestPictureInPicture() {
49966
- trace(`${T$a} requestPictureInPicture`, {
49964
+ trace(`${T$b} requestPictureInPicture`, {
49967
49965
  videoElement: !!this.videoElement,
49968
49966
  });
49969
49967
  this.videoElement.requestPictureInPicture();
49970
49968
  }
49971
49969
  exitPictureInPicture() {
49972
- trace(`${T$a} exitPictureInPicture`);
49970
+ trace(`${T$b} exitPictureInPicture`);
49973
49971
  document.exitPictureInPicture();
49974
49972
  }
49975
49973
  }
@@ -49996,7 +49994,7 @@ const DEFAULT_PLAYBACK_RATES = [
49996
49994
  { value: 2.0, label: '2x' },
49997
49995
  ];
49998
49996
  const DEFAULT_PLAYBACK_RATE = 1;
49999
- const T$9 = 'plugins.playback_rate';
49997
+ const T$a = 'plugins.playback_rate';
50000
49998
  /**
50001
49999
  * `PLUGIN` that allows changing the playback speed of the video.
50002
50000
  * @beta
@@ -50082,7 +50080,7 @@ class PlaybackRate extends UICorePlugin {
50082
50080
  this.listenTo(this.core, Events$1.CORE_ACTIVE_CONTAINER_CHANGED, this.onActiveContainerChange);
50083
50081
  }
50084
50082
  onCoreReady() {
50085
- trace(`${T$9} onCoreReady`);
50083
+ trace(`${T$a} onCoreReady`);
50086
50084
  const mediaControl = this.core.getPlugin('media_control');
50087
50085
  assert(mediaControl, 'media_control plugin is required');
50088
50086
  const gear = this.core.getPlugin('bottom_gear');
@@ -50091,7 +50089,7 @@ class PlaybackRate extends UICorePlugin {
50091
50089
  this.listenTo(gear, GearEvents.RENDERED, this.onGearRendered);
50092
50090
  }
50093
50091
  onActiveContainerChange() {
50094
- trace(`${T$9} onActiveContainerChange`);
50092
+ trace(`${T$a} onActiveContainerChange`);
50095
50093
  this.metadataLoaded = false;
50096
50094
  this.listenTo(this.core.activePlayback, Events$1.PLAYBACK_STOP, this.onStop);
50097
50095
  this.listenTo(this.core.activePlayback, Events$1.PLAYBACK_PLAY, this.onPlay);
@@ -50099,15 +50097,15 @@ class PlaybackRate extends UICorePlugin {
50099
50097
  this.listenTo(this.core.activeContainer, Events$1.CONTAINER_LOADEDMETADATA, this.onMetaDataLoaded);
50100
50098
  }
50101
50099
  onMediaControlRendered() {
50102
- trace(`${T$9} onMediaControlRendered`);
50100
+ trace(`${T$a} onMediaControlRendered`);
50103
50101
  this.render();
50104
50102
  }
50105
50103
  onGearRendered() {
50106
- trace(`${T$9} onGearRendered`);
50104
+ trace(`${T$a} onGearRendered`);
50107
50105
  this.mount();
50108
50106
  }
50109
50107
  mount() {
50110
- trace(`${T$9} mount`, {
50108
+ trace(`${T$a} mount`, {
50111
50109
  shouldMount: this.shouldMount(),
50112
50110
  });
50113
50111
  if (!this.shouldMount()) {
@@ -50124,7 +50122,7 @@ class PlaybackRate extends UICorePlugin {
50124
50122
  })));
50125
50123
  }
50126
50124
  onMetaDataLoaded() {
50127
- trace(`${T$9} onMetaDataLoaded`, {
50125
+ trace(`${T$a} onMetaDataLoaded`, {
50128
50126
  playbackType: this.core.activePlayback.getPlaybackType(),
50129
50127
  dvrEnabled: this.core.activePlayback.dvrEnabled,
50130
50128
  });
@@ -50146,14 +50144,14 @@ class PlaybackRate extends UICorePlugin {
50146
50144
  this.core.activePlayback?.setPlaybackRate(this.selectedRate);
50147
50145
  }
50148
50146
  else {
50149
- trace(`${T$9} onPlaybackRateChange not steering to the selected rate, it is seemingly a catchup algorithm working`, {
50147
+ trace(`${T$a} onPlaybackRateChange not steering to the selected rate, it is seemingly a catchup algorithm working`, {
50150
50148
  playbackRate,
50151
50149
  selectedRate: this.selectedRate,
50152
50150
  });
50153
50151
  }
50154
50152
  }
50155
50153
  shouldMount() {
50156
- trace(`${T$9} shouldMount`, {
50154
+ trace(`${T$a} shouldMount`, {
50157
50155
  playbackType: this.core.activePlayback?.getPlaybackType(),
50158
50156
  dvrEnabled: this.core.activePlayback?.dvrEnabled,
50159
50157
  });
@@ -50170,7 +50168,7 @@ class PlaybackRate extends UICorePlugin {
50170
50168
  * @internal
50171
50169
  */
50172
50170
  render() {
50173
- trace(`${T$9} render`, {
50171
+ trace(`${T$a} render`, {
50174
50172
  shouldMount: this.shouldMount(),
50175
50173
  });
50176
50174
  this.$el.html(PlaybackRate.listTemplate({
@@ -50216,13 +50214,13 @@ class PlaybackRate extends UICorePlugin {
50216
50214
  }
50217
50215
  }
50218
50216
  syncRate() {
50219
- trace(`${T$9} syncRate`, {
50217
+ trace(`${T$a} syncRate`, {
50220
50218
  selectedRate: this.selectedRate,
50221
50219
  });
50222
50220
  this.core.activePlayback?.setPlaybackRate(this.selectedRate);
50223
50221
  }
50224
50222
  resetPlaybackRate() {
50225
- trace(`${T$9} resetPlaybackRate`, {
50223
+ trace(`${T$a} resetPlaybackRate`, {
50226
50224
  selectedRate: this.selectedRate,
50227
50225
  });
50228
50226
  this.core.activePlayback?.setPlaybackRate(DEFAULT_PLAYBACK_RATE);
@@ -50257,7 +50255,7 @@ class PlaybackRate extends UICorePlugin {
50257
50255
  ?.label || `x${rate}`);
50258
50256
  }
50259
50257
  highlightCurrentRate() {
50260
- trace(`${T$9} highlightCurrentRate`, {
50258
+ trace(`${T$a} highlightCurrentRate`, {
50261
50259
  selectedRate: this.selectedRate,
50262
50260
  });
50263
50261
  this.allRateElements().removeClass('current');
@@ -50268,7 +50266,7 @@ class PlaybackRate extends UICorePlugin {
50268
50266
  .addClass('gcore-skin-active');
50269
50267
  }
50270
50268
  updateGearOptionLabel() {
50271
- trace(`${T$9} updateGearOptionLabel`, {
50269
+ trace(`${T$a} updateGearOptionLabel`, {
50272
50270
  selectedRate: this.selectedRate,
50273
50271
  });
50274
50272
  this.mount();
@@ -50280,7 +50278,7 @@ const posterHTML = "<div class=\"play-wrapper\" id=\"gplayer-poster\">\n <div
50280
50278
  //Copyright 2014 Globo.com Player authors. All rights reserved.
50281
50279
  // Use of this source code is governed by a BSD-style
50282
50280
  // license that can be found in the LICENSE file.
50283
- const T$8 = 'plugins.poster';
50281
+ const T$9 = 'plugins.poster';
50284
50282
  /**
50285
50283
  * `PLUGIN` that displays a poster image in the background and a big play button on top when playback is stopped
50286
50284
  * @beta
@@ -50371,7 +50369,7 @@ class Poster extends UIContainerPlugin {
50371
50369
  * Reenables earlier disabled plugin
50372
50370
  */
50373
50371
  enable() {
50374
- trace(`${T$8} enable`);
50372
+ trace(`${T$9} enable`);
50375
50373
  super.enable();
50376
50374
  this.playing = this.container.playback.isPlaying();
50377
50375
  this.update();
@@ -50380,13 +50378,13 @@ class Poster extends UIContainerPlugin {
50380
50378
  * Disables the plugin, unmounting it from the DOM
50381
50379
  */
50382
50380
  disable() {
50383
- trace(`${T$8} disable`);
50381
+ trace(`${T$9} disable`);
50384
50382
  this.playing = false;
50385
50383
  this.playRequested = false;
50386
50384
  super.disable();
50387
50385
  }
50388
50386
  onError(error) {
50389
- trace(`${T$8} onError`, {
50387
+ trace(`${T$9} onError`, {
50390
50388
  error,
50391
50389
  enabled: this.enabled,
50392
50390
  });
@@ -50397,24 +50395,24 @@ class Poster extends UIContainerPlugin {
50397
50395
  // this.hasFatalError is reset on container recreate
50398
50396
  }
50399
50397
  onPlay() {
50400
- trace(`${T$8} onPlay`);
50398
+ trace(`${T$9} onPlay`);
50401
50399
  this.playing = true;
50402
50400
  this.playRequested = false;
50403
50401
  this.update();
50404
50402
  }
50405
50403
  onPlayIntent() {
50406
- trace(`${T$8} onPlayIntent`);
50404
+ trace(`${T$9} onPlayIntent`);
50407
50405
  this.playRequested = true;
50408
50406
  this.update();
50409
50407
  }
50410
50408
  onStop() {
50411
- trace(`${T$8} onStop`);
50409
+ trace(`${T$9} onStop`);
50412
50410
  this.playing = false;
50413
50411
  this.playRequested = false;
50414
50412
  this.update();
50415
50413
  }
50416
50414
  updatePlayButton() {
50417
- trace(`${T$8} updatePlayButton`);
50415
+ trace(`${T$9} updatePlayButton`);
50418
50416
  const show = !this.isNoOp &&
50419
50417
  !(this.options.chromeless && !this.options.allowUserInteraction) &&
50420
50418
  !this.playRequested &&
@@ -50430,18 +50428,18 @@ class Poster extends UIContainerPlugin {
50430
50428
  }
50431
50429
  }
50432
50430
  showPlayButton() {
50433
- trace(`${T$8} showPlayButton`);
50431
+ trace(`${T$9} showPlayButton`);
50434
50432
  this.$el.find('#poster-play').show();
50435
50433
  this.$el.addClass('clickable');
50436
50434
  this.container.$el.addClass('container-with-poster-clickable');
50437
50435
  }
50438
50436
  hidePlayButton() {
50439
- trace(`${T$8} hidePlayButton`);
50437
+ trace(`${T$9} hidePlayButton`);
50440
50438
  this.$el.find('#poster-play').hide();
50441
50439
  this.$el.removeClass('clickable');
50442
50440
  }
50443
50441
  clicked(e) {
50444
- trace(`${T$8} clicked`);
50442
+ trace(`${T$9} clicked`);
50445
50443
  e.preventDefault();
50446
50444
  e.stopPropagation();
50447
50445
  if (this.options.chromeless && !this.options.allowUserInteraction) {
@@ -50459,12 +50457,12 @@ class Poster extends UIContainerPlugin {
50459
50457
  return !this.container.playback.isAudioOnly;
50460
50458
  }
50461
50459
  update() {
50462
- trace(`${T$8} update`);
50460
+ trace(`${T$9} update`);
50463
50461
  this.updatePlayButton();
50464
50462
  this.updatePoster();
50465
50463
  }
50466
50464
  updatePoster() {
50467
- trace(`${T$8} updatePoster`);
50465
+ trace(`${T$9} updatePoster`);
50468
50466
  if (!this.playing) {
50469
50467
  this.showPoster();
50470
50468
  }
@@ -50477,7 +50475,7 @@ class Poster extends UIContainerPlugin {
50477
50475
  this.$el.show();
50478
50476
  }
50479
50477
  hidePoster() {
50480
- trace(`${T$8} hidePoster`);
50478
+ trace(`${T$9} hidePoster`);
50481
50479
  if (!this.options.disableMediaControl) {
50482
50480
  this.container.enableMediaControl();
50483
50481
  }
@@ -50528,7 +50526,7 @@ const listHtml = "<button class=\"gplayer-lite-btn go-back gcore-skin-text-color
50528
50526
 
50529
50527
  const hdIcon = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M14.9562 8.22232H13.9961V15.1873H14.9562C15.8914 15.1873 16.766 14.8253 17.4195 14.1676C18.0786 13.5037 18.4415 12.6281 18.4415 11.7026C18.4415 9.7837 16.8781 8.22253 14.9561 8.22253L14.9562 8.22232Z\"\n fill=\"#C9C9C9\"/>\n <path\n d=\"M22.0801 4H1.91994C0.859222 4 0 4.86406 0 5.91994V17.4878C0 18.5437 0.859222 19.4078 1.91994 19.4078H22.0801C23.1408 19.4078 24 18.5437 24 17.4878V5.91994C24 4.86406 23.1408 4 22.0801 4ZM10.3975 15.3473C10.3975 15.6124 10.1827 15.8272 9.91754 15.8272C9.65216 15.8272 9.43761 15.6122 9.43761 15.3473V12.0239H5.55956V15.3473C5.55956 15.6124 5.34481 15.8272 5.07963 15.8272C4.81425 15.8272 4.5997 15.6122 4.5997 15.3473L4.59949 7.74042C4.59949 7.47524 4.81425 7.26049 5.07943 7.26049C5.34481 7.26049 5.55936 7.47544 5.55936 7.74042V11.0636H9.43741V7.74042C9.43741 7.47524 9.65216 7.26049 9.91734 7.26049C10.1827 7.26049 10.3973 7.47544 10.3973 7.74042L10.3975 15.3473ZM18.1005 14.8438C17.2652 15.6844 16.1486 16.1472 14.9561 16.1472H13.5161C13.2507 16.1472 13.0361 15.9323 13.0361 15.6673V7.74263C13.0361 7.47745 13.2509 7.26269 13.5161 7.26269H14.9561C17.4072 7.26269 19.4013 9.25438 19.4013 11.7027C19.4013 12.8835 18.9392 13.9991 18.1005 14.844V14.8438Z\"\n fill=\"#C9C9C9\"/>\n</svg>\n";
50530
50528
 
50531
- const T$7 = 'plugins.quality_levels';
50529
+ const T$8 = 'plugins.quality_levels';
50532
50530
  const VERSION$2 = 'v2.22.5';
50533
50531
  /**
50534
50532
  * `PLUGIN` that provides a UI to select the desired quality level of the playback.
@@ -50605,14 +50603,14 @@ class QualityLevels extends UICorePlugin {
50605
50603
  this.listenTo(this.core, Events$1.CORE_ACTIVE_CONTAINER_CHANGED, this.onActiveContainerChange);
50606
50604
  }
50607
50605
  onCoreReady() {
50608
- trace(`${T$7} onCoreReady`);
50606
+ trace(`${T$8} onCoreReady`);
50609
50607
  const gear = this.core.getPlugin('bottom_gear');
50610
50608
  assert(gear, 'bottom_gear plugin is required');
50611
50609
  this.currentText = this.core.i18n.t('auto');
50612
50610
  this.listenTo(gear, GearEvents.RENDERED, this.onGearRendered);
50613
50611
  }
50614
50612
  onGearRendered() {
50615
- trace(`${T$7} onGearRendered`);
50613
+ trace(`${T$8} onGearRendered`);
50616
50614
  this.render();
50617
50615
  }
50618
50616
  onActiveContainerChange() {
@@ -50641,7 +50639,7 @@ class QualityLevels extends UICorePlugin {
50641
50639
  }
50642
50640
  }
50643
50641
  onStop() {
50644
- trace(`${T$7} onStop`);
50642
+ trace(`${T$8} onStop`);
50645
50643
  this.listenToOnce(this.core.activePlayback, Events$1.PLAYBACK_PLAY, () => {
50646
50644
  if (this.core.activePlayback.getPlaybackType() === 'live') {
50647
50645
  if (this.selectedLevelId !== -1) {
@@ -50737,7 +50735,7 @@ class QualityLevels extends UICorePlugin {
50737
50735
  return false;
50738
50736
  }
50739
50737
  goBack() {
50740
- trace(`${T$7} goBack`);
50738
+ trace(`${T$8} goBack`);
50741
50739
  this.core.getPlugin('bottom_gear').refresh();
50742
50740
  }
50743
50741
  setLevel(index) {
@@ -50772,11 +50770,11 @@ class QualityLevels extends UICorePlugin {
50772
50770
  return this.levelLabels[index] ?? formatLevelLabel(this.levels[index]);
50773
50771
  }
50774
50772
  onBitrate(info) {
50775
- trace(`${T$7} updateCurrentLevel`, { info });
50773
+ trace(`${T$8} updateCurrentLevel`, { info });
50776
50774
  this.highlightCurrentLevel();
50777
50775
  }
50778
50776
  highlightCurrentLevel() {
50779
- trace(`${T$7} highlightCurrentLevel`, {
50777
+ trace(`${T$8} highlightCurrentLevel`, {
50780
50778
  selectedLevelId: this.selectedLevelId,
50781
50779
  });
50782
50780
  this.allLevelElements()
@@ -50802,7 +50800,7 @@ const seekTimeHTML = "<span id=\"mc-seek-time\" class=\"seek-time__pos\"></span>
50802
50800
  // Use of this source code is governed by a BSD-style
50803
50801
  // license that can be found at https://github.com/clappr/clappr-plugins/blob/master/LICENSE
50804
50802
  const { formatTime } = Utils;
50805
- // const T = 'plugins.seek_time'
50803
+ const T$7 = 'plugins.seek_time';
50806
50804
  /**
50807
50805
  * `PLUGIN` that adds a seek time indicator when the mouse pointer is over the seek bar.
50808
50806
  * @beta
@@ -50861,9 +50859,13 @@ class SeekTime extends UICorePlugin {
50861
50859
  showTime(event) {
50862
50860
  this.hoveringOverSeekBar = true;
50863
50861
  this.calculateHoverPosition(event);
50862
+ trace(`${T$7} showTime`, {
50863
+ hoverPosition: this.hoverPosition,
50864
+ });
50864
50865
  this.update();
50865
50866
  }
50866
50867
  hideTime() {
50868
+ trace(`${T$7} hideTime`);
50867
50869
  this.hoveringOverSeekBar = false;
50868
50870
  this.update();
50869
50871
  }
@@ -50935,7 +50937,7 @@ class SeekTime extends UICorePlugin {
50935
50937
  return this;
50936
50938
  }
50937
50939
  mount() {
50938
- this.core.getPlugin('media_control').$el.append(this.$el); // TODO use a method
50940
+ this.core.getPlugin('media_control').$el.append(this.$el); // TODO MediaControl.mount('root', this.$el)
50939
50941
  }
50940
50942
  }
50941
50943