Files
story-studio/remotion/node_modules/@remotion/media-parser/dist/controller/pause-signal.js
2026-02-21 10:33:18 +01:00

39 lines
990 B
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.makePauseSignal = void 0;
const makePauseSignal = (emitter) => {
const waiterFns = [];
let paused = false;
return {
pause: () => {
if (paused) {
return;
}
emitter.dispatchPause();
paused = true;
},
resume: () => {
if (!paused) {
return;
}
paused = false;
for (const waiterFn of waiterFns) {
waiterFn();
}
waiterFns.length = 0;
emitter.dispatchResume();
},
waitUntilResume: () => {
return new Promise((resolve) => {
if (!paused) {
resolve();
}
else {
waiterFns.push(resolve);
}
});
},
};
};
exports.makePauseSignal = makePauseSignal;