StreamSwitchHardSettings interface
Settings for the Hard Stream Switch see: NorskControl.streamSwitchHard()
Signature:
export interface StreamSwitchHardSettings<Pins extends string> extends ProcessorNodeSettings<StreamSwitchHardNode<Pins>>
Extends: ProcessorNodeSettings<StreamSwitchHardNode<Pins>>
Properties
| Property | Type | Description |
|---|---|---|
Pins |
The currently active source to display on the output |
|
number |
(Optional) Optionally delay all streams by a fixed (wallclock) duration. This option is provided to allow decisions on switching to be made with the benefit of a buffer’s worth of foresight, specifically if a stream should disappear, actioning the switch to a backup stream can be made early enough that the switch can occur on a keyframe |
|
number |
(Optional) How long a cut waits for the streams of the source being left other than video (its sound, subtitles, ancillary data) to reach the keyframe the cut landed on. Each source passes through the switch as it arrives, and a TS source’s sound can arrive the better part of a second behind its pictures; the new source’s sound joins the output once the old source’s has reached the keyframe, or this time has passed, whichever is first (past it, what the old source has not sent is lost). Defaults to 1000 ms. |
|
(allStreams: Map<Pins, StreamMetadata[]>) ⇒ Promise<void> |
(Optional) Callback to be called when inbound context changes on some input; presence of an input means that media has arrived and is ready to switch immediately Note that in combination with StreamSwitchHardSettings.bufferDelayMs this event represents the delayed media context (i.e. still ready to switch immediately according to this context, but any observation of early changes must happen upstream). |
|
(source?: string) ⇒ void |
(Optional) Callback which will be called if a switch request has been effectuated - that is, after a source switch is requested and has been accepted (is not an error), the desired source is now active on the output. For video sources, this means that a keyframe (IDR/IRAP/etc) has arrived on (at least one video stream), for audio-only sources this will be any frame. |
|
(message: string, inputPin?: Pins) ⇒ void |
(Optional) Callback which will be called if a switch request cannot be fulfilled |
|
string |
the source name to give the output of this switch operation |
|
boolean |
(Optional) When true, suppress transient/partial output contexts during source transitions. A stream missing from a new context is kept in the output context as it was last sent, so the output’s set of streams only shrinks when the new context is fully empty (carries teardown semantics); a stream the new context carries always goes out as it now is, so its frames are never described by a stale context. Identical-to-previous contexts are deduped. Pairs naturally with |
|
number |
(Optional) Starting stream ID for the output ancillary stream (default 513) |
|
number |
(Optional) Starting stream ID for the output audio stream (default 2) |
|
number |
(Optional) Starting stream ID for the output subtitle stream (default 257) |
|
number |
(Optional) Starting stream ID for the output video stream (default 1) |
|
boolean |
(Optional) When true, strip volatile metadata fields (currently |