Monorepo for Aesthetic.Computer aesthetic.computer

loner timeline: SYNC_MS — compensate the display, because the file is already exact master

@jeffrey: "the audio still comes sooner than visuals". Checked the file end to end before touching anything, and it is right: both streams start at PTS 0; the pickup kick sits at 0.0010 s in the render WAV and at 0.0010 s when decoded back out of the finished MP4, so neither the segment concat nor the AAC mux moves it; and the roll's geometry measures +3.0 ms mean, worst 1.1 px, against the beat grid. There is nothing left to fix inside the file. What remains is downstream of it. An LCD, a compositor and a player buffer put the picture on the retina one to three frames after the sound reaches the ear — so on any setup, sound arrives first. That is not something a correct file can fix; it has to be compensated. render_frame now draws the state of (t + SYNC_MS) at media time t, which hands the picture that head start back. Default 45 ms, about 2.7 frames. SYNC_MS=0 shows the raw file, a larger value suits a slower display.


+13 -1
1 changed file