Skip to content

v0.7.2

Choose a tag to compare

@sjoenk sjoenk released this 17 Feb 08:06
· 59 commits to main since this release

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 (ResamplerState met linear interpolation over chunk-grenzen)
  • Flush trailing fractional samples bij end-of-stream
  • Pre-allocate resampler output buffer (minder GC pressure)
  • Cap targetSampleRate op 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