RTCRtpContributingSource: https://w3c.github.io/webrtc-pc/#dom-rtcrtpcontributingsource
Retrieved from RTCRtpReceiver.getContributingSources();
Needs to be updated as new RTP packets arrive, however the values should only change in-between event loop task execution so we need to cache them.
RTCRtpReceiver should have a cache that RTCRtpContributingSources can access by source key. When getContributingSources is called or a contributing source member variable is accessed, refresh and/or use cache.
When fetching values from webrtc set should_update_contributing_sources_ to false and schedule a microtask to set it to true. The cache needs to retain values for any contributing source that has not been GC'd.
Comment 1 by hbos@chromium.org
, Apr 12 2017