v0.7.2
v0.7.2
Fix: streaming resampling to avoid OOM on large files (Android)
Resampling verwerkt PCM data nu chunk-voor-chunk in de streaming decode pipeline, in plaats van het hele bestand in geheugen te bufferen. Dit voorkomt OOM crashes bij grote bestanden op devices met weinig geheugen.
| Scenario | Before | After |
|---|---|---|
| Groot bestand + resampling | ~2× decoded PCM size (OOM risico) | ~buffer size (paar KB) |
Changes
- Replace in-memory resampling with stateful chunk-based streaming (
ResamplerStatemet linear interpolation over chunk-grenzen) - Flush trailing fractional samples bij end-of-stream
- Pre-allocate resampler output buffer (minder GC pressure)
- Cap
targetSampleRateop 384 kHz ter bescherming tegen pathologische allocaties - WAV size validatie toegevoegd aan resampler flush branch
- ~90 regels duplicated decode loop code verwijderd
Full Changelog: v0.7.1...v0.7.2