@mottosports/motto-video-player 1.0.1-rc.81 → 1.0.1-rc.82
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.d.mts +35 -5
- package/dist/index.d.ts +35 -5
- package/dist/index.js +37 -6
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +47 -16
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -393,7 +393,7 @@ html[dir=rtl] .shaka-overflow-menu .shaka-overflow-button .material-svg-icon:fir
|
|
|
393
393
|
`);
|
|
394
394
|
|
|
395
395
|
// src/Player.tsx
|
|
396
|
-
import { forwardRef, useEffect as useEffect4, useRef as
|
|
396
|
+
import { forwardRef, useEffect as useEffect4, useRef as useRef9, useImperativeHandle, useCallback as useCallback9, useState as useState3 } from "react";
|
|
397
397
|
import shaka3 from "shaka-player/dist/shaka-player.ui";
|
|
398
398
|
|
|
399
399
|
// src/hooks/useShakaPlayer.ts
|
|
@@ -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.
|
|
452
|
+
var version = "1.0.1-rc.82";
|
|
453
453
|
|
|
454
454
|
// src/utils/licenseCache.ts
|
|
455
455
|
var PERSISTENT_LICENSE_PREFIX = "motto_lic_";
|
|
@@ -1569,18 +1569,44 @@ var useShakaUI = (playerRef, containerRef, videoRef, controls, chromecastConfig,
|
|
|
1569
1569
|
};
|
|
1570
1570
|
|
|
1571
1571
|
// src/hooks/useEventHandlers.ts
|
|
1572
|
-
import { useCallback as useCallback6 } from "react";
|
|
1573
|
-
var useEventHandlers = (videoRef, handlers) => {
|
|
1572
|
+
import { useCallback as useCallback6, useRef as useRef5 } from "react";
|
|
1573
|
+
var useEventHandlers = (videoRef, playerRef, handlers) => {
|
|
1574
|
+
const timeUpdateHandlerRef = useRef5(null);
|
|
1574
1575
|
const setupEventListeners = useCallback6(() => {
|
|
1575
1576
|
const video = videoRef.current;
|
|
1576
1577
|
if (!video) return;
|
|
1577
|
-
const { onPlay, onPause, onEnded, onLoadStart, onCanPlay } = handlers;
|
|
1578
|
+
const { onPlay, onPause, onEnded, onLoadStart, onCanPlay, onTimeUpdate } = handlers;
|
|
1578
1579
|
if (onPlay) video.addEventListener("play", onPlay);
|
|
1579
1580
|
if (onPause) video.addEventListener("pause", onPause);
|
|
1580
1581
|
if (onEnded) video.addEventListener("ended", onEnded);
|
|
1581
1582
|
if (onLoadStart) video.addEventListener("loadstart", onLoadStart);
|
|
1582
1583
|
if (onCanPlay) video.addEventListener("canplay", onCanPlay);
|
|
1583
|
-
|
|
1584
|
+
if (onTimeUpdate) {
|
|
1585
|
+
const handleTimeUpdate = () => {
|
|
1586
|
+
const player = playerRef.current;
|
|
1587
|
+
const currentTime = video.currentTime;
|
|
1588
|
+
const duration = video.duration;
|
|
1589
|
+
const isLive = player && typeof player.isLive === "function" ? player.isLive() : false;
|
|
1590
|
+
const timeData = {
|
|
1591
|
+
currentTime,
|
|
1592
|
+
duration,
|
|
1593
|
+
isLive
|
|
1594
|
+
};
|
|
1595
|
+
if (isLive && player && typeof player.seekRange === "function") {
|
|
1596
|
+
const seekRange = player.seekRange();
|
|
1597
|
+
if (seekRange && seekRange.end !== void 0) {
|
|
1598
|
+
timeData.liveEdge = seekRange.end;
|
|
1599
|
+
timeData.timeBehindLive = seekRange.end - currentTime;
|
|
1600
|
+
}
|
|
1601
|
+
} else if (duration && isFinite(duration) && duration > 0) {
|
|
1602
|
+
timeData.progress = currentTime / duration * 100;
|
|
1603
|
+
}
|
|
1604
|
+
onTimeUpdate(timeData);
|
|
1605
|
+
};
|
|
1606
|
+
timeUpdateHandlerRef.current = handleTimeUpdate;
|
|
1607
|
+
video.addEventListener("timeupdate", handleTimeUpdate);
|
|
1608
|
+
}
|
|
1609
|
+
}, [videoRef, playerRef, handlers]);
|
|
1584
1610
|
const cleanupEventListeners = useCallback6(() => {
|
|
1585
1611
|
const video = videoRef.current;
|
|
1586
1612
|
if (!video) return;
|
|
@@ -1590,6 +1616,10 @@ var useEventHandlers = (videoRef, handlers) => {
|
|
|
1590
1616
|
if (onEnded) video.removeEventListener("ended", onEnded);
|
|
1591
1617
|
if (onLoadStart) video.removeEventListener("loadstart", onLoadStart);
|
|
1592
1618
|
if (onCanPlay) video.removeEventListener("canplay", onCanPlay);
|
|
1619
|
+
if (timeUpdateHandlerRef.current) {
|
|
1620
|
+
video.removeEventListener("timeupdate", timeUpdateHandlerRef.current);
|
|
1621
|
+
timeUpdateHandlerRef.current = null;
|
|
1622
|
+
}
|
|
1593
1623
|
}, [videoRef, handlers]);
|
|
1594
1624
|
return {
|
|
1595
1625
|
setupEventListeners,
|
|
@@ -1601,11 +1631,11 @@ var useEventHandlers = (videoRef, handlers) => {
|
|
|
1601
1631
|
import { useEffect, useState as useState2 } from "react";
|
|
1602
1632
|
|
|
1603
1633
|
// src/hooks/useLiveIndicator.ts
|
|
1604
|
-
import { useEffect as useEffect2, useRef as
|
|
1634
|
+
import { useEffect as useEffect2, useRef as useRef7 } from "react";
|
|
1605
1635
|
var useLiveIndicator = (containerRef, playerRef, options = {}) => {
|
|
1606
|
-
const observerRef =
|
|
1607
|
-
const intervalRef =
|
|
1608
|
-
const lastStatusRef =
|
|
1636
|
+
const observerRef = useRef7(null);
|
|
1637
|
+
const intervalRef = useRef7(null);
|
|
1638
|
+
const lastStatusRef = useRef7(null);
|
|
1609
1639
|
const {
|
|
1610
1640
|
enabled = true,
|
|
1611
1641
|
indicatorColor = "#ff0000",
|
|
@@ -1826,9 +1856,9 @@ var useKeyboardControls = (videoRef, options = {}) => {
|
|
|
1826
1856
|
};
|
|
1827
1857
|
|
|
1828
1858
|
// src/hooks/useAdEvents.ts
|
|
1829
|
-
import { useCallback as useCallback8, useRef as
|
|
1859
|
+
import { useCallback as useCallback8, useRef as useRef8 } from "react";
|
|
1830
1860
|
var useAdEvents = (playerRef, handlers) => {
|
|
1831
|
-
const listenersRef =
|
|
1861
|
+
const listenersRef = useRef8([]);
|
|
1832
1862
|
const setupAdEventListeners = useCallback8(() => {
|
|
1833
1863
|
const player = playerRef.current;
|
|
1834
1864
|
if (!player) return;
|
|
@@ -2145,8 +2175,8 @@ var Player = forwardRef(
|
|
|
2145
2175
|
auth,
|
|
2146
2176
|
...videoProps
|
|
2147
2177
|
}, ref) => {
|
|
2148
|
-
const videoRef =
|
|
2149
|
-
const containerRef =
|
|
2178
|
+
const videoRef = useRef9(null);
|
|
2179
|
+
const containerRef = useRef9(null);
|
|
2150
2180
|
const [isScriptsLoaded, setIsScriptsLoaded] = useState3(false);
|
|
2151
2181
|
const [isInitialLoading, setIsInitialLoading] = useState3(true);
|
|
2152
2182
|
const [bfResetKey, setBfResetKey] = useState3(0);
|
|
@@ -2190,12 +2220,13 @@ var Player = forwardRef(
|
|
|
2190
2220
|
skipForward,
|
|
2191
2221
|
enabled: true
|
|
2192
2222
|
});
|
|
2193
|
-
const { setupEventListeners, cleanupEventListeners } = useEventHandlers(videoRef, {
|
|
2223
|
+
const { setupEventListeners, cleanupEventListeners } = useEventHandlers(videoRef, playerRef, {
|
|
2194
2224
|
onPlay: events?.onPlay,
|
|
2195
2225
|
onPause: events?.onPause,
|
|
2196
2226
|
onEnded: events?.onEnded,
|
|
2197
2227
|
onLoadStart: events?.onLoadStart,
|
|
2198
|
-
onCanPlay: events?.onCanPlay
|
|
2228
|
+
onCanPlay: events?.onCanPlay,
|
|
2229
|
+
onTimeUpdate: events?.onTimeUpdate
|
|
2199
2230
|
});
|
|
2200
2231
|
const { uiRef, initializeUI, destroyUI } = useShakaUI(
|
|
2201
2232
|
playerRef,
|