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:
@@ -117,9 +117,12 @@ public partial class LayoutStore : IDisposable
|
||||
return int.TryParse(value, out var ms) ? Math.Clamp(ms, -500, 500) : 0;
|
||||
}
|
||||
|
||||
/// <summary>The shipped default for the microphone-only delay. The creator's measurement for a
|
||||
/// C920 pipeline (asked for +150..+200 ms); a camera with less latency wants less.</summary>
|
||||
public const int DefaultMicSyncOffsetMs = 175;
|
||||
/// <summary>
|
||||
/// The shipped default for the microphone-only delay: **zero**. A sync offset is a correction for one
|
||||
/// camera on one desk, never a product default — shipping a number would shift every creator's audio
|
||||
/// to fix one machine's camera, and would hide whether the fault is theirs or ours.
|
||||
/// </summary>
|
||||
public const int DefaultMicSyncOffsetMs = 0;
|
||||
|
||||
/// <summary>Microphone-only sync delay (0..500 ms), so the voice can wait for the camera's picture
|
||||
/// without moving desktop or alert audio. Absent means the shipped default.</summary>
|
||||
|
||||
Reference in New Issue
Block a user