@mottosports/motto-video-player 1.0.1-rc.38 → 1.0.1-rc.39
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/index.js +39 -28
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +39 -28
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1199,7 +1199,7 @@ var isChrome64PlusOnMacOrWindows = () => {
|
|
|
1199
1199
|
var import_mux_data_shakaplayer = __toESM(require("@mux/mux-data-shakaplayer"));
|
|
1200
1200
|
|
|
1201
1201
|
// package.json
|
|
1202
|
-
var version = "1.0.1-rc.
|
|
1202
|
+
var version = "1.0.1-rc.39";
|
|
1203
1203
|
|
|
1204
1204
|
// src/utils/licenseCache.ts
|
|
1205
1205
|
var PERSISTENT_LICENSE_PREFIX = "motto_lic_";
|
|
@@ -1344,8 +1344,10 @@ var clearAllPersistentLicenses = () => {
|
|
|
1344
1344
|
localStorage.removeItem(key);
|
|
1345
1345
|
}
|
|
1346
1346
|
console.log(`Cleared ${keys.length} persistent license cache entries`);
|
|
1347
|
+
return keys.length;
|
|
1347
1348
|
} catch (error) {
|
|
1348
1349
|
console.error("Failed to clear persistent licenses:", error);
|
|
1350
|
+
return 0;
|
|
1349
1351
|
}
|
|
1350
1352
|
};
|
|
1351
1353
|
|
|
@@ -1418,17 +1420,26 @@ var useShakaPlayer = ({
|
|
|
1418
1420
|
"com.widevine.alpha": {
|
|
1419
1421
|
...drmConfig2.advanced?.["com.widevine.alpha"],
|
|
1420
1422
|
// set to `persistent-license` only on Chrome 64+ on MacOS/Windows: https://shaka-player-demo.appspot.com/docs/api/tutorial-faq.html
|
|
1421
|
-
sessionType: isChrome64PlusOnMacOrWindows() ? "persistent-license" : "temporary"
|
|
1423
|
+
sessionType: isChrome64PlusOnMacOrWindows() ? "persistent-license" : "temporary",
|
|
1424
|
+
"headers": {
|
|
1425
|
+
"x-dt-auth-token": src.drm.token || ""
|
|
1426
|
+
}
|
|
1422
1427
|
},
|
|
1423
1428
|
"com.microsoft.playready": {
|
|
1424
1429
|
...drmConfig2.advanced?.["com.microsoft.playready"],
|
|
1425
|
-
sessionType: "temporary"
|
|
1430
|
+
sessionType: "temporary",
|
|
1426
1431
|
// PlayReady always uses temporary sessions
|
|
1432
|
+
"headers": {
|
|
1433
|
+
"x-dt-auth-token": src.drm.token || ""
|
|
1434
|
+
}
|
|
1427
1435
|
},
|
|
1428
1436
|
"com.apple.fps": {
|
|
1429
1437
|
...drmConfig2.advanced?.["com.apple.fps"],
|
|
1430
|
-
sessionType: "temporary"
|
|
1438
|
+
sessionType: "temporary",
|
|
1431
1439
|
// FairPlay always uses temporary sessions - Safari won't play with persistent-license
|
|
1440
|
+
"headers": {
|
|
1441
|
+
"x-dt-auth-token": src.drm.token || ""
|
|
1442
|
+
}
|
|
1432
1443
|
}
|
|
1433
1444
|
};
|
|
1434
1445
|
if (storedSessionsMetadata.length > 0) {
|
|
@@ -1442,11 +1453,6 @@ var useShakaPlayer = ({
|
|
|
1442
1453
|
player.configure({ drm: drmConfig2 });
|
|
1443
1454
|
const netEngine = player.getNetworkingEngine();
|
|
1444
1455
|
if (netEngine) {
|
|
1445
|
-
netEngine.registerRequestFilter((type, request) => {
|
|
1446
|
-
if (type === import_shaka_player.default.net.NetworkingEngine.RequestType.LICENSE) {
|
|
1447
|
-
request.headers["x-dt-auth-token"] = src.drm.token;
|
|
1448
|
-
}
|
|
1449
|
-
});
|
|
1450
1456
|
netEngine.registerResponseFilter((type, response) => {
|
|
1451
1457
|
if (type === import_shaka_player.default.net.NetworkingEngine.RequestType.LICENSE) {
|
|
1452
1458
|
const ks = player.keySystem && player.keySystem();
|
|
@@ -1464,26 +1470,31 @@ var useShakaPlayer = ({
|
|
|
1464
1470
|
return;
|
|
1465
1471
|
}
|
|
1466
1472
|
if (error?.code >= 6e3 && error?.code < 7e3 && !isRetrying && videoElementRef.current) {
|
|
1467
|
-
console.warn(`DRM error detected (code: ${error.code}),
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1473
|
+
console.warn(`DRM error detected (code: ${error.code}), checking for cached licenses...`);
|
|
1474
|
+
const clearedCount = clearAllPersistentLicenses();
|
|
1475
|
+
if (clearedCount > 0) {
|
|
1476
|
+
console.warn(`Cleared ${clearedCount} cached licenses, retrying...`);
|
|
1477
|
+
setIsRetrying(true);
|
|
1478
|
+
setTimeout(async () => {
|
|
1479
|
+
try {
|
|
1480
|
+
const video2 = videoElementRef.current;
|
|
1481
|
+
const currentPlayer = playerRef.current;
|
|
1482
|
+
if (video2 && currentPlayer) {
|
|
1483
|
+
console.log("Reloading manifest after license cache clear...");
|
|
1484
|
+
await currentPlayer.load(getManifestUrl());
|
|
1485
|
+
console.log("Manifest reloaded successfully");
|
|
1486
|
+
}
|
|
1487
|
+
} catch (retryError) {
|
|
1488
|
+
console.error("Failed to retry after license clear:", retryError);
|
|
1489
|
+
onError?.(retryError);
|
|
1490
|
+
} finally {
|
|
1491
|
+
setIsRetrying(false);
|
|
1478
1492
|
}
|
|
1479
|
-
}
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
}
|
|
1483
|
-
|
|
1484
|
-
}
|
|
1485
|
-
}, 500);
|
|
1486
|
-
return;
|
|
1493
|
+
}, 500);
|
|
1494
|
+
return;
|
|
1495
|
+
} else {
|
|
1496
|
+
console.warn(`No cached licenses found to clear for error code ${error.code}, not retrying to avoid infinite loop`);
|
|
1497
|
+
}
|
|
1487
1498
|
}
|
|
1488
1499
|
console.error("Shaka Player Error:", error);
|
|
1489
1500
|
onError?.(new Error(`Shaka Player Error: ${error.message || "Unknown error"}`));
|