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.d.mts
CHANGED
@@ -328,7 +328,7 @@ export declare class BaseStreamController extends TaskLoop implements NetworkCom
|
|
328
328
|
protected clearTrackerIfNeeded(frag: Fragment): void;
|
329
329
|
protected checkLiveUpdate(details: LevelDetails): void;
|
330
330
|
protected flushMainBuffer(startOffset: number, endOffset: number, type?: SourceBufferName | null): void;
|
331
|
-
protected _loadInitSegment(
|
331
|
+
protected _loadInitSegment(fragment: Fragment, level: Level): void;
|
332
332
|
private completeInitSegmentLoad;
|
333
333
|
protected fragContextChanged(frag: Fragment | null): boolean;
|
334
334
|
protected fragBufferedComplete(frag: Fragment, part: Part | null): void;
|
package/dist/hls.d.ts
CHANGED
@@ -328,7 +328,7 @@ export declare class BaseStreamController extends TaskLoop implements NetworkCom
|
|
328
328
|
protected clearTrackerIfNeeded(frag: Fragment): void;
|
329
329
|
protected checkLiveUpdate(details: LevelDetails): void;
|
330
330
|
protected flushMainBuffer(startOffset: number, endOffset: number, type?: SourceBufferName | null): void;
|
331
|
-
protected _loadInitSegment(
|
331
|
+
protected _loadInitSegment(fragment: Fragment, level: Level): void;
|
332
332
|
private completeInitSegmentLoad;
|
333
333
|
protected fragContextChanged(frag: Fragment | null): boolean;
|
334
334
|
protected fragBufferedComplete(frag: Fragment, part: Part | null): void;
|
package/dist/hls.js
CHANGED
@@ -1057,7 +1057,7 @@
|
|
1057
1057
|
// Some browsers don't allow to use bind on console object anyway
|
1058
1058
|
// fallback to default if needed
|
1059
1059
|
try {
|
1060
|
-
newLogger.log("Debug logs enabled for \"" + context + "\" in hls.js version " + "1.6.0-beta.1.0.canary.
|
1060
|
+
newLogger.log("Debug logs enabled for \"" + context + "\" in hls.js version " + "1.6.0-beta.1.0.canary.10751");
|
1061
1061
|
} catch (e) {
|
1062
1062
|
/* log fn threw an exception. All logger methods are no-ops. */
|
1063
1063
|
return createLogger();
|
@@ -8977,23 +8977,25 @@
|
|
8977
8977
|
this.startFragRequested = true;
|
8978
8978
|
this._loadFragForPlayback(frag, level, targetBufferTime);
|
8979
8979
|
};
|
8980
|
-
_proto._loadFragForPlayback = function _loadFragForPlayback(
|
8980
|
+
_proto._loadFragForPlayback = function _loadFragForPlayback(fragment, level, targetBufferTime) {
|
8981
8981
|
var _this3 = this;
|
8982
8982
|
var progressCallback = function progressCallback(data) {
|
8983
|
+
var frag = data.frag;
|
8983
8984
|
if (_this3.fragContextChanged(frag)) {
|
8984
|
-
_this3.warn("
|
8985
|
+
_this3.warn(frag.type + " sn: " + frag.sn + (data.part ? ' part: ' + data.part.index : '') + " of " + _this3.fragInfo(frag, false, data.part) + ") was dropped during download.");
|
8985
8986
|
_this3.fragmentTracker.removeFragment(frag);
|
8986
8987
|
return;
|
8987
8988
|
}
|
8988
8989
|
frag.stats.chunkCount++;
|
8989
8990
|
_this3._handleFragmentLoadProgress(data);
|
8990
8991
|
};
|
8991
|
-
this._doFragLoad(
|
8992
|
+
this._doFragLoad(fragment, level, targetBufferTime, progressCallback).then(function (data) {
|
8992
8993
|
if (!data) {
|
8993
8994
|
// if we're here we probably needed to backtrack or are waiting for more parts
|
8994
8995
|
return;
|
8995
8996
|
}
|
8996
8997
|
var state = _this3.state;
|
8998
|
+
var frag = data.frag;
|
8997
8999
|
if (_this3.fragContextChanged(frag)) {
|
8998
9000
|
if (state === State.FRAG_LOADING || !_this3.fragCurrent && state === State.PARSING) {
|
8999
9001
|
_this3.fragmentTracker.removeFragment(frag);
|
@@ -9013,7 +9015,7 @@
|
|
9013
9015
|
return;
|
9014
9016
|
}
|
9015
9017
|
_this3.warn("Frag error: " + ((reason == null ? void 0 : reason.message) || reason));
|
9016
|
-
_this3.resetFragmentLoading(
|
9018
|
+
_this3.resetFragmentLoading(fragment);
|
9017
9019
|
});
|
9018
9020
|
};
|
9019
9021
|
_proto.clearTrackerIfNeeded = function clearTrackerIfNeeded(frag) {
|
@@ -9078,16 +9080,18 @@
|
|
9078
9080
|
};
|
9079
9081
|
this.hls.trigger(Events.BUFFER_FLUSHING, flushScope);
|
9080
9082
|
};
|
9081
|
-
_proto._loadInitSegment = function _loadInitSegment(
|
9083
|
+
_proto._loadInitSegment = function _loadInitSegment(fragment, level) {
|
9082
9084
|
var _this4 = this;
|
9083
|
-
this._doFragLoad(
|
9084
|
-
|
9085
|
+
this._doFragLoad(fragment, level).then(function (data) {
|
9086
|
+
var frag = data == null ? void 0 : data.frag;
|
9087
|
+
if (!frag || _this4.fragContextChanged(frag) || !_this4.levels) {
|
9085
9088
|
throw new Error('init load aborted');
|
9086
9089
|
}
|
9087
9090
|
return data;
|
9088
9091
|
}).then(function (data) {
|
9089
9092
|
var hls = _this4.hls;
|
9090
|
-
var
|
9093
|
+
var frag = data.frag,
|
9094
|
+
payload = data.payload;
|
9091
9095
|
var decryptData = frag.decryptdata;
|
9092
9096
|
|
9093
9097
|
// check to see if the payload needs to be decrypted
|
@@ -9124,7 +9128,7 @@
|
|
9124
9128
|
return;
|
9125
9129
|
}
|
9126
9130
|
_this4.warn(reason);
|
9127
|
-
_this4.resetFragmentLoading(
|
9131
|
+
_this4.resetFragmentLoading(fragment);
|
9128
9132
|
});
|
9129
9133
|
};
|
9130
9134
|
_proto.completeInitSegmentLoad = function completeInitSegmentLoad(data) {
|
@@ -9147,7 +9151,7 @@
|
|
9147
9151
|
};
|
9148
9152
|
_proto.fragBufferedComplete = function fragBufferedComplete(frag, part) {
|
9149
9153
|
var media = this.mediaBuffer ? this.mediaBuffer : this.media;
|
9150
|
-
this.log("Buffered " + frag.type + " sn: " + frag.sn + (part ? ' part: ' + part.index : '') + " of " + this.fragInfo(frag) + " > buffer:" + (media ? TimeRanges.toString(BufferHelper.getBuffered(media)) : '(detached)') + ")");
|
9154
|
+
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)') + ")");
|
9151
9155
|
if (frag.sn !== 'initSegment') {
|
9152
9156
|
var _this$levels;
|
9153
9157
|
if (frag.type !== PlaylistLevelType.SUBTITLE) {
|
@@ -9239,7 +9243,8 @@
|
|
9239
9243
|
var partIndex = this.getNextPart(partList, frag, targetBufferTime);
|
9240
9244
|
if (partIndex > -1) {
|
9241
9245
|
var part = partList[partIndex];
|
9242
|
-
|
9246
|
+
frag = this.fragCurrent = part.fragment;
|
9247
|
+
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)));
|
9243
9248
|
this.nextLoadPosition = part.start + part.duration;
|
9244
9249
|
this.state = State.FRAG_LOADING;
|
9245
9250
|
var _result;
|
@@ -10027,7 +10032,7 @@
|
|
10027
10032
|
// For this error fallthrough. Marking parsed will allow advancing to next fragment.
|
10028
10033
|
}
|
10029
10034
|
this.state = State.PARSED;
|
10030
|
-
this.log("Parsed " + frag.type + " sn: " + frag.sn + (part ? ' part: ' + part.index : '') + " of " + this.fragInfo(frag) + ")");
|
10035
|
+
this.log("Parsed " + frag.type + " sn: " + frag.sn + (part ? ' part: ' + part.index : '') + " of " + this.fragInfo(frag, false, part) + ")");
|
10031
10036
|
this.hls.trigger(Events.FRAG_PARSED, {
|
10032
10037
|
frag: frag,
|
10033
10038
|
part: part
|
@@ -10036,12 +10041,12 @@
|
|
10036
10041
|
_proto.playlistLabel = function playlistLabel() {
|
10037
10042
|
return this.playlistType === PlaylistLevelType.MAIN ? 'level' : 'track';
|
10038
10043
|
};
|
10039
|
-
_proto.fragInfo = function fragInfo(frag, pts) {
|
10044
|
+
_proto.fragInfo = function fragInfo(frag, pts, part) {
|
10040
10045
|
var _ref3, _ref4;
|
10041
10046
|
if (pts === void 0) {
|
10042
10047
|
pts = true;
|
10043
10048
|
}
|
10044
|
-
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) + "]";
|
10049
|
+
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') : '');
|
10045
10050
|
};
|
10046
10051
|
_proto.resetTransmuxer = function resetTransmuxer() {
|
10047
10052
|
var _this$transmuxer2;
|
@@ -15848,7 +15853,7 @@
|
|
15848
15853
|
var _this$currentTransmux = this.currentTransmuxState,
|
15849
15854
|
accurateTimeOffset = _this$currentTransmux.accurateTimeOffset,
|
15850
15855
|
timeOffset = _this$currentTransmux.timeOffset;
|
15851
|
-
this.logger.log("[transmuxer.ts]: Flushed " + this.id + " sn: " + chunkMeta.sn + (chunkMeta.part > -1 ? '
|
15856
|
+
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);
|
15852
15857
|
var remuxResult = this.remuxer.remux(audioTrack, videoTrack, id3Track, textTrack, timeOffset, accurateTimeOffset, true, this.id);
|
15853
15858
|
transmuxResults.push({
|
15854
15859
|
remuxResult: remuxResult,
|
@@ -16173,7 +16178,7 @@
|
|
16173
16178
|
return !remuxResult.audio && !remuxResult.video && !remuxResult.text && !remuxResult.id3 && !remuxResult.initSegment;
|
16174
16179
|
}
|
16175
16180
|
|
16176
|
-
var version = "1.6.0-beta.1.0.canary.
|
16181
|
+
var version = "1.6.0-beta.1.0.canary.10751";
|
16177
16182
|
|
16178
16183
|
// ensure the worker ends up in the bundle
|
16179
16184
|
// If the worker should not be included this gets aliased to empty.js
|
@@ -16445,7 +16450,7 @@
|
|
16445
16450
|
var initSegmentChange = !(lastFrag && ((_frag$initSegment = frag.initSegment) == null ? void 0 : _frag$initSegment.url) === ((_lastFrag$initSegment = lastFrag.initSegment) == null ? void 0 : _lastFrag$initSegment.url));
|
16446
16451
|
var state = new TransmuxState(discontinuity, contiguous, accurateTimeOffset, trackSwitch, timeOffset, initSegmentChange);
|
16447
16452
|
if (!contiguous || discontinuity || initSegmentChange) {
|
16448
|
-
this.hls.logger.log("[transmuxer-interface
|
16453
|
+
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);
|
16449
16454
|
var config = new TransmuxConfig(audioCodec, videoCodec, initSegmentData, duration, defaultInitPTS);
|
16450
16455
|
this.configureTransmuxer(config);
|
16451
16456
|
}
|
@@ -32724,12 +32729,13 @@
|
|
32724
32729
|
}
|
32725
32730
|
return audioCodec;
|
32726
32731
|
};
|
32727
|
-
_proto._loadBitrateTestFrag = function _loadBitrateTestFrag(
|
32732
|
+
_proto._loadBitrateTestFrag = function _loadBitrateTestFrag(fragment, level) {
|
32728
32733
|
var _this2 = this;
|
32729
|
-
|
32730
|
-
this._doFragLoad(
|
32734
|
+
fragment.bitrateTest = true;
|
32735
|
+
this._doFragLoad(fragment, level).then(function (data) {
|
32731
32736
|
var hls = _this2.hls;
|
32732
|
-
|
32737
|
+
var frag = data == null ? void 0 : data.frag;
|
32738
|
+
if (!frag || _this2.fragContextChanged(frag)) {
|
32733
32739
|
return;
|
32734
32740
|
}
|
32735
32741
|
level.fragmentError = 0;
|
package/dist/hls.js.d.ts
CHANGED
@@ -328,7 +328,7 @@ export declare class BaseStreamController extends TaskLoop implements NetworkCom
|
|
328
328
|
protected clearTrackerIfNeeded(frag: Fragment): void;
|
329
329
|
protected checkLiveUpdate(details: LevelDetails): void;
|
330
330
|
protected flushMainBuffer(startOffset: number, endOffset: number, type?: SourceBufferName | null): void;
|
331
|
-
protected _loadInitSegment(
|
331
|
+
protected _loadInitSegment(fragment: Fragment, level: Level): void;
|
332
332
|
private completeInitSegmentLoad;
|
333
333
|
protected fragContextChanged(frag: Fragment | null): boolean;
|
334
334
|
protected fragBufferedComplete(frag: Fragment, part: Part | null): void;
|