hls.js 1.6.0-beta.3.0.canary.10979 → 1.6.0-beta.3.0.canary.10980
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 +42 -39
- package/dist/hls.js.map +1 -1
- package/dist/hls.light.js +35 -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 +33 -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 +40 -37
- package/dist/hls.mjs.map +1 -1
- package/dist/hls.worker.js +1 -1
- package/package.json +1 -1
- package/src/config.ts +2 -1
- package/src/controller/abr-controller.ts +4 -3
- package/src/controller/buffer-controller.ts +5 -4
- package/src/controller/content-steering-controller.ts +3 -2
- package/src/controller/eme-controller.ts +3 -2
- package/src/controller/gap-controller.ts +2 -1
- package/src/controller/id3-track-controller.ts +2 -1
- package/src/controller/level-controller.ts +2 -1
- package/src/demux/transmuxer-interface.ts +3 -2
- package/src/utils/cea-608-parser.ts +4 -9
- package/src/utils/level-helper.ts +2 -1
- package/src/utils/rendition-helper.ts +2 -3
- package/src/utils/safe-json-stringify.ts +10 -3
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.3.0.canary.
|
405
|
+
newLogger.log(`Debug logs enabled for "${context}" in hls.js version ${"1.6.0-beta.3.0.canary.10980"}`);
|
406
406
|
} catch (e) {
|
407
407
|
/* log fn threw an exception. All logger methods are no-ops. */
|
408
408
|
return createLogger();
|
@@ -884,6 +884,23 @@ function getVideoSelectionOptions(currentVideoRange, videoPreference) {
|
|
884
884
|
};
|
885
885
|
}
|
886
886
|
|
887
|
+
const omitCircularRefsReplacer = replacer => {
|
888
|
+
const known = new WeakSet();
|
889
|
+
return (_, value) => {
|
890
|
+
if (replacer) {
|
891
|
+
value = replacer(_, value);
|
892
|
+
}
|
893
|
+
if (typeof value === 'object' && value !== null) {
|
894
|
+
if (known.has(value)) {
|
895
|
+
return;
|
896
|
+
}
|
897
|
+
known.add(value);
|
898
|
+
}
|
899
|
+
return value;
|
900
|
+
};
|
901
|
+
};
|
902
|
+
const stringify = (object, replacer) => JSON.stringify(object, omitCircularRefsReplacer(replacer));
|
903
|
+
|
887
904
|
function getStartCodecTier(codecTiers, currentVideoRange, currentBw, audioPreference, videoPreference) {
|
888
905
|
const codecSets = Object.keys(codecTiers);
|
889
906
|
const channelsPreference = audioPreference == null ? void 0 : audioPreference.channels;
|
@@ -963,7 +980,7 @@ function getStartCodecTier(codecTiers, currentVideoRange, currentBw, audioPrefer
|
|
963
980
|
return selected;
|
964
981
|
}
|
965
982
|
if (!videoRanges.some(range => candidateTier.videoRanges[range] > 0)) {
|
966
|
-
logStartCodecCandidateIgnored(candidate, `no variants with VIDEO-RANGE of ${
|
983
|
+
logStartCodecCandidateIgnored(candidate, `no variants with VIDEO-RANGE of ${stringify(videoRanges)} found`);
|
967
984
|
return selected;
|
968
985
|
}
|
969
986
|
if (videoCodecPreference && candidate.indexOf(videoCodecPreference.substring(0, 4)) % 5 !== 0) {
|
@@ -1628,7 +1645,7 @@ class AbrController extends Logger {
|
|
1628
1645
|
currentVideoRange = preferHDR ? videoRanges[videoRanges.length - 1] : videoRanges[0];
|
1629
1646
|
currentFrameRate = minFramerate;
|
1630
1647
|
currentBw = Math.max(currentBw, minBitrate);
|
1631
|
-
this.log(`picked start tier ${
|
1648
|
+
this.log(`picked start tier ${stringify(startTier)}`);
|
1632
1649
|
} else {
|
1633
1650
|
currentCodecSet = level == null ? void 0 : level.codecSet;
|
1634
1651
|
currentVideoRange = level == null ? void 0 : level.videoRange;
|
@@ -5477,7 +5494,7 @@ function mergeDateRanges(oldDateRanges, newDetails) {
|
|
5477
5494
|
dateRange.tagOrder += mergeCount;
|
5478
5495
|
}
|
5479
5496
|
} else {
|
5480
|
-
logger.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${
|
5497
|
+
logger.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${stringify(deltaDateRanges[id].attr)}"`);
|
5481
5498
|
}
|
5482
5499
|
});
|
5483
5500
|
}
|
@@ -9412,8 +9429,8 @@ class BufferController extends Logger {
|
|
9412
9429
|
return;
|
9413
9430
|
}
|
9414
9431
|
this.log(`attachTransferred: (bufferCodecEventsTotal ${this.bufferCodecEventsTotal})
|
9415
|
-
required tracks: ${
|
9416
|
-
transfer tracks: ${
|
9432
|
+
required tracks: ${stringify(requiredTracks, (key, value) => key === 'initSegment' ? undefined : value)};
|
9433
|
+
transfer tracks: ${stringify(transferredTracks, (key, value) => key === 'initSegment' ? undefined : value)}}`);
|
9417
9434
|
if (!isCompatibleTrackChange(transferredTracks, requiredTracks)) {
|
9418
9435
|
// destroy attaching media source
|
9419
9436
|
data.mediaSource = null;
|
@@ -10225,7 +10242,7 @@ transfer tracks: ${JSON.stringify(transferredTracks, (key, value) => key === 'in
|
|
10225
10242
|
pendingTrackCount,
|
10226
10243
|
tracks
|
10227
10244
|
} = this;
|
10228
|
-
this.log(`checkPendingTracks (pending: ${pendingTrackCount} codec events expected: ${bufferCodecEventsTotal}) ${
|
10245
|
+
this.log(`checkPendingTracks (pending: ${pendingTrackCount} codec events expected: ${bufferCodecEventsTotal}) ${stringify(tracks)}`);
|
10229
10246
|
// Check if we've received all of the expected bufferCodec events. When none remain, create all the sourceBuffers at once.
|
10230
10247
|
// This is important because the MSE spec allows implementations to throw QuotaExceededErrors if creating new sourceBuffers after
|
10231
10248
|
// data has been appended to existing ones.
|
@@ -10292,7 +10309,7 @@ transfer tracks: ${JSON.stringify(transferredTracks, (key, value) => key === 'in
|
|
10292
10309
|
const codec = this.getTrackCodec(track, type);
|
10293
10310
|
const mimeType = `${track.container};codecs=${codec}`;
|
10294
10311
|
track.codec = codec;
|
10295
|
-
this.log(`creating sourceBuffer(${mimeType})${this.currentOp(type) ? ' Queued' : ''} ${
|
10312
|
+
this.log(`creating sourceBuffer(${mimeType})${this.currentOp(type) ? ' Queued' : ''} ${stringify(track)}`);
|
10296
10313
|
try {
|
10297
10314
|
const sb = mediaSource.addSourceBuffer(mimeType);
|
10298
10315
|
const sbIndex = sourceBufferNameToIndex(type);
|
@@ -10963,7 +10980,7 @@ class ContentSteeringController extends Logger {
|
|
10963
10980
|
errorAction.resolved = this.pathwayId !== errorPathway;
|
10964
10981
|
}
|
10965
10982
|
if (!errorAction.resolved) {
|
10966
|
-
this.warn(`Could not resolve ${data.details} ("${data.error.message}") with content-steering for Pathway: ${errorPathway} levels: ${levels ? levels.length : levels} priorities: ${
|
10983
|
+
this.warn(`Could not resolve ${data.details} ("${data.error.message}") with content-steering for Pathway: ${errorPathway} levels: ${levels ? levels.length : levels} priorities: ${stringify(pathwayPriority)} penalized: ${stringify(this.penalizedPathways)}`);
|
10967
10984
|
}
|
10968
10985
|
}
|
10969
10986
|
}
|
@@ -17523,7 +17540,7 @@ function mergeConfig(defaultConfig, userConfig, logger) {
|
|
17523
17540
|
}
|
17524
17541
|
});
|
17525
17542
|
if (report.length) {
|
17526
|
-
logger.warn(`hls.js config: "${report.join('", "')}" setting(s) are deprecated, use "${policyName}": ${
|
17543
|
+
logger.warn(`hls.js config: "${report.join('", "')}" setting(s) are deprecated, use "${policyName}": ${stringify(userConfig[policyName])}`);
|
17527
17544
|
}
|
17528
17545
|
});
|
17529
17546
|
return _objectSpread2(_objectSpread2({}, defaultsCopy), userConfig);
|
@@ -17947,7 +17964,7 @@ class GapController extends TaskLoop {
|
|
17947
17964
|
if (!stallReported && stalled !== null && media && hls) {
|
17948
17965
|
// Report stalled error once
|
17949
17966
|
this.stallReported = true;
|
17950
|
-
const error = new Error(`Playback stalling at @${media.currentTime} due to low buffer (${
|
17967
|
+
const error = new Error(`Playback stalling at @${media.currentTime} due to low buffer (${stringify(bufferInfo)})`);
|
17951
17968
|
this.warn(error.message);
|
17952
17969
|
hls.trigger(Events.ERROR, {
|
17953
17970
|
type: ErrorTypes.MEDIA_ERROR,
|
@@ -18228,7 +18245,7 @@ function createCueWithDataFields(Cue, startTime, endTime, data, type) {
|
|
18228
18245
|
cue.type = type;
|
18229
18246
|
}
|
18230
18247
|
} catch (e) {
|
18231
|
-
cue = new Cue(startTime, endTime,
|
18248
|
+
cue = new Cue(startTime, endTime, stringify(type ? _objectSpread2({
|
18232
18249
|
type
|
18233
18250
|
}, data) : data));
|
18234
18251
|
}
|
@@ -18974,7 +18991,7 @@ class LevelController extends BasePlaylistController {
|
|
18974
18991
|
Promise.resolve().then(() => {
|
18975
18992
|
if (this.hls) {
|
18976
18993
|
if (data.levels.length) {
|
18977
|
-
this.warn(`One or more CODECS in variant not supported: ${
|
18994
|
+
this.warn(`One or more CODECS in variant not supported: ${stringify(data.levels[0].attrs)}`);
|
18978
18995
|
}
|
18979
18996
|
const error = new Error('no level with compatible codecs found in manifest');
|
18980
18997
|
this.hls.trigger(Events.ERROR, {
|
@@ -19387,7 +19404,7 @@ function assignTrackIdsByGroup(tracks) {
|
|
19387
19404
|
});
|
19388
19405
|
}
|
19389
19406
|
|
19390
|
-
const version = "1.6.0-beta.3.0.canary.
|
19407
|
+
const version = "1.6.0-beta.3.0.canary.10980";
|
19391
19408
|
|
19392
19409
|
// ensure the worker ends up in the bundle
|
19393
19410
|
// If the worker should not be included this gets aliased to empty.js
|
@@ -19571,7 +19588,7 @@ class TransmuxerInterface {
|
|
19571
19588
|
cmd: 'init',
|
19572
19589
|
typeSupported: m2tsTypeSupported,
|
19573
19590
|
id,
|
19574
|
-
config:
|
19591
|
+
config: stringify(config)
|
19575
19592
|
});
|
19576
19593
|
} catch (err) {
|
19577
19594
|
logger.warn(`Error setting up "${id}" Web Worker, fallback to inline`, err);
|
@@ -19598,7 +19615,7 @@ class TransmuxerInterface {
|
|
19598
19615
|
resetNo: instanceNo,
|
19599
19616
|
typeSupported: m2tsTypeSupported,
|
19600
19617
|
id: this.id,
|
19601
|
-
config:
|
19618
|
+
config: stringify(config)
|
19602
19619
|
});
|
19603
19620
|
}
|
19604
19621
|
}
|