RTCInboundRtpStreamStats: fecPacketsReceived 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 fecPacketsReceived property of the RTCInboundRtpStreamStats dictionary indicates how many Forward Error Correction (FEC) packets have been received by this RTP receiver from the remote peer.

A FEC packet provides parity information that can be used to attempt to reconstruct RTP data packets which have been corrupted in transit.

Value

A positive integer value.

Description

This property indicates the total number of FEC packets which have been received from the remote peer during this RTP session.

Forward Error Correction uses an exclusive-or method to perform parity checks on the received data. By using the FEC parity information to attempt to reconstruct damaged packets, it is possible to avoid the need to retransmit damaged packets, which in turn helps to reduce lag, or the need to skip damaged frames entirely.

Note: This counter may also be incremented when FEC packets arrive in-band along with media content; this can happen with Opus, for example.

It's possible that a subset of the FEC packets which have been received were discarded instead of being used. This can happen if the packets covered by the FEC packets have already been received successfully or have already been reconstructed using a previously-received FEC packet. This may also happen if the FEC packet arrives outside the window of time in which the client will attempt to use it.

If you wish to know how many of the received packets were discarded, you can examine the value of fecPacketsDiscarded.

Specifications

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

Browser compatibility

desktop mobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
fecPacketsReceived in 'inbound-rtp' stats
Chrome – Full support
Chrome 81 (Release date: 2020-04-07)
footnote Full support
Edge – Full support
Edge 81 (Release date: 2020-04-13)
footnote Full support
Firefox – Full support
Firefox 106 (Release date: 2022-10-18)
footnote Full support
Opera – Full support
Opera 68 (Release date: 2020-04-22)
footnote Full support
Safari – Full support
Safari 14.1 (Release date: 2021-04-26)
footnote Full support
Chrome Android – Full support
Chrome Android 81 (Release date: 2020-04-07)
footnote Full support
Firefox for Android – Full support
Firefox for Android 106 (Release date: 2022-10-18)
footnote Full support
Opera Android – Full support
Opera Android 58 (Release date: 2020-05-13)
footnote Full support
Safari on iOS – Full support
Safari on iOS 14.5 (Release date: 2021-04-26)
footnote Full support
Samsung Internet – Full support
Samsung Internet 13 (Release date: 2020-12-02)
footnote Full support
WebView Android – Full support
WebView Android 81 (Release date: 2020-04-07)
footnote Full support
WebView on iOS – Full support
WebView on iOS 14.5 (Release date: 2021-04-26)
footnote Full support

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

See also

  • RFC 5109 (RTP Payload Format for Generic Forward Error Correction)