Commit 50f33d3
fix: AbortSignal now actually stops the running ffmpeg exec (#719)
Previously, aborting an exec() or ffprobe() only rejected the JS
Promise — the underlying WASM process kept running to completion.
Fix: when the abort signal fires for EXEC or FFPROBE, immediately
send a CANCEL message to the worker. The worker calls
ffmpeg.setTimeout(1), setting the WASM watchdog to fire after 1 ms,
stopping the current command as quickly as possible (exit code 1)
without terminating the entire worker.
Changes:
- const.ts: add FFMessageType.CANCEL
- worker.ts: add cancel() handler calling ffmpeg.setTimeout(1)
- classes.ts: send CANCEL on exec/ffprobe abort
Closes #719
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent f876f90 commit 50f33d3
3 files changed
Lines changed: 32 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
115 | 129 | | |
116 | 130 | | |
117 | 131 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
108 | 108 | | |
109 | 109 | | |
110 | 110 | | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
111 | 124 | | |
112 | 125 | | |
113 | 126 | | |
| |||
181 | 194 | | |
182 | 195 | | |
183 | 196 | | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
184 | 201 | | |
185 | 202 | | |
186 | 203 | | |
| |||
0 commit comments