packages/docs/docs/renderer/make-cancel-signal.mdx
Part of the @remotion/renderer package.
This function returns a signal and a cancel function that allows to you cancel a render triggered using renderMedia(), renderStill(), renderFrames() or stitchFramesToVideo()
.
import {VideoConfig} from 'remotion';
const composition: VideoConfig = {
durationInFrames: 1000000,
fps: 30,
height: 720,
id: 'react-svg',
width: 1280,
defaultProps: {},
props: {},
defaultCodec: null,
defaultOutName: null,
defaultVideoImageFormat: null,
defaultPixelFormat: null,
defaultProResProfile: null,
defaultSampleRate: null,
};
// ---cut---
import {makeCancelSignal, renderMedia} from '@remotion/renderer';
const {cancelSignal, cancel} = makeCancelSignal();
// Note that no `await` is used yet
const render = renderMedia({
composition,
codec: 'h264',
serveUrl: '/path/to/bundle',
outputLocation: 'out/render.mp4',
cancelSignal,
});
// Cancel render after 10 seconds
setTimeout(() => {
cancel();
}, 10000);
// If the render completed within 10 seconds, renderMedia() will resolve
await render;
// If the render did not complete, renderMedia() will reject
// ==> "[Error: renderMedia() got cancelled]"
Calling makeCancelSignal returns an object with two properties:
cancelSignal: An object to be passed to one of the above mentioned render functionscancel: A function you should call when you want to cancel the render.