hls.js 1.5.2-0.canary.9966 → 1.5.2-0.canary.9969
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 +30 -14
- package/dist/hls.js.map +1 -1
- package/dist/hls.light.js +28 -12
- 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 +31 -14
- 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 +33 -16
- 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/abr-controller.ts +3 -2
- package/src/controller/audio-stream-controller.ts +1 -1
- package/src/controller/stream-controller.ts +2 -1
- package/src/controller/subtitle-stream-controller.ts +1 -1
- package/src/utils/mp4-tools.ts +28 -9
package/dist/hls.js
CHANGED
@@ -556,7 +556,7 @@
|
|
556
556
|
// Some browsers don't allow to use bind on console object anyway
|
557
557
|
// fallback to default if needed
|
558
558
|
try {
|
559
|
-
newLogger.log("Debug logs enabled for \"" + context + "\" in hls.js version " + "1.5.2-0.canary.
|
559
|
+
newLogger.log("Debug logs enabled for \"" + context + "\" in hls.js version " + "1.5.2-0.canary.9969");
|
560
560
|
} catch (e) {
|
561
561
|
/* log fn threw an exception. All logger methods are no-ops. */
|
562
562
|
return createLogger();
|
@@ -1799,6 +1799,12 @@
|
|
1799
1799
|
var val = readSint32(buffer, offset);
|
1800
1800
|
return val < 0 ? 4294967296 + val : val;
|
1801
1801
|
}
|
1802
|
+
function readUint64(buffer, offset) {
|
1803
|
+
var result = readUint32(buffer, offset);
|
1804
|
+
result *= Math.pow(2, 32);
|
1805
|
+
result += readUint32(buffer, offset + 4);
|
1806
|
+
return result;
|
1807
|
+
}
|
1802
1808
|
function readSint32(buffer, offset) {
|
1803
1809
|
return buffer[offset] << 24 | buffer[offset + 1] << 16 | buffer[offset + 2] << 8 | buffer[offset + 3];
|
1804
1810
|
}
|
@@ -1861,15 +1867,14 @@
|
|
1861
1867
|
var index = 8;
|
1862
1868
|
var timescale = readUint32(sidx, index);
|
1863
1869
|
index += 4;
|
1864
|
-
|
1865
|
-
// TODO: parse earliestPresentationTime and firstOffset
|
1866
|
-
// usually zero in our case
|
1867
1870
|
var earliestPresentationTime = 0;
|
1868
1871
|
var firstOffset = 0;
|
1869
1872
|
if (version === 0) {
|
1870
|
-
index +=
|
1873
|
+
earliestPresentationTime = readUint32(sidx, index += 4);
|
1874
|
+
firstOffset = readUint32(sidx, index += 4);
|
1871
1875
|
} else {
|
1872
|
-
index +=
|
1876
|
+
earliestPresentationTime = readUint64(sidx, index += 8);
|
1877
|
+
firstOffset = readUint64(sidx, index += 8);
|
1873
1878
|
}
|
1874
1879
|
|
1875
1880
|
// skip reserved
|
@@ -2319,17 +2324,24 @@
|
|
2319
2324
|
}
|
2320
2325
|
if (videoDuration === 0 && audioDuration === 0) {
|
2321
2326
|
// If duration samples are not available in the traf use sidx subsegment_duration
|
2327
|
+
var sidxMinStart = Infinity;
|
2328
|
+
var sidxMaxEnd = 0;
|
2322
2329
|
var sidxDuration = 0;
|
2323
2330
|
var sidxs = findBox(data, ['sidx']);
|
2324
2331
|
for (var _i2 = 0; _i2 < sidxs.length; _i2++) {
|
2325
2332
|
var sidx = parseSegmentIndex(sidxs[_i2]);
|
2326
2333
|
if (sidx != null && sidx.references) {
|
2327
|
-
|
2334
|
+
sidxMinStart = Math.min(sidxMinStart, sidx.earliestPresentationTime / sidx.timescale);
|
2335
|
+
var subSegmentDuration = sidx.references.reduce(function (dur, ref) {
|
2328
2336
|
return dur + ref.info.duration || 0;
|
2329
2337
|
}, 0);
|
2338
|
+
sidxMaxEnd = Math.max(sidxMaxEnd, subSegmentDuration + sidx.earliestPresentationTime / sidx.timescale);
|
2339
|
+
sidxDuration = sidxMaxEnd - sidxMinStart;
|
2330
2340
|
}
|
2331
2341
|
}
|
2332
|
-
|
2342
|
+
if (sidxDuration && isFiniteNumber(sidxDuration)) {
|
2343
|
+
return sidxDuration;
|
2344
|
+
}
|
2333
2345
|
}
|
2334
2346
|
if (videoDuration) {
|
2335
2347
|
return videoDuration;
|
@@ -7797,8 +7809,11 @@
|
|
7797
7809
|
return nextABRAutoLevel;
|
7798
7810
|
},
|
7799
7811
|
set: function set(nextLevel) {
|
7800
|
-
var
|
7801
|
-
|
7812
|
+
var _this$hls3 = this.hls,
|
7813
|
+
maxAutoLevel = _this$hls3.maxAutoLevel,
|
7814
|
+
minAutoLevel = _this$hls3.minAutoLevel;
|
7815
|
+
var value = Math.min(Math.max(nextLevel, minAutoLevel), maxAutoLevel);
|
7816
|
+
if (this._nextAutoLevel !== value) {
|
7802
7817
|
this.nextAutoLevelKey = '';
|
7803
7818
|
this._nextAutoLevel = value;
|
7804
7819
|
}
|
@@ -16681,7 +16696,7 @@
|
|
16681
16696
|
|
16682
16697
|
// compute start position if we are aligned with the main playlist
|
16683
16698
|
if (!this.startFragRequested && (this.mainDetails || !newDetails.live)) {
|
16684
|
-
this.setStartPosition(
|
16699
|
+
this.setStartPosition(this.mainDetails || newDetails, sliding);
|
16685
16700
|
}
|
16686
16701
|
// only switch back to IDLE state if we were waiting for track to start downloading a new fragment
|
16687
16702
|
if (this.state === State.WAITING_TRACK && !this.waitForCdnTuneIn(newDetails)) {
|
@@ -17578,7 +17593,7 @@
|
|
17578
17593
|
track.details = newDetails;
|
17579
17594
|
this.levelLastLoaded = track;
|
17580
17595
|
if (!this.startFragRequested && (this.mainDetails || !newDetails.live)) {
|
17581
|
-
this.setStartPosition(
|
17596
|
+
this.setStartPosition(this.mainDetails || newDetails, sliding);
|
17582
17597
|
}
|
17583
17598
|
|
17584
17599
|
// trigger handler right now
|
@@ -27393,7 +27408,8 @@
|
|
27393
27408
|
}
|
27394
27409
|
// set new level to playlist loader : this will trigger start level load
|
27395
27410
|
// hls.nextLoadLevel remains until it is set to a new value or until a new frag is successfully loaded
|
27396
|
-
|
27411
|
+
hls.nextLoadLevel = startLevel;
|
27412
|
+
this.level = hls.loadLevel;
|
27397
27413
|
this.loadedmetadata = false;
|
27398
27414
|
}
|
27399
27415
|
// if startPosition undefined but lastCurrentTime set, set startPosition to last currentTime
|
@@ -29281,7 +29297,7 @@
|
|
29281
29297
|
* Get the video-dev/hls.js package version.
|
29282
29298
|
*/
|
29283
29299
|
function get() {
|
29284
|
-
return "1.5.2-0.canary.
|
29300
|
+
return "1.5.2-0.canary.9969";
|
29285
29301
|
}
|
29286
29302
|
}, {
|
29287
29303
|
key: "Events",
|