| OLD | NEW |
| 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 386 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 397 // The actual test class, generate synthetic data for both audio and video and | 397 // The actual test class, generate synthetic data for both audio and video and |
| 398 // send those through the sender and receiver and analyzes the result. | 398 // send those through the sender and receiver and analyzes the result. |
| 399 class End2EndTest : public ::testing::Test { | 399 class End2EndTest : public ::testing::Test { |
| 400 protected: | 400 protected: |
| 401 End2EndTest() | 401 End2EndTest() |
| 402 : start_time_(), | 402 : start_time_(), |
| 403 testing_clock_sender_(new base::SimpleTestTickClock()), | 403 testing_clock_sender_(new base::SimpleTestTickClock()), |
| 404 testing_clock_receiver_(new base::SimpleTestTickClock()), | 404 testing_clock_receiver_(new base::SimpleTestTickClock()), |
| 405 task_runner_( | 405 task_runner_( |
| 406 new test::FakeSingleThreadTaskRunner(testing_clock_sender_)), | 406 new test::FakeSingleThreadTaskRunner(testing_clock_sender_)), |
| 407 logging_config_(GetLoggingConfigWithRawEventsAndStatsEnabled()), | |
| 408 cast_environment_sender_(new CastEnvironment( | 407 cast_environment_sender_(new CastEnvironment( |
| 409 scoped_ptr<base::TickClock>(testing_clock_sender_).Pass(), | 408 scoped_ptr<base::TickClock>(testing_clock_sender_).Pass(), |
| 410 task_runner_, | 409 task_runner_, |
| 411 task_runner_, | 410 task_runner_, |
| 412 task_runner_, | 411 task_runner_)), |
| 413 logging_config_)), | |
| 414 cast_environment_receiver_(new CastEnvironment( | 412 cast_environment_receiver_(new CastEnvironment( |
| 415 scoped_ptr<base::TickClock>(testing_clock_receiver_).Pass(), | 413 scoped_ptr<base::TickClock>(testing_clock_receiver_).Pass(), |
| 416 task_runner_, | 414 task_runner_, |
| 417 task_runner_, | 415 task_runner_, |
| 418 task_runner_, | 416 task_runner_)), |
| 419 logging_config_)), | |
| 420 receiver_to_sender_(cast_environment_receiver_), | 417 receiver_to_sender_(cast_environment_receiver_), |
| 421 sender_to_receiver_(cast_environment_sender_), | 418 sender_to_receiver_(cast_environment_sender_), |
| 422 test_receiver_audio_callback_(new TestReceiverAudioCallback()), | 419 test_receiver_audio_callback_(new TestReceiverAudioCallback()), |
| 423 test_receiver_video_callback_(new TestReceiverVideoCallback()) { | 420 test_receiver_video_callback_(new TestReceiverVideoCallback()) { |
| 424 testing_clock_sender_->Advance( | 421 testing_clock_sender_->Advance( |
| 425 base::TimeDelta::FromMilliseconds(kStartMillisecond)); | 422 base::TimeDelta::FromMilliseconds(kStartMillisecond)); |
| 426 testing_clock_receiver_->Advance( | 423 testing_clock_receiver_->Advance( |
| 427 base::TimeDelta::FromMilliseconds(kStartMillisecond)); | 424 base::TimeDelta::FromMilliseconds(kStartMillisecond)); |
| 428 cast_environment_sender_->Logging()->AddRawEventSubscriber( | 425 cast_environment_sender_->Logging()->AddRawEventSubscriber( |
| 429 &event_subscriber_sender_); | 426 &event_subscriber_sender_); |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 494 void Create() { | 491 void Create() { |
| 495 cast_receiver_ = CastReceiver::Create(cast_environment_receiver_, | 492 cast_receiver_ = CastReceiver::Create(cast_environment_receiver_, |
| 496 audio_receiver_config_, | 493 audio_receiver_config_, |
| 497 video_receiver_config_, | 494 video_receiver_config_, |
| 498 &receiver_to_sender_); | 495 &receiver_to_sender_); |
| 499 net::IPEndPoint dummy_endpoint; | 496 net::IPEndPoint dummy_endpoint; |
| 500 transport_sender_.reset(new transport::CastTransportSenderImpl( | 497 transport_sender_.reset(new transport::CastTransportSenderImpl( |
| 501 NULL, | 498 NULL, |
| 502 testing_clock_sender_, | 499 testing_clock_sender_, |
| 503 dummy_endpoint, | 500 dummy_endpoint, |
| 504 logging_config_, | |
| 505 base::Bind(&UpdateCastTransportStatus), | 501 base::Bind(&UpdateCastTransportStatus), |
| 506 base::Bind(&End2EndTest::LogRawEvents, base::Unretained(this)), | 502 base::Bind(&End2EndTest::LogRawEvents, base::Unretained(this)), |
| 507 base::TimeDelta::FromSeconds(1), | 503 base::TimeDelta::FromSeconds(1), |
| 508 task_runner_, | 504 task_runner_, |
| 509 &sender_to_receiver_)); | 505 &sender_to_receiver_)); |
| 510 transport_sender_->InitializeAudio(transport_audio_config_); | 506 transport_sender_->InitializeAudio(transport_audio_config_); |
| 511 transport_sender_->InitializeVideo(transport_video_config_); | 507 transport_sender_->InitializeVideo(transport_video_config_); |
| 512 | 508 |
| 513 cast_sender_ = | 509 cast_sender_ = |
| 514 CastSender::Create(cast_environment_sender_, transport_sender_.get()); | 510 CastSender::Create(cast_environment_sender_, transport_sender_.get()); |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 590 VideoReceiverConfig video_receiver_config_; | 586 VideoReceiverConfig video_receiver_config_; |
| 591 AudioSenderConfig audio_sender_config_; | 587 AudioSenderConfig audio_sender_config_; |
| 592 VideoSenderConfig video_sender_config_; | 588 VideoSenderConfig video_sender_config_; |
| 593 transport::CastTransportAudioConfig transport_audio_config_; | 589 transport::CastTransportAudioConfig transport_audio_config_; |
| 594 transport::CastTransportVideoConfig transport_video_config_; | 590 transport::CastTransportVideoConfig transport_video_config_; |
| 595 | 591 |
| 596 base::TimeTicks start_time_; | 592 base::TimeTicks start_time_; |
| 597 base::SimpleTestTickClock* testing_clock_sender_; | 593 base::SimpleTestTickClock* testing_clock_sender_; |
| 598 base::SimpleTestTickClock* testing_clock_receiver_; | 594 base::SimpleTestTickClock* testing_clock_receiver_; |
| 599 scoped_refptr<test::FakeSingleThreadTaskRunner> task_runner_; | 595 scoped_refptr<test::FakeSingleThreadTaskRunner> task_runner_; |
| 600 CastLoggingConfig logging_config_; | |
| 601 scoped_refptr<CastEnvironment> cast_environment_sender_; | 596 scoped_refptr<CastEnvironment> cast_environment_sender_; |
| 602 scoped_refptr<CastEnvironment> cast_environment_receiver_; | 597 scoped_refptr<CastEnvironment> cast_environment_receiver_; |
| 603 | 598 |
| 604 LoopBackTransport receiver_to_sender_; | 599 LoopBackTransport receiver_to_sender_; |
| 605 LoopBackTransport sender_to_receiver_; | 600 LoopBackTransport sender_to_receiver_; |
| 606 scoped_ptr<transport::CastTransportSenderImpl> transport_sender_; | 601 scoped_ptr<transport::CastTransportSenderImpl> transport_sender_; |
| 607 | 602 |
| 608 scoped_ptr<CastReceiver> cast_receiver_; | 603 scoped_ptr<CastReceiver> cast_receiver_; |
| 609 scoped_ptr<CastSender> cast_sender_; | 604 scoped_ptr<CastSender> cast_sender_; |
| 610 scoped_refptr<AudioFrameInput> audio_frame_input_; | 605 scoped_refptr<AudioFrameInput> audio_frame_input_; |
| (...skipping 710 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1321 EXPECT_EQ(total_event_count_for_frame, expected_event_count_for_frame); | 1316 EXPECT_EQ(total_event_count_for_frame, expected_event_count_for_frame); |
| 1322 } | 1317 } |
| 1323 | 1318 |
| 1324 // TODO(pwestin): Add repeatable packet loss test. | 1319 // TODO(pwestin): Add repeatable packet loss test. |
| 1325 // TODO(pwestin): Add test for misaligned send get calls. | 1320 // TODO(pwestin): Add test for misaligned send get calls. |
| 1326 // TODO(pwestin): Add more tests that does not resample. | 1321 // TODO(pwestin): Add more tests that does not resample. |
| 1327 // TODO(pwestin): Add test when we have starvation for our RunTask. | 1322 // TODO(pwestin): Add test when we have starvation for our RunTask. |
| 1328 | 1323 |
| 1329 } // namespace cast | 1324 } // namespace cast |
| 1330 } // namespace media | 1325 } // namespace media |
| OLD | NEW |