Add stats-related TODOs with crbugs.
Someone wondered why framesRendered has not been implemented. I had a
look, and discovered that a) we need to implement it, and b) our entire
inter-frame, pause, and freeze metrics are measured at the wrong time
because what WebRTC considered "OnRenderedFrame()" is not actually when
the frame was rendered.
So that we don't forget this again, I filed two crbugs and added TODOs
in the code for future reference to anyone interested in these metrics.
Bug: webrtc:15600, webrtc:15601
Change-Id: Id38df7874df715e9b9c0410efa4a9bc2af5d6232
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324306
Auto-Submit: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40987}
diff --git a/api/stats/rtcstats_objects.h b/api/stats/rtcstats_objects.h
index 8bb1ff2..c28b635 100644
--- a/api/stats/rtcstats_objects.h
+++ b/api/stats/rtcstats_objects.h
@@ -286,6 +286,17 @@
RTCStatsMember<double> total_processing_delay;
RTCStatsMember<double> total_assembly_time;
RTCStatsMember<uint32_t> frames_assembled_from_multiple_packets;
+ // TODO(https://crbug.com/webrtc/15600): Implement framesRendered, which is
+ // incremented at the same time that totalInterFrameDelay and
+ // totalSquaredInterFrameDelay is incremented. (Dividing inter-frame delay by
+ // framesDecoded is slightly wrong.)
+ // https://w3c.github.io/webrtc-stats/#dom-rtcinboundrtpstreamstats-framesrendered
+ //
+ // TODO(https://crbug.com/webrtc/15601): Inter-frame, pause and freeze metrics
+ // all related to when the frame is rendered, but our implementation measures
+ // at delivery to sink, not at actual render time. When we have an actual
+ // frame rendered callback, move the calculating of these metrics to there in
+ // order to make them more accurate.
RTCStatsMember<double> total_inter_frame_delay;
RTCStatsMember<double> total_squared_inter_frame_delay;
RTCStatsMember<uint32_t> pause_count;