Repository navigation
fix(producer): warn when audio gain changes in quiet mode - #6873
miguel-heygen wants to merge 1 commit into
Conversation
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Automations to automatically generate PRs for you. |
There was a problem hiding this comment.
Verdict: REQUEST CHANGES · 2 blocker · 0 important · 0 nits · b5ab72f
The warn-level change is right: the CLI's --quiet maps to createConsoleLogger("warn"), and Docker renders still echo stderr.
- blocker — PR body: there is no literal
fails without the fix:line naming the test. The## Fails without the fixheading and its prose don't name it. Suggested line:fails without the fix: assembleStage.test.ts › runAssembleStage limiter honesty › keeps an audible gain change visible with the CLI's quiet logger. I confirmed it is red when the baseassembleStage.tsis restored. Two tests fail there, not one: the updatedrecords and logs how far the true-peak limiter lowered the mixpin also goes red.
Scope
Read all 4 files. Ran assembleStage.test.ts at head (21/21) and with the base source (2 failed), and ffprobeArgvContract.test.ts at head (1 failed, ↓ inline). Grepped every audioLoweredDb and Audio lowered reader; none pin the info level. CI was still running when this was posted.
— Genesis
| "-show_entries", | ||
| "packet=data_hash", | ||
| "-of", | ||
| "csv=p=0", |
There was a problem hiding this comment.
blocker: this ffprobe argv has no "--" before path, so src/utils/ffprobeArgvContract.test.ts fails in the Producer unit lane. I ran it locally at this head: audioPadTrim.integration.test.ts terminates options immediately before the input fails with "csv=p=0" , path. The older probe in this same file already uses the terminator.
| "csv=p=0", | |
| "csv=p=0", | |
| "--", |
Edit accuracy: accurate 271 (base branch 271), smooth 108 of thoseThe gate passes. Quarantined, measured but not gated (0) Unstable (1)
|
What
Local render audio gain reductions now remain visible with
--quiet.Why
The true-peak guard changes the delivered audio level. Its info-level message disappeared with the CLI’s warn-level quiet logger, so users could miss the reason their render was quieter.
Related work
Refs #6871 and #5669. Current main already includes #6089 (fit PCM to exact video frames before AAC) and #6312 (make peak corrections from retained PCM). Upgrading from 0.8.143 gets those changes. This PR fixes the remaining hidden warning; it does not remove the post-codec ceiling check or promise a single encode candidate.
How
Log actual attenuation at warn level and retain
audioLoweredDbmetadata. Document the quiet behavior. Add real-media coverage showing frame-fitted AAC survives duration normalization with identical packet hashes at 30 and 30000/1001 fps.Size
One production log-level change, focused regression coverage, and one CLI documentation row. No encoder policy or dependency changes.
Fails without the fix
The regression uses the real
createConsoleLogger("warn"): before the fix it receives no attenuation warning (1 failure, 20 passing); after the fix it observes the warning and unchanged metadata. The packet-preservation tests protect existing fixes and already pass on main.Test plan
--quietretains audio gain warnings.Linux FFmpeg 7.0.2 with cached dependencies. No full browser render or macOS FFmpeg 9.0.2 onset-artifact reproduction is claimed. AAC correction may encode multiple candidates from the same PCM; legacy/external AAC requiring a real duration correction can still be transcoded. Distributed planning does not yet propagate attenuation metadata; that pre-existing disclosure gap remains outside this local-render patch.