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 502 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
513 | 513 |
514 EXPECT_CALL(media_observer(), | 514 EXPECT_CALL(media_observer(), |
515 OnSetAudioStreamStatus(_, 1, StrEq("created"))).Times(1); | 515 OnSetAudioStreamStatus(_, 1, StrEq("created"))).Times(1); |
516 EXPECT_CALL(media_observer(), | 516 EXPECT_CALL(media_observer(), |
517 OnSetAudioStreamPlaying(_, 1, true)).Times(1); | 517 OnSetAudioStreamPlaying(_, 1, true)).Times(1); |
518 EXPECT_CALL(media_observer(), | 518 EXPECT_CALL(media_observer(), |
519 OnSetAudioStreamStatus(_, 1, StrEq("closed"))).Times(1); | 519 OnSetAudioStreamStatus(_, 1, StrEq("closed"))).Times(1); |
520 EXPECT_CALL(media_observer(), | 520 EXPECT_CALL(media_observer(), |
521 OnDeleteAudioStream(_, 1)).Times(AnyNumber()); | 521 OnDeleteAudioStream(_, 1)).Times(AnyNumber()); |
522 | 522 |
523 media::AudioHardwareConfig* hardware_config = | |
524 RenderThreadImpl::current()->GetAudioHardwareConfig(); | |
525 int sample_rate = hardware_config->GetOutputSampleRate(); | |
526 int frames_per_buffer = hardware_config->GetOutputBufferSize(); | |
527 | |
523 scoped_refptr<WebRtcAudioRenderer> renderer = | 528 scoped_refptr<WebRtcAudioRenderer> renderer = |
524 new WebRtcAudioRenderer(kRenderViewId); | 529 new WebRtcAudioRenderer(kRenderViewId, -1, sample_rate, |
530 frames_per_buffer); | |
525 scoped_refptr<WebRtcAudioDeviceImpl> webrtc_audio_device( | 531 scoped_refptr<WebRtcAudioDeviceImpl> webrtc_audio_device( |
526 new WebRtcAudioDeviceImpl()); | 532 new WebRtcAudioDeviceImpl()); |
527 EXPECT_TRUE(webrtc_audio_device->SetAudioRenderer(renderer.get())); | 533 EXPECT_TRUE(webrtc_audio_device->SetAudioRenderer(renderer.get())); |
528 | 534 |
529 WebRTCAutoDelete<webrtc::VoiceEngine> engine(webrtc::VoiceEngine::Create()); | 535 WebRTCAutoDelete<webrtc::VoiceEngine> engine(webrtc::VoiceEngine::Create()); |
530 ASSERT_TRUE(engine.valid()); | 536 ASSERT_TRUE(engine.valid()); |
531 | 537 |
532 ScopedWebRTCPtr<webrtc::VoEBase> base(engine.get()); | 538 ScopedWebRTCPtr<webrtc::VoEBase> base(engine.get()); |
533 ASSERT_TRUE(base.valid()); | 539 ASSERT_TRUE(base.valid()); |
534 int err = base->Init(webrtc_audio_device.get()); | 540 int err = base->Init(webrtc_audio_device.get()); |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
694 | 700 |
695 EXPECT_CALL(media_observer(), | 701 EXPECT_CALL(media_observer(), |
696 OnSetAudioStreamStatus(_, 1, StrEq("created"))).Times(1); | 702 OnSetAudioStreamStatus(_, 1, StrEq("created"))).Times(1); |
697 EXPECT_CALL(media_observer(), | 703 EXPECT_CALL(media_observer(), |
698 OnSetAudioStreamPlaying(_, 1, true)).Times(1); | 704 OnSetAudioStreamPlaying(_, 1, true)).Times(1); |
699 EXPECT_CALL(media_observer(), | 705 EXPECT_CALL(media_observer(), |
700 OnSetAudioStreamStatus(_, 1, StrEq("closed"))).Times(1); | 706 OnSetAudioStreamStatus(_, 1, StrEq("closed"))).Times(1); |
701 EXPECT_CALL(media_observer(), | 707 EXPECT_CALL(media_observer(), |
702 OnDeleteAudioStream(_, 1)).Times(AnyNumber()); | 708 OnDeleteAudioStream(_, 1)).Times(AnyNumber()); |
703 | 709 |
710 media::AudioHardwareConfig* hardware_config = | |
711 RenderThreadImpl::current()->GetAudioHardwareConfig(); | |
712 int sample_rate = hardware_config->GetOutputSampleRate(); | |
713 int frames_per_buffer = hardware_config->GetOutputBufferSize(); | |
714 | |
704 scoped_refptr<WebRtcAudioRenderer> renderer = | 715 scoped_refptr<WebRtcAudioRenderer> renderer = |
705 new WebRtcAudioRenderer(kRenderViewId); | 716 new WebRtcAudioRenderer(kRenderViewId, -1, sample_rate, |
717 frames_per_buffer); | |
706 scoped_refptr<WebRtcAudioDeviceImpl> webrtc_audio_device( | 718 scoped_refptr<WebRtcAudioDeviceImpl> webrtc_audio_device( |
707 new WebRtcAudioDeviceImpl()); | 719 new WebRtcAudioDeviceImpl()); |
708 EXPECT_TRUE(webrtc_audio_device->SetAudioRenderer(renderer.get())); | 720 EXPECT_TRUE(webrtc_audio_device->SetAudioRenderer(renderer.get())); |
709 | 721 |
710 WebRTCAutoDelete<webrtc::VoiceEngine> engine(webrtc::VoiceEngine::Create()); | 722 WebRTCAutoDelete<webrtc::VoiceEngine> engine(webrtc::VoiceEngine::Create()); |
711 ASSERT_TRUE(engine.valid()); | 723 ASSERT_TRUE(engine.valid()); |
712 | 724 |
713 ScopedWebRTCPtr<webrtc::VoEBase> base(engine.get()); | 725 ScopedWebRTCPtr<webrtc::VoEBase> base(engine.get()); |
714 ASSERT_TRUE(base.valid()); | 726 ASSERT_TRUE(base.valid()); |
715 int err = base->Init(webrtc_audio_device.get()); | 727 int err = base->Init(webrtc_audio_device.get()); |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
771 if (!HardwareSampleRatesAreValid()) | 783 if (!HardwareSampleRatesAreValid()) |
772 return; | 784 return; |
773 | 785 |
774 EXPECT_CALL(media_observer(), | 786 EXPECT_CALL(media_observer(), |
775 OnSetAudioStreamPlaying(_, 1, true)); | 787 OnSetAudioStreamPlaying(_, 1, true)); |
776 EXPECT_CALL(media_observer(), | 788 EXPECT_CALL(media_observer(), |
777 OnSetAudioStreamStatus(_, 1, StrEq("closed"))); | 789 OnSetAudioStreamStatus(_, 1, StrEq("closed"))); |
778 EXPECT_CALL(media_observer(), | 790 EXPECT_CALL(media_observer(), |
779 OnDeleteAudioStream(_, 1)).Times(AnyNumber()); | 791 OnDeleteAudioStream(_, 1)).Times(AnyNumber()); |
780 | 792 |
793 media::AudioHardwareConfig* hardware_config = | |
794 RenderThreadImpl::current()->GetAudioHardwareConfig(); | |
795 int sample_rate = hardware_config->GetOutputSampleRate(); | |
796 int frames_per_buffer = hardware_config->GetOutputBufferSize(); | |
797 | |
781 scoped_refptr<WebRtcAudioRenderer> renderer = | 798 scoped_refptr<WebRtcAudioRenderer> renderer = |
782 new WebRtcAudioRenderer(kRenderViewId); | 799 new WebRtcAudioRenderer(kRenderViewId, -1, sample_rate, |
800 frames_per_buffer); | |
783 scoped_refptr<WebRtcAudioDeviceImpl> webrtc_audio_device( | 801 scoped_refptr<WebRtcAudioDeviceImpl> webrtc_audio_device( |
784 new WebRtcAudioDeviceImpl()); | 802 new WebRtcAudioDeviceImpl()); |
785 EXPECT_TRUE(webrtc_audio_device->SetAudioRenderer(renderer.get())); | 803 EXPECT_TRUE(webrtc_audio_device->SetAudioRenderer(renderer.get())); |
786 | 804 |
787 WebRTCAutoDelete<webrtc::VoiceEngine> engine(webrtc::VoiceEngine::Create()); | 805 WebRTCAutoDelete<webrtc::VoiceEngine> engine(webrtc::VoiceEngine::Create()); |
788 ASSERT_TRUE(engine.valid()); | 806 ASSERT_TRUE(engine.valid()); |
789 | 807 |
790 ScopedWebRTCPtr<webrtc::VoEBase> base(engine.get()); | 808 ScopedWebRTCPtr<webrtc::VoEBase> base(engine.get()); |
791 ASSERT_TRUE(base.valid()); | 809 ASSERT_TRUE(base.valid()); |
792 int err = base->Init(webrtc_audio_device.get()); | 810 int err = base->Init(webrtc_audio_device.get()); |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
916 EXPECT_CALL(media_observer(), | 934 EXPECT_CALL(media_observer(), |
917 OnSetAudioStreamStatus(_, 1, _)).Times(AnyNumber()); | 935 OnSetAudioStreamStatus(_, 1, _)).Times(AnyNumber()); |
918 EXPECT_CALL(media_observer(), | 936 EXPECT_CALL(media_observer(), |
919 OnSetAudioStreamPlaying(_, 1, true)); | 937 OnSetAudioStreamPlaying(_, 1, true)); |
920 EXPECT_CALL(media_observer(), | 938 EXPECT_CALL(media_observer(), |
921 OnDeleteAudioStream(_, 1)).Times(AnyNumber()); | 939 OnDeleteAudioStream(_, 1)).Times(AnyNumber()); |
922 | 940 |
923 base::WaitableEvent event(false, false); | 941 base::WaitableEvent event(false, false); |
924 scoped_ptr<MockWebRtcAudioRendererSource> renderer_source( | 942 scoped_ptr<MockWebRtcAudioRendererSource> renderer_source( |
925 new MockWebRtcAudioRendererSource(&event)); | 943 new MockWebRtcAudioRendererSource(&event)); |
944 | |
945 media::AudioHardwareConfig* hardware_config = | |
946 RenderThreadImpl::current()->GetAudioHardwareConfig(); | |
947 int sample_rate = hardware_config->GetOutputSampleRate(); | |
948 int frames_per_buffer = hardware_config->GetOutputBufferSize(); | |
949 | |
926 scoped_refptr<WebRtcAudioRenderer> renderer = | 950 scoped_refptr<WebRtcAudioRenderer> renderer = |
927 new WebRtcAudioRenderer(kRenderViewId); | 951 new WebRtcAudioRenderer(kRenderViewId, -1, sample_rate, |
Jói
2013/09/06 14:49:26
These parameters and the boilerplate to get the sa
tommi (sloooow) - chröme
2013/09/06 16:56:54
Done. Added a factory method to WebRTCAudioDevice
| |
952 frames_per_buffer); | |
928 renderer->Initialize(renderer_source.get()); | 953 renderer->Initialize(renderer_source.get()); |
929 | 954 |
930 // Start the timer and playout. | 955 // Start the timer and playout. |
931 base::Time start_time = base::Time::Now(); | 956 base::Time start_time = base::Time::Now(); |
932 renderer->Play(); | 957 renderer->Play(); |
933 EXPECT_TRUE(event.TimedWait(TestTimeouts::action_timeout())); | 958 EXPECT_TRUE(event.TimedWait(TestTimeouts::action_timeout())); |
934 int delay = (base::Time::Now() - start_time).InMilliseconds(); | 959 int delay = (base::Time::Now() - start_time).InMilliseconds(); |
935 PrintPerfResultMs("webrtc_playout_setup_c", "t", delay); | 960 PrintPerfResultMs("webrtc_playout_setup_c", "t", delay); |
936 | 961 |
937 renderer->Stop(); | 962 renderer->Stop(); |
(...skipping 25 matching lines...) Expand all Loading... | |
963 #endif | 988 #endif |
964 | 989 |
965 TEST_F(MAYBE_WebRTCAudioDeviceTest, | 990 TEST_F(MAYBE_WebRTCAudioDeviceTest, |
966 MAYBE_WebRtcLoopbackTimeWithSignalProcessing) { | 991 MAYBE_WebRtcLoopbackTimeWithSignalProcessing) { |
967 int latency = RunWebRtcLoopbackTimeTest(audio_manager_.get(), true); | 992 int latency = RunWebRtcLoopbackTimeTest(audio_manager_.get(), true); |
968 PrintPerfResultMs("webrtc_loopback_with_signal_processing (100 packets)", | 993 PrintPerfResultMs("webrtc_loopback_with_signal_processing (100 packets)", |
969 "t", latency); | 994 "t", latency); |
970 } | 995 } |
971 | 996 |
972 } // namespace content | 997 } // namespace content |
OLD | NEW |