Millisecond rounding issues
|Reported by:||rmrm||Owned by:|
This might not be fixable on all cases, but still...
Aegisub truncates video timestamps to the millisecond. However when muxing to MKV, timestamps are rounded to the nearest millisecond. For an example of a problem caused by this, see the attached testcase. Frame 1159 has a timestamp of 1159*1001/24000=48.3399... seconds which Aegisub reports as 48.339. A subtitle starting on 48.34 is not shown on that frame.
However after muxing to MKV, that timestamp rounds up to 48.340, showing on that frame.
Of course fixing the MKV case breaks the MP4+ASS case (apparently VSFilter does as Aegisub and truncates to milliseconds - see "Test2" in frame 808 which has a timestamp of 33.7003... but gets shown with a start time of 33.70). I think it's reasonable to try and get the MKV case right since that's the most likely container for frame-precise timed subtitles.
Or maybe add a switch, or a warning ("mux the video to mkv first if that's what you're going to use"), or something.