@mottosports/motto-video-player 1.0.1-rc.28 → 1.0.1-rc.30
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 +64 -46
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +66 -48
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1134,13 +1134,22 @@ var isPlayReadySupported = () => {
|
|
|
1134
1134
|
return isWindows || isXbox || isEdge || isIE;
|
|
1135
1135
|
};
|
|
1136
1136
|
|
|
1137
|
+
// src/hooks/useShakePlayer.ts
|
|
1138
|
+
import initShakaPlayerMux from "@mux/mux-data-shakaplayer";
|
|
1139
|
+
|
|
1140
|
+
// package.json
|
|
1141
|
+
var version = "1.0.1-rc.30";
|
|
1142
|
+
|
|
1137
1143
|
// src/hooks/useShakePlayer.ts
|
|
1138
1144
|
var useShakePlayer = ({
|
|
1139
1145
|
src,
|
|
1140
1146
|
shakaConfig,
|
|
1141
1147
|
drmConfig,
|
|
1142
1148
|
onError,
|
|
1143
|
-
onPlayerReady
|
|
1149
|
+
onPlayerReady,
|
|
1150
|
+
muxConfig,
|
|
1151
|
+
onMuxReady,
|
|
1152
|
+
onMuxDataUpdate
|
|
1144
1153
|
}) => {
|
|
1145
1154
|
const playerRef = useRef(null);
|
|
1146
1155
|
const initializePlayer = useCallback(async (video) => {
|
|
@@ -1155,35 +1164,13 @@ var useShakePlayer = ({
|
|
|
1155
1164
|
if (shakaConfig) {
|
|
1156
1165
|
player.configure(shakaConfig);
|
|
1157
1166
|
}
|
|
1158
|
-
player?.addEventListener("error", (event) => {
|
|
1159
|
-
const error = event.detail;
|
|
1160
|
-
if (error?.code === 7e3) {
|
|
1161
|
-
return;
|
|
1162
|
-
}
|
|
1163
|
-
console.error("Shaka Player Error:", error);
|
|
1164
|
-
onError?.(new Error(`Shaka Player Error: ${error.message || "Unknown error"}`));
|
|
1165
|
-
});
|
|
1166
|
-
return player;
|
|
1167
|
-
} catch (error) {
|
|
1168
|
-
if (error?.code === 7e3) {
|
|
1169
|
-
return;
|
|
1170
|
-
}
|
|
1171
|
-
console.error("Error initializing Shaka Player:", error);
|
|
1172
|
-
onError?.(error);
|
|
1173
|
-
throw error;
|
|
1174
|
-
}
|
|
1175
|
-
}, [shakaConfig, drmConfig, src, onError, onPlayerReady]);
|
|
1176
|
-
const loadSource = useCallback(async () => {
|
|
1177
|
-
const player = playerRef.current;
|
|
1178
|
-
if (!player) return;
|
|
1179
|
-
try {
|
|
1180
1167
|
let manifestUrl = src.url;
|
|
1181
1168
|
const isDRM = Boolean(src.drm);
|
|
1182
1169
|
let cert = null;
|
|
1183
1170
|
if (isDRM) {
|
|
1184
1171
|
const isPlayReady = isPlayReadySupported();
|
|
1185
1172
|
const isFairPlay = isAppleDevice();
|
|
1186
|
-
if (
|
|
1173
|
+
if (isAppleDevice() && src.drm.fairplay?.certificate_url) {
|
|
1187
1174
|
const req = await fetch(src.drm.fairplay.certificate_url);
|
|
1188
1175
|
cert = await req.arrayBuffer();
|
|
1189
1176
|
manifestUrl = src.drm.fairplay.playlist_url;
|
|
@@ -1226,17 +1213,53 @@ var useShakePlayer = ({
|
|
|
1226
1213
|
});
|
|
1227
1214
|
}
|
|
1228
1215
|
}
|
|
1216
|
+
player?.addEventListener("error", (event) => {
|
|
1217
|
+
const error = event.detail;
|
|
1218
|
+
if (error?.code === 7e3) {
|
|
1219
|
+
return;
|
|
1220
|
+
}
|
|
1221
|
+
console.error("Shaka Player Error:", error);
|
|
1222
|
+
onError?.(new Error(`Shaka Player Error: ${error.message || "Unknown error"}`));
|
|
1223
|
+
});
|
|
1224
|
+
if (muxConfig) {
|
|
1225
|
+
try {
|
|
1226
|
+
const playerInitTime = initShakaPlayerMux.utils.now();
|
|
1227
|
+
const muxOptions = {
|
|
1228
|
+
debug: muxConfig.debug || false,
|
|
1229
|
+
disableCookies: muxConfig.disableCookies || false,
|
|
1230
|
+
respectDoNotTrack: muxConfig.respectDoNotTrack || false,
|
|
1231
|
+
automaticErrorTracking: muxConfig.automaticErrorTracking !== false,
|
|
1232
|
+
...muxConfig.beaconCollectionDomain && { beaconCollectionDomain: muxConfig.beaconCollectionDomain },
|
|
1233
|
+
...muxConfig.errorTranslator && { errorTranslator: muxConfig.errorTranslator },
|
|
1234
|
+
data: {
|
|
1235
|
+
env_key: muxConfig.envKey,
|
|
1236
|
+
player_name: muxConfig?.metadata?.player_name,
|
|
1237
|
+
player_version: version,
|
|
1238
|
+
player_init_time: playerInitTime,
|
|
1239
|
+
video_title: muxConfig?.metadata?.video_title ?? "",
|
|
1240
|
+
video_id: muxConfig?.metadata?.video_id ?? "",
|
|
1241
|
+
viewer_user_id: muxConfig?.metadata?.viewer_user_id ?? "",
|
|
1242
|
+
...muxConfig.metadata
|
|
1243
|
+
}
|
|
1244
|
+
};
|
|
1245
|
+
initShakaPlayerMux(player, muxOptions, shaka);
|
|
1246
|
+
onMuxReady?.();
|
|
1247
|
+
} catch (error) {
|
|
1248
|
+
console.error("Failed to initialize Mux Analytics:", error);
|
|
1249
|
+
}
|
|
1250
|
+
}
|
|
1229
1251
|
await player.load(manifestUrl);
|
|
1230
1252
|
onPlayerReady?.(player);
|
|
1253
|
+
return player;
|
|
1231
1254
|
} catch (error) {
|
|
1232
1255
|
if (error?.code === 7e3) {
|
|
1233
1256
|
return;
|
|
1234
1257
|
}
|
|
1235
|
-
console.error("Error
|
|
1258
|
+
console.error("Error initializing Shaka Player:", error);
|
|
1236
1259
|
onError?.(error);
|
|
1237
1260
|
throw error;
|
|
1238
1261
|
}
|
|
1239
|
-
}, [src, onError]);
|
|
1262
|
+
}, [shakaConfig, drmConfig, src, onError, onPlayerReady, muxConfig, onMuxReady]);
|
|
1240
1263
|
const destroyPlayer = useCallback(async () => {
|
|
1241
1264
|
if (playerRef.current) {
|
|
1242
1265
|
try {
|
|
@@ -1247,11 +1270,10 @@ var useShakePlayer = ({
|
|
|
1247
1270
|
playerRef.current = null;
|
|
1248
1271
|
}
|
|
1249
1272
|
}
|
|
1250
|
-
}, []);
|
|
1273
|
+
}, [playerRef]);
|
|
1251
1274
|
return {
|
|
1252
1275
|
playerRef,
|
|
1253
1276
|
initializePlayer,
|
|
1254
|
-
loadSource,
|
|
1255
1277
|
destroyPlayer
|
|
1256
1278
|
};
|
|
1257
1279
|
};
|
|
@@ -1372,19 +1394,14 @@ var useSkipControls = (videoRef, onSkipBack, onSkipForward) => {
|
|
|
1372
1394
|
|
|
1373
1395
|
// src/hooks/useMuxAnalytics.ts
|
|
1374
1396
|
import { useCallback as useCallback4, useRef as useRef3 } from "react";
|
|
1375
|
-
import
|
|
1397
|
+
import initShakaPlayerMux2 from "@mux/mux-data-shakaplayer";
|
|
1376
1398
|
import shaka2 from "shaka-player/dist/shaka-player.ui";
|
|
1377
|
-
|
|
1378
|
-
// package.json
|
|
1379
|
-
var version = "1.0.1-rc.28";
|
|
1380
|
-
|
|
1381
|
-
// src/hooks/useMuxAnalytics.ts
|
|
1382
1399
|
var useMuxAnalytics = (playerRef, muxConfig, onMuxReady, onMuxDataUpdate) => {
|
|
1383
1400
|
const shakaPlayerMuxRef = useRef3(null);
|
|
1384
1401
|
const initializeMux = useCallback4(() => {
|
|
1385
1402
|
if (!muxConfig || !playerRef.current) return;
|
|
1386
1403
|
try {
|
|
1387
|
-
const playerInitTime =
|
|
1404
|
+
const playerInitTime = initShakaPlayerMux2.utils.now();
|
|
1388
1405
|
const muxOptions = {
|
|
1389
1406
|
debug: muxConfig.debug || false,
|
|
1390
1407
|
disableCookies: muxConfig.disableCookies || false,
|
|
@@ -1403,7 +1420,7 @@ var useMuxAnalytics = (playerRef, muxConfig, onMuxReady, onMuxDataUpdate) => {
|
|
|
1403
1420
|
...muxConfig.metadata
|
|
1404
1421
|
}
|
|
1405
1422
|
};
|
|
1406
|
-
shakaPlayerMuxRef.current =
|
|
1423
|
+
shakaPlayerMuxRef.current = initShakaPlayerMux2(playerRef.current, muxOptions, shaka2);
|
|
1407
1424
|
onMuxReady?.();
|
|
1408
1425
|
} catch (error) {
|
|
1409
1426
|
console.error("Failed to initialize Mux Analytics:", error);
|
|
@@ -3281,13 +3298,22 @@ var Player = forwardRef(
|
|
|
3281
3298
|
const containerRef = useRef8(null);
|
|
3282
3299
|
const adContainerRef = useRef8(null);
|
|
3283
3300
|
useImperativeHandle(ref, () => videoRef.current, []);
|
|
3284
|
-
const { playerRef, initializePlayer,
|
|
3301
|
+
const { playerRef, initializePlayer, destroyPlayer } = useShakePlayer({
|
|
3285
3302
|
src,
|
|
3286
3303
|
shakaConfig,
|
|
3287
3304
|
drmConfig,
|
|
3288
3305
|
onError: events?.onError,
|
|
3289
|
-
onPlayerReady: events?.onPlayerReady
|
|
3306
|
+
onPlayerReady: events?.onPlayerReady,
|
|
3307
|
+
muxConfig,
|
|
3308
|
+
onMuxReady: events?.onMuxReady,
|
|
3309
|
+
onMuxDataUpdate: events?.onMuxDataUpdate
|
|
3290
3310
|
});
|
|
3311
|
+
const {
|
|
3312
|
+
initializeMux,
|
|
3313
|
+
updateMuxData,
|
|
3314
|
+
handleMuxError,
|
|
3315
|
+
destroyMux
|
|
3316
|
+
} = useMuxAnalytics(playerRef, muxConfig, events?.onMuxReady, events?.onMuxDataUpdate);
|
|
3291
3317
|
const {
|
|
3292
3318
|
getAvailableQualities,
|
|
3293
3319
|
setQuality,
|
|
@@ -3305,12 +3331,6 @@ var Player = forwardRef(
|
|
|
3305
3331
|
skipForward,
|
|
3306
3332
|
enabled: true
|
|
3307
3333
|
});
|
|
3308
|
-
const {
|
|
3309
|
-
initializeMux,
|
|
3310
|
-
updateMuxData,
|
|
3311
|
-
handleMuxError,
|
|
3312
|
-
destroyMux
|
|
3313
|
-
} = useMuxAnalytics(playerRef, muxConfig, events?.onMuxReady, events?.onMuxDataUpdate);
|
|
3314
3334
|
const { setupEventListeners, cleanupEventListeners } = useEventHandlers(videoRef, {
|
|
3315
3335
|
onPlay: events?.onPlay,
|
|
3316
3336
|
onPause: events?.onPause,
|
|
@@ -3389,8 +3409,6 @@ var Player = forwardRef(
|
|
|
3389
3409
|
const initialize = async () => {
|
|
3390
3410
|
try {
|
|
3391
3411
|
await initializePlayer(video);
|
|
3392
|
-
initializeMux();
|
|
3393
|
-
await loadSource();
|
|
3394
3412
|
setupEventListeners();
|
|
3395
3413
|
const cleanupQuality = setupQualityTracking();
|
|
3396
3414
|
configureQuality();
|
|
@@ -4062,7 +4080,7 @@ var Video = ({
|
|
|
4062
4080
|
};
|
|
4063
4081
|
|
|
4064
4082
|
// src/Event.tsx
|
|
4065
|
-
import { useCallback as
|
|
4083
|
+
import { useCallback as useCallback9, useEffect as useEffect8, useState as useState4 } from "react";
|
|
4066
4084
|
import { twMerge as twMerge4 } from "tailwind-merge";
|
|
4067
4085
|
import { useQuery as useQuery2 } from "@tanstack/react-query";
|
|
4068
4086
|
import { Fragment, jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
@@ -4273,7 +4291,7 @@ function PreEvent({
|
|
|
4273
4291
|
}, 1e3);
|
|
4274
4292
|
return () => clearInterval(interval);
|
|
4275
4293
|
}, [date, remainingTime]);
|
|
4276
|
-
const renderCountdown =
|
|
4294
|
+
const renderCountdown = useCallback9(() => {
|
|
4277
4295
|
if (shouldBeStarted) {
|
|
4278
4296
|
return /* @__PURE__ */ jsx10("span", { className: "text-base-content text-xl", children: t("EVENT_NOT_STARTED") });
|
|
4279
4297
|
}
|