Repository navigation
perf(recording): finalize and validate audio alongside the video remux - #2589
Merged
Merged
Conversation
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Member
Author
|
hey @greptileai, please re-review the PR |
This branch was successfully deployed
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.
After Stop, finalization remuxes the fragmented recording into progressive files and validates every track. Each audio track was fully decoded twice: the input fragments before the remux, then the output file after it. Both decodes ran one after another and after the video concat, so on macOS the Instant share link waited for all of it (
finalize_with_publication→finalize_staged). The GPUI app and the CLI both go through this path.crates/recording/src/recovery.rs): input audio validation and the audio concat run on a scoped thread while the video concat runs. The final audio check runs alongside the merged-video check. Its result is reused only when that check didn't rewrite the file.finalize_segment_video/finalize_segment_audio). The mic and system-audio input validations run in parallel (validate_recovered_audio_in_order).main, apart frompublication-receipt.json, which hashes mtimes and inodes and differs between twomainruns too.Benchmark
Finalize wall time (M4 Max, interleaved A/B, median [range]):
mainmain

Confidence Score: 5/5
The PR appears safe to merge; the earlier open-file problem is fixed and no new blocking issues were found.Summary
The PR runs audio finalization and checks alongside video work. The latest change fixes the earlier open-file finding.
Reviews (2) · Last reviewed commit: "fix(recording): join the Instant audio c..." · Reviewed by Greptile