webrtc/talk
Bjorn Volcker 4e7aa43ea0 audio_processing: Adds two UMA histograms logging delay jumps in AEC
We have two histograms today that trigger on large jumps in either platform reported stream delays (WebRTC.Audio.PlatformReportedStreamDelayJump) or the system delay in the AEC (WebRTC.Audio.AecSystemDelayJump). The latter is the internal buffer size in the AEC.
The sizes of such jumps are of relevance since it can harm the AEC and even put it in a complete failure state. It is hard, not to say impossible, to tell how frequent it is.
Therefore, two complementary histograms are added; number of jumps in each metric.
This way we get a quick way to determine how often a jump occurs in general and also how frequent it is within a call.

This is solved by adding a counter for each metric.
The counter is activated either upon an event trigger or if we know for sure when the AEC is running.
Unfortunately, we can't rely on the destructor at the end of a call so we add a public API for the user to take on the action of calling it at the end of a call.

Tested locally by building ToT chromium including changes and three triggered jumps (200, 50 and 60 ms).
The stats picked up the 60 and 200 ms jumps as expected.

BUG=488124
R=asapersson@webrtc.org, pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1229443003.

Cr-Commit-Position: refs/heads/master@{#9544}
2015-07-07 09:50:16 +00:00
..
app/webrtc Report metrics about negotiated ciphers. 2015-07-03 08:36:22 +00:00
build Roll chromium_revision e937e5f..c2239a8 (333350:334133) 2015-06-15 09:10:25 +00:00
examples Update AppRTCDemo resolution for iPhone6/6+ 2015-07-02 01:26:40 +00:00
media audio_processing: Adds two UMA histograms logging delay jumps in AEC 2015-07-07 09:50:16 +00:00
session/media VoE: Initialize WebRtcVoiceMediaChannel with AudioOptions during creation 2015-05-29 13:05:52 +00:00
codereview.settings Update deeper codereview.settings files to match the root. 2015-06-24 19:40:39 +00:00
COPYING Libjingle in webrtc needs updated AUTHORS, COPYING, LICENSE_THIRD_PARTY AND README. 2013-07-16 18:04:56 +00:00
libjingle_examples.gyp Update AppRTCDemo resolution for iPhone6/6+ 2015-07-02 01:26:40 +00:00
libjingle_media_unittest.isolate Update libjingle license statements at top of talk files for consistency 2015-01-20 21:36:13 +00:00
libjingle_p2p_unittest.isolate Update libjingle license statements at top of talk files for consistency 2015-01-20 21:36:13 +00:00
libjingle_peerconnection_unittest.isolate Update libjingle license statements at top of talk files for consistency 2015-01-20 21:36:13 +00:00
libjingle_tests.gyp Report metrics about negotiated ciphers. 2015-07-03 08:36:22 +00:00
libjingle.gyp Android VideoRendererGui: Refactor GLES rendering 2015-06-24 10:59:43 +00:00
LICENSE_THIRD_PARTY Fix clang style warnings in webrtc/base 2015-03-09 22:24:25 +00:00
OWNERS Remove henrike@ from OWNERS 2015-04-01 15:08:49 +00:00
PRESUBMIT.py Update libjingle license statements at top of talk files for consistency 2015-01-20 21:36:13 +00:00