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
Loading…
See also
insertedSamplesForDeceleration
- The better way in "How WebRTC's NetEQ Jitter Buffer Provides Smooth Audio" (webrtchacks.com, June 2025)