@gcorevideo/player 2.22.14 → 2.22.15

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.
@@ -13318,42 +13318,18 @@ class ClipsPlugin extends UICorePlugin {
13318
13318
  }
13319
13319
  }
13320
13320
 
13321
- const templateHtml$1 = "<ul class=\"context-menu-list\">\n <% if(options) { %>\n <% for (var i = 0; i < options.length; i++) { %>\n <li class=\"context-menu-list-item <%= options[i].class %>\"\n data-<%= options[i].name %>><%= options[i].label %></li>\n <% } %>\n <% } %>\n</ul>\n";
13322
-
13323
- var version$1 = "2.22.14";
13324
-
13325
- var packages = {
13326
- "node_modules/@clappr/core": {
13327
- version: "0.11.4"},
13328
- "node_modules/dashjs": {
13329
- version: "4.7.4"},
13330
- "node_modules/hls.js": {
13331
- version: "1.5.20"}};
13332
-
13333
- /**
13334
- * Version information about the gplayer and its main dependencies
13335
- * @returns Version information about the gplayer and its main dependencies
13336
- * @beta
13337
- */
13338
- function version() {
13339
- return {
13340
- gplayer: version$1,
13341
- clappr: packages['node_modules/@clappr/core'].version,
13342
- dashjs: packages['node_modules/dashjs'].version,
13343
- hlsjs: packages['node_modules/hls.js'].version,
13344
- };
13345
- }
13321
+ const templateHtml$1 = "<ul class=\"context-menu-list\" role=\"menu\" id=\"context-menu-options\">\n <% for (const item of options) { %>\n <li class=\"context-menu-list-item <%= item.class %>\">\n <button role=\"menuitem\" data-name=\"<%= item.name %>\">\n <% if (iconic) { %>\n <span class=\"context-menu-list-item_icon\"><%= item.icon || '' %></span>\n <% } %>\n <% if (item.labelKey) { %>\n <%= i18n.t(item.labelKey) %>\n <% } else { %>\n <%= item.label %>\n <% } %>\n </button>\n </li>\n <% } %>\n</ul>\n";
13346
13322
 
13347
13323
  /**
13348
13324
  * `PLUGIN` that displays a small context menu when clicked on the player container.
13349
13325
  * @beta
13350
13326
  * @remarks
13351
13327
  * Configuration options - {@link ContextMenuPluginSettings}
13328
+ *
13329
+ * Should not be used together with {@link ClickToPause} plugin
13352
13330
  */
13353
13331
  class ContextMenu extends UIContainerPlugin {
13354
- _label = '';
13355
- _url = '';
13356
- menuOptions = [];
13332
+ open = false;
13357
13333
  /**
13358
13334
  * @internal
13359
13335
  */
@@ -13373,34 +13349,16 @@ class ContextMenu extends UIContainerPlugin {
13373
13349
  return { class: 'context-menu' };
13374
13350
  }
13375
13351
  static template = tmpl(templateHtml$1);
13376
- get label() {
13377
- return this._label || 'Gcore player ver. ' + version().gplayer;
13378
- }
13379
- get url() {
13380
- return this._url || 'https://gcore.com/';
13381
- }
13382
- get exposeVersion() {
13383
- return {
13384
- label: this.label,
13385
- name: 'version',
13386
- };
13387
- }
13388
13352
  /**
13389
13353
  * @internal
13390
13354
  */
13391
13355
  get events() {
13392
13356
  return {
13393
- 'click [data-version]': 'onOpenMainPage',
13357
+ 'click [role="menuitem"]': 'runAction',
13394
13358
  };
13395
13359
  }
13396
13360
  constructor(container) {
13397
13361
  super(container);
13398
- if (this.options.contextMenu && this.options.contextMenu.label) {
13399
- this._label = this.options.contextMenu.label;
13400
- }
13401
- if (this.options.contextMenu && this.options.contextMenu.url) {
13402
- this._url = this.options.contextMenu.url;
13403
- }
13404
13362
  this.render();
13405
13363
  $('body').on('click', this.hideOnBodyClick);
13406
13364
  }
@@ -13408,8 +13366,8 @@ class ContextMenu extends UIContainerPlugin {
13408
13366
  * @internal
13409
13367
  */
13410
13368
  bindEvents() {
13411
- this.listenTo(this.container, Events.CONTAINER_CONTEXTMENU, this.toggleContextMenu);
13412
- this.listenTo(this.container, Events.CONTAINER_CLICK, this.hide);
13369
+ this.listenTo(this.container, Events.CONTAINER_CONTEXTMENU, this.onContextMenu);
13370
+ this.listenTo(this.container, Events.CONTAINER_CLICK, this.onContainerClick);
13413
13371
  }
13414
13372
  /**
13415
13373
  * @internal
@@ -13418,34 +13376,55 @@ class ContextMenu extends UIContainerPlugin {
13418
13376
  $('body').off('click', this.hideOnBodyClick);
13419
13377
  return super.destroy();
13420
13378
  }
13421
- toggleContextMenu(event) {
13379
+ onContainerClick() {
13380
+ this.hide();
13381
+ }
13382
+ onContextMenu(event) {
13383
+ if (!this.options.contextMenu?.options?.length) {
13384
+ return;
13385
+ }
13422
13386
  event.preventDefault();
13387
+ event.stopPropagation();
13423
13388
  const offset = this.container?.$el.offset();
13424
13389
  this.show(event.pageY - offset.top, event.pageX - offset.left);
13425
13390
  }
13426
13391
  show(top, left) {
13427
- this.hide();
13428
- if (this.options.contextMenu &&
13429
- this.options.contextMenu.preventShowContextMenu) {
13430
- return;
13431
- }
13392
+ this.open = true;
13432
13393
  this.$el.css({ top, left });
13433
13394
  this.$el.show();
13434
13395
  }
13435
13396
  hide() {
13397
+ this.open = false;
13436
13398
  this.$el.hide();
13437
13399
  }
13438
- onOpenMainPage() {
13439
- window.open(this.url, '_blank');
13400
+ runAction(event) {
13401
+ event.preventDefault();
13402
+ event.stopPropagation();
13403
+ const itemName = event.currentTarget.dataset.name;
13404
+ if (!itemName) {
13405
+ return;
13406
+ }
13407
+ const item = this.options.contextMenu?.options.find((option) => option.name === itemName);
13408
+ if (item?.handler) {
13409
+ item.handler();
13410
+ }
13411
+ this.hide();
13440
13412
  }
13441
13413
  /**
13442
13414
  * @internal
13443
13415
  */
13444
13416
  render() {
13445
- this.menuOptions = [this.exposeVersion];
13446
- this.$el.html(ContextMenu.template({ options: this.menuOptions }));
13417
+ if (!this.options.contextMenu?.options?.length) {
13418
+ return this;
13419
+ }
13420
+ const options = this.options.contextMenu.options;
13421
+ this.$el.html(ContextMenu.template({
13422
+ options,
13423
+ i18n: this.container.i18n,
13424
+ iconic: options.some((option) => option.icon),
13425
+ }));
13447
13426
  this.container.$el.append(this.$el); // TODO append to the container, turn into a container plugin
13448
- this.hide();
13427
+ this.$el.hide();
13449
13428
  return this;
13450
13429
  }
13451
13430
  hideOnBodyClick = () => {
@@ -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
@@ -93,6 +93,9 @@ export class Player {
93
93
  * ```
94
94
  */
95
95
  attachTo(playerElement) {
96
+ trace(`${T} attachTo`, {
97
+ player: !!this.player,
98
+ });
96
99
  assert.ok(!this.player, 'Player already initialized');
97
100
  assert.ok(playerElement, 'Player container element is required');
98
101
  if (this.config.debug === 'all' || this.config.debug === 'clappr') {
@@ -304,9 +307,9 @@ export class Player {
304
307
  trace(`${T} initPlayer`, {
305
308
  autoPlay: coreOptions.autoPlay,
306
309
  sources: coreOptions.sources,
310
+ player: !!this.player,
307
311
  // TODO selected options
308
312
  });
309
- assert.ok(!this.player, 'Player already initialized');
310
313
  const player = new PlayerClappr(coreOptions);
311
314
  this.player = player;
312
315
  this.bindCoreListeners();
@@ -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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"}
@@ -386,16 +386,6 @@ export default class HlsPlayback extends BasePlayback {
386
386
  this.seek(seekTo);
387
387
  }
388
388
  seek(time) {
389
- // trace(`${T} seek`, {
390
- // time,
391
- // duration: this._duration,
392
- // startTime: this._startTime,
393
- // currentTimestamp: this.currentTimestamp,
394
- // playbackType: this.getPlaybackType(),
395
- // dvrEnabled: this.dvrEnabled,
396
- // durationExcludesAfterLiveSyncPoint: this._durationExcludesAfterLiveSyncPoint,
397
- // minDvrSize: this._minDvrSize,
398
- // })
399
389
  if (time < 0) {
400
390
  Log.warn('Attempt to seek to a negative time. Resetting to live point. Use seekToLivePoint() to seek to the live point.');
401
391
  time = this.getDuration();
@@ -547,11 +537,6 @@ export default class HlsPlayback extends BasePlayback {
547
537
  return;
548
538
  }
549
539
  this._lastTimeUpdate = update;
550
- // trace(`${T} _onTimeUpdate`, {
551
- // current: update.current,
552
- // total: update.total,
553
- // firstFragDateTime: update.firstFragDateTime,
554
- // })
555
540
  this.trigger(Events.PLAYBACK_TIMEUPDATE, update, this.name);
556
541
  }
557
542
  _onDurationChange() {
@@ -823,12 +808,6 @@ export default class HlsPlayback extends BasePlayback {
823
808
  this.trigger(Events.PLAYBACK_LEVEL_SWITCH_END);
824
809
  }
825
810
  get dvrEnabled() {
826
- // trace(`${T} dvrEnabled`, {
827
- // durationExcludesAfterLiveSyncPoint: this._durationExcludesAfterLiveSyncPoint,
828
- // duration: this._duration,
829
- // minDvrSize: this._minDvrSize,
830
- // playbackType: this.getPlaybackType(),
831
- // })
832
811
  // enabled when:
833
812
  // - the duration does not include content after hlsjs's live sync point
834
813
  // - the playable region duration is longer than the configured duration to enable dvr after
@@ -5,7 +5,7 @@
5
5
  import { ContainerPlugin, Events, Playback } from '@clappr/core';
6
6
  import { trace } from '@gcorevideo/utils';
7
7
  import { CLAPPR_VERSION } from '../../build.js';
8
- const T = 'plugins.click_to_pause_custom';
8
+ const T = 'plugins.click_to_pause';
9
9
  /**
10
10
  * A small `PLUGIN` that toggles the playback state on click over the video container
11
11
  * @beta
@@ -1,24 +1,47 @@
1
1
  import { Container, UIContainerPlugin } from '@clappr/core';
2
2
  import '../../../assets/context-menu/context_menu.scss';
3
+ /**
4
+ * @beta
5
+ */
6
+ export type MenuOption = {
7
+ /**
8
+ * Menu item label text. One of `label` or `labelKey` must be specified.
9
+ */
10
+ label?: string;
11
+ /**
12
+ * Menu item label localisation key, if specified, the `label` will be ignored
13
+ */
14
+ labelKey?: string;
15
+ /**
16
+ * Menu item name. Must be unique.
17
+ */
18
+ name: string;
19
+ /**
20
+ * Menu item handler function
21
+ */
22
+ handler?: () => void;
23
+ /**
24
+ * Menu item icon, plain HTML string
25
+ */
26
+ icon?: string;
27
+ };
3
28
  /**
4
29
  * Context menu plugin settings
5
30
  * @beta
6
31
  */
7
32
  export interface ContextMenuPluginSettings {
8
- label?: string;
9
- url?: string;
10
- preventShowContextMenu?: boolean;
33
+ options?: MenuOption[];
11
34
  }
12
35
  /**
13
36
  * `PLUGIN` that displays a small context menu when clicked on the player container.
14
37
  * @beta
15
38
  * @remarks
16
39
  * Configuration options - {@link ContextMenuPluginSettings}
40
+ *
41
+ * Should not be used together with {@link ClickToPause} plugin
17
42
  */
18
43
  export declare class ContextMenu extends UIContainerPlugin {
19
- private _label;
20
- private _url;
21
- private menuOptions;
44
+ private open;
22
45
  /**
23
46
  * @internal
24
47
  */
@@ -36,14 +59,11 @@ export declare class ContextMenu extends UIContainerPlugin {
36
59
  class: string;
37
60
  };
38
61
  private static readonly template;
39
- private get label();
40
- private get url();
41
- private get exposeVersion();
42
62
  /**
43
63
  * @internal
44
64
  */
45
65
  get events(): {
46
- 'click [data-version]': string;
66
+ 'click [role="menuitem"]': string;
47
67
  };
48
68
  constructor(container: Container);
49
69
  /**
@@ -54,10 +74,11 @@ export declare class ContextMenu extends UIContainerPlugin {
54
74
  * @internal
55
75
  */
56
76
  destroy(): import("@clappr/core").UIObject;
57
- private toggleContextMenu;
77
+ private onContainerClick;
78
+ private onContextMenu;
58
79
  private show;
59
80
  private hide;
60
- private onOpenMainPage;
81
+ private runAction;
61
82
  /**
62
83
  * @internal
63
84
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../../src/plugins/context-menu/ContextMenu.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,SAAS,EACT,iBAAiB,EAClB,MAAM,cAAc,CAAA;AAIrB,OAAO,gDAAgD,CAAA;AASvD;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC;AAED;;;;;GAKG;AACH,qBAAa,WAAY,SAAQ,iBAAiB;IAChD,OAAO,CAAC,MAAM,CAAa;IAE3B,OAAO,CAAC,IAAI,CAAa;IAEzB,OAAO,CAAC,WAAW,CAAmB;IAEtC;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,IAAa,UAAU;;MAEtB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAEzD,OAAO,KAAK,KAAK,GAEhB;IAED,OAAO,KAAK,GAAG,GAEd;IAED,OAAO,KAAK,aAAa,GAKxB;IAED;;OAEG;IACH,IAAa,MAAM;;MAIlB;gBAEW,SAAS,EAAE,SAAS;IAYhC;;OAEG;IACM,UAAU;IASnB;;OAEG;IACM,OAAO;IAKhB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,IAAI;IAYZ,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,cAAc;IAItB;;OAEG;IACM,MAAM;IASf,OAAO,CAAC,eAAe,CAEtB;CACF"}
1
+ {"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../../src/plugins/context-menu/ContextMenu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,SAAS,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAIhF,OAAO,gDAAgD,CAAA;AAGvD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAA;CACvB;AAID;;;;;;;GAOG;AACH,qBAAa,WAAY,SAAQ,iBAAiB;IAChD,OAAO,CAAC,IAAI,CAAQ;IAEpB;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,IAAa,UAAU;;MAEtB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAEzD;;OAEG;IACH,IAAa,MAAM;;MAIlB;gBAEW,SAAS,EAAE,SAAS;IAMhC;;OAEG;IACM,UAAU;IASnB;;OAEG;IACM,OAAO;IAKhB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,IAAI;IAKZ,OAAO,CAAC,SAAS;IAiBjB;;OAEG;IACM,MAAM;IAkBf,OAAO,CAAC,eAAe,CAEtB;CACF"}
@@ -1,18 +1,18 @@
1
- import { Events, template, $, UIContainerPlugin, } from '@clappr/core';
1
+ import { Events, template, $, UIContainerPlugin } from '@clappr/core';
2
2
  import { CLAPPR_VERSION } from '../../build.js';
3
3
  import '../../../assets/context-menu/context_menu.scss';
4
4
  import templateHtml from '../../../assets/context-menu/context_menu.ejs';
5
- import { version } from '../../version.js';
5
+ const T = 'plugins.context_menu';
6
6
  /**
7
7
  * `PLUGIN` that displays a small context menu when clicked on the player container.
8
8
  * @beta
9
9
  * @remarks
10
10
  * Configuration options - {@link ContextMenuPluginSettings}
11
+ *
12
+ * Should not be used together with {@link ClickToPause} plugin
11
13
  */
12
14
  export class ContextMenu extends UIContainerPlugin {
13
- _label = '';
14
- _url = '';
15
- menuOptions = [];
15
+ open = false;
16
16
  /**
17
17
  * @internal
18
18
  */
@@ -32,34 +32,16 @@ export class ContextMenu extends UIContainerPlugin {
32
32
  return { class: 'context-menu' };
33
33
  }
34
34
  static template = template(templateHtml);
35
- get label() {
36
- return this._label || 'Gcore player ver. ' + version().gplayer;
37
- }
38
- get url() {
39
- return this._url || 'https://gcore.com/';
40
- }
41
- get exposeVersion() {
42
- return {
43
- label: this.label,
44
- name: 'version',
45
- };
46
- }
47
35
  /**
48
36
  * @internal
49
37
  */
50
38
  get events() {
51
39
  return {
52
- 'click [data-version]': 'onOpenMainPage',
40
+ 'click [role="menuitem"]': 'runAction',
53
41
  };
54
42
  }
55
43
  constructor(container) {
56
44
  super(container);
57
- if (this.options.contextMenu && this.options.contextMenu.label) {
58
- this._label = this.options.contextMenu.label;
59
- }
60
- if (this.options.contextMenu && this.options.contextMenu.url) {
61
- this._url = this.options.contextMenu.url;
62
- }
63
45
  this.render();
64
46
  $('body').on('click', this.hideOnBodyClick);
65
47
  }
@@ -67,8 +49,8 @@ export class ContextMenu extends UIContainerPlugin {
67
49
  * @internal
68
50
  */
69
51
  bindEvents() {
70
- this.listenTo(this.container, Events.CONTAINER_CONTEXTMENU, this.toggleContextMenu);
71
- this.listenTo(this.container, Events.CONTAINER_CLICK, this.hide);
52
+ this.listenTo(this.container, Events.CONTAINER_CONTEXTMENU, this.onContextMenu);
53
+ this.listenTo(this.container, Events.CONTAINER_CLICK, this.onContainerClick);
72
54
  }
73
55
  /**
74
56
  * @internal
@@ -77,34 +59,55 @@ export class ContextMenu extends UIContainerPlugin {
77
59
  $('body').off('click', this.hideOnBodyClick);
78
60
  return super.destroy();
79
61
  }
80
- toggleContextMenu(event) {
62
+ onContainerClick() {
63
+ this.hide();
64
+ }
65
+ onContextMenu(event) {
66
+ if (!this.options.contextMenu?.options?.length) {
67
+ return;
68
+ }
81
69
  event.preventDefault();
70
+ event.stopPropagation();
82
71
  const offset = this.container?.$el.offset();
83
72
  this.show(event.pageY - offset.top, event.pageX - offset.left);
84
73
  }
85
74
  show(top, left) {
86
- this.hide();
87
- if (this.options.contextMenu &&
88
- this.options.contextMenu.preventShowContextMenu) {
89
- return;
90
- }
75
+ this.open = true;
91
76
  this.$el.css({ top, left });
92
77
  this.$el.show();
93
78
  }
94
79
  hide() {
80
+ this.open = false;
95
81
  this.$el.hide();
96
82
  }
97
- onOpenMainPage() {
98
- window.open(this.url, '_blank');
83
+ runAction(event) {
84
+ event.preventDefault();
85
+ event.stopPropagation();
86
+ const itemName = event.currentTarget.dataset.name;
87
+ if (!itemName) {
88
+ return;
89
+ }
90
+ const item = this.options.contextMenu?.options.find((option) => option.name === itemName);
91
+ if (item?.handler) {
92
+ item.handler();
93
+ }
94
+ this.hide();
99
95
  }
100
96
  /**
101
97
  * @internal
102
98
  */
103
99
  render() {
104
- this.menuOptions = [this.exposeVersion];
105
- this.$el.html(ContextMenu.template({ options: this.menuOptions }));
100
+ if (!this.options.contextMenu?.options?.length) {
101
+ return this;
102
+ }
103
+ const options = this.options.contextMenu.options;
104
+ this.$el.html(ContextMenu.template({
105
+ options,
106
+ i18n: this.container.i18n,
107
+ iconic: options.some((option) => option.icon),
108
+ }));
106
109
  this.container.$el.append(this.$el); // TODO append to the container, turn into a container plugin
107
- this.hide();
110
+ this.$el.hide();
108
111
  return this;
109
112
  }
110
113
  hideOnBodyClick = () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gcorevideo/player",
3
- "version": "2.22.14",
3
+ "version": "2.22.15",
4
4
  "description": "Gcore JavaScript video player",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
package/src/Player.ts CHANGED
@@ -159,6 +159,9 @@ export class Player {
159
159
  * ```
160
160
  */
161
161
  attachTo(playerElement: HTMLElement): void {
162
+ trace(`${T} attachTo`, {
163
+ player: !!this.player,
164
+ })
162
165
  assert.ok(!this.player, 'Player already initialized')
163
166
  assert.ok(playerElement, 'Player container element is required')
164
167
  if (this.config.debug === 'all' || this.config.debug === 'clappr') {
@@ -398,11 +401,9 @@ export class Player {
398
401
  trace(`${T} initPlayer`, {
399
402
  autoPlay: coreOptions.autoPlay,
400
403
  sources: coreOptions.sources,
404
+ player: !!this.player,
401
405
  // TODO selected options
402
406
  })
403
-
404
- assert.ok(!this.player, 'Player already initialized')
405
-
406
407
  const player = new PlayerClappr(coreOptions)
407
408
  this.player = player
408
409
  this.bindCoreListeners()
@@ -586,17 +586,6 @@ export default class HlsPlayback extends BasePlayback {
586
586
  }
587
587
 
588
588
  seek(time: number) {
589
- // trace(`${T} seek`, {
590
- // time,
591
- // duration: this._duration,
592
- // startTime: this._startTime,
593
- // currentTimestamp: this.currentTimestamp,
594
- // playbackType: this.getPlaybackType(),
595
- // dvrEnabled: this.dvrEnabled,
596
- // durationExcludesAfterLiveSyncPoint: this._durationExcludesAfterLiveSyncPoint,
597
- // minDvrSize: this._minDvrSize,
598
-
599
- // })
600
589
  if (time < 0) {
601
590
  Log.warn(
602
591
  'Attempt to seek to a negative time. Resetting to live point. Use seekToLivePoint() to seek to the live point.',
@@ -768,11 +757,6 @@ export default class HlsPlayback extends BasePlayback {
768
757
  return
769
758
  }
770
759
  this._lastTimeUpdate = update
771
- // trace(`${T} _onTimeUpdate`, {
772
- // current: update.current,
773
- // total: update.total,
774
- // firstFragDateTime: update.firstFragDateTime,
775
- // })
776
760
  this.trigger(Events.PLAYBACK_TIMEUPDATE, update, this.name)
777
761
  }
778
762
 
@@ -1097,12 +1081,6 @@ export default class HlsPlayback extends BasePlayback {
1097
1081
  }
1098
1082
 
1099
1083
  get dvrEnabled() {
1100
- // trace(`${T} dvrEnabled`, {
1101
- // durationExcludesAfterLiveSyncPoint: this._durationExcludesAfterLiveSyncPoint,
1102
- // duration: this._duration,
1103
- // minDvrSize: this._minDvrSize,
1104
- // playbackType: this.getPlaybackType(),
1105
- // })
1106
1084
  // enabled when:
1107
1085
  // - the duration does not include content after hlsjs's live sync point
1108
1086
  // - the playable region duration is longer than the configured duration to enable dvr after
@@ -10,7 +10,7 @@ import { CLAPPR_VERSION } from '../../build.js'
10
10
 
11
11
  type Timer = ReturnType<typeof setTimeout>
12
12
 
13
- const T = 'plugins.click_to_pause_custom'
13
+ const T = 'plugins.click_to_pause'
14
14
 
15
15
  /**
16
16
  * A small `PLUGIN` that toggles the playback state on click over the video container