Skip to content

5.17.2

Choose a tag to compare

@superuser404notfound superuser404notfound released this 21 Jul 10:18
3e6bdbc

Fixed

  • Matroska TrackTimestampScale != 1 follows RFC 9559 again (FFmpegBuild 2.2.0): the 5.9.4 clamp is dropped, the warning stays. Upstream review of our proposed FFmpeg patch (FFmpeg PR 23852) corrected the #145 premise: RFC 9559 (11.1.3, 11.2, 5.1.3.5.3) puts Block/SimpleBlock relative timestamps and BlockDuration in Track Ticks, absolute time is (cluster + rel x TTS) x TimestampScale, and upstream matroskadec implements exactly that. The "hybrid axis" described in the 5.9.4 notes does not exist; the file that motivated it was authored on the segment axis and is invalid per RFC, and the clamp would have mistimed a conformant TTS != 1 file. Timestamp behavior is upstream's RFC behavior again; the demuxer still warns whenever a track carries TTS != 1 (TrackTimestampScale %f applied per RFC 9559; many readers ignore this element and files may be authored against them.), which keeps the defect actually reported in #145, the silent mistiming, surfaced. Issue145MatroskaTrackTimestampScaleTests now locks the RFC semantics: a conformant Track Ticks file demuxes at its authored times (the clamp broke exactly this case), and a segment-axis-authored file documents the RFC-scaled rendering as invalid-file behavior. (#173)