@mottosports/motto-video-player 1.0.1-rc.26 → 1.0.1-rc.27

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 CHANGED
@@ -1196,55 +1196,6 @@ var useShakePlayer = ({
1196
1196
  if (shakaConfig) {
1197
1197
  player.configure(shakaConfig);
1198
1198
  }
1199
- let manifestUrl = src.url;
1200
- const isDRM = Boolean(src.drm);
1201
- let cert = null;
1202
- if (isDRM) {
1203
- const isPlayReady = isPlayReadySupported();
1204
- const isFairPlay = isAppleDevice();
1205
- if (isAppleDevice() && src.drm.fairplay?.certificate_url) {
1206
- const req = await fetch(src.drm.fairplay.certificate_url);
1207
- cert = await req.arrayBuffer();
1208
- manifestUrl = src.drm.fairplay.playlist_url;
1209
- } else if (isPlayReady && src.drm.playready?.license_url) {
1210
- manifestUrl = src.drm.playready.playlist_url;
1211
- } else {
1212
- manifestUrl = src.drm?.widevine?.playlist_url || "";
1213
- }
1214
- player.configure({
1215
- drm: {
1216
- servers: {
1217
- "com.widevine.alpha": src.drm.widevine?.license_url,
1218
- "com.microsoft.playready": src.drm.playready?.license_url,
1219
- "com.apple.fps": src.drm.fairplay?.license_url
1220
- },
1221
- ...cert && {
1222
- advanced: {
1223
- "com.apple.fps": {
1224
- serverCertificate: new Uint8Array(cert)
1225
- }
1226
- }
1227
- }
1228
- }
1229
- });
1230
- const netEngine = player.getNetworkingEngine();
1231
- if (netEngine) {
1232
- netEngine.registerRequestFilter((type, request) => {
1233
- if (type === import_shaka_player.default.net.NetworkingEngine.RequestType.LICENSE) {
1234
- request.headers["x-dt-custom-data"] = src.drm.token;
1235
- }
1236
- });
1237
- netEngine.registerResponseFilter((type, response) => {
1238
- if (type === import_shaka_player.default.net.NetworkingEngine.RequestType.LICENSE) {
1239
- const ks = player.keySystem && player.keySystem();
1240
- if (ks === "com.apple.fps") {
1241
- const responseText = import_shaka_player.default.util.StringUtils.fromUTF8(response.data);
1242
- response.data = import_shaka_player.default.util.Uint8ArrayUtils.fromBase64(responseText).buffer;
1243
- }
1244
- }
1245
- });
1246
- }
1247
- }
1248
1199
  player?.addEventListener("error", (event) => {
1249
1200
  const error = event.detail;
1250
1201
  if (error?.code === 7e3) {
@@ -1253,7 +1204,6 @@ var useShakePlayer = ({
1253
1204
  console.error("Shaka Player Error:", error);
1254
1205
  onError?.(new Error(`Shaka Player Error: ${error.message || "Unknown error"}`));
1255
1206
  });
1256
- await player.load(manifestUrl);
1257
1207
  onPlayerReady?.(player);
1258
1208
  return player;
1259
1209
  } catch (error) {
@@ -1265,6 +1215,60 @@ var useShakePlayer = ({
1265
1215
  throw error;
1266
1216
  }
1267
1217
  }, [shakaConfig, drmConfig, src, onError, onPlayerReady]);
1218
+ const loadSource = (0, import_react.useCallback)(async () => {
1219
+ const player = playerRef.current;
1220
+ if (!player) return;
1221
+ let manifestUrl = src.url;
1222
+ const isDRM = Boolean(src.drm);
1223
+ let cert = null;
1224
+ if (isDRM) {
1225
+ const isPlayReady = isPlayReadySupported();
1226
+ const isFairPlay = isAppleDevice();
1227
+ if (isFairPlay && src.drm.fairplay?.certificate_url) {
1228
+ const req = await fetch(src.drm.fairplay.certificate_url);
1229
+ cert = await req.arrayBuffer();
1230
+ manifestUrl = src.drm.fairplay.playlist_url;
1231
+ } else if (isPlayReady && src.drm.playready?.license_url) {
1232
+ manifestUrl = src.drm.playready.playlist_url;
1233
+ } else {
1234
+ manifestUrl = src.drm?.widevine?.playlist_url || "";
1235
+ }
1236
+ player.configure({
1237
+ drm: {
1238
+ servers: {
1239
+ "com.widevine.alpha": src.drm.widevine?.license_url,
1240
+ "com.microsoft.playready": src.drm.playready?.license_url,
1241
+ "com.apple.fps": src.drm.fairplay?.license_url
1242
+ },
1243
+ ...cert && {
1244
+ advanced: {
1245
+ "com.apple.fps": {
1246
+ serverCertificate: new Uint8Array(cert)
1247
+ }
1248
+ }
1249
+ }
1250
+ }
1251
+ });
1252
+ const netEngine = player.getNetworkingEngine();
1253
+ if (netEngine) {
1254
+ netEngine.registerRequestFilter((type, request) => {
1255
+ if (type === import_shaka_player.default.net.NetworkingEngine.RequestType.LICENSE) {
1256
+ request.headers["x-dt-custom-data"] = src.drm.token;
1257
+ }
1258
+ });
1259
+ netEngine.registerResponseFilter((type, response) => {
1260
+ if (type === import_shaka_player.default.net.NetworkingEngine.RequestType.LICENSE) {
1261
+ const ks = player.keySystem && player.keySystem();
1262
+ if (ks === "com.apple.fps") {
1263
+ const responseText = import_shaka_player.default.util.StringUtils.fromUTF8(response.data);
1264
+ response.data = import_shaka_player.default.util.Uint8ArrayUtils.fromBase64(responseText).buffer;
1265
+ }
1266
+ }
1267
+ });
1268
+ }
1269
+ }
1270
+ await player.load(manifestUrl);
1271
+ }, [src]);
1268
1272
  const destroyPlayer = (0, import_react.useCallback)(async () => {
1269
1273
  if (playerRef.current) {
1270
1274
  try {
@@ -1279,6 +1283,7 @@ var useShakePlayer = ({
1279
1283
  return {
1280
1284
  playerRef,
1281
1285
  initializePlayer,
1286
+ loadSource,
1282
1287
  destroyPlayer
1283
1288
  };
1284
1289
  };
@@ -1403,7 +1408,7 @@ var import_mux_data_shakaplayer = __toESM(require("@mux/mux-data-shakaplayer"));
1403
1408
  var import_shaka_player2 = __toESM(require("shaka-player/dist/shaka-player.ui"));
1404
1409
 
1405
1410
  // package.json
1406
- var version = "1.0.1-rc.26";
1411
+ var version = "1.0.1-rc.27";
1407
1412
 
1408
1413
  // src/hooks/useMuxAnalytics.ts
1409
1414
  var useMuxAnalytics = (playerRef, muxConfig, onMuxReady, onMuxDataUpdate) => {
@@ -3308,7 +3313,7 @@ var Player = (0, import_react12.forwardRef)(
3308
3313
  const containerRef = (0, import_react12.useRef)(null);
3309
3314
  const adContainerRef = (0, import_react12.useRef)(null);
3310
3315
  (0, import_react12.useImperativeHandle)(ref, () => videoRef.current, []);
3311
- const { playerRef, initializePlayer, destroyPlayer } = useShakePlayer({
3316
+ const { playerRef, initializePlayer, loadSource, destroyPlayer } = useShakePlayer({
3312
3317
  src,
3313
3318
  shakaConfig,
3314
3319
  drmConfig,
@@ -3416,11 +3421,12 @@ var Player = (0, import_react12.forwardRef)(
3416
3421
  const initialize = async () => {
3417
3422
  try {
3418
3423
  await initializePlayer(video);
3424
+ initializeMux();
3425
+ await loadSource();
3419
3426
  setupEventListeners();
3420
3427
  const cleanupQuality = setupQualityTracking();
3421
3428
  configureQuality();
3422
3429
  await initializeUI();
3423
- initializeMux();
3424
3430
  initializeAds();
3425
3431
  initializeChromecast();
3426
3432
  } catch (error) {