fix ffmpeg.exit()
This commit is contained in:
parent
fcc312abd3
commit
0191cdf480
@ -21,6 +21,7 @@ module.exports = (_options = {}) => {
|
|||||||
let Core = null;
|
let Core = null;
|
||||||
let ffmpeg = null;
|
let ffmpeg = null;
|
||||||
let runResolve = null;
|
let runResolve = null;
|
||||||
|
let runReject = null;
|
||||||
let running = false;
|
let running = false;
|
||||||
let progress = optProgress;
|
let progress = optProgress;
|
||||||
const detectCompletion = (message) => {
|
const detectCompletion = (message) => {
|
||||||
@ -126,9 +127,10 @@ module.exports = (_options = {}) => {
|
|||||||
throw Error('ffmpeg.wasm can only run one command at a time');
|
throw Error('ffmpeg.wasm can only run one command at a time');
|
||||||
} else {
|
} else {
|
||||||
running = true;
|
running = true;
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve, reject) => {
|
||||||
const args = [...defaultArgs, ..._args].filter((s) => s.length !== 0);
|
const args = [...defaultArgs, ..._args].filter((s) => s.length !== 0);
|
||||||
runResolve = resolve;
|
runResolve = resolve;
|
||||||
|
runReject = reject;
|
||||||
ffmpeg(...parseArgs(Core, args));
|
ffmpeg(...parseArgs(Core, args));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -178,10 +180,18 @@ module.exports = (_options = {}) => {
|
|||||||
throw NO_LOAD;
|
throw NO_LOAD;
|
||||||
} else {
|
} else {
|
||||||
running = false;
|
running = false;
|
||||||
|
try {
|
||||||
Core.exit(1);
|
Core.exit(1);
|
||||||
|
} catch (err) {
|
||||||
|
if (runReject) {
|
||||||
|
runReject(err);
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
Core = null;
|
Core = null;
|
||||||
ffmpeg = null;
|
ffmpeg = null;
|
||||||
runResolve = null;
|
runResolve = null;
|
||||||
|
runReject = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user