Files
story-studio/remotion/node_modules/@remotion/player/dist/cjs/use-buffer-state-emitter.js
2026-02-21 10:33:18 +01:00

27 lines
983 B
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.useBufferStateEmitter = void 0;
const react_1 = require("react");
const remotion_1 = require("remotion");
const useBufferStateEmitter = (emitter) => {
const bufferManager = (0, react_1.useContext)(remotion_1.Internals.BufferingContextReact);
if (!bufferManager) {
throw new Error('BufferingContextReact not found');
}
(0, react_1.useLayoutEffect)(() => {
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]);
};
exports.useBufferStateEmitter = useBufferStateEmitter;