hls.js 1.6.0-beta.1.0.canary.10749 → 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 +2 -1
- package/dist/hls.d.ts +2 -1
- package/dist/hls.js +31 -23
- package/dist/hls.js.d.ts +2 -1
- package/dist/hls.js.map +1 -1
- package/dist/hls.light.js +31 -23
- 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 +30 -22
- 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 +30 -22
- 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/config.ts +2 -0
- package/src/controller/base-stream-controller.ts +29 -21
- package/src/controller/cap-level-controller.ts +1 -1
- 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();
|
@@ -5425,7 +5425,7 @@
|
|
5425
5425
|
/* no-op */
|
5426
5426
|
}
|
5427
5427
|
}
|
5428
|
-
return pixelRatio;
|
5428
|
+
return Math.min(pixelRatio, this.hls.config.maxDevicePixelRatio);
|
5429
5429
|
}
|
5430
5430
|
}]);
|
5431
5431
|
}();
|
@@ -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,
|
@@ -14810,6 +14810,8 @@
|
|
14810
14810
|
// used by cap-level-controller
|
14811
14811
|
ignoreDevicePixelRatio: false,
|
14812
14812
|
// used by cap-level-controller
|
14813
|
+
maxDevicePixelRatio: Number.POSITIVE_INFINITY,
|
14814
|
+
// used by cap-level-controller
|
14813
14815
|
preferManagedMediaSource: true,
|
14814
14816
|
initialLiveManifestSize: 1,
|
14815
14817
|
// used by stream-controller
|
@@ -18032,23 +18034,25 @@
|
|
18032
18034
|
this.startFragRequested = true;
|
18033
18035
|
this._loadFragForPlayback(frag, level, targetBufferTime);
|
18034
18036
|
};
|
18035
|
-
_proto._loadFragForPlayback = function _loadFragForPlayback(
|
18037
|
+
_proto._loadFragForPlayback = function _loadFragForPlayback(fragment, level, targetBufferTime) {
|
18036
18038
|
var _this3 = this;
|
18037
18039
|
var progressCallback = function progressCallback(data) {
|
18040
|
+
var frag = data.frag;
|
18038
18041
|
if (_this3.fragContextChanged(frag)) {
|
18039
|
-
_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.");
|
18040
18043
|
_this3.fragmentTracker.removeFragment(frag);
|
18041
18044
|
return;
|
18042
18045
|
}
|
18043
18046
|
frag.stats.chunkCount++;
|
18044
18047
|
_this3._handleFragmentLoadProgress(data);
|
18045
18048
|
};
|
18046
|
-
this._doFragLoad(
|
18049
|
+
this._doFragLoad(fragment, level, targetBufferTime, progressCallback).then(function (data) {
|
18047
18050
|
if (!data) {
|
18048
18051
|
// if we're here we probably needed to backtrack or are waiting for more parts
|
18049
18052
|
return;
|
18050
18053
|
}
|
18051
18054
|
var state = _this3.state;
|
18055
|
+
var frag = data.frag;
|
18052
18056
|
if (_this3.fragContextChanged(frag)) {
|
18053
18057
|
if (state === State.FRAG_LOADING || !_this3.fragCurrent && state === State.PARSING) {
|
18054
18058
|
_this3.fragmentTracker.removeFragment(frag);
|
@@ -18068,7 +18072,7 @@
|
|
18068
18072
|
return;
|
18069
18073
|
}
|
18070
18074
|
_this3.warn("Frag error: " + ((reason == null ? void 0 : reason.message) || reason));
|
18071
|
-
_this3.resetFragmentLoading(
|
18075
|
+
_this3.resetFragmentLoading(fragment);
|
18072
18076
|
});
|
18073
18077
|
};
|
18074
18078
|
_proto.clearTrackerIfNeeded = function clearTrackerIfNeeded(frag) {
|
@@ -18133,16 +18137,18 @@
|
|
18133
18137
|
};
|
18134
18138
|
this.hls.trigger(Events.BUFFER_FLUSHING, flushScope);
|
18135
18139
|
};
|
18136
|
-
_proto._loadInitSegment = function _loadInitSegment(
|
18140
|
+
_proto._loadInitSegment = function _loadInitSegment(fragment, level) {
|
18137
18141
|
var _this4 = this;
|
18138
|
-
this._doFragLoad(
|
18139
|
-
|
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) {
|
18140
18145
|
throw new Error('init load aborted');
|
18141
18146
|
}
|
18142
18147
|
return data;
|
18143
18148
|
}).then(function (data) {
|
18144
18149
|
var hls = _this4.hls;
|
18145
|
-
var
|
18150
|
+
var frag = data.frag,
|
18151
|
+
payload = data.payload;
|
18146
18152
|
var decryptData = frag.decryptdata;
|
18147
18153
|
|
18148
18154
|
// check to see if the payload needs to be decrypted
|
@@ -18179,7 +18185,7 @@
|
|
18179
18185
|
return;
|
18180
18186
|
}
|
18181
18187
|
_this4.warn(reason);
|
18182
|
-
_this4.resetFragmentLoading(
|
18188
|
+
_this4.resetFragmentLoading(fragment);
|
18183
18189
|
});
|
18184
18190
|
};
|
18185
18191
|
_proto.completeInitSegmentLoad = function completeInitSegmentLoad(data) {
|
@@ -18202,7 +18208,7 @@
|
|
18202
18208
|
};
|
18203
18209
|
_proto.fragBufferedComplete = function fragBufferedComplete(frag, part) {
|
18204
18210
|
var media = this.mediaBuffer ? this.mediaBuffer : this.media;
|
18205
|
-
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)') + ")");
|
18206
18212
|
if (frag.sn !== 'initSegment') {
|
18207
18213
|
var _this$levels;
|
18208
18214
|
if (frag.type !== PlaylistLevelType.SUBTITLE) {
|
@@ -18294,7 +18300,8 @@
|
|
18294
18300
|
var partIndex = this.getNextPart(partList, frag, targetBufferTime);
|
18295
18301
|
if (partIndex > -1) {
|
18296
18302
|
var part = partList[partIndex];
|
18297
|
-
|
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)));
|
18298
18305
|
this.nextLoadPosition = part.start + part.duration;
|
18299
18306
|
this.state = State.FRAG_LOADING;
|
18300
18307
|
var _result;
|
@@ -19082,7 +19089,7 @@
|
|
19082
19089
|
// For this error fallthrough. Marking parsed will allow advancing to next fragment.
|
19083
19090
|
}
|
19084
19091
|
this.state = State.PARSED;
|
19085
|
-
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) + ")");
|
19086
19093
|
this.hls.trigger(Events.FRAG_PARSED, {
|
19087
19094
|
frag: frag,
|
19088
19095
|
part: part
|
@@ -19091,12 +19098,12 @@
|
|
19091
19098
|
_proto.playlistLabel = function playlistLabel() {
|
19092
19099
|
return this.playlistType === PlaylistLevelType.MAIN ? 'level' : 'track';
|
19093
19100
|
};
|
19094
|
-
_proto.fragInfo = function fragInfo(frag, pts) {
|
19101
|
+
_proto.fragInfo = function fragInfo(frag, pts, part) {
|
19095
19102
|
var _ref3, _ref4;
|
19096
19103
|
if (pts === void 0) {
|
19097
19104
|
pts = true;
|
19098
19105
|
}
|
19099
|
-
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') : '');
|
19100
19107
|
};
|
19101
19108
|
_proto.resetTransmuxer = function resetTransmuxer() {
|
19102
19109
|
var _this$transmuxer2;
|
@@ -19642,7 +19649,7 @@
|
|
19642
19649
|
return !remuxResult.audio && !remuxResult.video && !remuxResult.text && !remuxResult.id3 && !remuxResult.initSegment;
|
19643
19650
|
}
|
19644
19651
|
|
19645
|
-
var version = "1.6.0-beta.1.0.canary.
|
19652
|
+
var version = "1.6.0-beta.1.0.canary.10751";
|
19646
19653
|
|
19647
19654
|
// ensure the worker ends up in the bundle
|
19648
19655
|
// If the worker should not be included this gets aliased to empty.js
|
@@ -19914,7 +19921,7 @@
|
|
19914
19921
|
var initSegmentChange = !(lastFrag && ((_frag$initSegment = frag.initSegment) == null ? void 0 : _frag$initSegment.url) === ((_lastFrag$initSegment = lastFrag.initSegment) == null ? void 0 : _lastFrag$initSegment.url));
|
19915
19922
|
var state = new TransmuxState(discontinuity, contiguous, accurateTimeOffset, trackSwitch, timeOffset, initSegmentChange);
|
19916
19923
|
if (!contiguous || discontinuity || initSegmentChange) {
|
19917
|
-
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);
|
19918
19925
|
var config = new TransmuxConfig(audioCodec, videoCodec, initSegmentData, duration, defaultInitPTS);
|
19919
19926
|
this.configureTransmuxer(config);
|
19920
19927
|
}
|
@@ -20887,12 +20894,13 @@
|
|
20887
20894
|
}
|
20888
20895
|
return audioCodec;
|
20889
20896
|
};
|
20890
|
-
_proto._loadBitrateTestFrag = function _loadBitrateTestFrag(
|
20897
|
+
_proto._loadBitrateTestFrag = function _loadBitrateTestFrag(fragment, level) {
|
20891
20898
|
var _this2 = this;
|
20892
|
-
|
20893
|
-
this._doFragLoad(
|
20899
|
+
fragment.bitrateTest = true;
|
20900
|
+
this._doFragLoad(fragment, level).then(function (data) {
|
20894
20901
|
var hls = _this2.hls;
|
20895
|
-
|
20902
|
+
var frag = data == null ? void 0 : data.frag;
|
20903
|
+
if (!frag || _this2.fragContextChanged(frag)) {
|
20896
20904
|
return;
|
20897
20905
|
}
|
20898
20906
|
level.fragmentError = 0;
|