4.7.3: ffmpeg should quit when download is abruptly cut off

This commit is contained in:
wukko
2023-01-15 17:27:45 +06:00
parent 64dad9ee70
commit 06d4d8a5b0
3 changed files with 8 additions and 2 deletions

View File

@@ -49,6 +49,8 @@ export function streamLiveRender(streamInfo, res) {
res.setHeader('Content-Disposition', `attachment; filename="${streamInfo.filename}"`);
ffmpegProcess.stdio[3].pipe(res);
ffmpegProcess.on('end', () => ffmpegProcess.kill());
res.on('finish', () => ffmpegProcess.kill());
res.on('close', () => ffmpegProcess.kill());
ffmpegProcess.on('error', (err) => {
ffmpegProcess.kill();
res.end();
@@ -90,6 +92,8 @@ export function streamAudioOnly(streamInfo, res) {
res.setHeader('Content-Disposition', `attachment; filename="${streamInfo.filename}.${streamInfo.audioFormat}"`);
ffmpegProcess.stdio[3].pipe(res);
ffmpegProcess.on('end', () => ffmpegProcess.kill());
res.on('finish', () => ffmpegProcess.kill());
res.on('close', () => ffmpegProcess.kill());
ffmpegProcess.on('error', (err) => {
ffmpegProcess.kill();
res.end();
@@ -118,6 +122,8 @@ export function streamVideoOnly(streamInfo, res) {
res.setHeader('Content-Disposition', `attachment; filename="${streamInfo.filename.split('.')[0]}_mute.${format}"`);
ffmpegProcess.stdio[3].pipe(res);
ffmpegProcess.on('end', () => ffmpegProcess.kill());
res.on('finish', () => ffmpegProcess.kill());
res.on('close', () => ffmpegProcess.kill());
ffmpegProcess.on('error', (err) => {
ffmpegProcess.kill();
res.end();