@remotion/media-parser
Version:
A pure JavaScript library for parsing video files
39 lines (38 loc) • 990 B
JavaScript
;
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;