diff --git a/talk/app/webrtc/statscollector.cc b/talk/app/webrtc/statscollector.cc index a6a2e13ec0..968fa8f30a 100644 --- a/talk/app/webrtc/statscollector.cc +++ b/talk/app/webrtc/statscollector.cc @@ -113,6 +113,10 @@ void ExtractStats(const cricket::VoiceReceiverInfo& info, StatsReport* report) { info.delay_estimate_ms); report->AddValue(StatsReport::kStatsValueNameExpandRate, rtc::ToString(info.expand_rate)); + report->AddValue(StatsReport::kStatsValueNameSpeechExpandRate, + rtc::ToString(info.speech_expand_rate)); + report->AddValue(StatsReport::kStatsValueNameSecondaryDecodedRate, + rtc::ToString(info.secondary_decoded_rate)); report->AddValue(StatsReport::kStatsValueNamePacketsReceived, info.packets_rcvd); report->AddValue(StatsReport::kStatsValueNamePacketsLost, diff --git a/talk/app/webrtc/statscollector_unittest.cc b/talk/app/webrtc/statscollector_unittest.cc index 96975c2836..8a1dc77ba5 100644 --- a/talk/app/webrtc/statscollector_unittest.cc +++ b/talk/app/webrtc/statscollector_unittest.cc @@ -320,6 +320,12 @@ void VerifyVoiceReceiverInfoReport( EXPECT_TRUE(GetValue( report, StatsReport::kStatsValueNameExpandRate, &value_in_report)); EXPECT_EQ(rtc::ToString(info.expand_rate), value_in_report); + EXPECT_TRUE(GetValue( + report, StatsReport::kStatsValueNameSpeechExpandRate, &value_in_report)); + EXPECT_EQ(rtc::ToString(info.speech_expand_rate), value_in_report); + EXPECT_TRUE(GetValue(report, StatsReport::kStatsValueNameSecondaryDecodedRate, + &value_in_report)); + EXPECT_EQ(rtc::ToString(info.secondary_decoded_rate), value_in_report); EXPECT_TRUE(GetValue( report, StatsReport::kStatsValueNamePacketsReceived, &value_in_report)); EXPECT_EQ(rtc::ToString(info.packets_rcvd), value_in_report); @@ -453,6 +459,8 @@ void InitVoiceReceiverInfo(cricket::VoiceReceiverInfo* voice_receiver_info) { voice_receiver_info->delay_estimate_ms = 119; voice_receiver_info->audio_level = 120; voice_receiver_info->expand_rate = 121; + voice_receiver_info->speech_expand_rate = 122; + voice_receiver_info->secondary_decoded_rate = 123; } class StatsCollectorForTest : public webrtc::StatsCollector { diff --git a/talk/app/webrtc/statstypes.cc b/talk/app/webrtc/statstypes.cc index 31ae740d7e..de12d5d9ce 100644 --- a/talk/app/webrtc/statstypes.cc +++ b/talk/app/webrtc/statstypes.cc @@ -416,8 +416,12 @@ const char* StatsReport::Value::display_name() const { return "googRetransmitBitrate"; case kStatsValueNameRtt: return "googRtt"; + case kStatsValueNameSecondaryDecodedRate: + return "googSecondaryDecodedRate"; case kStatsValueNameSendPacketsDiscarded: return "packetsDiscardedOnSend"; + case kStatsValueNameSpeechExpandRate: + return "googSpeechExpandRate"; case kStatsValueNameTargetEncBitrate: return "googTargetEncBitrate"; case kStatsValueNameTransmitBitrate: diff --git a/talk/app/webrtc/statstypes.h b/talk/app/webrtc/statstypes.h index a3abc2e994..ece686af5a 100644 --- a/talk/app/webrtc/statstypes.h +++ b/talk/app/webrtc/statstypes.h @@ -208,7 +208,9 @@ class StatsReport { kStatsValueNameRenderDelayMs, kStatsValueNameRetransmitBitrate, kStatsValueNameRtt, + kStatsValueNameSecondaryDecodedRate, kStatsValueNameSendPacketsDiscarded, + kStatsValueNameSpeechExpandRate, kStatsValueNameTargetDelayMs, kStatsValueNameTargetEncBitrate, kStatsValueNameTrackId,