changelog: describe the shipped re-base DTS fix + faithful-passthrough note

This commit is contained in:
Matthew Jackson
2026-07-01 19:02:04 -07:00
parent 88c03152e2
commit fcbd667add
+12 -10
View File
@@ -7,16 +7,18 @@
- **DVD DTS audio no longer muxes with non-monotonic timestamps.** A DVD - **DVD DTS audio no longer muxes with non-monotonic timestamps.** A DVD
Program Stream packs several DTS core frames into one PES packet; the parser Program Stream packs several DTS core frames into one PES packet; the parser
stamped every access unit with that single PES timestamp and no per-frame stamped every access unit with that single PES timestamp and no per-frame
duration, so consecutive frames collided on one PTS. A strict decode/remux duration, so consecutive frames collided on one PTS and a strict decode/remux
(ffmpeg) rejected the result`non monotonically increasing dts to muxer` (ffmpeg) rejected the track`non monotonically increasing dts to muxer`.
and reported the track as corrupt, sometimes with spurious `[dca] Failed to The DTS parser now derives each core frame's duration from its header
decode block` errors. The DTS parser now derives each core frame's duration (`(NBLKS+1)*32` samples ÷ the `SFREQ` sample rate) and re-bases to each PES's
from its header (`(NBLKS+1)*32` samples ÷ the `SFREQ` sample rate) and stamps own container timestamp, advancing by a frame duration only *within* a single
a monotonically-advancing PTS, so frames sharing a PES advance frame-by-frame. PES — so the track stays monotonic and does not drift past its real length on
The UHD DTS-HD MA path (one access unit per PES with its own timestamp) is a feature-long title. The UHD DTS-HD MA path (one access unit per PES) is
unchanged — a later PES whose timestamp is already ahead still wins, so the unaffected: each unit keeps its own PES timestamp, preserving the 1.2.0 per-PES
1.2.0 per-PES attribution is preserved. This completes the DVD DTS fix begun attribution. Completes the DVD DTS fix begun in 1.2.0 (which corrected the
in 1.2.0 (which corrected the silent-track routing, exposing this timing bug). silent-track routing, exposing this timing bug). Note: genuinely corrupt
source DTS frames — valid framing, bad audio blocks — are passed through
faithfully; freemkv never fabricates or drops audio it can't prove is bad.
## [1.2.0] — 2026-07-01 ## [1.2.0] — 2026-07-01