@mottosports/motto-video-player 1.0.1-rc.76 → 1.0.1-rc.78
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.d.mts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +32 -19
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +32 -19
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -449,7 +449,7 @@ var supportsWidevinePersistentLicenses = () => {
|
|
|
449
449
|
import initShakaPlayerMux from "@mux/mux-data-shakaplayer";
|
|
450
450
|
|
|
451
451
|
// package.json
|
|
452
|
-
var version = "1.0.1-rc.
|
|
452
|
+
var version = "1.0.1-rc.78";
|
|
453
453
|
|
|
454
454
|
// src/utils/licenseCache.ts
|
|
455
455
|
var PERSISTENT_LICENSE_PREFIX = "motto_lic_";
|
|
@@ -602,6 +602,17 @@ var clearAllPersistentLicenses = () => {
|
|
|
602
602
|
};
|
|
603
603
|
|
|
604
604
|
// src/hooks/useShakaPlayer.ts
|
|
605
|
+
var normalizeSource = (src) => {
|
|
606
|
+
if (typeof src === "string") {
|
|
607
|
+
return {
|
|
608
|
+
id: "",
|
|
609
|
+
url: src,
|
|
610
|
+
format: "auto",
|
|
611
|
+
drm: {}
|
|
612
|
+
};
|
|
613
|
+
}
|
|
614
|
+
return src;
|
|
615
|
+
};
|
|
605
616
|
var useShakaPlayer = ({
|
|
606
617
|
src,
|
|
607
618
|
shakaConfig,
|
|
@@ -630,16 +641,17 @@ var useShakaPlayer = ({
|
|
|
630
641
|
const storedPersistentThisLoadRef = useRef(false);
|
|
631
642
|
const drmExpirationHandlerRef = useRef(null);
|
|
632
643
|
const getManifestUrl = useCallback(() => {
|
|
633
|
-
|
|
634
|
-
|
|
644
|
+
const playlistSrc = normalizeSource(src);
|
|
645
|
+
let manifestUrl = playlistSrc.url;
|
|
646
|
+
const isDRM = Boolean(playlistSrc.drm?.widevine || playlistSrc.drm?.fairplay || playlistSrc.drm?.playready);
|
|
635
647
|
if (isDRM) {
|
|
636
648
|
const isPlayReady = isPlayReadySupported();
|
|
637
|
-
if (isAppleDevice() &&
|
|
638
|
-
manifestUrl =
|
|
639
|
-
} else if (isPlayReady &&
|
|
640
|
-
manifestUrl =
|
|
649
|
+
if (isAppleDevice() && playlistSrc.drm?.fairplay?.certificateUrl) {
|
|
650
|
+
manifestUrl = playlistSrc.drm.fairplay.playlistUrl;
|
|
651
|
+
} else if (isPlayReady && playlistSrc.drm?.playready?.licenseUrl) {
|
|
652
|
+
manifestUrl = playlistSrc.drm.playready.playlistUrl;
|
|
641
653
|
} else {
|
|
642
|
-
manifestUrl =
|
|
654
|
+
manifestUrl = playlistSrc.drm?.widevine?.playlistUrl || "";
|
|
643
655
|
}
|
|
644
656
|
}
|
|
645
657
|
return manifestUrl;
|
|
@@ -684,9 +696,10 @@ var useShakaPlayer = ({
|
|
|
684
696
|
if (shakaConfig) {
|
|
685
697
|
player.configure(shakaConfig);
|
|
686
698
|
}
|
|
699
|
+
const playlistSrc = normalizeSource(src);
|
|
687
700
|
const manifestUrl = getManifestUrl();
|
|
688
|
-
let playlistId =
|
|
689
|
-
const isDRM = Boolean(
|
|
701
|
+
let playlistId = playlistSrc.id;
|
|
702
|
+
const isDRM = Boolean(playlistSrc.drm?.widevine || playlistSrc.drm?.fairplay || playlistSrc.drm?.playready);
|
|
690
703
|
storedPersistentThisLoadRef.current = false;
|
|
691
704
|
if (activeInitIdRef.current !== myInitId || isDestroyingRef.current) {
|
|
692
705
|
try {
|
|
@@ -698,23 +711,23 @@ var useShakaPlayer = ({
|
|
|
698
711
|
}
|
|
699
712
|
let storedSessionsMetadata = [];
|
|
700
713
|
if (isDRM && playlistId) {
|
|
701
|
-
storedSessionsMetadata = retrievePersistentLicense(playlistId,
|
|
714
|
+
storedSessionsMetadata = retrievePersistentLicense(playlistId, playlistSrc.drm?.licenseCacheKey ?? "");
|
|
702
715
|
}
|
|
703
716
|
if (isDRM) {
|
|
704
717
|
const drmConfig2 = {
|
|
705
718
|
servers: {
|
|
706
|
-
"com.widevine.alpha":
|
|
707
|
-
"com.microsoft.playready":
|
|
708
|
-
"com.apple.fps":
|
|
719
|
+
"com.widevine.alpha": playlistSrc.drm?.widevine?.licenseUrl,
|
|
720
|
+
"com.microsoft.playready": playlistSrc.drm?.playready?.licenseUrl,
|
|
721
|
+
"com.apple.fps": playlistSrc.drm?.fairplay?.licenseUrl
|
|
709
722
|
},
|
|
710
723
|
keySystemsMapping: {
|
|
711
|
-
// Fall back or reroute to the platform
|
|
724
|
+
// Fall back or reroute to the platform's recommended PlayReady CDM if needed
|
|
712
725
|
"com.microsoft.playready": "com.microsoft.playready.recommendation"
|
|
713
726
|
},
|
|
714
|
-
...
|
|
727
|
+
...playlistSrc.drm?.fairplay && {
|
|
715
728
|
advanced: {
|
|
716
729
|
"com.apple.fps": {
|
|
717
|
-
serverCertificateUri:
|
|
730
|
+
serverCertificateUri: playlistSrc.drm.fairplay.certificateUrl
|
|
718
731
|
}
|
|
719
732
|
}
|
|
720
733
|
}
|
|
@@ -835,7 +848,7 @@ var useShakaPlayer = ({
|
|
|
835
848
|
initDataType: session.initDataType,
|
|
836
849
|
keySystem: session.keySystem || "com.widevine.alpha"
|
|
837
850
|
}));
|
|
838
|
-
storePersistentLicense(playlistId,
|
|
851
|
+
storePersistentLicense(playlistId, playlistSrc.drm?.licenseCacheKey ?? "", sessionsToStore);
|
|
839
852
|
storedPersistentThisLoadRef.current = true;
|
|
840
853
|
}
|
|
841
854
|
} catch (e) {
|
|
@@ -2207,7 +2220,7 @@ var Player = forwardRef(
|
|
|
2207
2220
|
const [isScriptsLoaded, setIsScriptsLoaded] = useState4(false);
|
|
2208
2221
|
const [isInitialLoading, setIsInitialLoading] = useState4(true);
|
|
2209
2222
|
const [bfResetKey, setBfResetKey] = useState4(0);
|
|
2210
|
-
const hasPlaylist = !!src && !!(src.url || src.drm?.widevine?.playlistUrl || src.drm?.playready?.playlistUrl || src.drm?.fairplay?.playlistUrl);
|
|
2223
|
+
const hasPlaylist = !!src && (typeof src === "string" || !!(src.url || src.drm?.widevine?.playlistUrl || src.drm?.playready?.playlistUrl || src.drm?.fairplay?.playlistUrl));
|
|
2211
2224
|
useImperativeHandle(ref, () => videoRef.current, []);
|
|
2212
2225
|
const { playerRef, initializePlayer, loadManifest, destroyPlayer, isRetrying } = useShakaPlayer({
|
|
2213
2226
|
src,
|