Build 573682stable
Module 90721
1,590 characters · in no known chunkDependencies
Source Raw
function(e,t,n){"use strict";n.d(t,{A:()=>s});var i=n(64700);let r="requestVideoFrameCallback"in HTMLVideoElement.prototype;function s(e){let{videoRef:t,canvasRef:n,enabled:s,canvasWidth:a=10,canvasHeight:o=6}=e;i.useEffect(()=>{if(!s)return;let e=t.current,i=n.current;if(null==e||null==i)return;i.width=a,i.height=o;let l=i.getContext("2d");if(null==l)return;let u=!1;function d(){u||e.readyState<2||l.drawImage(e,0,0,a,o)}if(r){let t;function c(){u||(d(),t=e.requestVideoFrameCallback(c))}function _(){t=e.requestVideoFrameCallback(c)}function h(){e.cancelVideoFrameCallback(t)}return e.addEventListener("play",_),e.addEventListener("pause",h),e.addEventListener("ended",h),e.addEventListener("seeked",d),e.addEventListener("loadeddata",d),e.paused?e.readyState>=2&&d():t=e.requestVideoFrameCallback(c),()=>{u=!0,e.cancelVideoFrameCallback(t),e.removeEventListener("play",_),e.removeEventListener("pause",h),e.removeEventListener("ended",h),e.removeEventListener("seeked",d),e.removeEventListener("loadeddata",d)}}{let t;function f(){u||(d(),t=requestAnimationFrame(f))}function E(){t=requestAnimationFrame(f)}function p(){cancelAnimationFrame(t)}return e.addEventListener("play",E),e.addEventListener("pause",p),e.addEventListener("ended",p),e.addEventListener("seeked",d),e.addEventListener("loadeddata",d),e.paused?e.readyState>=2&&d():t=requestAnimationFrame(f),()=>{u=!0,cancelAnimationFrame(t),e.removeEventListener("play",E),e.removeEventListener("pause",p),e.removeEventListener("ended",p),e.removeEventListener("seeked",d),e.removeEventListener("loadeddata",d)}}},[t,n,s,a,o])}}