@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.mjs CHANGED
@@ -1155,55 +1155,6 @@ var useShakePlayer = ({
1155
1155
  if (shakaConfig) {
1156
1156
  player.configure(shakaConfig);
1157
1157
  }
1158
- let manifestUrl = src.url;
1159
- const isDRM = Boolean(src.drm);
1160
- let cert = null;
1161
- if (isDRM) {
1162
- const isPlayReady = isPlayReadySupported();
1163
- const isFairPlay = isAppleDevice();
1164
- if (isAppleDevice() && src.drm.fairplay?.certificate_url) {
1165
- const req = await fetch(src.drm.fairplay.certificate_url);
1166
- cert = await req.arrayBuffer();
1167
- manifestUrl = src.drm.fairplay.playlist_url;
1168
- } else if (isPlayReady && src.drm.playready?.license_url) {
1169
- manifestUrl = src.drm.playready.playlist_url;
1170
- } else {
1171
- manifestUrl = src.drm?.widevine?.playlist_url || "";
1172
- }
1173
- player.configure({
1174
- drm: {
1175
- servers: {
1176
- "com.widevine.alpha": src.drm.widevine?.license_url,
1177
- "com.microsoft.playready": src.drm.playready?.license_url,
1178
- "com.apple.fps": src.drm.fairplay?.license_url
1179
- },
1180
- ...cert && {
1181
- advanced: {
1182
- "com.apple.fps": {
1183
- serverCertificate: new Uint8Array(cert)
1184
- }
1185
- }
1186
- }
1187
- }
1188
- });
1189
- const netEngine = player.getNetworkingEngine();
1190
- if (netEngine) {
1191
- netEngine.registerRequestFilter((type, request) => {
1192
- if (type === shaka.net.NetworkingEngine.RequestType.LICENSE) {
1193
- request.headers["x-dt-custom-data"] = src.drm.token;
1194
- }
1195
- });
1196
- netEngine.registerResponseFilter((type, response) => {
1197
- if (type === shaka.net.NetworkingEngine.RequestType.LICENSE) {
1198
- const ks = player.keySystem && player.keySystem();
1199
- if (ks === "com.apple.fps") {
1200
- const responseText = shaka.util.StringUtils.fromUTF8(response.data);
1201
- response.data = shaka.util.Uint8ArrayUtils.fromBase64(responseText).buffer;
1202
- }
1203
- }
1204
- });
1205
- }
1206
- }
1207
1158
  player?.addEventListener("error", (event) => {
1208
1159
  const error = event.detail;
1209
1160
  if (error?.code === 7e3) {
@@ -1212,7 +1163,6 @@ var useShakePlayer = ({
1212
1163
  console.error("Shaka Player Error:", error);
1213
1164
  onError?.(new Error(`Shaka Player Error: ${error.message || "Unknown error"}`));
1214
1165
  });
1215
- await player.load(manifestUrl);
1216
1166
  onPlayerReady?.(player);
1217
1167
  return player;
1218
1168
  } catch (error) {
@@ -1224,6 +1174,60 @@ var useShakePlayer = ({
1224
1174
  throw error;
1225
1175
  }
1226
1176
  }, [shakaConfig, drmConfig, src, onError, onPlayerReady]);
1177
+ const loadSource = useCallback(async () => {
1178
+ const player = playerRef.current;
1179
+ if (!player) return;
1180
+ let manifestUrl = src.url;
1181
+ const isDRM = Boolean(src.drm);
1182
+ let cert = null;
1183
+ if (isDRM) {
1184
+ const isPlayReady = isPlayReadySupported();
1185
+ const isFairPlay = isAppleDevice();
1186
+ if (isFairPlay && src.drm.fairplay?.certificate_url) {
1187
+ const req = await fetch(src.drm.fairplay.certificate_url);
1188
+ cert = await req.arrayBuffer();
1189
+ manifestUrl = src.drm.fairplay.playlist_url;
1190
+ } else if (isPlayReady && src.drm.playready?.license_url) {
1191
+ manifestUrl = src.drm.playready.playlist_url;
1192
+ } else {
1193
+ manifestUrl = src.drm?.widevine?.playlist_url || "";
1194
+ }
1195
+ player.configure({
1196
+ drm: {
1197
+ servers: {
1198
+ "com.widevine.alpha": src.drm.widevine?.license_url,
1199
+ "com.microsoft.playready": src.drm.playready?.license_url,
1200
+ "com.apple.fps": src.drm.fairplay?.license_url
1201
+ },
1202
+ ...cert && {
1203
+ advanced: {
1204
+ "com.apple.fps": {
1205
+ serverCertificate: new Uint8Array(cert)
1206
+ }
1207
+ }
1208
+ }
1209
+ }
1210
+ });
1211
+ const netEngine = player.getNetworkingEngine();
1212
+ if (netEngine) {
1213
+ netEngine.registerRequestFilter((type, request) => {
1214
+ if (type === shaka.net.NetworkingEngine.RequestType.LICENSE) {
1215
+ request.headers["x-dt-custom-data"] = src.drm.token;
1216
+ }
1217
+ });
1218
+ netEngine.registerResponseFilter((type, response) => {
1219
+ if (type === shaka.net.NetworkingEngine.RequestType.LICENSE) {
1220
+ const ks = player.keySystem && player.keySystem();
1221
+ if (ks === "com.apple.fps") {
1222
+ const responseText = shaka.util.StringUtils.fromUTF8(response.data);
1223
+ response.data = shaka.util.Uint8ArrayUtils.fromBase64(responseText).buffer;
1224
+ }
1225
+ }
1226
+ });
1227
+ }
1228
+ }
1229
+ await player.load(manifestUrl);
1230
+ }, [src]);
1227
1231
  const destroyPlayer = useCallback(async () => {
1228
1232
  if (playerRef.current) {
1229
1233
  try {
@@ -1238,6 +1242,7 @@ var useShakePlayer = ({
1238
1242
  return {
1239
1243
  playerRef,
1240
1244
  initializePlayer,
1245
+ loadSource,
1241
1246
  destroyPlayer
1242
1247
  };
1243
1248
  };
@@ -1362,7 +1367,7 @@ import initShakaPlayerMux from "@mux/mux-data-shakaplayer";
1362
1367
  import shaka2 from "shaka-player/dist/shaka-player.ui";
1363
1368
 
1364
1369
  // package.json
1365
- var version = "1.0.1-rc.26";
1370
+ var version = "1.0.1-rc.27";
1366
1371
 
1367
1372
  // src/hooks/useMuxAnalytics.ts
1368
1373
  var useMuxAnalytics = (playerRef, muxConfig, onMuxReady, onMuxDataUpdate) => {
@@ -3267,7 +3272,7 @@ var Player = forwardRef(
3267
3272
  const containerRef = useRef8(null);
3268
3273
  const adContainerRef = useRef8(null);
3269
3274
  useImperativeHandle(ref, () => videoRef.current, []);
3270
- const { playerRef, initializePlayer, destroyPlayer } = useShakePlayer({
3275
+ const { playerRef, initializePlayer, loadSource, destroyPlayer } = useShakePlayer({
3271
3276
  src,
3272
3277
  shakaConfig,
3273
3278
  drmConfig,
@@ -3375,11 +3380,12 @@ var Player = forwardRef(
3375
3380
  const initialize = async () => {
3376
3381
  try {
3377
3382
  await initializePlayer(video);
3383
+ initializeMux();
3384
+ await loadSource();
3378
3385
  setupEventListeners();
3379
3386
  const cleanupQuality = setupQualityTracking();
3380
3387
  configureQuality();
3381
3388
  await initializeUI();
3382
- initializeMux();
3383
3389
  initializeAds();
3384
3390
  initializeChromecast();
3385
3391
  } catch (error) {