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

Unified Diff: webrtc/modules/audio_coding/main/acm2/codec_manager.cc

Issue 1203803004: Adding a new ChangeLogger class to handle UMA logging of bitrates (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 5 years, 6 months 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 side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/audio_coding/main/acm2/codec_manager.cc
diff --git a/webrtc/modules/audio_coding/main/acm2/codec_manager.cc b/webrtc/modules/audio_coding/main/acm2/codec_manager.cc
index d28dcc6ff5e6d63a2fbba52a7873c4869fce93cf..7ad0e014ce5f4b227d1ef302f7d9c1a1b7d22c54 100644
--- a/webrtc/modules/audio_coding/main/acm2/codec_manager.cc
+++ b/webrtc/modules/audio_coding/main/acm2/codec_manager.cc
@@ -13,8 +13,7 @@
#include "webrtc/base/checks.h"
#include "webrtc/engine_configurations.h"
#include "webrtc/modules/audio_coding/main/acm2/acm_codec_database.h"
-#include "webrtc/modules/audio_coding/main/acm2/acm_common_defs.h"
-#include "webrtc/system_wrappers/interface/metrics.h"
+#include "webrtc/modules/audio_coding/main/acm2/delayed_logger.h"
#include "webrtc/system_wrappers/interface/trace.h"
namespace webrtc {
@@ -155,7 +154,7 @@ bool CodecSupported(const CodecInst& codec) {
const CodecInst kEmptyCodecInst = {-1, "noCodecRegistered", 0, 0, 0, 0};
} // namespace
-CodecManager::CodecManager()
+CodecManager::CodecManager(DelayedLogger* bitrate_logger)
: cng_nb_pltype_(255),
cng_wb_pltype_(255),
cng_swb_pltype_(255),
@@ -166,7 +165,9 @@ CodecManager::CodecManager()
vad_mode_(VADNormal),
send_codec_inst_(kEmptyCodecInst),
red_enabled_(false),
- codec_fec_enabled_(false) {
+ codec_fec_enabled_(false),
+ codec_owner_(bitrate_logger),
+ bitrate_logger_(bitrate_logger) {
// Register the default payload type for RED and for CNG at sampling rates of
// 8, 16, 32 and 48 kHz.
for (int i = (ACMCodecDB::kNumCodecs - 1); i >= 0; i--) {
@@ -314,9 +315,10 @@ int CodecManager::RegisterEncoder(const CodecInst& send_codec) {
// Check if a change in Rate is required.
if (send_codec.rate != send_codec_inst_.rate) {
codec_owner_.SpeechEncoder()->SetTargetBitrate(send_codec.rate);
- RTC_HISTOGRAM_COUNTS_100(
- HISTOGRAM_NAME_AUDIO_TARGET_BITRATE_IN_KBPS,
- codec_owner_.SpeechEncoder()->GetTargetBitrate() / 1000);
+ if (bitrate_logger_) {
+ bitrate_logger_->SetValue(
+ codec_owner_.SpeechEncoder()->GetTargetBitrate() / 1000);
+ }
send_codec_inst_.rate = send_codec.rate;
}

Powered by Google App Engine
This is Rietveld 408576698