UNPKG

@remotion/renderer

Version:

Render Remotion videos using Node.js or Bun

49 lines (48 loc) 1.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isUserCancelledRender = exports.cancelErrorMessages = exports.makeCancelSignal = void 0; /* * @description Returns a signal and a cancel function that allows to you cancel a render triggered using renderMedia(), renderStill(), renderFrames() or stitchFramesToVideo(). * @see [Documentation](https://www.remotion.dev/docs/renderer/make-cancel-signal) */ const makeCancelSignal = () => { const callbacks = []; let cancelled = false; return { cancelSignal: (callback) => { callbacks.push(callback); if (cancelled) { callback(); } }, cancel: () => { if (cancelled) { return; } callbacks.forEach((cb) => { cb(); }); cancelled = true; }, }; }; exports.makeCancelSignal = makeCancelSignal; exports.cancelErrorMessages = { renderMedia: 'renderMedia() got cancelled', renderFrames: 'renderFrames() got cancelled', renderStill: 'renderStill() got cancelled', stitchFramesToVideo: 'stitchFramesToVideo() got cancelled', }; const isUserCancelledRender = (err) => { if (typeof err === 'object' && err !== null && 'message' in err && typeof err.message === 'string') { return (err.message.includes(exports.cancelErrorMessages.renderMedia) || err.message.includes(exports.cancelErrorMessages.renderFrames) || err.message.includes(exports.cancelErrorMessages.renderStill) || err.message.includes(exports.cancelErrorMessages.stitchFramesToVideo)); } return false; }; exports.isUserCancelledRender = isUserCancelledRender;