hls.js 1.6.3-0.canary.11254 → 1.6.3-0.canary.11257
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 +5 -1
- package/dist/hls.d.ts +5 -1
- package/dist/hls.js +163 -112
- package/dist/hls.js.d.ts +5 -1
- package/dist/hls.js.map +1 -1
- package/dist/hls.light.js +40 -18
- 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 +35 -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 +67 -27
- package/dist/hls.mjs.map +1 -1
- package/dist/hls.worker.js +1 -1
- package/package.json +2 -2
- package/src/config.ts +2 -0
- package/src/controller/base-stream-controller.ts +9 -2
- package/src/controller/eme-controller.ts +47 -19
- package/src/loader/key-loader.ts +42 -17
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.11257");
|
1169
1169
|
} catch (e) {
|
1170
1170
|
/* log fn threw an exception. All logger methods are no-ops. */
|
1171
1171
|
return createLogger();
|
@@ -15399,6 +15399,8 @@
|
|
15399
15399
|
// used by eme-controller
|
15400
15400
|
requestMediaKeySystemAccessFunc: null,
|
15401
15401
|
// used by eme-controller
|
15402
|
+
requireKeySystemAccessOnStart: false,
|
15403
|
+
// used by eme-controller
|
15402
15404
|
testBandwidth: true,
|
15403
15405
|
progressive: false,
|
15404
15406
|
lowLatencyMode: true,
|
@@ -17261,8 +17263,11 @@
|
|
17261
17263
|
if (this.fragCurrent === null) {
|
17262
17264
|
keyLoadingPromise = Promise.reject(new Error("frag load aborted, context changed in KEY_LOADING"));
|
17263
17265
|
}
|
17264
|
-
} else if (!frag.encrypted
|
17265
|
-
this.keyLoader.loadClear(frag, details.encryptedFragments);
|
17266
|
+
} else if (!frag.encrypted) {
|
17267
|
+
keyLoadingPromise = this.keyLoader.loadClear(frag, details.encryptedFragments);
|
17268
|
+
if (keyLoadingPromise) {
|
17269
|
+
this.log("[eme] blocking frag load until media-keys acquired");
|
17270
|
+
}
|
17266
17271
|
}
|
17267
17272
|
var fragPrevious = this.fragPrevious;
|
17268
17273
|
if (isMediaFragment(frag) && (!fragPrevious || frag.sn !== fragPrevious.sn)) {
|
@@ -20519,7 +20524,7 @@
|
|
20519
20524
|
return !remuxResult.audio && !remuxResult.video && !remuxResult.text && !remuxResult.id3 && !remuxResult.initSegment;
|
20520
20525
|
}
|
20521
20526
|
|
20522
|
-
var version = "1.6.3-0.canary.
|
20527
|
+
var version = "1.6.3-0.canary.11257";
|
20523
20528
|
|
20524
20529
|
// ensure the worker ends up in the bundle
|
20525
20530
|
// If the worker should not be included this gets aliased to empty.js
|
@@ -22238,23 +22243,40 @@
|
|
22238
22243
|
};
|
22239
22244
|
_proto.loadClear = function loadClear(loadingFrag, encryptedFragments) {
|
22240
22245
|
var _this = this;
|
22241
|
-
if (this.emeController && this.config.emeEnabled) {
|
22242
|
-
// access key-system with nearest key on start (
|
22243
|
-
|
22244
|
-
|
22245
|
-
|
22246
|
-
var
|
22247
|
-
|
22248
|
-
|
22249
|
-
|
22250
|
-
|
22251
|
-
|
22246
|
+
if (this.emeController && this.config.emeEnabled && !this.emeController.getSelectedKeySystemFormats().length) {
|
22247
|
+
// access key-system with nearest key on start (loading frag is unencrypted)
|
22248
|
+
if (encryptedFragments.length) {
|
22249
|
+
var sn = loadingFrag.sn,
|
22250
|
+
cc = loadingFrag.cc;
|
22251
|
+
var _loop = function _loop() {
|
22252
|
+
var frag = encryptedFragments[i];
|
22253
|
+
if (cc <= frag.cc && (sn === 'initSegment' || frag.sn === 'initSegment' || sn < frag.sn)) {
|
22254
|
+
return {
|
22255
|
+
v: _this.emeController.selectKeySystemFormat(frag).then(function (keySystemFormat) {
|
22256
|
+
frag.setKeyFormat(keySystemFormat);
|
22257
|
+
if (_this.emeController && _this.config.requireKeySystemAccessOnStart) {
|
22258
|
+
var keySystem = emptyExports.keySystemFormatToKeySystemDomain(keySystemFormat);
|
22259
|
+
if (keySystem) {
|
22260
|
+
return _this.emeController.getKeySystemAccess([keySystem]);
|
22261
|
+
}
|
22262
|
+
}
|
22263
|
+
})
|
22264
|
+
};
|
22265
|
+
}
|
22266
|
+
},
|
22267
|
+
_ret;
|
22268
|
+
for (var i = 0; i < encryptedFragments.length; i++) {
|
22269
|
+
_ret = _loop();
|
22270
|
+
if (_ret) return _ret.v;
|
22271
|
+
}
|
22272
|
+
} else if (this.config.requireKeySystemAccessOnStart) {
|
22273
|
+
var keySystemsInConfig = emptyExports.getKeySystemsForConfig(this.config);
|
22274
|
+
if (keySystemsInConfig.length) {
|
22275
|
+
return this.emeController.getKeySystemAccess(keySystemsInConfig);
|
22252
22276
|
}
|
22253
|
-
};
|
22254
|
-
for (var i = 0; i < encryptedFragments.length; i++) {
|
22255
|
-
if (_loop()) break;
|
22256
22277
|
}
|
22257
22278
|
}
|
22279
|
+
return null;
|
22258
22280
|
};
|
22259
22281
|
_proto.load = function load(frag) {
|
22260
22282
|
var _this2 = this;
|