Skip to content

Commit 98fa625

Browse files
author
louielang
committed
fix ffmpeg.exit()
1 parent 2d6fae8 commit 98fa625

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

src/createFFmpeg.js

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ module.exports = (_options = {}) => {
2121
let Core = null;
2222
let ffmpeg = null;
2323
let runResolve = null;
24+
let runReject = null;
2425
let running = false;
2526
let progress = optProgress;
2627
const detectCompletion = (message) => {
@@ -126,9 +127,10 @@ module.exports = (_options = {}) => {
126127
throw Error('ffmpeg.wasm can only run one command at a time');
127128
} else {
128129
running = true;
129-
return new Promise((resolve) => {
130+
return new Promise((resolve, reject) => {
130131
const args = [...defaultArgs, ..._args].filter((s) => s.length !== 0);
131132
runResolve = resolve;
133+
runReject = reject;
132134
ffmpeg(...parseArgs(Core, args));
133135
});
134136
}
@@ -178,10 +180,18 @@ module.exports = (_options = {}) => {
178180
throw NO_LOAD;
179181
} else {
180182
running = false;
181-
Core.exit(1);
182-
Core = null;
183-
ffmpeg = null;
184-
runResolve = null;
183+
try {
184+
Core.exit(1);
185+
} catch (err) {
186+
if (runReject) {
187+
runReject(err);
188+
}
189+
} finally {
190+
Core = null;
191+
ffmpeg = null;
192+
runResolve = null;
193+
runReject = null;
194+
}
185195
}
186196
};
187197

0 commit comments

Comments
 (0)