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

Side by Side Diff: webrtc/modules/audio_coding/neteq/neteq_network_stats_unittest.cc

Issue 1601743004: Make CriticalSectionWrapper non-virtual (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Improve comment Created 4 years, 11 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 unified diff | Download patch
« no previous file with comments | « no previous file | webrtc/system_wrappers/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2015 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 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 bool fec_enabled_; 78 bool fec_enabled_;
79 }; 79 };
80 80
81 class NetEqNetworkStatsTest : public NetEqExternalDecoderTest { 81 class NetEqNetworkStatsTest : public NetEqExternalDecoderTest {
82 public: 82 public:
83 static const int kPayloadSizeByte = 30; 83 static const int kPayloadSizeByte = 30;
84 static const int kFrameSizeMs = 20; 84 static const int kFrameSizeMs = 20;
85 static const int kMaxOutputSize = 960; // 10 ms * 48 kHz * 2 channels. 85 static const int kMaxOutputSize = 960; // 10 ms * 48 kHz * 2 channels.
86 86
87 enum logic { 87 enum logic {
88 IGNORE, 88 kIgnore,
89 EQUAL, 89 kEqual,
90 SMALLER_THAN, 90 kSmallerThan,
91 LARGER_THAN, 91 kLargerThan,
92 }; 92 };
93 93
94 struct NetEqNetworkStatsCheck { 94 struct NetEqNetworkStatsCheck {
95 logic current_buffer_size_ms; 95 logic current_buffer_size_ms;
96 logic preferred_buffer_size_ms; 96 logic preferred_buffer_size_ms;
97 logic jitter_peaks_found; 97 logic jitter_peaks_found;
98 logic packet_loss_rate; 98 logic packet_loss_rate;
99 logic packet_discard_rate; 99 logic packet_discard_rate;
100 logic expand_rate; 100 logic expand_rate;
101 logic speech_expand_rate; 101 logic speech_expand_rate;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 // expects.x = -1, do not care 136 // expects.x = -1, do not care
137 // expects.x = 0, 'x' in current stats should equal 'x' in |stats_ref| 137 // expects.x = 0, 'x' in current stats should equal 'x' in |stats_ref|
138 // expects.x = 1, 'x' in current stats should < 'x' in |stats_ref| 138 // expects.x = 1, 'x' in current stats should < 'x' in |stats_ref|
139 // expects.x = 2, 'x' in current stats should > 'x' in |stats_ref| 139 // expects.x = 2, 'x' in current stats should > 'x' in |stats_ref|
140 void CheckNetworkStatistics(NetEqNetworkStatsCheck expects) { 140 void CheckNetworkStatistics(NetEqNetworkStatsCheck expects) {
141 NetEqNetworkStatistics stats; 141 NetEqNetworkStatistics stats;
142 neteq()->NetworkStatistics(&stats); 142 neteq()->NetworkStatistics(&stats);
143 143
144 #define CHECK_NETEQ_NETWORK_STATS(x)\ 144 #define CHECK_NETEQ_NETWORK_STATS(x)\
145 switch (expects.x) {\ 145 switch (expects.x) {\
146 case EQUAL:\ 146 case kEqual:\
147 EXPECT_EQ(stats.x, expects.stats_ref.x);\ 147 EXPECT_EQ(stats.x, expects.stats_ref.x);\
148 break;\ 148 break;\
149 case SMALLER_THAN:\ 149 case kSmallerThan:\
150 EXPECT_LT(stats.x, expects.stats_ref.x);\ 150 EXPECT_LT(stats.x, expects.stats_ref.x);\
151 break;\ 151 break;\
152 case LARGER_THAN:\ 152 case kLargerThan:\
153 EXPECT_GT(stats.x, expects.stats_ref.x);\ 153 EXPECT_GT(stats.x, expects.stats_ref.x);\
154 break;\ 154 break;\
155 default:\ 155 default:\
156 break;\ 156 break;\
157 } 157 }
158 158
159 CHECK_NETEQ_NETWORK_STATS(current_buffer_size_ms); 159 CHECK_NETEQ_NETWORK_STATS(current_buffer_size_ms);
160 CHECK_NETEQ_NETWORK_STATS(preferred_buffer_size_ms); 160 CHECK_NETEQ_NETWORK_STATS(preferred_buffer_size_ms);
161 CHECK_NETEQ_NETWORK_STATS(jitter_peaks_found); 161 CHECK_NETEQ_NETWORK_STATS(jitter_peaks_found);
162 CHECK_NETEQ_NETWORK_STATS(packet_loss_rate); 162 CHECK_NETEQ_NETWORK_STATS(packet_loss_rate);
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 GetOutputAudio(kMaxOutputSize, output_, &output_type); 197 GetOutputAudio(kMaxOutputSize, output_, &output_type);
198 time_now += kOutputLengthMs; 198 time_now += kOutputLengthMs;
199 } 199 }
200 CheckNetworkStatistics(expects); 200 CheckNetworkStatistics(expects);
201 neteq()->FlushBuffers(); 201 neteq()->FlushBuffers();
202 } 202 }
203 203
204 void DecodeFecTest() { 204 void DecodeFecTest() {
205 external_decoder_->set_fec_enabled(false); 205 external_decoder_->set_fec_enabled(false);
206 NetEqNetworkStatsCheck expects = { 206 NetEqNetworkStatsCheck expects = {
207 IGNORE, // current_buffer_size_ms 207 kIgnore, // current_buffer_size_ms
208 IGNORE, // preferred_buffer_size_ms 208 kIgnore, // preferred_buffer_size_ms
209 IGNORE, // jitter_peaks_found 209 kIgnore, // jitter_peaks_found
210 EQUAL, // packet_loss_rate 210 kEqual, // packet_loss_rate
211 EQUAL, // packet_discard_rate 211 kEqual, // packet_discard_rate
212 EQUAL, // expand_rate 212 kEqual, // expand_rate
213 EQUAL, // voice_expand_rate 213 kEqual, // voice_expand_rate
214 IGNORE, // preemptive_rate 214 kIgnore, // preemptive_rate
215 EQUAL, // accelerate_rate 215 kEqual, // accelerate_rate
216 EQUAL, // decoded_fec_rate 216 kEqual, // decoded_fec_rate
217 IGNORE, // clockdrift_ppm 217 kIgnore, // clockdrift_ppm
218 EQUAL, // added_zero_samples 218 kEqual, // added_zero_samples
219 {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} 219 {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
220 }; 220 };
221 RunTest(50, expects); 221 RunTest(50, expects);
222 222
223 // Next we introduce packet losses. 223 // Next we introduce packet losses.
224 SetPacketLossRate(0.1); 224 SetPacketLossRate(0.1);
225 expects.stats_ref.packet_loss_rate = 1337; 225 expects.stats_ref.packet_loss_rate = 1337;
226 expects.stats_ref.expand_rate = expects.stats_ref.speech_expand_rate = 1065; 226 expects.stats_ref.expand_rate = expects.stats_ref.speech_expand_rate = 1065;
227 RunTest(50, expects); 227 RunTest(50, expects);
228 228
229 // Next we enable FEC. 229 // Next we enable FEC.
230 external_decoder_->set_fec_enabled(true); 230 external_decoder_->set_fec_enabled(true);
231 // If FEC fills in the lost packets, no packet loss will be counted. 231 // If FEC fills in the lost packets, no packet loss will be counted.
232 expects.stats_ref.packet_loss_rate = 0; 232 expects.stats_ref.packet_loss_rate = 0;
233 expects.stats_ref.expand_rate = expects.stats_ref.speech_expand_rate = 0; 233 expects.stats_ref.expand_rate = expects.stats_ref.speech_expand_rate = 0;
234 expects.stats_ref.secondary_decoded_rate = 2006; 234 expects.stats_ref.secondary_decoded_rate = 2006;
235 RunTest(50, expects); 235 RunTest(50, expects);
236 } 236 }
237 237
238 void NoiseExpansionTest() { 238 void NoiseExpansionTest() {
239 NetEqNetworkStatsCheck expects = { 239 NetEqNetworkStatsCheck expects = {
240 IGNORE, // current_buffer_size_ms 240 kIgnore, // current_buffer_size_ms
241 IGNORE, // preferred_buffer_size_ms 241 kIgnore, // preferred_buffer_size_ms
242 IGNORE, // jitter_peaks_found 242 kIgnore, // jitter_peaks_found
243 EQUAL, // packet_loss_rate 243 kEqual, // packet_loss_rate
244 EQUAL, // packet_discard_rate 244 kEqual, // packet_discard_rate
245 EQUAL, // expand_rate 245 kEqual, // expand_rate
246 EQUAL, // speech_expand_rate 246 kEqual, // speech_expand_rate
247 IGNORE, // preemptive_rate 247 kIgnore, // preemptive_rate
248 EQUAL, // accelerate_rate 248 kEqual, // accelerate_rate
249 EQUAL, // decoded_fec_rate 249 kEqual, // decoded_fec_rate
250 IGNORE, // clockdrift_ppm 250 kIgnore, // clockdrift_ppm
251 EQUAL, // added_zero_samples 251 kEqual, // added_zero_samples
252 {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} 252 {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
253 }; 253 };
254 RunTest(50, expects); 254 RunTest(50, expects);
255 255
256 SetPacketLossRate(1); 256 SetPacketLossRate(1);
257 expects.stats_ref.expand_rate = 16384; 257 expects.stats_ref.expand_rate = 16384;
258 expects.stats_ref.speech_expand_rate = 5324; 258 expects.stats_ref.speech_expand_rate = 5324;
259 RunTest(10, expects); // Lost 10 * 20ms in a row. 259 RunTest(10, expects); // Lost 10 * 20ms in a row.
260 } 260 }
261 261
(...skipping 29 matching lines...) Expand all
291 test.NoiseExpansionTest(); 291 test.NoiseExpansionTest();
292 EXPECT_CALL(decoder, Die()).Times(1); 292 EXPECT_CALL(decoder, Die()).Times(1);
293 } 293 }
294 294
295 } // namespace test 295 } // namespace test
296 } // namespace webrtc 296 } // namespace webrtc
297 297
298 298
299 299
300 300
OLDNEW
« no previous file with comments | « no previous file | webrtc/system_wrappers/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698