AudioGraphBuilder.plc() method
Packet-loss concealment: fills timeline gaps in the input with synthesized audio so a dropout (a dropped SDI frame, a lost packet run) is broadly inaudible up to ~40 ms and inoffensive beyond.
strategy (default "plc"): signal-adaptive — tonal content continues at its own pitch, noise-like content extends as shaped noise, both attenuated to silence by ~100 ms. "replicate" is the legacy GapFiller echo; "silence" fades out and back in (debug).
Gaps longer than maxGapMs (default 500) are an outage: nothing is manufactured — the (smaller) hole passes through and the audio fades back in on return. latencyMs (default 0) holds audio back so the silence strategy can fade out the pre-gap tail retrospectively, at the cost of that much latency.
When a name is given, concealment events (concealed_ms, voiced) are emitted on the measurement firehose under that tap name.
Signature:
plc(input: AudioNode, opts?: {
strategy?: "plc" | "replicate" | "silence";
maxGapMs?: number;
latencyMs?: number;
name?: string;
}): AudioNode;