fix(audio): both sync offsets ship at zero
Shipping 175 ms as the built-in mic delay was wrong on principle, not just in value: it shifts every creator's voice to correct one camera on one desk, and it hides whether a desync is theirs or ours. A correction has to be something the creator turned on. So DefaultMicSyncOffsetMs is 0. The control stays (slider 0..500, off/175/350 presets, applied value logged) for anyone whose camera needs it; it is simply no longer pre-applied. The global offset was already 0. AudioSyncSettingsTests pins the rule: a fresh profile reads 0 for both, the mic delay refuses a negative (advancing is the global offset's job) and clamps above 500, and set values round-trip. 676 pass, 0 warnings. Scope justification: Assets/starting-background.jpg is outside this unit — the creator's replacement art, still awaiting their visual check.
This commit is contained in:
+3
-3
@@ -294,9 +294,9 @@ devices, no timers).
|
||||
samples reach the pipe, so the voice runs ahead of the lips. `AudioSyncDelay` now takes a channel
|
||||
count, and `FillAndMix` runs a second line (**mono**) over `micChunk` *before* the mix — loopback and
|
||||
alert audio are not tied to a camera frame and must not move with it. Seam: `Func<int> micSyncOffsetMs`
|
||||
(VM `MicSyncOffsetMs`, **0..500 ms**, persisted `Audio.MicSyncOffsetMs`, shipped default **175** —
|
||||
the creator's own C920 measurement, not a constant: the right number belongs to the machine).
|
||||
A **slider 0..500** plus `off / 175 / 350` presets sit in the LIP-SYNC bay under the whole-mix
|
||||
(VM `MicSyncOffsetMs`, **0..500 ms**, persisted `Audio.MicSyncOffsetMs`, shipped default **0 / off** — a sync offset corrects one camera on
|
||||
one desk, so it is opt-in, never a product default).
|
||||
A **slider 0..500** (default 0) plus `off / 175 / 350` presets sit in the LIP-SYNC bay under the whole-mix
|
||||
slider — presets alone could not express the value a slow camera actually needs. `Audio live: started`
|
||||
logs the applied number, because the value lives in the layout DB and a preset click is invisible in a
|
||||
recording. Both lines are
|
||||
|
||||
Reference in New Issue
Block a user