Implement RTCInboundRTPStreamStats.JitterBufferMinimumDelay

This metric was recently added to the standard (see https://w3c.github.io/webrtc-stats/#dom-rtcinboundrtpstreamstats-jitterbufferminimumdelay). This CL implements it for audio streams.

Bug: webrtc:14141
Change-Id: I79d918639cd12361ebbc28c2be41549e33fa7e2a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262770
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37567}
This commit is contained in:
Ivo Creusen
2022-07-19 16:33:10 +02:00
committed by WebRTC LUCI CQ
parent e7696f771d
commit 1a84b565ac
21 changed files with 74 additions and 9 deletions

View File

@ -61,9 +61,15 @@ class DelayManager {
// Resets all state.
virtual void Reset();
// Gets the target buffer level in milliseconds.
// Gets the target buffer level in milliseconds. If a minimum or maximum delay
// has been set, the target delay reported here also respects the configured
// min/max delay.
virtual int TargetDelayMs() const;
// Reports the target delay that would be used if no minimum/maximum delay
// would be set.
virtual int UnlimitedTargetLevelMs() const;
// Notifies the DelayManager of how much audio data is carried in each packet.
virtual int SetPacketAudioLength(int length_ms);
@ -107,7 +113,8 @@ class DelayManager {
int maximum_delay_ms_; // Externally set maximum allowed delay.
int packet_len_ms_ = 0;
int target_level_ms_; // Currently preferred buffer level.
int target_level_ms_ = 0; // Currently preferred buffer level.
int unlimited_target_level_ms_ = 0;
};
} // namespace webrtc