For quite some time, several important metrics have only been available in the non-standard getStats() API (goog-stats), preventing applications from migrating to the promise-based getStats() API that shipped over two years ago.
The new M76 stats are:
- insertedSamplesForDeceleration, removedSamplesForAcceleration (makes googExpandRate and googAccelerateRate obsolete)
- silentConcealedSamples (makes googPreemptiveExpandRate obsolete)
- fecPacketsReceived, fecPacketsDiscarded (makes googSecondaryDecodedRate and googSecondaryDiscardedRate obsolete)
- roundTripTime and other RTCRemoteInboundRtpStreamStats metrics (makes googRtt obsolete)
- totalEncodedBytesTarget (makes googTargetEncBitrate obsolete)
- jitterBufferDelay and jitterBufferEmittedCount for video (audio-equivalent already exists; together makes googJitterBufferMs obsolete)
- qualityLimitationReason (makes googBandwidthLimitedResolution, googCpuLimitedResolution obsolete)
- RTCMediaSourceStats including width, height and framesPerSecond before encoding (makes googFrameWidthInput, googFrameHeightInput and googFrameRateInput obsolete; and goog*[Sent/Received] are already obsolete)
- totalPacketSendDelay (makes googBucketDelay obsolete)
In previous milestone, M75:
- retransmittedBytesSent, retransmittedPacketsSent (makes googActualEncBitrate obsolete by subtracting from bytesSent)
- totalEncodeTime (makes googAvgEncodeMs obsolete and googEncodeUsagePercent unnecessary)
- lastPacketReceivedTimestamp (together with framesDecoded/framesReceived allows detecting freezes, similar to googInterframeDelayMax but not as good for smaller glitches)
- contentType (makes googContentType obsolete)
A follow-up PSA will contain a guide to aid developers in migrating to the standard API; the old and new metrics don't map 1:1.