Skip to content

3.1.0

Latest

Choose a tag to compare

@superuser404notfound superuser404notfound released this 24 Oct 12:57

Changed

  • The shipped library decodes exactly again, matrix interpolation included. matrix-interpolation is a default Cargo feature once more, so ./build.sh produces the bit-exact decoder and the object presentation (3) of a stream that interpolates decodes exactly, within full scale. AetherEngine's object renderer needs that decode (AetherEngine#731).
  • TRUEHD_ATMOS_NO_INTERPOLATION=1 builds (and harness/verify.sh checks) the variant without it, which reads interpolation values and discards them, as 3.0.0 shipped. TRUEHD_ATMOS_FEATURES is no longer read.

API, ABI (API 2, 112-byte TrueHDAtmosBlock), the bed companion and the per-handle truehd_atmos_decoder_set_ignore_interpolation are unchanged.

Verification

harness/verify.sh passes in full against an interpolating truehdd CLI at the same pin (superuser404notfound/truehdd@33bae16): PCM bit-exact on every sample and fixture with 0 samples beyond 24 bits, object metadata, reset and seek, arbitrary chunking, every slice links, both link orders next to a second Rust library, Swift through the module map. cargo test is 12/12.

Same slices and minimum OS versions.

Full diff: 3.0.0...3.1.0