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 |