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.
- package/dist/engine/session.js +29 -26
- package/dist/package.json +1 -1
- package/engine/session.js +4 -1
- package/package.json +1 -1
package/dist/engine/session.js
CHANGED
|
@@ -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*/,
|
|
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
|
-
|
|
1099
|
-
|
|
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
|
-
|
|
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
|
|
1107
|
+
case 23:
|
|
1105
1108
|
_h.state = _o.sent();
|
|
1106
1109
|
this.isSwitchingBackToV2L = false;
|
|
1107
|
-
_o.label =
|
|
1108
|
-
case
|
|
1110
|
+
_o.label = 24;
|
|
1111
|
+
case 24:
|
|
1109
1112
|
_j = playheadState;
|
|
1110
1113
|
return [4 /*yield*/, this._playheadState.set("mediaSeq", sessionState.mediaSeq)];
|
|
1111
|
-
case
|
|
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
|
|
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
|
|
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
|
|
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*/,
|
|
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*/,
|
|
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
|
|
1142
|
+
case 29:
|
|
1140
1143
|
_o.sent();
|
|
1141
1144
|
return [4 /*yield*/, this._sessionState.getCurrentVod()];
|
|
1142
|
-
case
|
|
1145
|
+
case 30:
|
|
1143
1146
|
currentVod = _o.sent();
|
|
1144
1147
|
return [4 /*yield*/, this._playheadState.get("diffCompensation")];
|
|
1145
|
-
case
|
|
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 =
|
|
1160
|
-
case
|
|
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
|
|
1177
|
+
case 35:
|
|
1175
1178
|
_o.sent();
|
|
1176
1179
|
return [2 /*return*/, m3u8];
|
|
1177
1180
|
}
|
package/dist/package.json
CHANGED
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;
|