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

Side by Side Diff: media/cast/logging/stats_event_subscriber_unittest.cc

Issue 1515433002: Replace uses of raw uint32's with a type-checked RtpTimeTicks data type. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Speculative workaround fix for win8_chromium_ng compile error. 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 | « media/cast/logging/stats_event_subscriber.cc ('k') | media/cast/net/cast_transport_config.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/cast/logging/stats_event_subscriber.h" 5 #include "media/cast/logging/stats_event_subscriber.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 base::SimpleTestTickClock receiver_clock_; 65 base::SimpleTestTickClock receiver_clock_;
66 scoped_refptr<test::FakeSingleThreadTaskRunner> task_runner_; 66 scoped_refptr<test::FakeSingleThreadTaskRunner> task_runner_;
67 scoped_refptr<CastEnvironment> cast_environment_; 67 scoped_refptr<CastEnvironment> cast_environment_;
68 test::FakeReceiverTimeOffsetEstimator fake_offset_estimator_; 68 test::FakeReceiverTimeOffsetEstimator fake_offset_estimator_;
69 scoped_ptr<StatsEventSubscriber> subscriber_; 69 scoped_ptr<StatsEventSubscriber> subscriber_;
70 }; 70 };
71 71
72 TEST_F(StatsEventSubscriberTest, CaptureEncode) { 72 TEST_F(StatsEventSubscriberTest, CaptureEncode) {
73 Init(VIDEO_EVENT); 73 Init(VIDEO_EVENT);
74 74
75 uint32_t rtp_timestamp = 0; 75 RtpTimeTicks rtp_timestamp;
76 uint32_t frame_id = 0; 76 uint32_t frame_id = 0;
77 int extra_frames = 50; 77 int extra_frames = 50;
78 // Only the first |extra_frames| frames logged will be taken into account 78 // Only the first |extra_frames| frames logged will be taken into account
79 // when computing dropped frames. 79 // when computing dropped frames.
80 int num_frames = StatsEventSubscriber::kMaxFrameInfoMapSize + 50; 80 int num_frames = StatsEventSubscriber::kMaxFrameInfoMapSize + 50;
81 int dropped_frames = 0; 81 int dropped_frames = 0;
82 base::TimeTicks start_time = sender_clock_->NowTicks(); 82 base::TimeTicks start_time = sender_clock_->NowTicks();
83 // Drop half the frames during the encode step. 83 // Drop half the frames during the encode step.
84 for (int i = 0; i < num_frames; i++) { 84 for (int i = 0; i < num_frames; i++) {
85 scoped_ptr<FrameEvent> capture_begin_event(new FrameEvent()); 85 scoped_ptr<FrameEvent> capture_begin_event(new FrameEvent());
(...skipping 24 matching lines...) Expand all
110 encode_event->size = 1024; 110 encode_event->size = 1024;
111 encode_event->key_frame = true; 111 encode_event->key_frame = true;
112 encode_event->target_bitrate = 5678; 112 encode_event->target_bitrate = 5678;
113 encode_event->encoder_cpu_utilization = 9.10; 113 encode_event->encoder_cpu_utilization = 9.10;
114 encode_event->idealized_bitrate_utilization = 11.12; 114 encode_event->idealized_bitrate_utilization = 11.12;
115 cast_environment_->logger()->DispatchFrameEvent(std::move(encode_event)); 115 cast_environment_->logger()->DispatchFrameEvent(std::move(encode_event));
116 } else if (i < extra_frames) { 116 } else if (i < extra_frames) {
117 dropped_frames++; 117 dropped_frames++;
118 } 118 }
119 AdvanceClocks(base::TimeDelta::FromMicroseconds(34567)); 119 AdvanceClocks(base::TimeDelta::FromMicroseconds(34567));
120 rtp_timestamp += 90; 120 rtp_timestamp += RtpTimeDelta::FromTicks(90);
121 frame_id++; 121 frame_id++;
122 } 122 }
123 123
124 base::TimeTicks end_time = sender_clock_->NowTicks(); 124 base::TimeTicks end_time = sender_clock_->NowTicks();
125 125
126 StatsEventSubscriber::StatsMap stats_map; 126 StatsEventSubscriber::StatsMap stats_map;
127 subscriber_->GetStatsInternal(&stats_map); 127 subscriber_->GetStatsInternal(&stats_map);
128 128
129 StatsEventSubscriber::StatsMap::iterator it = 129 StatsEventSubscriber::StatsMap::iterator it =
130 stats_map.find(StatsEventSubscriber::CAPTURE_FPS); 130 stats_map.find(StatsEventSubscriber::CAPTURE_FPS);
(...skipping 16 matching lines...) Expand all
147 147
148 it = stats_map.find(StatsEventSubscriber::AVG_CAPTURE_LATENCY_MS); 148 it = stats_map.find(StatsEventSubscriber::AVG_CAPTURE_LATENCY_MS);
149 ASSERT_TRUE(it != stats_map.end()); 149 ASSERT_TRUE(it != stats_map.end());
150 150
151 EXPECT_DOUBLE_EQ(it->second, static_cast<double>(0.01)); 151 EXPECT_DOUBLE_EQ(it->second, static_cast<double>(0.01));
152 } 152 }
153 153
154 TEST_F(StatsEventSubscriberTest, Encode) { 154 TEST_F(StatsEventSubscriberTest, Encode) {
155 Init(VIDEO_EVENT); 155 Init(VIDEO_EVENT);
156 156
157 uint32_t rtp_timestamp = 0; 157 RtpTimeTicks rtp_timestamp;
158 uint32_t frame_id = 0; 158 uint32_t frame_id = 0;
159 int num_frames = 10; 159 int num_frames = 10;
160 base::TimeTicks start_time = sender_clock_->NowTicks(); 160 base::TimeTicks start_time = sender_clock_->NowTicks();
161 AdvanceClocks(base::TimeDelta::FromMicroseconds(35678)); 161 AdvanceClocks(base::TimeDelta::FromMicroseconds(35678));
162 base::TimeTicks first_event_time = sender_clock_->NowTicks(); 162 base::TimeTicks first_event_time = sender_clock_->NowTicks();
163 base::TimeTicks last_event_time; 163 base::TimeTicks last_event_time;
164 int total_size = 0; 164 int total_size = 0;
165 for (int i = 0; i < num_frames; i++) { 165 for (int i = 0; i < num_frames; i++) {
166 int size = 1000 + base::RandInt(-100, 100); 166 int size = 1000 + base::RandInt(-100, 100);
167 total_size += size; 167 total_size += size;
168 scoped_ptr<FrameEvent> encode_event(new FrameEvent()); 168 scoped_ptr<FrameEvent> encode_event(new FrameEvent());
169 encode_event->timestamp = sender_clock_->NowTicks(); 169 encode_event->timestamp = sender_clock_->NowTicks();
170 encode_event->type = FRAME_ENCODED; 170 encode_event->type = FRAME_ENCODED;
171 encode_event->media_type = VIDEO_EVENT; 171 encode_event->media_type = VIDEO_EVENT;
172 encode_event->rtp_timestamp = rtp_timestamp; 172 encode_event->rtp_timestamp = rtp_timestamp;
173 encode_event->frame_id = frame_id; 173 encode_event->frame_id = frame_id;
174 encode_event->size = size; 174 encode_event->size = size;
175 encode_event->key_frame = true; 175 encode_event->key_frame = true;
176 encode_event->target_bitrate = 5678; 176 encode_event->target_bitrate = 5678;
177 encode_event->encoder_cpu_utilization = 9.10; 177 encode_event->encoder_cpu_utilization = 9.10;
178 encode_event->idealized_bitrate_utilization = 11.12; 178 encode_event->idealized_bitrate_utilization = 11.12;
179 cast_environment_->logger()->DispatchFrameEvent(std::move(encode_event)); 179 cast_environment_->logger()->DispatchFrameEvent(std::move(encode_event));
180 last_event_time = sender_clock_->NowTicks(); 180 last_event_time = sender_clock_->NowTicks();
181 181
182 AdvanceClocks(base::TimeDelta::FromMicroseconds(35678)); 182 AdvanceClocks(base::TimeDelta::FromMicroseconds(35678));
183 rtp_timestamp += 90; 183 rtp_timestamp += RtpTimeDelta::FromTicks(90);
184 frame_id++; 184 frame_id++;
185 } 185 }
186 186
187 base::TimeTicks end_time = sender_clock_->NowTicks(); 187 base::TimeTicks end_time = sender_clock_->NowTicks();
188 188
189 StatsEventSubscriber::StatsMap stats_map; 189 StatsEventSubscriber::StatsMap stats_map;
190 subscriber_->GetStatsInternal(&stats_map); 190 subscriber_->GetStatsInternal(&stats_map);
191 191
192 StatsEventSubscriber::StatsMap::iterator it = 192 StatsEventSubscriber::StatsMap::iterator it =
193 stats_map.find(StatsEventSubscriber::ENCODE_FPS); 193 stats_map.find(StatsEventSubscriber::ENCODE_FPS);
(...skipping 21 matching lines...) Expand all
215 ASSERT_TRUE(it != stats_map.end()); 215 ASSERT_TRUE(it != stats_map.end());
216 216
217 EXPECT_DOUBLE_EQ( 217 EXPECT_DOUBLE_EQ(
218 it->second, 218 it->second,
219 (last_event_time - base::TimeTicks::UnixEpoch()).InMillisecondsF()); 219 (last_event_time - base::TimeTicks::UnixEpoch()).InMillisecondsF());
220 } 220 }
221 221
222 TEST_F(StatsEventSubscriberTest, Decode) { 222 TEST_F(StatsEventSubscriberTest, Decode) {
223 Init(VIDEO_EVENT); 223 Init(VIDEO_EVENT);
224 224
225 uint32_t rtp_timestamp = 0; 225 RtpTimeTicks rtp_timestamp;
226 uint32_t frame_id = 0; 226 uint32_t frame_id = 0;
227 int num_frames = 10; 227 int num_frames = 10;
228 base::TimeTicks start_time = sender_clock_->NowTicks(); 228 base::TimeTicks start_time = sender_clock_->NowTicks();
229 for (int i = 0; i < num_frames; i++) { 229 for (int i = 0; i < num_frames; i++) {
230 scoped_ptr<FrameEvent> decode_event(new FrameEvent()); 230 scoped_ptr<FrameEvent> decode_event(new FrameEvent());
231 decode_event->timestamp = receiver_clock_.NowTicks(); 231 decode_event->timestamp = receiver_clock_.NowTicks();
232 decode_event->type = FRAME_DECODED; 232 decode_event->type = FRAME_DECODED;
233 decode_event->media_type = VIDEO_EVENT; 233 decode_event->media_type = VIDEO_EVENT;
234 decode_event->rtp_timestamp = rtp_timestamp; 234 decode_event->rtp_timestamp = rtp_timestamp;
235 decode_event->frame_id = frame_id; 235 decode_event->frame_id = frame_id;
236 cast_environment_->logger()->DispatchFrameEvent(std::move(decode_event)); 236 cast_environment_->logger()->DispatchFrameEvent(std::move(decode_event));
237 237
238 AdvanceClocks(base::TimeDelta::FromMicroseconds(36789)); 238 AdvanceClocks(base::TimeDelta::FromMicroseconds(36789));
239 rtp_timestamp += 90; 239 rtp_timestamp += RtpTimeDelta::FromTicks(90);
240 frame_id++; 240 frame_id++;
241 } 241 }
242 242
243 base::TimeTicks end_time = sender_clock_->NowTicks(); 243 base::TimeTicks end_time = sender_clock_->NowTicks();
244 244
245 StatsEventSubscriber::StatsMap stats_map; 245 StatsEventSubscriber::StatsMap stats_map;
246 subscriber_->GetStatsInternal(&stats_map); 246 subscriber_->GetStatsInternal(&stats_map);
247 247
248 StatsEventSubscriber::StatsMap::iterator it = 248 StatsEventSubscriber::StatsMap::iterator it =
249 stats_map.find(StatsEventSubscriber::DECODE_FPS); 249 stats_map.find(StatsEventSubscriber::DECODE_FPS);
250 ASSERT_TRUE(it != stats_map.end()); 250 ASSERT_TRUE(it != stats_map.end());
251 251
252 base::TimeDelta duration = end_time - start_time; 252 base::TimeDelta duration = end_time - start_time;
253 EXPECT_DOUBLE_EQ( 253 EXPECT_DOUBLE_EQ(
254 it->second, 254 it->second,
255 static_cast<double>(num_frames) / duration.InMillisecondsF() * 1000); 255 static_cast<double>(num_frames) / duration.InMillisecondsF() * 1000);
256 } 256 }
257 257
258 TEST_F(StatsEventSubscriberTest, PlayoutDelay) { 258 TEST_F(StatsEventSubscriberTest, PlayoutDelay) {
259 Init(VIDEO_EVENT); 259 Init(VIDEO_EVENT);
260 260
261 uint32_t rtp_timestamp = 0; 261 RtpTimeTicks rtp_timestamp;
262 uint32_t frame_id = 0; 262 uint32_t frame_id = 0;
263 int num_frames = 10; 263 int num_frames = 10;
264 int late_frames = 0; 264 int late_frames = 0;
265 for (int i = 0, delay_ms = -50; i < num_frames; i++, delay_ms += 10) { 265 for (int i = 0, delay_ms = -50; i < num_frames; i++, delay_ms += 10) {
266 base::TimeDelta delay = base::TimeDelta::FromMilliseconds(delay_ms); 266 base::TimeDelta delay = base::TimeDelta::FromMilliseconds(delay_ms);
267 if (delay_ms > 0) 267 if (delay_ms > 0)
268 late_frames++; 268 late_frames++;
269 scoped_ptr<FrameEvent> playout_event(new FrameEvent()); 269 scoped_ptr<FrameEvent> playout_event(new FrameEvent());
270 playout_event->timestamp = receiver_clock_.NowTicks(); 270 playout_event->timestamp = receiver_clock_.NowTicks();
271 playout_event->type = FRAME_PLAYOUT; 271 playout_event->type = FRAME_PLAYOUT;
272 playout_event->media_type = VIDEO_EVENT; 272 playout_event->media_type = VIDEO_EVENT;
273 playout_event->rtp_timestamp = rtp_timestamp; 273 playout_event->rtp_timestamp = rtp_timestamp;
274 playout_event->frame_id = frame_id; 274 playout_event->frame_id = frame_id;
275 playout_event->delay_delta = delay; 275 playout_event->delay_delta = delay;
276 cast_environment_->logger()->DispatchFrameEvent(std::move(playout_event)); 276 cast_environment_->logger()->DispatchFrameEvent(std::move(playout_event));
277 277
278 AdvanceClocks(base::TimeDelta::FromMicroseconds(37890)); 278 AdvanceClocks(base::TimeDelta::FromMicroseconds(37890));
279 rtp_timestamp += 90; 279 rtp_timestamp += RtpTimeDelta::FromTicks(90);
280 frame_id++; 280 frame_id++;
281 } 281 }
282 282
283 StatsEventSubscriber::StatsMap stats_map; 283 StatsEventSubscriber::StatsMap stats_map;
284 subscriber_->GetStatsInternal(&stats_map); 284 subscriber_->GetStatsInternal(&stats_map);
285 285
286 StatsEventSubscriber::StatsMap::iterator it = stats_map.find( 286 StatsEventSubscriber::StatsMap::iterator it = stats_map.find(
287 StatsEventSubscriber::NUM_FRAMES_LATE); 287 StatsEventSubscriber::NUM_FRAMES_LATE);
288 ASSERT_TRUE(it != stats_map.end()); 288 ASSERT_TRUE(it != stats_map.end());
289 289
290 EXPECT_DOUBLE_EQ(it->second, late_frames); 290 EXPECT_DOUBLE_EQ(it->second, late_frames);
291 } 291 }
292 292
293 TEST_F(StatsEventSubscriberTest, E2ELatency) { 293 TEST_F(StatsEventSubscriberTest, E2ELatency) {
294 Init(VIDEO_EVENT); 294 Init(VIDEO_EVENT);
295 295
296 uint32_t rtp_timestamp = 0; 296 RtpTimeTicks rtp_timestamp;
297 uint32_t frame_id = 0; 297 uint32_t frame_id = 0;
298 int num_frames = 10; 298 int num_frames = 10;
299 base::TimeDelta total_latency; 299 base::TimeDelta total_latency;
300 for (int i = 0; i < num_frames; i++) { 300 for (int i = 0; i < num_frames; i++) {
301 scoped_ptr<FrameEvent> capture_begin_event(new FrameEvent()); 301 scoped_ptr<FrameEvent> capture_begin_event(new FrameEvent());
302 capture_begin_event->timestamp = sender_clock_->NowTicks(); 302 capture_begin_event->timestamp = sender_clock_->NowTicks();
303 capture_begin_event->type = FRAME_CAPTURE_BEGIN; 303 capture_begin_event->type = FRAME_CAPTURE_BEGIN;
304 capture_begin_event->media_type = VIDEO_EVENT; 304 capture_begin_event->media_type = VIDEO_EVENT;
305 capture_begin_event->rtp_timestamp = rtp_timestamp; 305 capture_begin_event->rtp_timestamp = rtp_timestamp;
306 cast_environment_->logger()->DispatchFrameEvent( 306 cast_environment_->logger()->DispatchFrameEvent(
307 std::move(capture_begin_event)); 307 std::move(capture_begin_event));
308 308
309 int latency_micros = 100000 + base::RandInt(-5000, 50000); 309 int latency_micros = 100000 + base::RandInt(-5000, 50000);
310 base::TimeDelta latency = base::TimeDelta::FromMicroseconds(latency_micros); 310 base::TimeDelta latency = base::TimeDelta::FromMicroseconds(latency_micros);
311 AdvanceClocks(latency); 311 AdvanceClocks(latency);
312 312
313 int delay_micros = base::RandInt(-50000, 50000); 313 int delay_micros = base::RandInt(-50000, 50000);
314 base::TimeDelta delay = base::TimeDelta::FromMilliseconds(delay_micros); 314 base::TimeDelta delay = base::TimeDelta::FromMilliseconds(delay_micros);
315 total_latency += latency; 315 total_latency += latency;
316 316
317 scoped_ptr<FrameEvent> playout_event(new FrameEvent()); 317 scoped_ptr<FrameEvent> playout_event(new FrameEvent());
318 playout_event->timestamp = receiver_clock_.NowTicks(); 318 playout_event->timestamp = receiver_clock_.NowTicks();
319 playout_event->type = FRAME_PLAYOUT; 319 playout_event->type = FRAME_PLAYOUT;
320 playout_event->media_type = VIDEO_EVENT; 320 playout_event->media_type = VIDEO_EVENT;
321 playout_event->rtp_timestamp = rtp_timestamp; 321 playout_event->rtp_timestamp = rtp_timestamp;
322 playout_event->frame_id = frame_id; 322 playout_event->frame_id = frame_id;
323 playout_event->delay_delta = delay; 323 playout_event->delay_delta = delay;
324 cast_environment_->logger()->DispatchFrameEvent(std::move(playout_event)); 324 cast_environment_->logger()->DispatchFrameEvent(std::move(playout_event));
325 325
326 rtp_timestamp += 90; 326 rtp_timestamp += RtpTimeDelta::FromTicks(90);
327 frame_id++; 327 frame_id++;
328 } 328 }
329 329
330 StatsEventSubscriber::StatsMap stats_map; 330 StatsEventSubscriber::StatsMap stats_map;
331 subscriber_->GetStatsInternal(&stats_map); 331 subscriber_->GetStatsInternal(&stats_map);
332 332
333 StatsEventSubscriber::StatsMap::iterator it = 333 StatsEventSubscriber::StatsMap::iterator it =
334 stats_map.find(StatsEventSubscriber::AVG_E2E_LATENCY_MS); 334 stats_map.find(StatsEventSubscriber::AVG_E2E_LATENCY_MS);
335 ASSERT_TRUE(it != stats_map.end()); 335 ASSERT_TRUE(it != stats_map.end());
336 336
337 EXPECT_DOUBLE_EQ( 337 EXPECT_DOUBLE_EQ(
338 it->second, total_latency.InMillisecondsF() / num_frames); 338 it->second, total_latency.InMillisecondsF() / num_frames);
339 } 339 }
340 340
341 TEST_F(StatsEventSubscriberTest, Packets) { 341 TEST_F(StatsEventSubscriberTest, Packets) {
342 Init(VIDEO_EVENT); 342 Init(VIDEO_EVENT);
343 343
344 uint32_t rtp_timestamp = 0; 344 RtpTimeTicks rtp_timestamp;
345 int num_packets = 10; 345 int num_packets = 10;
346 int num_latency_recorded_packets = 0; 346 int num_latency_recorded_packets = 0;
347 base::TimeTicks start_time = sender_clock_->NowTicks(); 347 base::TimeTicks start_time = sender_clock_->NowTicks();
348 int total_size = 0; 348 int total_size = 0;
349 int retransmit_total_size = 0; 349 int retransmit_total_size = 0;
350 base::TimeDelta total_network_latency; 350 base::TimeDelta total_network_latency;
351 base::TimeDelta total_queueing_latency; 351 base::TimeDelta total_queueing_latency;
352 base::TimeDelta total_packet_latency; 352 base::TimeDelta total_packet_latency;
353 int num_packets_transmitted = 0; 353 int num_packets_transmitted = 0;
354 int num_packets_received = 0; 354 int num_packets_received = 0;
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
561 return false; 561 return false;
562 return bucket_count == expected_count; 562 return bucket_count == expected_count;
563 } 563 }
564 return false; 564 return false;
565 } 565 }
566 566
567 TEST_F(StatsEventSubscriberTest, Histograms) { 567 TEST_F(StatsEventSubscriberTest, Histograms) {
568 Init(VIDEO_EVENT); 568 Init(VIDEO_EVENT);
569 AdvanceClocks(base::TimeDelta::FromMilliseconds(123)); 569 AdvanceClocks(base::TimeDelta::FromMilliseconds(123));
570 570
571 uint32_t rtp_timestamp = 123; 571 RtpTimeTicks rtp_timestamp = RtpTimeTicks().Expand(UINT32_C(123));
572 uint32_t frame_id = 0; 572 uint32_t frame_id = 0;
573 573
574 // 10 Frames with capture latency in the bucket of "10-14"ms. 574 // 10 Frames with capture latency in the bucket of "10-14"ms.
575 // 10 Frames with encode time in the bucket of "15-19"ms. 575 // 10 Frames with encode time in the bucket of "15-19"ms.
576 for (int i = 0; i < 10; ++i) { 576 for (int i = 0; i < 10; ++i) {
577 ++frame_id; 577 ++frame_id;
578 ++rtp_timestamp; 578 rtp_timestamp += RtpTimeDelta::FromTicks(1);
579 579
580 scoped_ptr<FrameEvent> capture_begin_event(new FrameEvent()); 580 scoped_ptr<FrameEvent> capture_begin_event(new FrameEvent());
581 capture_begin_event->timestamp = sender_clock_->NowTicks(); 581 capture_begin_event->timestamp = sender_clock_->NowTicks();
582 capture_begin_event->type = FRAME_CAPTURE_BEGIN; 582 capture_begin_event->type = FRAME_CAPTURE_BEGIN;
583 capture_begin_event->media_type = VIDEO_EVENT; 583 capture_begin_event->media_type = VIDEO_EVENT;
584 capture_begin_event->rtp_timestamp = rtp_timestamp; 584 capture_begin_event->rtp_timestamp = rtp_timestamp;
585 cast_environment_->logger()->DispatchFrameEvent( 585 cast_environment_->logger()->DispatchFrameEvent(
586 std::move(capture_begin_event)); 586 std::move(capture_begin_event));
587 587
588 AdvanceClocks(base::TimeDelta::FromMilliseconds(10)); 588 AdvanceClocks(base::TimeDelta::FromMilliseconds(10));
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
690 690
691 histogram = subscriber_->GetHistogramForTesting( 691 histogram = subscriber_->GetHistogramForTesting(
692 StatsEventSubscriber::LATE_FRAME_MS_HISTO); 692 StatsEventSubscriber::LATE_FRAME_MS_HISTO);
693 ASSERT_TRUE(histogram); 693 ASSERT_TRUE(histogram);
694 values = histogram->GetHistogram(); 694 values = histogram->GetHistogram();
695 EXPECT_TRUE(CheckHistogramHasValue(values.get(), "100-119", 1)); 695 EXPECT_TRUE(CheckHistogramHasValue(values.get(), "100-119", 1));
696 } 696 }
697 697
698 } // namespace cast 698 } // namespace cast
699 } // namespace media 699 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/logging/stats_event_subscriber.cc ('k') | media/cast/net/cast_transport_config.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698