WebRTC Metrics

A comprehensive overview of WebRTC statistics, derived calculations, extracted features, and observable signals, to better understand call quality, connectivity, and user experience in rtcStats

Back
inboundaudiovideonetworkstalledBeforeCapturetype

Stalled before capture

This inbound stream was already stalled when the call started. The last packet was received before the capture began.

Description

This observation detects an inbound media stream (audio or video) that never received a single RTP packet during the capture: the stream was already stalled when the recording started.

When does it trigger?

The last packet on the stream was received before the first statistics sample of the capture. It can be caused by several factors, any of them equally likely:

  • Server-side pause: In SFU scenarios, the server stopped forwarding this stream, which is legitimate for muted or off-screen participants
  • Sender pause: The remote participant paused their camera or microphone before the capture started
  • Network interruption on the sender side: The sender lost connectivity before the capture started

It often means the capture was started after the user noticed the problem, so the beginning of the incident is not in the recording.

What do we do here?

We look at the value of lastPacketReceivedTimestamp from any inbound stream. When the value is frozen over the entire capture and points to a moment at least 2 seconds before the first statistics sample (and at most 12 hours, to reject implausible clocks), we mark this Observation instead of Stalled stream. The timestamp of the Observation is the time of that last received packet.

See also