Chromium Code Reviews| 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 |