hls.js 1.6.0-beta.4.0.canary.11044 → 1.6.0-beta.4.0.canary.11045
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 +3 -1
- package/dist/hls.d.ts +3 -1
- package/dist/hls.js +179 -151
- package/dist/hls.js.d.ts +3 -1
- package/dist/hls.js.map +1 -1
- package/dist/hls.light.js +21 -17
- 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 +21 -17
- 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 +132 -101
- package/dist/hls.mjs.map +1 -1
- package/dist/hls.worker.js +1 -1
- package/package.json +1 -1
- package/src/controller/base-stream-controller.ts +63 -53
- package/src/controller/buffer-controller.ts +2 -3
- package/src/controller/interstitial-player.ts +6 -3
- package/src/controller/interstitials-controller.ts +51 -27
- package/src/controller/interstitials-schedule.ts +21 -12
- package/src/controller/subtitle-stream-controller.ts +15 -14
- package/src/utils/level-helper.ts +6 -9
package/dist/hls.light.mjs
CHANGED
@@ -402,7 +402,7 @@ function enableLogs(debugConfig, context, id) {
|
|
402
402
|
// Some browsers don't allow to use bind on console object anyway
|
403
403
|
// fallback to default if needed
|
404
404
|
try {
|
405
|
-
newLogger.log(`Debug logs enabled for "${context}" in hls.js version ${"1.6.0-beta.4.0.canary.
|
405
|
+
newLogger.log(`Debug logs enabled for "${context}" in hls.js version ${"1.6.0-beta.4.0.canary.11045"}`);
|
406
406
|
} catch (e) {
|
407
407
|
/* log fn threw an exception. All logger methods are no-ops. */
|
408
408
|
return createLogger();
|
@@ -5672,15 +5672,12 @@ function findPart(partList, sn, partIndex) {
|
|
5672
5672
|
function reassignFragmentLevelIndexes(levels) {
|
5673
5673
|
levels.forEach((level, index) => {
|
5674
5674
|
var _level$details;
|
5675
|
-
|
5676
|
-
|
5677
|
-
|
5678
|
-
fragment.level = index;
|
5679
|
-
|
5680
|
-
|
5681
|
-
}
|
5682
|
-
});
|
5683
|
-
}
|
5675
|
+
(_level$details = level.details) == null ? void 0 : _level$details.fragments.forEach(fragment => {
|
5676
|
+
fragment.level = index;
|
5677
|
+
if (fragment.initSegment) {
|
5678
|
+
fragment.initSegment.level = index;
|
5679
|
+
}
|
5680
|
+
});
|
5684
5681
|
});
|
5685
5682
|
}
|
5686
5683
|
|
@@ -7863,6 +7860,7 @@ class BaseStreamController extends TaskLoop {
|
|
7863
7860
|
this.media = this.mediaBuffer = null;
|
7864
7861
|
this.loopSn = undefined;
|
7865
7862
|
if (transferringMedia) {
|
7863
|
+
this.resetLoadingState();
|
7866
7864
|
this.resetTransmuxer();
|
7867
7865
|
return;
|
7868
7866
|
}
|
@@ -7905,7 +7903,6 @@ class BaseStreamController extends TaskLoop {
|
|
7905
7903
|
super.onHandlerDestroyed();
|
7906
7904
|
}
|
7907
7905
|
loadFragment(frag, level, targetBufferTime) {
|
7908
|
-
this.hls.config;
|
7909
7906
|
this.startFragRequested = true;
|
7910
7907
|
this._loadFragForPlayback(frag, level, targetBufferTime);
|
7911
7908
|
}
|
@@ -8254,9 +8251,9 @@ class BaseStreamController extends TaskLoop {
|
|
8254
8251
|
}
|
8255
8252
|
doFragPartsLoad(frag, fromPart, level, progressCallback) {
|
8256
8253
|
return new Promise((resolve, reject) => {
|
8257
|
-
var _level$
|
8254
|
+
var _level$details;
|
8258
8255
|
const partsLoaded = [];
|
8259
|
-
const initialPartList = (_level$
|
8256
|
+
const initialPartList = (_level$details = level.details) == null ? void 0 : _level$details.partList;
|
8260
8257
|
const loadPart = part => {
|
8261
8258
|
this.fragmentLoader.loadPart(frag, part, progressCallback).then(partLoadedData => {
|
8262
8259
|
partsLoaded[part.index] = partLoadedData;
|
@@ -8531,6 +8528,7 @@ class BaseStreamController extends TaskLoop {
|
|
8531
8528
|
const end = this.loadingParts ? levelDetails.partEnd : levelDetails.fragmentEnd;
|
8532
8529
|
frag = this.getFragmentAtPosition(pos, end, levelDetails);
|
8533
8530
|
}
|
8531
|
+
frag = this.filterReplacedPrimary(frag, levelDetails);
|
8534
8532
|
return this.mapToInitFragWhenRequired(frag);
|
8535
8533
|
}
|
8536
8534
|
isLoopLoading(frag, targetBufferTime) {
|
@@ -8558,6 +8556,13 @@ class BaseStreamController extends TaskLoop {
|
|
8558
8556
|
this.loopSn = undefined;
|
8559
8557
|
return nextFragment;
|
8560
8558
|
}
|
8559
|
+
filterReplacedPrimary(frag, details) {
|
8560
|
+
if (!frag) {
|
8561
|
+
return frag;
|
8562
|
+
}
|
8563
|
+
this.hls.config;
|
8564
|
+
return frag;
|
8565
|
+
}
|
8561
8566
|
mapToInitFragWhenRequired(frag) {
|
8562
8567
|
// If an initSegment is present, it must be buffered first
|
8563
8568
|
if (frag != null && frag.initSegment && !(frag != null && frag.initSegment.data) && !this.bitrateTest) {
|
@@ -9246,15 +9251,14 @@ class BufferController extends Logger {
|
|
9246
9251
|
if (!media || !mediaSource) {
|
9247
9252
|
return;
|
9248
9253
|
}
|
9254
|
+
// once received, don't listen anymore to sourceopen event
|
9255
|
+
mediaSource.removeEventListener('sourceopen', this._onMediaSourceOpen);
|
9249
9256
|
media.removeEventListener('emptied', this._onMediaEmptied);
|
9250
9257
|
this.updateDuration();
|
9251
9258
|
this.hls.trigger(Events.MEDIA_ATTACHED, {
|
9252
9259
|
media,
|
9253
9260
|
mediaSource: mediaSource
|
9254
9261
|
});
|
9255
|
-
|
9256
|
-
// once received, don't listen anymore to sourceopen event
|
9257
|
-
mediaSource.removeEventListener('sourceopen', this._onMediaSourceOpen);
|
9258
9262
|
if (this.mediaSource !== null) {
|
9259
9263
|
this.checkPendingTracks();
|
9260
9264
|
}
|
@@ -19467,7 +19471,7 @@ function assignTrackIdsByGroup(tracks) {
|
|
19467
19471
|
});
|
19468
19472
|
}
|
19469
19473
|
|
19470
|
-
const version = "1.6.0-beta.4.0.canary.
|
19474
|
+
const version = "1.6.0-beta.4.0.canary.11045";
|
19471
19475
|
|
19472
19476
|
// ensure the worker ends up in the bundle
|
19473
19477
|
// If the worker should not be included this gets aliased to empty.js
|