From 9f53874d1d97481938d606418e839d457e27448e Mon Sep 17 00:00:00 2001 From: static Date: Thu, 17 Jul 2025 01:54:58 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B9=84=EB=94=94=EC=98=A4=20=EC=9E=AC?= =?UTF-8?q?=EC=83=9D=EC=9D=B4=20=EC=A7=80=EC=9B=90=EB=90=98=EC=A7=80=20?= =?UTF-8?q?=EC=95=8A=EB=8A=94=20=ED=8F=AC=EB=A7=B7=EC=9D=BC=20=EB=95=8C=20?= =?UTF-8?q?=EC=8D=B8=EB=84=A4=EC=9D=BC=20=EC=83=9D=EC=84=B1=20=EC=9E=91?= =?UTF-8?q?=EC=97=85=EC=9D=B4=20=EB=AC=B4=ED=95=9C=ED=9E=88=20=EB=81=9D?= =?UTF-8?q?=EB=82=98=EC=A7=80=20=EC=95=8A=EB=8D=98=20=EB=B2=84=EA=B7=B8=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib/modules/thumbnail.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/lib/modules/thumbnail.ts b/src/lib/modules/thumbnail.ts index 2d5cd55..d9a995b 100644 --- a/src/lib/modules/thumbnail.ts +++ b/src/lib/modules/thumbnail.ts @@ -67,10 +67,15 @@ const generateVideoThumbnail = (videoUrl: string, time = 0) => { return new Promise((resolve, reject) => { const video = document.createElement("video"); video.onloadedmetadata = () => { - video.currentTime = Math.min(time, video.duration); - video.requestVideoFrameCallback(() => { + if (video.videoWidth === 0 || video.videoHeight === 0) { + return reject(); + } + + const callbackId = video.requestVideoFrameCallback(() => { captureVideoThumbnail(video).then(resolve).catch(reject); + video.cancelVideoFrameCallback(callbackId); }); + video.currentTime = Math.min(time, video.duration); }; video.onerror = reject;