• John Stebbins's avatar
    matroskaenc: factor ts_offset into block timecode computation · 5d3953a5
    John Stebbins authored
    ts_offset was added to cluster timecode, but then effectively subtracted
    back off the block timecode
    
    When setting initial_padding for an audio stream, the timestamps are
    written incorrectly to the mkv file.  cluster timecode gets written
    as pts0 + ts_offset which is correct, but then block timecode gets
    written as pts - cluster timecode which expanded is
    pts - (pts0 + ts_offset).  Adding cluster and block tc back together:
    cluster + block = (pts0 + ts_offset) + (pts - (pts0 + ts_offset)) = pts
    But the result should be pts + ts_offset since demux will subtract the
    CodecDelay element from pts and set initial_padding to CodecDelay.
    This patch gives the correct result.
    5d3953a5
matroskaenc.c 66.5 KB