InputStreamHealth interface

Per-stream wallclock-vs-media health within a connection health sample. See the SRT input metrics documentation for how to read these together.

Signature:

export interface InputStreamHealth

Properties

Property Type Description

bitsForSample

number

Bits seen for this stream over the sample window

deliveryRate

number

Smoothed media time delivered per wallclock second (EWMA across windows). ~1.0 = realtime; > 1 sustained = the source is running above realtime (a "forgot -re" firehose reads tens×, a genuinely-fast source ~1.1+); < 1 = arriving slower than realtime. The startup producer burst is smoothed out. Only act on this once is true.

framesForSample

number

Frames seen for this stream over the sample window

lastMediaAgeMs

number

wallclock now − arrival of the last frame (ms). The stall detector: grows when frames stop arriving, even while realtimeDelta is frozen.

mediaAdvanceMs

number

How much media time advanced over the sample window (ms)

nominalFrameRate?

number

(Optional) Nominal frame rate, if known

realtimeDeltaMs

number

wallclock now − the last frame’s media timestamp (ms), measured at the input.

This is a RELATIVE quantity — do NOT read its absolute sign or magnitude as "seconds behind realtime". It carries a source-dependent offset that has nothing to do with the receiver: a startup lead (a publisher typically dumps its first GOP the instant it connects, stamping media time ahead of now) plus accumulated source-vs-receiver clock skew (a source running even ~1% fast makes this drift steadily more negative). It is commonly negative on a perfectly healthy input.

Use the TREND, not the value: realtimeDeltaSlopeMsPerS is the drift signal and lastMediaAgeMs is the stall signal.

realtimeDeltaSlopeMsPerS

number

Trend of realtimeDelta over the window (ms per second; positive = the input is falling behind realtime, negative = catching up). The reliable drift signal — this, not the absolute realtimeDelta, is what tells you an input is degrading.

settled

boolean

False during the startup window(s); once true the initial producer burst has been discounted and reflects steady state. Gate any "sustained above realtime" decision on this.

streamKey

StreamKey