@eluvio/elv-player-js 1.0.92 → 1.0.94

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.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eluvio/elv-player-js",
3
- "version": "1.0.92",
3
+ "version": "1.0.94",
4
4
  "description": "![Eluvio Logo](src/static/images/Logo.png \"Eluvio Logo\")",
5
5
  "main": "src/index.js",
6
6
  "license": "MIT",
@@ -607,9 +607,13 @@ class PlayerControls {
607
607
  }
608
608
 
609
609
  this.progressHidden = true;
610
- } else if(this.progressHidden) {
611
- this.progressHidden = false;
612
- controls.classList.remove("eluvio-player__controls-no-progress");
610
+ } else {
611
+ progressSlider.step = Math.min(1 / (this.video.duration / 5), 0.01).toFixed(4);
612
+
613
+ if(this.progressHidden) {
614
+ this.progressHidden = false;
615
+ controls.classList.remove("eluvio-player__controls-no-progress");
616
+ }
613
617
  }
614
618
 
615
619
  totalTime.innerHTML = Time(this.video.duration, this.video.duration);
package/src/index.js CHANGED
@@ -809,10 +809,15 @@ export class EluvioPlayer {
809
809
  const DashPlayer = (await import("dashjs")).default;
810
810
  const dashPlayer = DashPlayer.MediaPlayer().create();
811
811
 
812
+ dashPlayer.updateSettings({
813
+ "streaming": {
814
+ "fastSwitchEnabled": true
815
+ }
816
+ });
817
+
812
818
  if(this.playerOptions.capLevelToPlayerSize) {
813
819
  dashPlayer.updateSettings({
814
820
  "streaming": {
815
- "fastSwitchEnabled": true,
816
821
  "abr": {
817
822
  "limitBitrateByPortal": true
818
823
  }
@@ -923,6 +928,16 @@ export class EluvioPlayer {
923
928
  this.UpdateTextTracks({dashPlayer});
924
929
  });
925
930
 
931
+ // DashJS doesn't automatically handle video track change - Add event listener to handle it
932
+ this.video.textTracks.addEventListener("change", () => {
933
+ const dashTracks = dashPlayer.getTracksFor("text");
934
+ const activeTrack = Array.from(this.video.textTracks).find(track => track.mode === "showing");
935
+
936
+ dashPlayer.setTextTrack(
937
+ !activeTrack ? -1 : dashTracks.findIndex(dashTrack => dashTrack.lang === activeTrack.language || (dashTrack.index || "").toString() === (activeTrack.label || "").toString())
938
+ );
939
+ });
940
+
926
941
  this.player = dashPlayer;
927
942
  this.dashPlayer = dashPlayer;
928
943
  }