hls.js 1.6.0-beta.2.0.canary.10846 → 1.6.0-beta.2.0.canary.10851
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.js +51 -34
- package/dist/hls.js.map +1 -1
- package/dist/hls.light.js +23 -14
- 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 +14 -6
- 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 +42 -26
- 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/audio-stream-controller.ts +27 -18
- package/src/controller/base-stream-controller.ts +3 -1
- package/src/controller/stream-controller.ts +5 -1
- package/src/loader/level-details.ts +1 -1
- package/src/remux/passthrough-remuxer.ts +3 -2
- package/src/utils/level-helper.ts +4 -1
- package/src/utils/rendition-helper.ts +4 -1
package/dist/hls.light.js
CHANGED
@@ -1029,7 +1029,7 @@
|
|
1029
1029
|
// Some browsers don't allow to use bind on console object anyway
|
1030
1030
|
// fallback to default if needed
|
1031
1031
|
try {
|
1032
|
-
newLogger.log("Debug logs enabled for \"" + context + "\" in hls.js version " + "1.6.0-beta.2.0.canary.
|
1032
|
+
newLogger.log("Debug logs enabled for \"" + context + "\" in hls.js version " + "1.6.0-beta.2.0.canary.10851");
|
1033
1033
|
} catch (e) {
|
1034
1034
|
/* log fn threw an exception. All logger methods are no-ops. */
|
1035
1035
|
return createLogger();
|
@@ -5949,7 +5949,7 @@
|
|
5949
5949
|
}, {
|
5950
5950
|
key: "expired",
|
5951
5951
|
get: function get() {
|
5952
|
-
if (this.live && this.age) {
|
5952
|
+
if (this.live && this.age && this.misses < 3) {
|
5953
5953
|
var playlistWindowDuration = this.partEnd - this.fragmentStart;
|
5954
5954
|
return this.age > Math.max(playlistWindowDuration, this.totalduration) + this.levelTargetDuration;
|
5955
5955
|
}
|
@@ -8001,6 +8001,9 @@
|
|
8001
8001
|
return drift;
|
8002
8002
|
}
|
8003
8003
|
function mergeDetails(oldDetails, newDetails) {
|
8004
|
+
if (oldDetails === newDetails) {
|
8005
|
+
return;
|
8006
|
+
}
|
8004
8007
|
// Track the last initSegment processed. Initialize it to the last one on the timeline.
|
8005
8008
|
var currentInitSegment = null;
|
8006
8009
|
var oldFragments = oldDetails.fragments;
|
@@ -13946,7 +13949,7 @@
|
|
13946
13949
|
var duration = getDuration(data, initData);
|
13947
13950
|
var startDTS = getStartDTS(initData, data);
|
13948
13951
|
var decodeTime = startDTS === null ? timeOffset : startDTS;
|
13949
|
-
if (isInvalidInitPts(initPTS, decodeTime, timeOffset, duration) || initSegment.timescale !== initPTS.timescale
|
13952
|
+
if ((accurateTimeOffset || !initPTS) && (isInvalidInitPts(initPTS, decodeTime, timeOffset, duration) || initSegment.timescale !== initPTS.timescale)) {
|
13950
13953
|
initSegment.initPTS = decodeTime - timeOffset;
|
13951
13954
|
if (initPTS && initPTS.timescale === 1) {
|
13952
13955
|
this.logger.warn("Adjusting initPTS @" + timeOffset + " from " + initPTS.baseTime / initPTS.timescale + " to " + initSegment.initPTS);
|
@@ -18773,7 +18776,7 @@
|
|
18773
18776
|
frag = this.getInitialLiveFragment(levelDetails, fragments);
|
18774
18777
|
var mainStart = this.hls.startPosition;
|
18775
18778
|
var liveSyncPosition = this.hls.liveSyncPosition;
|
18776
|
-
var startPosition = frag ? (mainStart !== -1 ? mainStart : liveSyncPosition) || frag.start : pos;
|
18779
|
+
var startPosition = frag ? (mainStart !== -1 && mainStart >= start ? mainStart : liveSyncPosition) || frag.start : pos;
|
18777
18780
|
this.log("Setting startPosition to " + startPosition + " to match initial live edge. mainStart: " + mainStart + " liveSyncPosition: " + liveSyncPosition + " frag.start: " + ((_frag = frag) == null ? void 0 : _frag.start));
|
18778
18781
|
this.startPosition = this.nextLoadPosition = startPosition;
|
18779
18782
|
}
|
@@ -19798,7 +19801,7 @@
|
|
19798
19801
|
return !remuxResult.audio && !remuxResult.video && !remuxResult.text && !remuxResult.id3 && !remuxResult.initSegment;
|
19799
19802
|
}
|
19800
19803
|
|
19801
|
-
var version = "1.6.0-beta.2.0.canary.
|
19804
|
+
var version = "1.6.0-beta.2.0.canary.10851";
|
19802
19805
|
|
19803
19806
|
// ensure the worker ends up in the bundle
|
19804
19807
|
// If the worker should not be included this gets aliased to empty.js
|
@@ -20792,6 +20795,7 @@
|
|
20792
20795
|
transmuxer.push(payload, initSegmentData, audioCodec, videoCodec, frag, part, details.totalduration, accurateTimeOffset, chunkMeta, initPTS);
|
20793
20796
|
};
|
20794
20797
|
_proto.onAudioTrackSwitching = function onAudioTrackSwitching(event, data) {
|
20798
|
+
var _this2 = this;
|
20795
20799
|
var hls = this.hls;
|
20796
20800
|
// if any URL found on new audio track, it is an alternate audio track
|
20797
20801
|
var fromAltAudio = this.altAudio === 2;
|
@@ -20820,12 +20824,17 @@
|
|
20820
20824
|
}
|
20821
20825
|
// If switching from alt to main audio, flush all audio and trigger track switched
|
20822
20826
|
if (fromAltAudio) {
|
20827
|
+
this.fragmentTracker.removeAllFragments();
|
20828
|
+
hls.once(Events.BUFFER_FLUSHED, function () {
|
20829
|
+
var _this2$hls;
|
20830
|
+
(_this2$hls = _this2.hls) == null ? void 0 : _this2$hls.trigger(Events.AUDIO_TRACK_SWITCHED, data);
|
20831
|
+
});
|
20823
20832
|
hls.trigger(Events.BUFFER_FLUSHING, {
|
20824
20833
|
startOffset: 0,
|
20825
20834
|
endOffset: Number.POSITIVE_INFINITY,
|
20826
20835
|
type: null
|
20827
20836
|
});
|
20828
|
-
|
20837
|
+
return;
|
20829
20838
|
}
|
20830
20839
|
hls.trigger(Events.AUDIO_TRACK_SWITCHED, data);
|
20831
20840
|
} else {
|
@@ -21050,18 +21059,18 @@
|
|
21050
21059
|
return audioCodec;
|
21051
21060
|
};
|
21052
21061
|
_proto._loadBitrateTestFrag = function _loadBitrateTestFrag(fragment, level) {
|
21053
|
-
var
|
21062
|
+
var _this3 = this;
|
21054
21063
|
fragment.bitrateTest = true;
|
21055
21064
|
this._doFragLoad(fragment, level).then(function (data) {
|
21056
|
-
var hls =
|
21065
|
+
var hls = _this3.hls;
|
21057
21066
|
var frag = data == null ? void 0 : data.frag;
|
21058
|
-
if (!frag ||
|
21067
|
+
if (!frag || _this3.fragContextChanged(frag)) {
|
21059
21068
|
return;
|
21060
21069
|
}
|
21061
21070
|
level.fragmentError = 0;
|
21062
|
-
|
21063
|
-
|
21064
|
-
|
21071
|
+
_this3.state = State.IDLE;
|
21072
|
+
_this3.startFragRequested = false;
|
21073
|
+
_this3.bitrateTest = false;
|
21065
21074
|
var stats = frag.stats;
|
21066
21075
|
// Bitrate tests fragments are neither parsed nor buffered
|
21067
21076
|
stats.parsing.start = stats.parsing.end = stats.buffering.start = stats.buffering.end = self.performance.now();
|
@@ -21216,7 +21225,7 @@
|
|
21216
21225
|
}
|
21217
21226
|
};
|
21218
21227
|
_proto._bufferInitSegment = function _bufferInitSegment(currentLevel, tracks, frag, chunkMeta) {
|
21219
|
-
var
|
21228
|
+
var _this4 = this;
|
21220
21229
|
if (this.state !== State.PARSING) {
|
21221
21230
|
return;
|
21222
21231
|
}
|
@@ -21309,7 +21318,7 @@
|
|
21309
21318
|
var track = tracks[trackName];
|
21310
21319
|
var initSegment = track.initSegment;
|
21311
21320
|
if (initSegment != null && initSegment.byteLength) {
|
21312
|
-
|
21321
|
+
_this4.hls.trigger(Events.BUFFER_APPENDING, {
|
21313
21322
|
type: trackName,
|
21314
21323
|
data: initSegment,
|
21315
21324
|
frag: frag,
|