eyevinn-channel-engine 4.0.4 → 4.0.5

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.
@@ -1083,66 +1083,69 @@ var Session = /** @class */ (function () {
1083
1083
  _d.vodMediaSeqAudio = _o.sent();
1084
1084
  _o.label = 17;
1085
1085
  case 17:
1086
- if (!(sessionState.vodMediaSeqVideo >= currentVod.getLiveMediaSequencesCount() - 1)) return [3 /*break*/, 21];
1086
+ if (!(sessionState.vodMediaSeqVideo >= currentVod.getLiveMediaSequencesCount() - 1)) return [3 /*break*/, 20];
1087
1087
  _e = sessionState;
1088
1088
  return [4 /*yield*/, this._sessionState.set("vodMediaSeqVideo", currentVod.getLiveMediaSequencesCount() - 1)];
1089
1089
  case 18:
1090
1090
  _e.vodMediaSeqVideo = _o.sent();
1091
1091
  _f = sessionState;
1092
- return [4 /*yield*/, this._sessionState.set("vodMediaSeqAudio", currentVod.getLiveMediaSequencesCount("audio") - 1)];
1093
- case 19:
1094
- _f.vodMediaSeqAudio = _o.sent();
1095
- _g = sessionState;
1096
1092
  return [4 /*yield*/, this._sessionState.set("state", SessionState.VOD_NEXT_INIT)];
1093
+ case 19:
1094
+ _f.state = _o.sent();
1095
+ _o.label = 20;
1097
1096
  case 20:
1098
- _g.state = _o.sent();
1099
- _o.label = 21;
1097
+ if (!(sessionState.vodMediaSeqAudio >= currentVod.getLiveMediaSequencesCount("audio") - 1)) return [3 /*break*/, 22];
1098
+ _g = sessionState;
1099
+ return [4 /*yield*/, this._sessionState.set("vodMediaSeqAudio", currentVod.getLiveMediaSequencesCount("audio") - 1)];
1100
1100
  case 21:
1101
- if (!this.isSwitchingBackToV2L) return [3 /*break*/, 23];
1101
+ _g.vodMediaSeqAudio = _o.sent();
1102
+ _o.label = 22;
1103
+ case 22:
1104
+ if (!this.isSwitchingBackToV2L) return [3 /*break*/, 24];
1102
1105
  _h = sessionState;
1103
1106
  return [4 /*yield*/, this._sessionState.set("state", SessionState.VOD_RELOAD_INIT)];
1104
- case 22:
1107
+ case 23:
1105
1108
  _h.state = _o.sent();
1106
1109
  this.isSwitchingBackToV2L = false;
1107
- _o.label = 23;
1108
- case 23:
1110
+ _o.label = 24;
1111
+ case 24:
1109
1112
  _j = playheadState;
1110
1113
  return [4 /*yield*/, this._playheadState.set("mediaSeq", sessionState.mediaSeq)];
1111
- case 24:
1114
+ case 25:
1112
1115
  _j.mediaSeq = _o.sent();
1113
1116
  _k = playheadState;
1114
1117
  return [4 /*yield*/, this._playheadState.set("mediaSeqAudio", sessionState.mediaSeqAudio)];
1115
- case 25:
1118
+ case 26:
1116
1119
  _k.mediaSeqAudio = _o.sent();
1117
1120
  _l = playheadState;
1118
1121
  return [4 /*yield*/, this._playheadState.set("vodMediaSeqVideo", sessionState.vodMediaSeqVideo)];
1119
- case 26:
1122
+ case 27:
1120
1123
  _l.vodMediaSeqVideo = _o.sent();
1121
1124
  _m = playheadState;
1122
1125
  return [4 /*yield*/, this._playheadState.set("vodMediaSeqAudio", sessionState.vodMediaSeqAudio)];
1123
- case 27:
1126
+ case 28:
1124
1127
  _m.vodMediaSeqAudio = _o.sent();
1125
1128
  if (currentVod.sequenceAlwaysContainNewSegments) {
1126
1129
  mediaSequenceValue = currentVod.mediaSequenceValues[playheadState.vodMediaSeqVideo];
1127
1130
  debug("[".concat(this._sessionId, "]: Session can now serve mseq={").concat(playheadState.mediaSeq + mediaSequenceValue, "}"));
1128
1131
  }
1129
1132
  debug("[".concat(this._sessionId, "]: INCREMENT (mseq=").concat(playheadState.mediaSeq + playheadState.vodMediaSeqVideo, ") vodMediaSeq=(").concat(playheadState.vodMediaSeqVideo, "_").concat(playheadState.vodMediaSeqAudio, " of ").concat(currentVod.getLiveMediaSequencesCount(), "_").concat(currentVod.getLiveMediaSequencesCount("audio"), ")"));
1130
- if (!(playheadState.vodMediaSeqVideo < 2 || playheadState.mediaSeq !== this.prevMediaSeqOffset.video)) return [3 /*break*/, 32];
1133
+ if (!(playheadState.vodMediaSeqVideo < 2 || playheadState.mediaSeq !== this.prevMediaSeqOffset.video)) return [3 /*break*/, 33];
1131
1134
  debug("[".concat(this._sessionId, "]: current[").concat(playheadState.vodMediaSeqVideo, "]_prev[").concat(this.prevVodMediaSeq.video, "]"));
1132
1135
  debug("[".concat(this._sessionId, "]: current-offset[").concat(playheadState.mediaSeq, "]_prev-offset[").concat(this.prevMediaSeqOffset.video, "]"));
1133
1136
  if (playheadState.vodMediaSeqVideo < this.prevVodMediaSeq.video || playheadState.mediaSeq !== this.prevMediaSeqOffset.video) {
1134
1137
  this.isAllowedToClearVodCache = true;
1135
1138
  }
1136
- if (!(!isLeader && this.isAllowedToClearVodCache)) return [3 /*break*/, 31];
1139
+ if (!(!isLeader && this.isAllowedToClearVodCache)) return [3 /*break*/, 32];
1137
1140
  debug("[".concat(this._sessionId, "]: Not a leader and have just set 'playheadState.vodMediaSeqVideo' to 0|1. Invalidate cache to ensure having the correct VOD."));
1138
1141
  return [4 /*yield*/, this._sessionState.clearCurrentVodCache()];
1139
- case 28:
1142
+ case 29:
1140
1143
  _o.sent();
1141
1144
  return [4 /*yield*/, this._sessionState.getCurrentVod()];
1142
- case 29:
1145
+ case 30:
1143
1146
  currentVod = _o.sent();
1144
1147
  return [4 /*yield*/, this._playheadState.get("diffCompensation")];
1145
- case 30:
1148
+ case 31:
1146
1149
  diffMs = _o.sent();
1147
1150
  if (diffMs) {
1148
1151
  this.diffCompensation = diffMs;
@@ -1156,12 +1159,12 @@ var Session = /** @class */ (function () {
1156
1159
  }
1157
1160
  }
1158
1161
  this.isAllowedToClearVodCache = false;
1159
- _o.label = 31;
1160
- case 31: return [3 /*break*/, 33];
1161
- case 32:
1162
- this.isAllowedToClearVodCache = true;
1163
- _o.label = 33;
1162
+ _o.label = 32;
1163
+ case 32: return [3 /*break*/, 34];
1164
1164
  case 33:
1165
+ this.isAllowedToClearVodCache = true;
1166
+ _o.label = 34;
1167
+ case 34:
1165
1168
  // Update Value for Previous Sequence
1166
1169
  this.prevVodMediaSeq.video = playheadState.vodMediaSeqVideo;
1167
1170
  this.prevMediaSeqOffset.video = playheadState.mediaSeq;
@@ -1171,7 +1174,7 @@ var Session = /** @class */ (function () {
1171
1174
  }
1172
1175
  m3u8 = currentVod.getLiveMediaSequences(playheadState.mediaSeq, 180000, playheadState.vodMediaSeqVideo, sessionState.discSeq);
1173
1176
  return [4 /*yield*/, this._playheadState.setLastM3u8(m3u8)];
1174
- case 34:
1177
+ case 35:
1175
1178
  _o.sent();
1176
1179
  return [2 /*return*/, m3u8];
1177
1180
  }
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eyevinn-channel-engine",
3
- "version": "4.0.4",
3
+ "version": "4.0.5",
4
4
  "description": "OTT TV Channel Engine",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/engine/session.js CHANGED
@@ -779,10 +779,13 @@ class Session {
779
779
 
780
780
  if (sessionState.vodMediaSeqVideo >= currentVod.getLiveMediaSequencesCount() - 1) {
781
781
  sessionState.vodMediaSeqVideo = await this._sessionState.set("vodMediaSeqVideo", currentVod.getLiveMediaSequencesCount() - 1);
782
- sessionState.vodMediaSeqAudio = await this._sessionState.set("vodMediaSeqAudio", currentVod.getLiveMediaSequencesCount("audio") - 1);
783
782
  sessionState.state = await this._sessionState.set("state", SessionState.VOD_NEXT_INIT);
784
783
  }
785
784
 
785
+ if (sessionState.vodMediaSeqAudio >= currentVod.getLiveMediaSequencesCount("audio") - 1) {
786
+ sessionState.vodMediaSeqAudio = await this._sessionState.set("vodMediaSeqAudio", currentVod.getLiveMediaSequencesCount("audio") - 1);
787
+ }
788
+
786
789
  if (this.isSwitchingBackToV2L) {
787
790
  sessionState.state = await this._sessionState.set("state", SessionState.VOD_RELOAD_INIT);
788
791
  this.isSwitchingBackToV2L = false;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eyevinn-channel-engine",
3
- "version": "4.0.4",
3
+ "version": "4.0.5",
4
4
  "description": "OTT TV Channel Engine",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",