hls.js 1.6.0-beta.1.0.canary.10750 → 1.6.0-beta.1.0.canary.10751
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/hls.d.mts +1 -1
- package/dist/hls.d.ts +1 -1
- package/dist/hls.js +28 -22
- package/dist/hls.js.d.ts +1 -1
- package/dist/hls.js.map +1 -1
- package/dist/hls.light.js +28 -22
- package/dist/hls.light.js.map +1 -1
- package/dist/hls.light.min.js +1 -1
- package/dist/hls.light.min.js.map +1 -1
- package/dist/hls.light.mjs +27 -21
- package/dist/hls.light.mjs.map +1 -1
- package/dist/hls.min.js +1 -1
- package/dist/hls.min.js.map +1 -1
- package/dist/hls.mjs +27 -21
- package/dist/hls.mjs.map +1 -1
- package/dist/hls.worker.js +1 -1
- package/dist/hls.worker.js.map +1 -1
- package/package.json +1 -1
- package/src/controller/base-stream-controller.ts +29 -21
- package/src/controller/stream-controller.ts +5 -4
- package/src/demux/transmuxer-interface.ts +4 -2
- package/src/demux/transmuxer.ts +1 -1
package/dist/hls.light.js
CHANGED
@@ -1028,7 +1028,7 @@
|
|
1028
1028
|
// Some browsers don't allow to use bind on console object anyway
|
1029
1029
|
// fallback to default if needed
|
1030
1030
|
try {
|
1031
|
-
newLogger.log("Debug logs enabled for \"" + context + "\" in hls.js version " + "1.6.0-beta.1.0.canary.
|
1031
|
+
newLogger.log("Debug logs enabled for \"" + context + "\" in hls.js version " + "1.6.0-beta.1.0.canary.10751");
|
1032
1032
|
} catch (e) {
|
1033
1033
|
/* log fn threw an exception. All logger methods are no-ops. */
|
1034
1034
|
return createLogger();
|
@@ -14129,7 +14129,7 @@
|
|
14129
14129
|
var _this$currentTransmux = this.currentTransmuxState,
|
14130
14130
|
accurateTimeOffset = _this$currentTransmux.accurateTimeOffset,
|
14131
14131
|
timeOffset = _this$currentTransmux.timeOffset;
|
14132
|
-
this.logger.log("[transmuxer.ts]: Flushed " + this.id + " sn: " + chunkMeta.sn + (chunkMeta.part > -1 ? '
|
14132
|
+
this.logger.log("[transmuxer.ts]: Flushed " + this.id + " sn: " + chunkMeta.sn + (chunkMeta.part > -1 ? ' part: ' + chunkMeta.part : '') + " of " + (this.id === PlaylistLevelType.MAIN ? 'level' : 'track') + " " + chunkMeta.level);
|
14133
14133
|
var remuxResult = this.remuxer.remux(audioTrack, videoTrack, id3Track, textTrack, timeOffset, accurateTimeOffset, true, this.id);
|
14134
14134
|
transmuxResults.push({
|
14135
14135
|
remuxResult: remuxResult,
|
@@ -18034,23 +18034,25 @@
|
|
18034
18034
|
this.startFragRequested = true;
|
18035
18035
|
this._loadFragForPlayback(frag, level, targetBufferTime);
|
18036
18036
|
};
|
18037
|
-
_proto._loadFragForPlayback = function _loadFragForPlayback(
|
18037
|
+
_proto._loadFragForPlayback = function _loadFragForPlayback(fragment, level, targetBufferTime) {
|
18038
18038
|
var _this3 = this;
|
18039
18039
|
var progressCallback = function progressCallback(data) {
|
18040
|
+
var frag = data.frag;
|
18040
18041
|
if (_this3.fragContextChanged(frag)) {
|
18041
|
-
_this3.warn("
|
18042
|
+
_this3.warn(frag.type + " sn: " + frag.sn + (data.part ? ' part: ' + data.part.index : '') + " of " + _this3.fragInfo(frag, false, data.part) + ") was dropped during download.");
|
18042
18043
|
_this3.fragmentTracker.removeFragment(frag);
|
18043
18044
|
return;
|
18044
18045
|
}
|
18045
18046
|
frag.stats.chunkCount++;
|
18046
18047
|
_this3._handleFragmentLoadProgress(data);
|
18047
18048
|
};
|
18048
|
-
this._doFragLoad(
|
18049
|
+
this._doFragLoad(fragment, level, targetBufferTime, progressCallback).then(function (data) {
|
18049
18050
|
if (!data) {
|
18050
18051
|
// if we're here we probably needed to backtrack or are waiting for more parts
|
18051
18052
|
return;
|
18052
18053
|
}
|
18053
18054
|
var state = _this3.state;
|
18055
|
+
var frag = data.frag;
|
18054
18056
|
if (_this3.fragContextChanged(frag)) {
|
18055
18057
|
if (state === State.FRAG_LOADING || !_this3.fragCurrent && state === State.PARSING) {
|
18056
18058
|
_this3.fragmentTracker.removeFragment(frag);
|
@@ -18070,7 +18072,7 @@
|
|
18070
18072
|
return;
|
18071
18073
|
}
|
18072
18074
|
_this3.warn("Frag error: " + ((reason == null ? void 0 : reason.message) || reason));
|
18073
|
-
_this3.resetFragmentLoading(
|
18075
|
+
_this3.resetFragmentLoading(fragment);
|
18074
18076
|
});
|
18075
18077
|
};
|
18076
18078
|
_proto.clearTrackerIfNeeded = function clearTrackerIfNeeded(frag) {
|
@@ -18135,16 +18137,18 @@
|
|
18135
18137
|
};
|
18136
18138
|
this.hls.trigger(Events.BUFFER_FLUSHING, flushScope);
|
18137
18139
|
};
|
18138
|
-
_proto._loadInitSegment = function _loadInitSegment(
|
18140
|
+
_proto._loadInitSegment = function _loadInitSegment(fragment, level) {
|
18139
18141
|
var _this4 = this;
|
18140
|
-
this._doFragLoad(
|
18141
|
-
|
18142
|
+
this._doFragLoad(fragment, level).then(function (data) {
|
18143
|
+
var frag = data == null ? void 0 : data.frag;
|
18144
|
+
if (!frag || _this4.fragContextChanged(frag) || !_this4.levels) {
|
18142
18145
|
throw new Error('init load aborted');
|
18143
18146
|
}
|
18144
18147
|
return data;
|
18145
18148
|
}).then(function (data) {
|
18146
18149
|
var hls = _this4.hls;
|
18147
|
-
var
|
18150
|
+
var frag = data.frag,
|
18151
|
+
payload = data.payload;
|
18148
18152
|
var decryptData = frag.decryptdata;
|
18149
18153
|
|
18150
18154
|
// check to see if the payload needs to be decrypted
|
@@ -18181,7 +18185,7 @@
|
|
18181
18185
|
return;
|
18182
18186
|
}
|
18183
18187
|
_this4.warn(reason);
|
18184
|
-
_this4.resetFragmentLoading(
|
18188
|
+
_this4.resetFragmentLoading(fragment);
|
18185
18189
|
});
|
18186
18190
|
};
|
18187
18191
|
_proto.completeInitSegmentLoad = function completeInitSegmentLoad(data) {
|
@@ -18204,7 +18208,7 @@
|
|
18204
18208
|
};
|
18205
18209
|
_proto.fragBufferedComplete = function fragBufferedComplete(frag, part) {
|
18206
18210
|
var media = this.mediaBuffer ? this.mediaBuffer : this.media;
|
18207
|
-
this.log("Buffered " + frag.type + " sn: " + frag.sn + (part ? ' part: ' + part.index : '') + " of " + this.fragInfo(frag) + " > buffer:" + (media ? TimeRanges.toString(BufferHelper.getBuffered(media)) : '(detached)') + ")");
|
18211
|
+
this.log("Buffered " + frag.type + " sn: " + frag.sn + (part ? ' part: ' + part.index : '') + " of " + this.fragInfo(frag, false, part) + " > buffer:" + (media ? TimeRanges.toString(BufferHelper.getBuffered(media)) : '(detached)') + ")");
|
18208
18212
|
if (frag.sn !== 'initSegment') {
|
18209
18213
|
var _this$levels;
|
18210
18214
|
if (frag.type !== PlaylistLevelType.SUBTITLE) {
|
@@ -18296,7 +18300,8 @@
|
|
18296
18300
|
var partIndex = this.getNextPart(partList, frag, targetBufferTime);
|
18297
18301
|
if (partIndex > -1) {
|
18298
18302
|
var part = partList[partIndex];
|
18299
|
-
|
18303
|
+
frag = this.fragCurrent = part.fragment;
|
18304
|
+
this.log("Loading " + frag.type + " sn: " + frag.sn + " part: " + part.index + " (" + partIndex + "/" + (partList.length - 1) + ") of " + this.fragInfo(frag, false, part) + ") cc: " + frag.cc + " [" + details.startSN + "-" + details.endSN + "], target: " + parseFloat(targetBufferTime.toFixed(3)));
|
18300
18305
|
this.nextLoadPosition = part.start + part.duration;
|
18301
18306
|
this.state = State.FRAG_LOADING;
|
18302
18307
|
var _result;
|
@@ -19084,7 +19089,7 @@
|
|
19084
19089
|
// For this error fallthrough. Marking parsed will allow advancing to next fragment.
|
19085
19090
|
}
|
19086
19091
|
this.state = State.PARSED;
|
19087
|
-
this.log("Parsed " + frag.type + " sn: " + frag.sn + (part ? ' part: ' + part.index : '') + " of " + this.fragInfo(frag) + ")");
|
19092
|
+
this.log("Parsed " + frag.type + " sn: " + frag.sn + (part ? ' part: ' + part.index : '') + " of " + this.fragInfo(frag, false, part) + ")");
|
19088
19093
|
this.hls.trigger(Events.FRAG_PARSED, {
|
19089
19094
|
frag: frag,
|
19090
19095
|
part: part
|
@@ -19093,12 +19098,12 @@
|
|
19093
19098
|
_proto.playlistLabel = function playlistLabel() {
|
19094
19099
|
return this.playlistType === PlaylistLevelType.MAIN ? 'level' : 'track';
|
19095
19100
|
};
|
19096
|
-
_proto.fragInfo = function fragInfo(frag, pts) {
|
19101
|
+
_proto.fragInfo = function fragInfo(frag, pts, part) {
|
19097
19102
|
var _ref3, _ref4;
|
19098
19103
|
if (pts === void 0) {
|
19099
19104
|
pts = true;
|
19100
19105
|
}
|
19101
|
-
return this.playlistLabel() + " " + frag.level + " (frag:[" + ((_ref3 = pts ? frag.startPTS : frag.start) != null ? _ref3 : NaN).toFixed(3) + "-" + ((_ref4 = pts ? frag.endPTS : frag.end) != null ? _ref4 : NaN).toFixed(3) + "]";
|
19106
|
+
return this.playlistLabel() + " " + frag.level + " (" + (part ? 'part' : 'frag') + ":[" + ((_ref3 = pts && !part ? frag.startPTS : (part || frag).start) != null ? _ref3 : NaN).toFixed(3) + "-" + ((_ref4 = pts && !part ? frag.endPTS : (part || frag).end) != null ? _ref4 : NaN).toFixed(3) + "]" + (part && frag.type === 'main' ? 'INDEPENDENT=' + (part.independent ? 'YES' : 'NO') : '');
|
19102
19107
|
};
|
19103
19108
|
_proto.resetTransmuxer = function resetTransmuxer() {
|
19104
19109
|
var _this$transmuxer2;
|
@@ -19644,7 +19649,7 @@
|
|
19644
19649
|
return !remuxResult.audio && !remuxResult.video && !remuxResult.text && !remuxResult.id3 && !remuxResult.initSegment;
|
19645
19650
|
}
|
19646
19651
|
|
19647
|
-
var version = "1.6.0-beta.1.0.canary.
|
19652
|
+
var version = "1.6.0-beta.1.0.canary.10751";
|
19648
19653
|
|
19649
19654
|
// ensure the worker ends up in the bundle
|
19650
19655
|
// If the worker should not be included this gets aliased to empty.js
|
@@ -19916,7 +19921,7 @@
|
|
19916
19921
|
var initSegmentChange = !(lastFrag && ((_frag$initSegment = frag.initSegment) == null ? void 0 : _frag$initSegment.url) === ((_lastFrag$initSegment = lastFrag.initSegment) == null ? void 0 : _lastFrag$initSegment.url));
|
19917
19922
|
var state = new TransmuxState(discontinuity, contiguous, accurateTimeOffset, trackSwitch, timeOffset, initSegmentChange);
|
19918
19923
|
if (!contiguous || discontinuity || initSegmentChange) {
|
19919
|
-
this.hls.logger.log("[transmuxer-interface
|
19924
|
+
this.hls.logger.log("[transmuxer-interface]: Starting new transmux session for " + frag.type + " sn: " + chunkMeta.sn + (chunkMeta.part > -1 ? ' part: ' + chunkMeta.part : '') + " " + (this.id === PlaylistLevelType.MAIN ? 'level' : 'track') + ": " + chunkMeta.level + " id: " + chunkMeta.id + "\n discontinuity: " + discontinuity + "\n trackSwitch: " + trackSwitch + "\n contiguous: " + contiguous + "\n accurateTimeOffset: " + accurateTimeOffset + "\n timeOffset: " + timeOffset + "\n initSegmentChange: " + initSegmentChange);
|
19920
19925
|
var config = new TransmuxConfig(audioCodec, videoCodec, initSegmentData, duration, defaultInitPTS);
|
19921
19926
|
this.configureTransmuxer(config);
|
19922
19927
|
}
|
@@ -20889,12 +20894,13 @@
|
|
20889
20894
|
}
|
20890
20895
|
return audioCodec;
|
20891
20896
|
};
|
20892
|
-
_proto._loadBitrateTestFrag = function _loadBitrateTestFrag(
|
20897
|
+
_proto._loadBitrateTestFrag = function _loadBitrateTestFrag(fragment, level) {
|
20893
20898
|
var _this2 = this;
|
20894
|
-
|
20895
|
-
this._doFragLoad(
|
20899
|
+
fragment.bitrateTest = true;
|
20900
|
+
this._doFragLoad(fragment, level).then(function (data) {
|
20896
20901
|
var hls = _this2.hls;
|
20897
|
-
|
20902
|
+
var frag = data == null ? void 0 : data.frag;
|
20903
|
+
if (!frag || _this2.fragContextChanged(frag)) {
|
20898
20904
|
return;
|
20899
20905
|
}
|
20900
20906
|
level.fragmentError = 0;
|