Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(540)

Side by Side Diff: webrtc/modules/audio_processing/audio_processing_impl.cc

Issue 1530913002: Rename RTC_HISTOGRAM_* macros to RTC_HISTOGRAM_*_SPARSE_* to indicate that these are for infrequent (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 1304 matching lines...) Expand 10 before | Expand all | Expand 10 after
1315 if (capture_.aec_system_delay_jumps == -1 && 1315 if (capture_.aec_system_delay_jumps == -1 &&
1316 echo_cancellation()->stream_has_echo()) { 1316 echo_cancellation()->stream_has_echo()) {
1317 capture_.aec_system_delay_jumps = 0; 1317 capture_.aec_system_delay_jumps = 0;
1318 } 1318 }
1319 1319
1320 // Detect a jump in platform reported system delay and log the difference. 1320 // Detect a jump in platform reported system delay and log the difference.
1321 const int diff_stream_delay_ms = 1321 const int diff_stream_delay_ms =
1322 capture_nonlocked_.stream_delay_ms - capture_.last_stream_delay_ms; 1322 capture_nonlocked_.stream_delay_ms - capture_.last_stream_delay_ms;
1323 if (diff_stream_delay_ms > kMinDiffDelayMs && 1323 if (diff_stream_delay_ms > kMinDiffDelayMs &&
1324 capture_.last_stream_delay_ms != 0) { 1324 capture_.last_stream_delay_ms != 0) {
1325 RTC_HISTOGRAM_COUNTS("WebRTC.Audio.PlatformReportedStreamDelayJump", 1325 RTC_HISTOGRAM_COUNTS_SPARSE(
1326 diff_stream_delay_ms, kMinDiffDelayMs, 1000, 100); 1326 "WebRTC.Audio.PlatformReportedStreamDelayJump", diff_stream_delay_ms,
1327 kMinDiffDelayMs, 1000, 100);
1327 if (capture_.stream_delay_jumps == -1) { 1328 if (capture_.stream_delay_jumps == -1) {
1328 capture_.stream_delay_jumps = 0; // Activate counter if needed. 1329 capture_.stream_delay_jumps = 0; // Activate counter if needed.
1329 } 1330 }
1330 capture_.stream_delay_jumps++; 1331 capture_.stream_delay_jumps++;
1331 } 1332 }
1332 capture_.last_stream_delay_ms = capture_nonlocked_.stream_delay_ms; 1333 capture_.last_stream_delay_ms = capture_nonlocked_.stream_delay_ms;
1333 1334
1334 // Detect a jump in AEC system delay and log the difference. 1335 // Detect a jump in AEC system delay and log the difference.
1335 const int frames_per_ms = 1336 const int frames_per_ms =
1336 rtc::CheckedDivExact(capture_nonlocked_.split_rate, 1000); 1337 rtc::CheckedDivExact(capture_nonlocked_.split_rate, 1000);
1337 const int aec_system_delay_ms = 1338 const int aec_system_delay_ms =
1338 WebRtcAec_system_delay(echo_cancellation()->aec_core()) / frames_per_ms; 1339 WebRtcAec_system_delay(echo_cancellation()->aec_core()) / frames_per_ms;
1339 const int diff_aec_system_delay_ms = 1340 const int diff_aec_system_delay_ms =
1340 aec_system_delay_ms - capture_.last_aec_system_delay_ms; 1341 aec_system_delay_ms - capture_.last_aec_system_delay_ms;
1341 if (diff_aec_system_delay_ms > kMinDiffDelayMs && 1342 if (diff_aec_system_delay_ms > kMinDiffDelayMs &&
1342 capture_.last_aec_system_delay_ms != 0) { 1343 capture_.last_aec_system_delay_ms != 0) {
1343 RTC_HISTOGRAM_COUNTS("WebRTC.Audio.AecSystemDelayJump", 1344 RTC_HISTOGRAM_COUNTS_SPARSE("WebRTC.Audio.AecSystemDelayJump",
1344 diff_aec_system_delay_ms, kMinDiffDelayMs, 1000, 1345 diff_aec_system_delay_ms, kMinDiffDelayMs,
1345 100); 1346 1000, 100);
1346 if (capture_.aec_system_delay_jumps == -1) { 1347 if (capture_.aec_system_delay_jumps == -1) {
1347 capture_.aec_system_delay_jumps = 0; // Activate counter if needed. 1348 capture_.aec_system_delay_jumps = 0; // Activate counter if needed.
1348 } 1349 }
1349 capture_.aec_system_delay_jumps++; 1350 capture_.aec_system_delay_jumps++;
1350 } 1351 }
1351 capture_.last_aec_system_delay_ms = aec_system_delay_ms; 1352 capture_.last_aec_system_delay_ms = aec_system_delay_ms;
1352 } 1353 }
1353 } 1354 }
1354 1355
1355 void AudioProcessingImpl::UpdateHistogramsOnCallEnd() { 1356 void AudioProcessingImpl::UpdateHistogramsOnCallEnd() {
1356 // Run in a single-threaded manner. 1357 // Run in a single-threaded manner.
1357 rtc::CritScope cs_render(&crit_render_); 1358 rtc::CritScope cs_render(&crit_render_);
1358 rtc::CritScope cs_capture(&crit_capture_); 1359 rtc::CritScope cs_capture(&crit_capture_);
1359 1360
1360 if (capture_.stream_delay_jumps > -1) { 1361 if (capture_.stream_delay_jumps > -1) {
1361 RTC_HISTOGRAM_ENUMERATION( 1362 RTC_HISTOGRAM_ENUMERATION_SPARSE(
1362 "WebRTC.Audio.NumOfPlatformReportedStreamDelayJumps", 1363 "WebRTC.Audio.NumOfPlatformReportedStreamDelayJumps",
1363 capture_.stream_delay_jumps, 51); 1364 capture_.stream_delay_jumps, 51);
1364 } 1365 }
1365 capture_.stream_delay_jumps = -1; 1366 capture_.stream_delay_jumps = -1;
1366 capture_.last_stream_delay_ms = 0; 1367 capture_.last_stream_delay_ms = 0;
1367 1368
1368 if (capture_.aec_system_delay_jumps > -1) { 1369 if (capture_.aec_system_delay_jumps > -1) {
1369 RTC_HISTOGRAM_ENUMERATION("WebRTC.Audio.NumOfAecSystemDelayJumps", 1370 RTC_HISTOGRAM_ENUMERATION_SPARSE("WebRTC.Audio.NumOfAecSystemDelayJumps",
1370 capture_.aec_system_delay_jumps, 51); 1371 capture_.aec_system_delay_jumps, 51);
1371 } 1372 }
1372 capture_.aec_system_delay_jumps = -1; 1373 capture_.aec_system_delay_jumps = -1;
1373 capture_.last_aec_system_delay_ms = 0; 1374 capture_.last_aec_system_delay_ms = 0;
1374 } 1375 }
1375 1376
1376 #ifdef WEBRTC_AUDIOPROC_DEBUG_DUMP 1377 #ifdef WEBRTC_AUDIOPROC_DEBUG_DUMP
1377 int AudioProcessingImpl::WriteMessageToDebugFile( 1378 int AudioProcessingImpl::WriteMessageToDebugFile(
1378 FileWrapper* debug_file, 1379 FileWrapper* debug_file,
1379 rtc::CriticalSection* crit_debug, 1380 rtc::CriticalSection* crit_debug,
1380 ApmDebugDumpThreadState* debug_state) { 1381 ApmDebugDumpThreadState* debug_state) {
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
1479 debug_dump_.capture.event_msg->set_type(audioproc::Event::CONFIG); 1480 debug_dump_.capture.event_msg->set_type(audioproc::Event::CONFIG);
1480 debug_dump_.capture.event_msg->mutable_config()->CopyFrom(config); 1481 debug_dump_.capture.event_msg->mutable_config()->CopyFrom(config);
1481 1482
1482 RETURN_ON_ERR(WriteMessageToDebugFile(debug_dump_.debug_file.get(), 1483 RETURN_ON_ERR(WriteMessageToDebugFile(debug_dump_.debug_file.get(),
1483 &crit_debug_, &debug_dump_.capture)); 1484 &crit_debug_, &debug_dump_.capture));
1484 return kNoError; 1485 return kNoError;
1485 } 1486 }
1486 #endif // WEBRTC_AUDIOPROC_DEBUG_DUMP 1487 #endif // WEBRTC_AUDIOPROC_DEBUG_DUMP
1487 1488
1488 } // namespace webrtc 1489 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698