Skip to content

Dkompos 1.6.6

Latest

Choose a tag to compare

@codenogo codenogo released this 30 Jul 23:31
b78ee86

Dkompos 1.6.6

Dkompos 1.6.6 is a focused compatibility hotfix for AAC/M4A files authored by
older iTunes tooling. It keeps the Symphonia 0.6 fidelity and allocation
hardening shipped in 1.6.5 while closing an ISO-MP4 metadata-padding regression.

Fixed

  • AAC/M4A files with zero-filled free or skip padding inside their iTunes
    metadata list now open and decode normally.
  • Dkompos no longer mistakes those padding atoms for metadata tag containers,
    which previously surfaced as isomp4: unknown size atom has sized parent.
  • The change is deliberately narrow: Symphonia 0.6's strict size and parent
    boundary checks remain in force for malformed nested atoms.

Compatibility evidence

The regression gate rewrites an existing AAC/M4A fixture in memory so its first
metadata entry becomes an equal-sized, zero-filled free atom. This preserves
all container sizes and media offsets while reproducing the affected iTunes
layout; the resulting file must open and decode completely.

The candidate also decoded every track in the reported 12-file AAC/M4A album
with zero wrapper-versus-direct-Symphonia sample mismatches. Formatting,
warnings-as-errors Clippy, the complete workspace target suite, allocation
hardening tests, generated Swift bindings, the arm64 Rust bridge, and native
Swift compilation/linking all pass.

Unchanged constraints

  • Symphonia 0.6's ISO-MP4 reader still does not expose authored chapters in the
    migration M4B fixture; Dkompos uses its honest chapterless fallback there.
  • A single packet or metadata value above the 64 MiB security budget remains
    rejected rather than risking process-wide memory exhaustion.
  • Local Symphonia patches remain until upstream releases provide equivalent
    allocation hardening, RIFF metadata retention, and iTunes padding handling.