@eluvio/elv-player-js 1.0.92 → 1.0.93

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 (2) hide show
  1. package/package.json +1 -1
  2. package/src/index.js +16 -1
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.93",
4
4
  "description": "![Eluvio Logo](src/static/images/Logo.png \"Eluvio Logo\")",
5
5
  "main": "src/index.js",
6
6
  "license": "MIT",
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
  }