hls.js 1.6.3-0.canary.11252 → 1.6.3-0.canary.11254
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 +4 -3
- package/dist/hls.d.ts +4 -3
- package/dist/hls.js +61 -57
- package/dist/hls.js.d.ts +4 -3
- package/dist/hls.js.map +1 -1
- package/dist/hls.light.js +36 -16
- 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 +38 -16
- 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 +64 -60
- package/dist/hls.mjs.map +1 -1
- package/dist/hls.worker.js +1 -1
- package/package.json +1 -1
- package/src/config.ts +2 -0
- package/src/controller/audio-stream-controller.ts +39 -31
- package/src/controller/base-stream-controller.ts +8 -4
- package/src/controller/error-controller.ts +1 -1
- package/src/controller/fragment-finders.ts +18 -14
- package/src/controller/interstitials-controller.ts +1 -1
package/dist/hls.light.js
CHANGED
@@ -1165,7 +1165,7 @@
|
|
1165
1165
|
// Some browsers don't allow to use bind on console object anyway
|
1166
1166
|
// fallback to default if needed
|
1167
1167
|
try {
|
1168
|
-
newLogger.log("Debug logs enabled for \"" + context + "\" in hls.js version " + "1.6.3-0.canary.
|
1168
|
+
newLogger.log("Debug logs enabled for \"" + context + "\" in hls.js version " + "1.6.3-0.canary.11254");
|
1169
1169
|
} catch (e) {
|
1170
1170
|
/* log fn threw an exception. All logger methods are no-ops. */
|
1171
1171
|
return createLogger();
|
@@ -4406,7 +4406,6 @@
|
|
4406
4406
|
if (PDTValue >= (endPDT || 0)) {
|
4407
4407
|
return null;
|
4408
4408
|
}
|
4409
|
-
maxFragLookUpTolerance = maxFragLookUpTolerance || 0;
|
4410
4409
|
for (var seg = 0; seg < fragments.length; ++seg) {
|
4411
4410
|
var frag = fragments[seg];
|
4412
4411
|
if (pdtWithinToleranceTest(PDTValue, maxFragLookUpTolerance, frag)) {
|
@@ -4532,16 +4531,35 @@
|
|
4532
4531
|
var endProgramDateTime = candidate.endProgramDateTime || 0;
|
4533
4532
|
return endProgramDateTime - candidateLookupTolerance > pdtBufferEnd;
|
4534
4533
|
}
|
4535
|
-
function
|
4536
|
-
|
4537
|
-
if (
|
4538
|
-
|
4539
|
-
|
4540
|
-
|
4541
|
-
|
4542
|
-
|
4534
|
+
function findNearestWithCC(details, cc, pos) {
|
4535
|
+
if (details) {
|
4536
|
+
if (details.startCC <= cc && details.endCC >= cc) {
|
4537
|
+
var fragments = details.fragments;
|
4538
|
+
var fragmentHint = details.fragmentHint;
|
4539
|
+
if (fragmentHint) {
|
4540
|
+
fragments = fragments.concat(fragmentHint);
|
4541
|
+
}
|
4542
|
+
var closest;
|
4543
|
+
BinarySearch.search(fragments, function (candidate) {
|
4544
|
+
if (candidate.cc < cc) {
|
4545
|
+
return 1;
|
4546
|
+
}
|
4547
|
+
if (candidate.cc > cc) {
|
4548
|
+
return -1;
|
4549
|
+
}
|
4550
|
+
closest = candidate;
|
4551
|
+
if (candidate.end <= pos) {
|
4552
|
+
return 1;
|
4553
|
+
}
|
4554
|
+
if (candidate.start > pos) {
|
4555
|
+
return -1;
|
4556
|
+
}
|
4557
|
+
return 0;
|
4558
|
+
});
|
4559
|
+
return closest || null;
|
4543
4560
|
}
|
4544
|
-
}
|
4561
|
+
}
|
4562
|
+
return null;
|
4545
4563
|
}
|
4546
4564
|
|
4547
4565
|
function isTimeoutError(error) {
|
@@ -4828,7 +4846,7 @@
|
|
4828
4846
|
loadLevel = hls.loadLevel,
|
4829
4847
|
minAutoLevel = hls.minAutoLevel,
|
4830
4848
|
maxAutoLevel = hls.maxAutoLevel;
|
4831
|
-
if (!hls.autoLevelEnabled) {
|
4849
|
+
if (!hls.autoLevelEnabled && !hls.config.preserveManualLevelOnError) {
|
4832
4850
|
hls.loadLevel = -1;
|
4833
4851
|
}
|
4834
4852
|
var fragErrorType = (_data$frag2 = data.frag) == null ? void 0 : _data$frag2.type;
|
@@ -15393,6 +15411,7 @@
|
|
15393
15411
|
interstitialAppendInPlace: true,
|
15394
15412
|
interstitialLiveLookAhead: 10,
|
15395
15413
|
useMediaCapabilities: false,
|
15414
|
+
preserveManualLevelOnError: false,
|
15396
15415
|
certLoadPolicy: {
|
15397
15416
|
default: defaultLoadPolicy
|
15398
15417
|
},
|
@@ -17599,7 +17618,7 @@
|
|
17599
17618
|
this.log("LL-Part loading ON for initial live fragment");
|
17600
17619
|
this.loadingParts = true;
|
17601
17620
|
}
|
17602
|
-
frag = this.getInitialLiveFragment(levelDetails
|
17621
|
+
frag = this.getInitialLiveFragment(levelDetails);
|
17603
17622
|
var mainStart = this.hls.startPosition;
|
17604
17623
|
var liveSyncPosition = this.hls.liveSyncPosition;
|
17605
17624
|
var startPosition = frag ? (mainStart !== -1 && mainStart >= start ? mainStart : liveSyncPosition) || frag.start : pos;
|
@@ -17692,7 +17711,8 @@
|
|
17692
17711
|
"sliding" of the playlist, which is its offset from the start of playback. After sliding we can compute the real
|
17693
17712
|
start and end times for each fragment in the playlist (after which this method will not need to be called).
|
17694
17713
|
*/;
|
17695
|
-
_proto.getInitialLiveFragment = function getInitialLiveFragment(levelDetails
|
17714
|
+
_proto.getInitialLiveFragment = function getInitialLiveFragment(levelDetails) {
|
17715
|
+
var fragments = levelDetails.fragments;
|
17696
17716
|
var fragPrevious = this.fragPrevious;
|
17697
17717
|
var frag = null;
|
17698
17718
|
if (fragPrevious) {
|
@@ -17715,7 +17735,7 @@
|
|
17715
17735
|
// It's important to stay within the continuity range if available; otherwise the fragments in the playlist
|
17716
17736
|
// will have the wrong start times
|
17717
17737
|
if (!frag) {
|
17718
|
-
frag =
|
17738
|
+
frag = findNearestWithCC(levelDetails, fragPrevious.cc, fragPrevious.end);
|
17719
17739
|
if (frag) {
|
17720
17740
|
this.log("Live playlist, switching playlist, load frag with same CC: " + frag.sn);
|
17721
17741
|
}
|
@@ -20499,7 +20519,7 @@
|
|
20499
20519
|
return !remuxResult.audio && !remuxResult.video && !remuxResult.text && !remuxResult.id3 && !remuxResult.initSegment;
|
20500
20520
|
}
|
20501
20521
|
|
20502
|
-
var version = "1.6.3-0.canary.
|
20522
|
+
var version = "1.6.3-0.canary.11254";
|
20503
20523
|
|
20504
20524
|
// ensure the worker ends up in the bundle
|
20505
20525
|
// If the worker should not be included this gets aliased to empty.js
|