fix race condition

This commit is contained in:
Mishig Davaadorj
2025-06-10 12:23:34 +02:00
parent d70b67a330
commit b39c2468c4
@@ -165,18 +165,24 @@ export const VideosPlayer = ({
const onCanPlayThrough = () => { const onCanPlayThrough = () => {
videosReadyCount += 1; videosReadyCount += 1;
if (videosReadyCount === videosInfo.length) { if (videosReadyCount === videosInfo.length) {
// Start autoplay when all videos are ready
if (typeof onVideosReady === "function") { if (typeof onVideosReady === "function") {
onVideosReady(); onVideosReady();
setIsPlaying(true); setIsPlaying(true);
} }
} }
}; };
videoRefs.current.forEach((video) => { videoRefs.current.forEach((video) => {
if (video) { if (video) {
// If already ready, call the handler immediately
if (video.readyState >= 4) {
onCanPlayThrough();
} else {
video.addEventListener("canplaythrough", onCanPlayThrough); video.addEventListener("canplaythrough", onCanPlayThrough);
} }
}
}); });
return () => { return () => {
videoRefs.current.forEach((video) => { videoRefs.current.forEach((video) => {
if (video) { if (video) {