@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.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.76";
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
- let manifestUrl = src.url;
634
- const isDRM = Boolean(src.drm);
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() && src.drm.fairplay?.certificateUrl) {
638
- manifestUrl = src.drm.fairplay.playlistUrl;
639
- } else if (isPlayReady && src.drm.playready?.licenseUrl) {
640
- manifestUrl = src.drm.playready.playlistUrl;
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 = src.drm?.widevine?.playlistUrl || "";
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 = src.id;
689
- const isDRM = Boolean(src.drm);
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, src.drm.licenseCacheKey ?? "");
714
+ storedSessionsMetadata = retrievePersistentLicense(playlistId, playlistSrc.drm?.licenseCacheKey ?? "");
702
715
  }
703
716
  if (isDRM) {
704
717
  const drmConfig2 = {
705
718
  servers: {
706
- "com.widevine.alpha": src.drm.widevine?.licenseUrl,
707
- "com.microsoft.playready": src.drm.playready?.licenseUrl,
708
- "com.apple.fps": src.drm.fairplay?.licenseUrl
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 platforms recommended PlayReady CDM if needed
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
- ...src.drm.fairplay && {
727
+ ...playlistSrc.drm?.fairplay && {
715
728
  advanced: {
716
729
  "com.apple.fps": {
717
- serverCertificateUri: src.drm.fairplay.certificateUrl
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, src.drm.licenseCacheKey ?? "", sessionsToStore);
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,