Fix replay audio timing reliability - #373
Merged
Merged
Conversation
sjmiller609
approved these changes
Sep 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
-isync 0. Both use wall-clock timestamps, but ffmpeg otherwise subtracts each input start independently, pulling later-opened audio forward and ending it early in the replay timeline.WIDTH/HEIGHTalone do not configure headful Xorg; CI was recording its 3840×2160 fallback instead.The existing 2-second audio-duration assertion, audible-tone check, recording-before-first-Playwright ordering and e2e concurrency are unchanged. No audio padding, test retries or production deployment.
Regression evidence
Validation
make test-unit(vet and Go race tests) andmake test-runtimepass. An earlier baseline unit run hit an unrelated devtoolsproxy Chromium TempDir cleanup race; the complete rerun passed.8897c2a881ce2a08a5faac4554e305399d5f972epassed ten consecutive independent full parallel e2e CI jobs. All normal CI checks and latest-commit BugBot are green; BugBot reported no issues. No code changed during validation.Ten-run CI evidence
Workflow
server-test.yaml, run 34002849643, attempts 1–10. Each is a distinct job execution of the full normal parallel suite with-race -count=1; the target ran exactly once without skips or retries. Source SHA8897c2a881ce2a08a5faac4554e305399d5f972e; tested merge SHAcd4a15bdaa7dcbbb649e6ca4c8fb06e3673b26b2throughout.Largest gap: 0.214625s against the unchanged 2s assertion. Each run has a
replay-audio-34002849643-<attempt>artifact containing the MP4, stream/packet probe and service logs. Every video is verified as 1280×720. Minor Pulse timestamp warnings remain visible in those logs; no universal overloaded-4K recording guarantee is claimed.