Add NetEq::FilteredCurrentDelayMs() and use it in VoiceEngine

The new method returns the current total delay (packet buffer and sync
buffer) in ms, with smoothing applied to even out short-time
fluctuations due to jitter. The packet buffer part of the delay is not
updated during DTX/CNG periods.

This CL also pipes the new metric through ACM and uses it in
VoiceEngine. It replaces the previous method of estimating the buffer
delay (where an inserted packet's RTP timestamp was compared with the
last played timestamp from NetEq). The new method works better under
periods of DTX/CNG.

Review-Url: https://codereview.webrtc.org/2262203002
Cr-Commit-Position: refs/heads/master@{#13855}
This commit is contained in:
henrik.lundin
2016-08-22 15:39:53 -07:00
committed by Commit bot
parent e131ea50b4
commit b3f1c5d2fe
8 changed files with 53 additions and 5 deletions

View File

@ -146,6 +146,8 @@ class NetEqImpl : public webrtc::NetEq {
int CurrentDelayMs() const override;
int FilteredCurrentDelayMs() const override;
// Sets the playout mode to |mode|.
// Deprecated.
// TODO(henrik.lundin) Delete.