OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <vector> | 5 #include <vector> |
6 | 6 |
7 #include "base/environment.h" | 7 #include "base/environment.h" |
8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
9 #include "base/files/file_path.h" | 9 #include "base/files/file_path.h" |
10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
(...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
540 ASSERT_TRUE(external_media.valid()); | 540 ASSERT_TRUE(external_media.valid()); |
541 base::WaitableEvent event(false, false); | 541 base::WaitableEvent event(false, false); |
542 scoped_ptr<WebRTCMediaProcessImpl> media_process( | 542 scoped_ptr<WebRTCMediaProcessImpl> media_process( |
543 new WebRTCMediaProcessImpl(&event)); | 543 new WebRTCMediaProcessImpl(&event)); |
544 int ch = base->CreateChannel(); | 544 int ch = base->CreateChannel(); |
545 EXPECT_NE(-1, ch); | 545 EXPECT_NE(-1, ch); |
546 EXPECT_EQ(0, external_media->RegisterExternalMediaProcessing( | 546 EXPECT_EQ(0, external_media->RegisterExternalMediaProcessing( |
547 ch, webrtc::kPlaybackPerChannel, *media_process.get())); | 547 ch, webrtc::kPlaybackPerChannel, *media_process.get())); |
548 | 548 |
549 EXPECT_EQ(0, base->StartPlayout(ch)); | 549 EXPECT_EQ(0, base->StartPlayout(ch)); |
550 scoped_refptr<WebRtcAudioRenderer> renderer = | 550 scoped_refptr<WebRtcAudioRenderer> renderer( |
551 new WebRtcAudioRenderer(kRenderViewId); | 551 CreateDefaultWebRtcAudioRenderer(kRenderViewId)); |
| 552 |
552 EXPECT_TRUE(webrtc_audio_device->SetAudioRenderer(renderer.get())); | 553 EXPECT_TRUE(webrtc_audio_device->SetAudioRenderer(renderer.get())); |
553 renderer->Play(); | 554 renderer->Play(); |
554 | 555 |
555 EXPECT_TRUE(event.TimedWait(TestTimeouts::action_timeout())); | 556 EXPECT_TRUE(event.TimedWait(TestTimeouts::action_timeout())); |
556 WaitForIOThreadCompletion(); | 557 WaitForIOThreadCompletion(); |
557 | 558 |
558 EXPECT_TRUE(webrtc_audio_device->Playing()); | 559 EXPECT_TRUE(webrtc_audio_device->Playing()); |
559 EXPECT_FALSE(webrtc_audio_device->Recording()); | 560 EXPECT_FALSE(webrtc_audio_device->Recording()); |
560 EXPECT_EQ(ch, media_process->channel_id()); | 561 EXPECT_EQ(ch, media_process->channel_id()); |
561 EXPECT_EQ(webrtc::kPlaybackPerChannel, media_process->type()); | 562 EXPECT_EQ(webrtc::kPlaybackPerChannel, media_process->type()); |
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
715 ScopedWebRTCPtr<webrtc::VoEBase> base(engine.get()); | 716 ScopedWebRTCPtr<webrtc::VoEBase> base(engine.get()); |
716 ASSERT_TRUE(base.valid()); | 717 ASSERT_TRUE(base.valid()); |
717 | 718 |
718 scoped_refptr<WebRtcAudioDeviceImpl> webrtc_audio_device( | 719 scoped_refptr<WebRtcAudioDeviceImpl> webrtc_audio_device( |
719 new WebRtcAudioDeviceImpl()); | 720 new WebRtcAudioDeviceImpl()); |
720 int err = base->Init(webrtc_audio_device.get()); | 721 int err = base->Init(webrtc_audio_device.get()); |
721 ASSERT_EQ(0, err); | 722 ASSERT_EQ(0, err); |
722 int ch = base->CreateChannel(); | 723 int ch = base->CreateChannel(); |
723 EXPECT_NE(-1, ch); | 724 EXPECT_NE(-1, ch); |
724 EXPECT_EQ(0, base->StartPlayout(ch)); | 725 EXPECT_EQ(0, base->StartPlayout(ch)); |
725 scoped_refptr<WebRtcAudioRenderer> renderer = | 726 scoped_refptr<WebRtcAudioRenderer> renderer( |
726 new WebRtcAudioRenderer(kRenderViewId); | 727 CreateDefaultWebRtcAudioRenderer(kRenderViewId)); |
727 EXPECT_TRUE(webrtc_audio_device->SetAudioRenderer(renderer.get())); | 728 EXPECT_TRUE(webrtc_audio_device->SetAudioRenderer(renderer.get())); |
728 renderer->Play(); | 729 renderer->Play(); |
729 | 730 |
730 ScopedWebRTCPtr<webrtc::VoEFile> file(engine.get()); | 731 ScopedWebRTCPtr<webrtc::VoEFile> file(engine.get()); |
731 ASSERT_TRUE(file.valid()); | 732 ASSERT_TRUE(file.valid()); |
732 int duration = 0; | 733 int duration = 0; |
733 EXPECT_EQ(0, file->GetFileDuration(file_path.c_str(), duration, | 734 EXPECT_EQ(0, file->GetFileDuration(file_path.c_str(), duration, |
734 webrtc::kFileFormatPcm16kHzFile)); | 735 webrtc::kFileFormatPcm16kHzFile)); |
735 EXPECT_NE(0, duration); | 736 EXPECT_NE(0, duration); |
736 | 737 |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
825 static_cast<webrtc::AudioTrackInterface*>(local_audio_track.get())-> | 826 static_cast<webrtc::AudioTrackInterface*>(local_audio_track.get())-> |
826 GetRenderer()->AddChannel(ch); | 827 GetRenderer()->AddChannel(ch); |
827 | 828 |
828 ScopedWebRTCPtr<webrtc::VoENetwork> network(engine.get()); | 829 ScopedWebRTCPtr<webrtc::VoENetwork> network(engine.get()); |
829 ASSERT_TRUE(network.valid()); | 830 ASSERT_TRUE(network.valid()); |
830 scoped_ptr<WebRTCTransportImpl> transport( | 831 scoped_ptr<WebRTCTransportImpl> transport( |
831 new WebRTCTransportImpl(network.get())); | 832 new WebRTCTransportImpl(network.get())); |
832 EXPECT_EQ(0, network->RegisterExternalTransport(ch, *transport.get())); | 833 EXPECT_EQ(0, network->RegisterExternalTransport(ch, *transport.get())); |
833 EXPECT_EQ(0, base->StartPlayout(ch)); | 834 EXPECT_EQ(0, base->StartPlayout(ch)); |
834 EXPECT_EQ(0, base->StartSend(ch)); | 835 EXPECT_EQ(0, base->StartSend(ch)); |
835 scoped_refptr<WebRtcAudioRenderer> renderer = | 836 scoped_refptr<WebRtcAudioRenderer> renderer( |
836 new WebRtcAudioRenderer(kRenderViewId); | 837 CreateDefaultWebRtcAudioRenderer(kRenderViewId)); |
837 EXPECT_TRUE(webrtc_audio_device->SetAudioRenderer(renderer.get())); | 838 EXPECT_TRUE(webrtc_audio_device->SetAudioRenderer(renderer.get())); |
838 renderer->Play(); | 839 renderer->Play(); |
839 | 840 |
840 LOG(INFO) << ">> You should now be able to hear yourself in loopback..."; | 841 LOG(INFO) << ">> You should now be able to hear yourself in loopback..."; |
841 message_loop_.PostDelayedTask(FROM_HERE, | 842 message_loop_.PostDelayedTask(FROM_HERE, |
842 base::MessageLoop::QuitClosure(), | 843 base::MessageLoop::QuitClosure(), |
843 base::TimeDelta::FromSeconds(2)); | 844 base::TimeDelta::FromSeconds(2)); |
844 message_loop_.Run(); | 845 message_loop_.Run(); |
845 | 846 |
846 local_audio_track->Stop(); | 847 local_audio_track->Stop(); |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
936 EXPECT_CALL(media_observer(), | 937 EXPECT_CALL(media_observer(), |
937 OnSetAudioStreamStatus(_, 1, _)).Times(AnyNumber()); | 938 OnSetAudioStreamStatus(_, 1, _)).Times(AnyNumber()); |
938 EXPECT_CALL(media_observer(), | 939 EXPECT_CALL(media_observer(), |
939 OnSetAudioStreamPlaying(_, 1, true)); | 940 OnSetAudioStreamPlaying(_, 1, true)); |
940 EXPECT_CALL(media_observer(), | 941 EXPECT_CALL(media_observer(), |
941 OnDeleteAudioStream(_, 1)).Times(AnyNumber()); | 942 OnDeleteAudioStream(_, 1)).Times(AnyNumber()); |
942 | 943 |
943 base::WaitableEvent event(false, false); | 944 base::WaitableEvent event(false, false); |
944 scoped_ptr<MockWebRtcAudioRendererSource> renderer_source( | 945 scoped_ptr<MockWebRtcAudioRendererSource> renderer_source( |
945 new MockWebRtcAudioRendererSource(&event)); | 946 new MockWebRtcAudioRendererSource(&event)); |
946 scoped_refptr<WebRtcAudioRenderer> renderer = | 947 |
947 new WebRtcAudioRenderer(kRenderViewId); | 948 scoped_refptr<WebRtcAudioRenderer> renderer( |
| 949 CreateDefaultWebRtcAudioRenderer(kRenderViewId)); |
948 renderer->Initialize(renderer_source.get()); | 950 renderer->Initialize(renderer_source.get()); |
949 | 951 |
950 // Start the timer and playout. | 952 // Start the timer and playout. |
951 base::Time start_time = base::Time::Now(); | 953 base::Time start_time = base::Time::Now(); |
952 renderer->Play(); | 954 renderer->Play(); |
953 EXPECT_TRUE(event.TimedWait(TestTimeouts::action_timeout())); | 955 EXPECT_TRUE(event.TimedWait(TestTimeouts::action_timeout())); |
954 int delay = (base::Time::Now() - start_time).InMilliseconds(); | 956 int delay = (base::Time::Now() - start_time).InMilliseconds(); |
955 PrintPerfResultMs("webrtc_playout_setup_c", "t", delay); | 957 PrintPerfResultMs("webrtc_playout_setup_c", "t", delay); |
956 | 958 |
957 renderer->Stop(); | 959 renderer->Stop(); |
(...skipping 25 matching lines...) Expand all Loading... |
983 #endif | 985 #endif |
984 | 986 |
985 TEST_F(MAYBE_WebRTCAudioDeviceTest, | 987 TEST_F(MAYBE_WebRTCAudioDeviceTest, |
986 MAYBE_WebRtcLoopbackTimeWithSignalProcessing) { | 988 MAYBE_WebRtcLoopbackTimeWithSignalProcessing) { |
987 int latency = RunWebRtcLoopbackTimeTest(audio_manager_.get(), true); | 989 int latency = RunWebRtcLoopbackTimeTest(audio_manager_.get(), true); |
988 PrintPerfResultMs("webrtc_loopback_with_signal_processing (100 packets)", | 990 PrintPerfResultMs("webrtc_loopback_with_signal_processing (100 packets)", |
989 "t", latency); | 991 "t", latency); |
990 } | 992 } |
991 | 993 |
992 } // namespace content | 994 } // namespace content |
OLD | NEW |