RTCInboundRtpStreamStats: removedSamplesForAcceleration property

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨October 2022⁩.

The removedSamplesForAcceleration property of the RTCInboundRtpStreamStats dictionary accumulates the difference between the number of samples played out of the jitter buffer and the number of samples received while audio playout is sped up.

The WebRTC jitter buffer sets a target playout delay level such that the inflow and outflow of the jitter buffer should be approximately the same. If the jitter buffer empties too slowly the audio sample that is next in line to be output may be "behind schedule", and the engine may speed up playout to catch up. If the engine speeds up playout by removing some audio samples, this property indicates the accumulated number of such removed samples.

Speeding up or slowing down the audio (as tracked with insertedSamplesForDeceleration) may result in audible warbling or other distortion. The totals at the end of the call also give you some indication of how many samples or seconds were impacted, and removedSamplesForAcceleration can be correlated with totalSamplesReceived to get a relative measure of acceleration. Logging insertedSamplesForDeceleration and removedSamplesForAcceleration in timeslices can be helpful for isolating the times at which the problem occurred and you can then correlate other metrics in the same timeslice to determine likely causes.

Note: The value is undefined for video streams.

Value

A positive integer.

Specifications

Specification
Identifiers for WebRTC's Statistics API
# dom-rtcinboundrtpstreamstats-removedsamplesforacceleration

Browser compatibility

See also