diff options
| author | Tom Cooks <tommasogagliardi+github@gmail.com> | 2026-09-30 08:11:24 -0400 |
|---|---|---|
| committer | Tom Cooks <tommasogagliardi+github@gmail.com> | 2026-09-30 08:11:24 -0400 |
| commit | e15b89af9889d94eca15380048fc2bf6bbc8e22e (patch) | |
| tree | 082741a74856fe65204c1cd589c5f53d54f625bf /app/src | |
| parent | 68402ebbdacfc95e40bd856caa8c4cb83bef8342 (diff) | |
| download | reccoon-e15b89af9889d94eca15380048fc2bf6bbc8e22e.tar.gz | |
Fix transcription: streaming resampler trim could overrun the buffer (1.3.1-alpha)
The resampler clamped nothing before Arrays.copyOfRange(buffer, drop, length),
so when the fractional read position overshot the buffer end, drop could be
length+1 and the copy threw IllegalArgumentException: 8194 > 8193. This broke
every transcription (base and tiny, any language). Clamp drop to buffer.length.
Diffstat (limited to 'app/src')
| -rw-r--r-- | app/src/main/java/com/wuhei/reccoon/TranscriptionEngine.java | 3 | ||||
| -rw-r--r-- | app/src/main/res/values/strings.xml | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/app/src/main/java/com/wuhei/reccoon/TranscriptionEngine.java b/app/src/main/java/com/wuhei/reccoon/TranscriptionEngine.java index f4306ff..efee8dd 100644 --- a/app/src/main/java/com/wuhei/reccoon/TranscriptionEngine.java +++ b/app/src/main/java/com/wuhei/reccoon/TranscriptionEngine.java @@ -383,6 +383,9 @@ public final class TranscriptionEngine { } int drop = (int) position; + if (drop > buffer.length) { + drop = buffer.length; + } if (drop > 0) { buffer = Arrays.copyOfRange(buffer, drop, buffer.length); position -= drop; diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 54a69d9..dbd3535 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">RECCoon</string> - <string name="subtitle">by wuhei · v1.3.0-alpha</string> + <string name="subtitle">by wuhei · v1.3.1-alpha</string> <string name="timer_zero">00:00</string> <string name="footer">44.1 kHz · 16-bit · PCM (WAV) · cue markers</string> |
