UNPKG

@remotion/player

Version:

React component for embedding a Remotion preview into your app

23 lines (22 loc) 786 B
import { useContext, useEffect } from 'react'; import { Internals } from 'remotion'; export const useBufferStateEmitter = (emitter) => { const bufferManager = useContext(Internals.BufferingContextReact); if (!bufferManager) { throw new Error('BufferingContextReact not found'); } useEffect(() => { const clear1 = bufferManager.listenForBuffering(() => { bufferManager.buffering.current = true; emitter.dispatchWaiting({}); }); const clear2 = bufferManager.listenForResume(() => { bufferManager.buffering.current = false; emitter.dispatchResume({}); }); return () => { clear1.remove(); clear2.remove(); }; }, [bufferManager, emitter]); };