StreamSwitchSmoothSettings.onFirstFrame property

Called on the first frame of any source pin. Return "hold" to queue frames for that pin (for preloading), or "passthrough" to let them flow normally. Return an object form (e.g. { release: "other" } or { hold: true, release: "other" }) to additionally release another held pin atomically as part of the same decision.

Signature:

onFirstFrame?: (pin: Pins, streams: StreamMetadata[]) => Promise<"hold" | "passthrough" | {
        hold?: boolean;
        release?: Pins;
    }>;