@mottosports/motto-video-player 1.0.1-rc.28 → 1.0.1-rc.29
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 +29 -41
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +32 -44
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1107,7 +1107,7 @@ import { forwardRef, useEffect as useEffect5, useRef as useRef8, useImperativeHa
|
|
|
1107
1107
|
import shaka3 from "shaka-player/dist/shaka-player.ui";
|
|
1108
1108
|
|
|
1109
1109
|
// src/hooks/useShakePlayer.ts
|
|
1110
|
-
import {
|
|
1110
|
+
import { useCallback } from "react";
|
|
1111
1111
|
import shaka from "shaka-player/dist/shaka-player.ui";
|
|
1112
1112
|
|
|
1113
1113
|
// src/utils/devices.ts
|
|
@@ -1140,9 +1140,10 @@ var useShakePlayer = ({
|
|
|
1140
1140
|
shakaConfig,
|
|
1141
1141
|
drmConfig,
|
|
1142
1142
|
onError,
|
|
1143
|
-
onPlayerReady
|
|
1143
|
+
onPlayerReady,
|
|
1144
|
+
onBeforeLoad,
|
|
1145
|
+
playerRef
|
|
1144
1146
|
}) => {
|
|
1145
|
-
const playerRef = useRef(null);
|
|
1146
1147
|
const initializePlayer = useCallback(async (video) => {
|
|
1147
1148
|
try {
|
|
1148
1149
|
shaka.polyfill.installAll();
|
|
@@ -1155,35 +1156,13 @@ var useShakePlayer = ({
|
|
|
1155
1156
|
if (shakaConfig) {
|
|
1156
1157
|
player.configure(shakaConfig);
|
|
1157
1158
|
}
|
|
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
1159
|
let manifestUrl = src.url;
|
|
1181
1160
|
const isDRM = Boolean(src.drm);
|
|
1182
1161
|
let cert = null;
|
|
1183
1162
|
if (isDRM) {
|
|
1184
1163
|
const isPlayReady = isPlayReadySupported();
|
|
1185
1164
|
const isFairPlay = isAppleDevice();
|
|
1186
|
-
if (
|
|
1165
|
+
if (isAppleDevice() && src.drm.fairplay?.certificate_url) {
|
|
1187
1166
|
const req = await fetch(src.drm.fairplay.certificate_url);
|
|
1188
1167
|
cert = await req.arrayBuffer();
|
|
1189
1168
|
manifestUrl = src.drm.fairplay.playlist_url;
|
|
@@ -1226,17 +1205,27 @@ var useShakePlayer = ({
|
|
|
1226
1205
|
});
|
|
1227
1206
|
}
|
|
1228
1207
|
}
|
|
1208
|
+
player?.addEventListener("error", (event) => {
|
|
1209
|
+
const error = event.detail;
|
|
1210
|
+
if (error?.code === 7e3) {
|
|
1211
|
+
return;
|
|
1212
|
+
}
|
|
1213
|
+
console.error("Shaka Player Error:", error);
|
|
1214
|
+
onError?.(new Error(`Shaka Player Error: ${error.message || "Unknown error"}`));
|
|
1215
|
+
});
|
|
1216
|
+
onBeforeLoad?.();
|
|
1229
1217
|
await player.load(manifestUrl);
|
|
1230
1218
|
onPlayerReady?.(player);
|
|
1219
|
+
return player;
|
|
1231
1220
|
} catch (error) {
|
|
1232
1221
|
if (error?.code === 7e3) {
|
|
1233
1222
|
return;
|
|
1234
1223
|
}
|
|
1235
|
-
console.error("Error
|
|
1224
|
+
console.error("Error initializing Shaka Player:", error);
|
|
1236
1225
|
onError?.(error);
|
|
1237
1226
|
throw error;
|
|
1238
1227
|
}
|
|
1239
|
-
}, [src, onError]);
|
|
1228
|
+
}, [shakaConfig, drmConfig, src, onError, onPlayerReady, onBeforeLoad, playerRef]);
|
|
1240
1229
|
const destroyPlayer = useCallback(async () => {
|
|
1241
1230
|
if (playerRef.current) {
|
|
1242
1231
|
try {
|
|
@@ -1247,11 +1236,9 @@ var useShakePlayer = ({
|
|
|
1247
1236
|
playerRef.current = null;
|
|
1248
1237
|
}
|
|
1249
1238
|
}
|
|
1250
|
-
}, []);
|
|
1239
|
+
}, [playerRef]);
|
|
1251
1240
|
return {
|
|
1252
|
-
playerRef,
|
|
1253
1241
|
initializePlayer,
|
|
1254
|
-
loadSource,
|
|
1255
1242
|
destroyPlayer
|
|
1256
1243
|
};
|
|
1257
1244
|
};
|
|
@@ -1376,7 +1363,7 @@ import initShakaPlayerMux from "@mux/mux-data-shakaplayer";
|
|
|
1376
1363
|
import shaka2 from "shaka-player/dist/shaka-player.ui";
|
|
1377
1364
|
|
|
1378
1365
|
// package.json
|
|
1379
|
-
var version = "1.0.1-rc.
|
|
1366
|
+
var version = "1.0.1-rc.29";
|
|
1380
1367
|
|
|
1381
1368
|
// src/hooks/useMuxAnalytics.ts
|
|
1382
1369
|
var useMuxAnalytics = (playerRef, muxConfig, onMuxReady, onMuxDataUpdate) => {
|
|
@@ -3281,12 +3268,21 @@ var Player = forwardRef(
|
|
|
3281
3268
|
const containerRef = useRef8(null);
|
|
3282
3269
|
const adContainerRef = useRef8(null);
|
|
3283
3270
|
useImperativeHandle(ref, () => videoRef.current, []);
|
|
3284
|
-
const
|
|
3271
|
+
const playerRef = useRef8(null);
|
|
3272
|
+
const {
|
|
3273
|
+
initializeMux,
|
|
3274
|
+
updateMuxData,
|
|
3275
|
+
handleMuxError,
|
|
3276
|
+
destroyMux
|
|
3277
|
+
} = useMuxAnalytics(playerRef, muxConfig, events?.onMuxReady, events?.onMuxDataUpdate);
|
|
3278
|
+
const { initializePlayer, destroyPlayer } = useShakePlayer({
|
|
3285
3279
|
src,
|
|
3286
3280
|
shakaConfig,
|
|
3287
3281
|
drmConfig,
|
|
3288
3282
|
onError: events?.onError,
|
|
3289
|
-
onPlayerReady: events?.onPlayerReady
|
|
3283
|
+
onPlayerReady: events?.onPlayerReady,
|
|
3284
|
+
onBeforeLoad: initializeMux,
|
|
3285
|
+
playerRef
|
|
3290
3286
|
});
|
|
3291
3287
|
const {
|
|
3292
3288
|
getAvailableQualities,
|
|
@@ -3305,12 +3301,6 @@ var Player = forwardRef(
|
|
|
3305
3301
|
skipForward,
|
|
3306
3302
|
enabled: true
|
|
3307
3303
|
});
|
|
3308
|
-
const {
|
|
3309
|
-
initializeMux,
|
|
3310
|
-
updateMuxData,
|
|
3311
|
-
handleMuxError,
|
|
3312
|
-
destroyMux
|
|
3313
|
-
} = useMuxAnalytics(playerRef, muxConfig, events?.onMuxReady, events?.onMuxDataUpdate);
|
|
3314
3304
|
const { setupEventListeners, cleanupEventListeners } = useEventHandlers(videoRef, {
|
|
3315
3305
|
onPlay: events?.onPlay,
|
|
3316
3306
|
onPause: events?.onPause,
|
|
@@ -3389,8 +3379,6 @@ var Player = forwardRef(
|
|
|
3389
3379
|
const initialize = async () => {
|
|
3390
3380
|
try {
|
|
3391
3381
|
await initializePlayer(video);
|
|
3392
|
-
initializeMux();
|
|
3393
|
-
await loadSource();
|
|
3394
3382
|
setupEventListeners();
|
|
3395
3383
|
const cleanupQuality = setupQualityTracking();
|
|
3396
3384
|
configureQuality();
|
|
@@ -4062,7 +4050,7 @@ var Video = ({
|
|
|
4062
4050
|
};
|
|
4063
4051
|
|
|
4064
4052
|
// src/Event.tsx
|
|
4065
|
-
import { useCallback as
|
|
4053
|
+
import { useCallback as useCallback9, useEffect as useEffect8, useState as useState4 } from "react";
|
|
4066
4054
|
import { twMerge as twMerge4 } from "tailwind-merge";
|
|
4067
4055
|
import { useQuery as useQuery2 } from "@tanstack/react-query";
|
|
4068
4056
|
import { Fragment, jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
@@ -4273,7 +4261,7 @@ function PreEvent({
|
|
|
4273
4261
|
}, 1e3);
|
|
4274
4262
|
return () => clearInterval(interval);
|
|
4275
4263
|
}, [date, remainingTime]);
|
|
4276
|
-
const renderCountdown =
|
|
4264
|
+
const renderCountdown = useCallback9(() => {
|
|
4277
4265
|
if (shouldBeStarted) {
|
|
4278
4266
|
return /* @__PURE__ */ jsx10("span", { className: "text-base-content text-xl", children: t("EVENT_NOT_STARTED") });
|
|
4279
4267
|
}
|