Skip to content

Recorded A/V harness: media audio lands 13-18 ms after video, straddling the one-frame gate #750

Description

@iamfatness

Found 2026-10-02 while measuring #724.

scripts/qa/program-buffer-recorded-av.mjs (flash-beep media clip taken to Program, Program recorded) reports sourceCorrectedAudioMinusVideoMs between 13 and 18 ms on almost every session. Its pass limit is one video frame (16.7 ms), so the gate fails about one run in four with nothing changed.

Measured, same machine, two buffer depths per run:

build sessions range (ms) over one frame
main c6bf15d 14 9.5 to 18.0, plus two at 34.5 3
after the #724 remainder change 8 13.8 to 15.9 0
beta-2026-09-30-47ea78f 10 14.4 to 20.3 4

Two things to decide:

  • Is ~15 ms of audio-after-video in the recording for a media clip expected? It is inside the 50 ms budget, but it is a steady offset, not jitter.
  • The two 34.5 ms sessions (one extra frame) appeared only on main, 2 of 14. Not enough runs to call it a regression.

Until then the harness's A/V verdict cannot be used as a gate. Its frame-delivery verdict (added with the #724 remainder) is independent of this.

Activity

  1. iamfatness commented on Oct 2, 2026

    @iamfatness
    OwnerAuthor

    Owner ruling 2026-10-02: the steady ~15 ms audio-after-video offset for a media clip in the recording is acceptable. Remaining here: make the harness's A/V limit fit that ruling so it stops failing one run in four, and keep watching for the 34.5 ms (one extra frame) sessions, which are not covered by the ruling.

  2. iamfatness commented on Oct 3, 2026

    @iamfatness
    OwnerAuthor

    Fresh data point, main 88eae0d, dev D3D11 core, depth 3, 7.5 s flash/beep run (program-buffer-recorded-av.mjs): source-corrected median audio−video = +26.2 ms (audio lags), max 36.2 ms, coverage incomplete (one interior pulse unmatched), so alignmentWithinOneVideoFrame = false. The 2026-09-30 range was 13 to 18 ms with occasional 34.5 ms; this run sits above that. Single run, not a trend; the ruling on whether a steady positive offset is acceptable is still the open question.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    backlogRanked in docs/BACKLOG.md

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions