-
Notifications
You must be signed in to change notification settings - Fork 22.9k
Ff142 RTCInboundRtpStreamStats fixes #40495
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ff142 RTCInboundRtpStreamStats fixes #40495
Conversation
51a0ae6
to
c05ddd2
Compare
files/en-us/web/api/rtcinboundrtpstreamstats/insertedsamplesfordeceleration/index.md
Show resolved
Hide resolved
files/en-us/web/api/rtcinboundrtpstreamstats/removedsamplesforacceleration/index.md
Show resolved
Hide resolved
11836de
to
253ee5f
Compare
This pull request has merge conflicts that must be resolved before it can be merged. |
files/en-us/web/api/rtcinboundrtpstreamstats/playoutid/index.md
Outdated
Show resolved
Hide resolved
7b68da0
to
c326b31
Compare
Speeding up or slowing down the audio (as tracked with {{domxref("RTCInboundRtpStreamStats.insertedSamplesForDeceleration","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 {{domxref("RTCInboundRtpStreamStats/totalSamplesReceived","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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was a hard one to get info about. The information here comes from the discussion in w3c/webrtc-stats#809 (comment) - it is duplicated in the decel. property.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
RTCInboundRtpStreamStats/receiverId - delete/redirect RTCInboundRtpStreamStats.packetsFailedDecryption - delete/redirect RTCInboundRtpStreamStats/packetsDuplicated - delete/redirect RTCInboundRtpStreamStats/perDscpPacketsReceived - delete/redirect RTCInboundRtpStreamStats.sliCount - delete/redirect
ab64e7d
to
5ad7997
Compare
@wbamberg Would be great to get a review when you have time. I'm away for a few weeks after next week so hoping to have it ready before then. |
Sorry, looking now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had a few little comments, but since I'll be away for the rest of this week, and I think you're away after the end of the week, I'll approve this so you can merge after making the updates, assuming you think they are worth doing. I think most of them should be pretty clear cut.
files/en-us/web/api/rtcinboundrtpstreamstats/audiolevel/index.md
Outdated
Show resolved
Hide resolved
files/en-us/web/api/rtcinboundrtpstreamstats/estimatedplayouttimestamp/index.md
Outdated
Show resolved
Hide resolved
files/en-us/web/api/rtcinboundrtpstreamstats/estimatedplayouttimestamp/index.md
Outdated
Show resolved
Hide resolved
files/en-us/web/api/rtcinboundrtpstreamstats/freezecount/index.md
Outdated
Show resolved
Hide resolved
files/en-us/web/api/rtcinboundrtpstreamstats/insertedsamplesfordeceleration/index.md
Show resolved
Hide resolved
files/en-us/web/api/rtcinboundrtpstreamstats/jitterbuffertargetdelay/index.md
Outdated
Show resolved
Hide resolved
files/en-us/web/api/rtcinboundrtpstreamstats/totaldecodetime/index.md
Outdated
Show resolved
Hide resolved
files/en-us/web/api/rtcinboundrtpstreamstats/totalfreezesduration/index.md
Outdated
Show resolved
Hide resolved
files/en-us/web/api/rtcinboundrtpstreamstats/totalfreezesduration/index.md
Outdated
Show resolved
Hide resolved
Co-authored-by: wbamberg <[email protected]>
Thanks very much for the review and approval @wbamberg - appreciate how "not fun" it is. All the suggestions made sense and have been integrated. On the plus side, the stats todo list is starting to look a little less horrible mdn/mdn#384 (comment) |
* RTCInboundRtpStreamStats - update to only supported members (placholders) * RTCInboundRtpStreamStats.keyFramesDecoded - add * RTCInboundRtpStreamStats.headerBytesReceived - add * RTCInboundRtpStreamStats.frameHeight/.frameWidth - add * RTCInboundRtpStreamStats.framesPerSecond - add * RTCInboundRtpStreamStats.framesReceived - add * RTCInboundRtpStreamStats.audioLevel - add * RTCInboundRtpStreamStats.totalAudioEnergy * RTCInboundRtpStreamStats.concealedSamples * RTCInboundRtpStreamStats.concealmentEvents * RTCInboundRtpStreamStats.estimatedPlayoutTimestamp * RTCInboundRtpStreamStats.silentConcealedSamples * RTCInboundRtpStreamStats.framesAssembledFromMultiplePackets add * RTCInboundRtpStreamStats.totalAssemblyTime add * RTCInboundRtpStreamStats.freezeCount add * RTCInboundRtpStreamStats.insertedSamplesForDeceleration add * RTCInboundRtpStreamStats.jitterBufferDelay add * Improve inserted/removedSamples * Jitter related stats * RTCInboundRtpStreamStats.packetsDiscarded add * RTCInboundRtpStreamStats.packetsLost add * RTCInboundRtpStreamStats.packetsReceived add * RTCInboundRtpStreamStats.pauseCount add * RTCInboundRtpStreamStats.totalPausesDuration add * RTCInboundRtpStreamStats.playoutId add * RTCInboundRtpStreamStats.totalDecodeTime add * RTCInboundRtpStreamStats tidy a few * Update files/en-us/web/api/rtcinboundrtpstreamstats/playoutid/index.md Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * totalFreezesDuration - add * totalInterFrameDelay - add * totalProcessingDelay - add * totalSamplesDuration - add * totalSamplesReceived - add * totalSquaredInterFrameDelay - add * trackIdentifier - add * accel/decel fixes * RTCInboundRtpStreamStats.averageRtcpInterval - delete/redirect RTCInboundRtpStreamStats/receiverId - delete/redirect RTCInboundRtpStreamStats.packetsFailedDecryption - delete/redirect RTCInboundRtpStreamStats/packetsDuplicated - delete/redirect RTCInboundRtpStreamStats/perDscpPacketsReceived - delete/redirect RTCInboundRtpStreamStats.sliCount - delete/redirect * Try revert screwed up _wikihistory.json * playoutid fix * Apply suggestions from code review Co-authored-by: wbamberg <[email protected]> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: wbamberg <[email protected]>
This fixes up the
RTCInboundRtpStreamStats
to match the BCD as per FF142, which adds support for some more properties.RTC is hard IMO, and the specs are not easy. A lot of this is nothing more than the spec. A little of it is. For example, I did learn some interesting things about the jitter buffer and associated stats in https://webrtchacks.com/how-webrtcs-neteq-jitter-buffer-provides-smooth-audio/
Contributes to mdn/mdn#384
Related docs work can be tracked in #40478
Removals (not in BCD):
averageRtcpInterval
,firCount
,lastPacketReceivedTimestamp
,packetsDuplicated
,packetsFailedDecryption
,perDscpPacketsReceived
,pliCount
,receiverId
,sliCount
,