@eluvio/elv-player-js 1.0.69 → 1.0.72

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/package-lock.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eluvio/elv-player-js",
3
- "version": "1.0.69",
3
+ "version": "1.0.72",
4
4
  "lockfileVersion": 1,
5
5
  "requires": true,
6
6
  "dependencies": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eluvio/elv-player-js",
3
- "version": "1.0.69",
3
+ "version": "1.0.72",
4
4
  "description": "![Eluvio Logo](src/static/images/Logo.png \"Eluvio Logo\")",
5
5
  "main": "src/index.js",
6
6
  "license": "MIT",
@@ -626,7 +626,11 @@ class PlayerControls {
626
626
  classes: ["eluvio-player__controls__settings-menu__option"]
627
627
  });
628
628
 
629
- resolutionButton.innerHTML = `Resolution: ${currentLevel.resolution}`;
629
+ if(currentLevel.audioTrack) {
630
+ resolutionButton.innerHTML = `Quality: ${currentLevel.bitrate / 1000}kbps`;
631
+ } else {
632
+ resolutionButton.innerHTML = `Resolution: ${currentLevel.resolution}`;
633
+ }
630
634
 
631
635
  if(this.SetLevel) {
632
636
  resolutionButton.addEventListener("click", () => {
@@ -653,7 +657,11 @@ class PlayerControls {
653
657
  classes: ["eluvio-player__controls__settings-menu__option", level.active ? "eluvio-player__controls__settings-menu__option-selected" : ""]
654
658
  });
655
659
 
656
- levelOption.innerHTML = `${level.resolution} (${(level.bitrate / 1000 / 1000).toFixed(1)}Mbps)`;
660
+ if(level.audioTrack) {
661
+ levelOption.innerHTML = `${level.bitrate / 1000}kbps`;
662
+ } else {
663
+ levelOption.innerHTML = `${level.resolution} (${(level.bitrate / 1000 / 1000).toFixed(1)}Mbps)`;
664
+ }
657
665
 
658
666
  levelOption.addEventListener("click", () => {
659
667
  this.SetLevel(level.index);
package/src/index.js CHANGED
@@ -107,6 +107,7 @@ const DefaultParameters = {
107
107
  loop: EluvioPlayerParameters.loop.OFF,
108
108
  watermark: EluvioPlayerParameters.watermark.ON,
109
109
  settings: EluvioPlayerParameters.settings.ON,
110
+ posterUrl: undefined,
110
111
  className: undefined,
111
112
  hlsjsOptions: undefined,
112
113
  dashjsOptions: undefined,
@@ -245,6 +246,10 @@ export class EluvioPlayer {
245
246
  }
246
247
 
247
248
  async PosterUrl() {
249
+ if(this.playerOptions.posterUrl) {
250
+ return this.playerOptions.posterUrl;
251
+ }
252
+
248
253
  const client = await this.Client();
249
254
 
250
255
  try {
@@ -576,7 +581,6 @@ export class EluvioPlayer {
576
581
 
577
582
  if(multiviewOptions.enabled) { controlsPromise.then(() => this.controls.InitializeMultiViewControls(multiviewOptions)); }
578
583
  } else if(protocol === "hls") {
579
-
580
584
  playoutUrl.removeQuery("authorization");
581
585
 
582
586
  // Inject
@@ -611,12 +615,14 @@ export class EluvioPlayer {
611
615
  }
612
616
 
613
617
  if(this.controls) {
618
+ window.hls = hlsPlayer;
614
619
  this.controls.SetQualityControls({
615
620
  GetLevels: () => hlsPlayer.levels.map((level, index) => ({
616
621
  index,
617
622
  active: index === hlsPlayer.currentLevel,
618
623
  resolution: level.attrs.RESOLUTION,
619
- bitrate: level.bitrate
624
+ bitrate: level.bitrate,
625
+ audioTrack: !level.videoCodec
620
626
  })),
621
627
  SetLevel: levelIndex => hlsPlayer.nextLevel = levelIndex
622
628
  });
@@ -723,6 +729,11 @@ export class EluvioPlayer {
723
729
  }
724
730
 
725
731
  this.RegisterVisibilityCallback();
732
+
733
+ if(this.__destroyed) {
734
+ // If Destroy was called during the initialization process, ensure that the player is properly destroyed
735
+ this.Destroy();
736
+ }
726
737
  } catch (error) {
727
738
  this.playerOptions.errorCallback(error);
728
739