179d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org/* 279d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 379d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org * 479d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org * Use of this source code is governed by a BSD-style license 579d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org * that can be found in the LICENSE file in the root of the source 679d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org * tree. An additional intellectual property rights grant can be found 779d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org * in the file PATENTS. All contributing project authors may 879d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org * be found in the AUTHORS file in the root of the source tree. 979d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org */ 1079d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org 1149d62206ededc5905d6121d42fdcce8ed665b2c0kjellander@webrtc.org#include "testing/gtest/include/gtest/gtest.h" 1279d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org#include "webrtc/modules/audio_coding/main/acm2/call_statistics.h" 1379d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org 1479d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.orgnamespace webrtc { 1579d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org 1679d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.orgnamespace acm2 { 1779d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org 1879d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.orgTEST(CallStatisticsTest, InitializedZero) { 1979d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org CallStatistics call_stats; 2079d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org AudioDecodingCallStats stats; 2179d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org 2279d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org stats = call_stats.GetDecodingStatistics(); 2379d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org EXPECT_EQ(0, stats.calls_to_neteq); 2479d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org EXPECT_EQ(0, stats.calls_to_silence_generator); 2579d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org EXPECT_EQ(0, stats.decoded_normal); 2679d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org EXPECT_EQ(0, stats.decoded_cng); 2779d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org EXPECT_EQ(0, stats.decoded_plc); 2879d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org EXPECT_EQ(0, stats.decoded_plc_cng); 2979d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org} 3079d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org 3179d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.orgTEST(CallStatisticsTest, AllCalls) { 3279d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org CallStatistics call_stats; 3379d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org AudioDecodingCallStats stats; 3479d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org 3579d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org call_stats.DecodedBySilenceGenerator(); 3679d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org call_stats.DecodedByNetEq(AudioFrame::kNormalSpeech); 3779d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org call_stats.DecodedByNetEq(AudioFrame::kPLC); 3879d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org call_stats.DecodedByNetEq(AudioFrame::kPLCCNG); 3979d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org call_stats.DecodedByNetEq(AudioFrame::kCNG); 4079d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org 4179d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org stats = call_stats.GetDecodingStatistics(); 4279d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org EXPECT_EQ(4, stats.calls_to_neteq); 4379d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org EXPECT_EQ(1, stats.calls_to_silence_generator); 4479d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org EXPECT_EQ(1, stats.decoded_normal); 4579d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org EXPECT_EQ(1, stats.decoded_cng); 4679d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org EXPECT_EQ(1, stats.decoded_plc); 4779d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org EXPECT_EQ(1, stats.decoded_plc_cng); 4879d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org} 4979d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org 5079d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org} // namespace acm2 5179d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org 5279d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org} // namespace webrtc 5379d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org 5479d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org 5579d6dafd3dac32e505bc1a2ccc83ef3ceb6c5ad3wu@webrtc.org 56