| 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 564 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 575 | 575 |
| 576 void RequestAudioFrames(int count, bool with_check) { | 576 void RequestAudioFrames(int count, bool with_check) { |
| 577 for (int i = 0; i < count; ++i) { | 577 for (int i = 0; i < count; ++i) { |
| 578 cast_receiver_->RequestDecodedAudioFrame( | 578 cast_receiver_->RequestDecodedAudioFrame( |
| 579 base::Bind(with_check ? &TestReceiverAudioCallback::CheckAudioFrame : | 579 base::Bind(with_check ? &TestReceiverAudioCallback::CheckAudioFrame : |
| 580 &TestReceiverAudioCallback::IgnoreAudioFrame, | 580 &TestReceiverAudioCallback::IgnoreAudioFrame, |
| 581 test_receiver_audio_callback_)); | 581 test_receiver_audio_callback_)); |
| 582 } | 582 } |
| 583 } | 583 } |
| 584 | 584 |
| 585 void ReceivePacket(scoped_ptr<Packet> packet) { |
| 586 cast_receiver_->ReceivePacket(packet.Pass()); |
| 587 } |
| 588 |
| 585 void Create() { | 589 void Create() { |
| 586 cast_receiver_ = CastReceiver::Create(cast_environment_receiver_, | |
| 587 audio_receiver_config_, | |
| 588 video_receiver_config_, | |
| 589 &receiver_to_sender_); | |
| 590 | |
| 591 net::IPEndPoint dummy_endpoint; | 590 net::IPEndPoint dummy_endpoint; |
| 592 transport_sender_.reset(new CastTransportSenderImpl( | 591 transport_sender_.reset(new CastTransportSenderImpl( |
| 593 NULL, | 592 NULL, |
| 594 testing_clock_sender_, | 593 testing_clock_sender_, |
| 595 dummy_endpoint, | 594 dummy_endpoint, |
| 595 dummy_endpoint, |
| 596 make_scoped_ptr(new base::DictionaryValue), | 596 make_scoped_ptr(new base::DictionaryValue), |
| 597 base::Bind(&UpdateCastTransportStatus), | 597 base::Bind(&UpdateCastTransportStatus), |
| 598 base::Bind(&End2EndTest::LogRawEvents, base::Unretained(this)), | 598 base::Bind(&End2EndTest::LogRawEvents, base::Unretained(this)), |
| 599 base::TimeDelta::FromMilliseconds(1), | 599 base::TimeDelta::FromMilliseconds(1), |
| 600 task_runner_sender_, | 600 task_runner_sender_, |
| 601 PacketReceiverCallback(), |
| 601 &sender_to_receiver_)); | 602 &sender_to_receiver_)); |
| 602 | 603 |
| 604 transport_receiver_.reset(new CastTransportSenderImpl( |
| 605 NULL, |
| 606 testing_clock_sender_, |
| 607 dummy_endpoint, |
| 608 dummy_endpoint, |
| 609 make_scoped_ptr(new base::DictionaryValue), |
| 610 base::Bind(&UpdateCastTransportStatus), |
| 611 base::Bind(&End2EndTest::LogRawEvents, base::Unretained(this)), |
| 612 base::TimeDelta::FromMilliseconds(1), |
| 613 task_runner_sender_, |
| 614 base::Bind(&End2EndTest::ReceivePacket, base::Unretained(this)), |
| 615 &receiver_to_sender_)); |
| 616 |
| 617 cast_receiver_ = CastReceiver::Create(cast_environment_receiver_, |
| 618 audio_receiver_config_, |
| 619 video_receiver_config_, |
| 620 transport_receiver_.get()); |
| 621 |
| 603 cast_sender_ = | 622 cast_sender_ = |
| 604 CastSender::Create(cast_environment_sender_, transport_sender_.get()); | 623 CastSender::Create(cast_environment_sender_, transport_sender_.get()); |
| 605 | 624 |
| 606 // Initializing audio and video senders. | 625 // Initializing audio and video senders. |
| 607 cast_sender_->InitializeAudio(audio_sender_config_, | 626 cast_sender_->InitializeAudio(audio_sender_config_, |
| 608 base::Bind(&AudioInitializationStatus)); | 627 base::Bind(&AudioInitializationStatus)); |
| 609 cast_sender_->InitializeVideo(video_sender_config_, | 628 cast_sender_->InitializeVideo(video_sender_config_, |
| 610 base::Bind(&VideoInitializationStatus), | 629 base::Bind(&VideoInitializationStatus), |
| 611 CreateDefaultVideoEncodeAcceleratorCallback(), | 630 CreateDefaultVideoEncodeAcceleratorCallback(), |
| 612 CreateDefaultVideoEncodeMemoryCallback()); | 631 CreateDefaultVideoEncodeMemoryCallback()); |
| 613 task_runner_->RunTasks(); | 632 task_runner_->RunTasks(); |
| 614 | 633 |
| 615 receiver_to_sender_.SetPacketReceiver( | 634 receiver_to_sender_.SetPacketReceiver( |
| 616 transport_sender_->PacketReceiverForTesting(), | 635 transport_sender_->PacketReceiverForTesting(), |
| 617 task_runner_, | 636 task_runner_, |
| 618 &testing_clock_); | 637 &testing_clock_); |
| 619 sender_to_receiver_.SetPacketReceiver(cast_receiver_->packet_receiver(), | 638 sender_to_receiver_.SetPacketReceiver( |
| 620 task_runner_, | 639 transport_receiver_->PacketReceiverForTesting(), |
| 621 &testing_clock_); | 640 task_runner_, |
| 641 &testing_clock_); |
| 622 | 642 |
| 623 audio_frame_input_ = cast_sender_->audio_frame_input(); | 643 audio_frame_input_ = cast_sender_->audio_frame_input(); |
| 624 video_frame_input_ = cast_sender_->video_frame_input(); | 644 video_frame_input_ = cast_sender_->video_frame_input(); |
| 625 | 645 |
| 626 audio_bus_factory_.reset( | 646 audio_bus_factory_.reset( |
| 627 new TestAudioBusFactory(audio_sender_config_.channels, | 647 new TestAudioBusFactory(audio_sender_config_.channels, |
| 628 audio_sender_config_.frequency, | 648 audio_sender_config_.frequency, |
| 629 kSoundFrequency, | 649 kSoundFrequency, |
| 630 kSoundVolume)); | 650 kSoundVolume)); |
| 631 } | 651 } |
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 785 base::TimeTicks last_video_playout_time_; | 805 base::TimeTicks last_video_playout_time_; |
| 786 base::TimeDelta last_video_playout_delta_; | 806 base::TimeDelta last_video_playout_delta_; |
| 787 base::TimeTicks last_audio_playout_time_; | 807 base::TimeTicks last_audio_playout_time_; |
| 788 | 808 |
| 789 scoped_refptr<CastEnvironment> cast_environment_sender_; | 809 scoped_refptr<CastEnvironment> cast_environment_sender_; |
| 790 scoped_refptr<CastEnvironment> cast_environment_receiver_; | 810 scoped_refptr<CastEnvironment> cast_environment_receiver_; |
| 791 | 811 |
| 792 LoopBackTransport receiver_to_sender_; | 812 LoopBackTransport receiver_to_sender_; |
| 793 LoopBackTransport sender_to_receiver_; | 813 LoopBackTransport sender_to_receiver_; |
| 794 scoped_ptr<CastTransportSenderImpl> transport_sender_; | 814 scoped_ptr<CastTransportSenderImpl> transport_sender_; |
| 815 scoped_ptr<CastTransportSenderImpl> transport_receiver_; |
| 795 | 816 |
| 796 scoped_ptr<CastReceiver> cast_receiver_; | 817 scoped_ptr<CastReceiver> cast_receiver_; |
| 797 scoped_ptr<CastSender> cast_sender_; | 818 scoped_ptr<CastSender> cast_sender_; |
| 798 scoped_refptr<AudioFrameInput> audio_frame_input_; | 819 scoped_refptr<AudioFrameInput> audio_frame_input_; |
| 799 scoped_refptr<VideoFrameInput> video_frame_input_; | 820 scoped_refptr<VideoFrameInput> video_frame_input_; |
| 800 | 821 |
| 801 scoped_refptr<TestReceiverAudioCallback> test_receiver_audio_callback_; | 822 scoped_refptr<TestReceiverAudioCallback> test_receiver_audio_callback_; |
| 802 scoped_refptr<TestReceiverVideoCallback> test_receiver_video_callback_; | 823 scoped_refptr<TestReceiverVideoCallback> test_receiver_video_callback_; |
| 803 | 824 |
| 804 scoped_ptr<TestAudioBusFactory> audio_bus_factory_; | 825 scoped_ptr<TestAudioBusFactory> audio_bus_factory_; |
| (...skipping 700 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1505 EXPECT_LT(jump, 220u); | 1526 EXPECT_LT(jump, 220u); |
| 1506 } | 1527 } |
| 1507 | 1528 |
| 1508 // TODO(pwestin): Add repeatable packet loss test. | 1529 // TODO(pwestin): Add repeatable packet loss test. |
| 1509 // TODO(pwestin): Add test for misaligned send get calls. | 1530 // TODO(pwestin): Add test for misaligned send get calls. |
| 1510 // TODO(pwestin): Add more tests that does not resample. | 1531 // TODO(pwestin): Add more tests that does not resample. |
| 1511 // TODO(pwestin): Add test when we have starvation for our RunTask. | 1532 // TODO(pwestin): Add test when we have starvation for our RunTask. |
| 1512 | 1533 |
| 1513 } // namespace cast | 1534 } // namespace cast |
| 1514 } // namespace media | 1535 } // namespace media |
| OLD | NEW |