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

Side by Side Diff: media/cast/test/end2end_unittest.cc

Issue 1178423008: Provision to start base::SimpleTestTickClock at initial ticks Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased 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/test/cast_benchmarks.cc ('k') | media/cast/test/simulator.cc » ('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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 // This test generate synthetic data. For audio it's a sinusoid waveform with 5 // This test generate synthetic data. For audio it's a sinusoid waveform with
6 // frequency kSoundFrequency and different amplitudes. For video it's a pattern 6 // frequency kSoundFrequency and different amplitudes. For video it's a pattern
7 // that is shifting by one pixel per frame, each pixels neighbors right and down 7 // that is shifting by one pixel per frame, each pixels neighbors right and down
8 // is this pixels value +1, since the pixel value is 8 bit it will wrap 8 // is this pixels value +1, since the pixel value is 8 bit it will wrap
9 // frequently within the image. Visually this will create diagonally color bands 9 // frequently within the image. Visually this will create diagonally color bands
10 // that moves across the screen 10 // that moves across the screen
(...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 }; 424 };
425 425
426 } // namespace 426 } // namespace
427 427
428 // The actual test class, generate synthetic data for both audio and video and 428 // The actual test class, generate synthetic data for both audio and video and
429 // send those through the sender and receiver and analyzes the result. 429 // send those through the sender and receiver and analyzes the result.
430 class End2EndTest : public ::testing::Test { 430 class End2EndTest : public ::testing::Test {
431 protected: 431 protected:
432 End2EndTest() 432 End2EndTest()
433 : start_time_(), 433 : start_time_(),
434 testing_clock_(base::TimeTicks() +
435 base::TimeDelta::FromMilliseconds(kStartMillisecond)),
434 task_runner_(new test::FakeSingleThreadTaskRunner(&testing_clock_)), 436 task_runner_(new test::FakeSingleThreadTaskRunner(&testing_clock_)),
435 testing_clock_sender_(new test::SkewedTickClock(&testing_clock_)), 437 testing_clock_sender_(new test::SkewedTickClock(&testing_clock_)),
436 task_runner_sender_( 438 task_runner_sender_(
437 new test::SkewedSingleThreadTaskRunner(task_runner_)), 439 new test::SkewedSingleThreadTaskRunner(task_runner_)),
438 testing_clock_receiver_(new test::SkewedTickClock(&testing_clock_)), 440 testing_clock_receiver_(new test::SkewedTickClock(&testing_clock_)),
439 task_runner_receiver_( 441 task_runner_receiver_(
440 new test::SkewedSingleThreadTaskRunner(task_runner_)), 442 new test::SkewedSingleThreadTaskRunner(task_runner_)),
441 cast_environment_sender_(new CastEnvironment( 443 cast_environment_sender_(new CastEnvironment(
442 scoped_ptr<base::TickClock>(testing_clock_sender_), 444 scoped_ptr<base::TickClock>(testing_clock_sender_),
443 task_runner_sender_, 445 task_runner_sender_,
444 task_runner_sender_, 446 task_runner_sender_,
445 task_runner_sender_)), 447 task_runner_sender_)),
446 cast_environment_receiver_(new CastEnvironment( 448 cast_environment_receiver_(new CastEnvironment(
447 scoped_ptr<base::TickClock>(testing_clock_receiver_), 449 scoped_ptr<base::TickClock>(testing_clock_receiver_),
448 task_runner_receiver_, 450 task_runner_receiver_,
449 task_runner_receiver_, 451 task_runner_receiver_,
450 task_runner_receiver_)), 452 task_runner_receiver_)),
451 receiver_to_sender_(cast_environment_receiver_), 453 receiver_to_sender_(cast_environment_receiver_),
452 sender_to_receiver_(cast_environment_sender_), 454 sender_to_receiver_(cast_environment_sender_),
453 test_receiver_audio_callback_(new TestReceiverAudioCallback()), 455 test_receiver_audio_callback_(new TestReceiverAudioCallback()),
454 test_receiver_video_callback_(new TestReceiverVideoCallback()) { 456 test_receiver_video_callback_(new TestReceiverVideoCallback()) {
455 testing_clock_.Advance(
456 base::TimeDelta::FromMilliseconds(kStartMillisecond));
457 cast_environment_sender_->logger()->Subscribe(&event_subscriber_sender_); 457 cast_environment_sender_->logger()->Subscribe(&event_subscriber_sender_);
458 } 458 }
459 459
460 void Configure(Codec video_codec, 460 void Configure(Codec video_codec,
461 Codec audio_codec, 461 Codec audio_codec,
462 int audio_sampling_frequency, 462 int audio_sampling_frequency,
463 int max_number_of_video_buffers_used) { 463 int max_number_of_video_buffers_used) {
464 audio_sender_config_.ssrc = 1; 464 audio_sender_config_.ssrc = 1;
465 audio_sender_config_.receiver_ssrc = 2; 465 audio_sender_config_.receiver_ssrc = 2;
466 audio_sender_config_.max_playout_delay = 466 audio_sender_config_.max_playout_delay =
(...skipping 977 matching lines...) Expand 10 before | Expand all | Expand 10 after
1444 EXPECT_LT(jump, 220u); 1444 EXPECT_LT(jump, 220u);
1445 } 1445 }
1446 1446
1447 // TODO(pwestin): Add repeatable packet loss test. 1447 // TODO(pwestin): Add repeatable packet loss test.
1448 // TODO(pwestin): Add test for misaligned send get calls. 1448 // TODO(pwestin): Add test for misaligned send get calls.
1449 // TODO(pwestin): Add more tests that does not resample. 1449 // TODO(pwestin): Add more tests that does not resample.
1450 // TODO(pwestin): Add test when we have starvation for our RunTask. 1450 // TODO(pwestin): Add test when we have starvation for our RunTask.
1451 1451
1452 } // namespace cast 1452 } // namespace cast
1453 } // namespace media 1453 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/test/cast_benchmarks.cc ('k') | media/cast/test/simulator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698