| 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 "base/environment.h" | 5 #include "base/environment.h" |
| 6 #include "base/test/test_timeouts.h" | 6 #include "base/test/test_timeouts.h" |
| 7 #include "content/renderer/media/audio_hardware.h" | 7 #include "content/renderer/media/audio_hardware.h" |
| 8 #include "content/renderer/media/webrtc_audio_device_impl.h" | 8 #include "content/renderer/media/webrtc_audio_device_impl.h" |
| 9 #include "content/test/webrtc_audio_device_test.h" | 9 #include "content/test/webrtc_audio_device_test.h" |
| 10 #include "media/audio/audio_manager.h" | 10 #include "media/audio/audio_manager.h" |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 public: | 28 public: |
| 29 AudioUtil() {} | 29 AudioUtil() {} |
| 30 | 30 |
| 31 virtual int GetAudioHardwareSampleRate() OVERRIDE { | 31 virtual int GetAudioHardwareSampleRate() OVERRIDE { |
| 32 return media::GetAudioHardwareSampleRate(); | 32 return media::GetAudioHardwareSampleRate(); |
| 33 } | 33 } |
| 34 virtual int GetAudioInputHardwareSampleRate( | 34 virtual int GetAudioInputHardwareSampleRate( |
| 35 const std::string& device_id) OVERRIDE { | 35 const std::string& device_id) OVERRIDE { |
| 36 return media::GetAudioInputHardwareSampleRate(device_id); | 36 return media::GetAudioInputHardwareSampleRate(device_id); |
| 37 } | 37 } |
| 38 virtual ChannelLayout GetAudioInputHardwareChannelLayout( | 38 virtual media::ChannelLayout GetAudioInputHardwareChannelLayout( |
| 39 const std::string& device_id) OVERRIDE { | 39 const std::string& device_id) OVERRIDE { |
| 40 return media::GetAudioInputHardwareChannelLayout(device_id); | 40 return media::GetAudioInputHardwareChannelLayout(device_id); |
| 41 } | 41 } |
| 42 private: | 42 private: |
| 43 DISALLOW_COPY_AND_ASSIGN(AudioUtil); | 43 DISALLOW_COPY_AND_ASSIGN(AudioUtil); |
| 44 }; | 44 }; |
| 45 | 45 |
| 46 class AudioUtilNoHardware : public AudioUtilInterface { | 46 class AudioUtilNoHardware : public AudioUtilInterface { |
| 47 public: | 47 public: |
| 48 AudioUtilNoHardware(int output_rate, int input_rate, | 48 AudioUtilNoHardware(int output_rate, int input_rate, |
| 49 ChannelLayout input_channel_layout) | 49 media::ChannelLayout input_channel_layout) |
| 50 : output_rate_(output_rate), | 50 : output_rate_(output_rate), |
| 51 input_rate_(input_rate), | 51 input_rate_(input_rate), |
| 52 input_channel_layout_(input_channel_layout) { | 52 input_channel_layout_(input_channel_layout) { |
| 53 } | 53 } |
| 54 | 54 |
| 55 virtual int GetAudioHardwareSampleRate() OVERRIDE { | 55 virtual int GetAudioHardwareSampleRate() OVERRIDE { |
| 56 return output_rate_; | 56 return output_rate_; |
| 57 } | 57 } |
| 58 virtual int GetAudioInputHardwareSampleRate( | 58 virtual int GetAudioInputHardwareSampleRate( |
| 59 const std::string& device_id) OVERRIDE { | 59 const std::string& device_id) OVERRIDE { |
| 60 return input_rate_; | 60 return input_rate_; |
| 61 } | 61 } |
| 62 virtual ChannelLayout GetAudioInputHardwareChannelLayout( | 62 virtual media::ChannelLayout GetAudioInputHardwareChannelLayout( |
| 63 const std::string& device_id) OVERRIDE { | 63 const std::string& device_id) OVERRIDE { |
| 64 return input_channel_layout_; | 64 return input_channel_layout_; |
| 65 } | 65 } |
| 66 | 66 |
| 67 private: | 67 private: |
| 68 int output_rate_; | 68 int output_rate_; |
| 69 int input_rate_; | 69 int input_rate_; |
| 70 ChannelLayout input_channel_layout_; | 70 media::ChannelLayout input_channel_layout_; |
| 71 DISALLOW_COPY_AND_ASSIGN(AudioUtilNoHardware); | 71 DISALLOW_COPY_AND_ASSIGN(AudioUtilNoHardware); |
| 72 }; | 72 }; |
| 73 | 73 |
| 74 // Return true if at least one element in the array matches |value|. | 74 // Return true if at least one element in the array matches |value|. |
| 75 bool FindElementInArray(int* array, int size, int value) { | 75 bool FindElementInArray(int* array, int size, int value) { |
| 76 return (std::find(&array[0], &array[0] + size, value) != &array[size]); | 76 return (std::find(&array[0], &array[0] + size, value) != &array[size]); |
| 77 } | 77 } |
| 78 | 78 |
| 79 // This method returns false if a non-supported rate is detected on the | 79 // This method returns false if a non-supported rate is detected on the |
| 80 // input or output side. | 80 // input or output side. |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 214 int invalid_rates[] = {-1, 0, 8000, 11025, 22050, 32000, 192000}; | 214 int invalid_rates[] = {-1, 0, 8000, 11025, 22050, 32000, 192000}; |
| 215 for (size_t i = 0; i < arraysize(invalid_rates); ++i) { | 215 for (size_t i = 0; i < arraysize(invalid_rates); ++i) { |
| 216 EXPECT_FALSE(FindElementInArray(valid_rates, arraysize(valid_rates), | 216 EXPECT_FALSE(FindElementInArray(valid_rates, arraysize(valid_rates), |
| 217 invalid_rates[i])); | 217 invalid_rates[i])); |
| 218 } | 218 } |
| 219 } | 219 } |
| 220 | 220 |
| 221 // Basic test that instantiates and initializes an instance of | 221 // Basic test that instantiates and initializes an instance of |
| 222 // WebRtcAudioDeviceImpl. | 222 // WebRtcAudioDeviceImpl. |
| 223 TEST_F(WebRTCAudioDeviceTest, Construct) { | 223 TEST_F(WebRTCAudioDeviceTest, Construct) { |
| 224 AudioUtilNoHardware audio_util(48000, 48000, CHANNEL_LAYOUT_MONO); | 224 AudioUtilNoHardware audio_util(48000, 48000, media::CHANNEL_LAYOUT_MONO); |
| 225 SetAudioUtilCallback(&audio_util); | 225 SetAudioUtilCallback(&audio_util); |
| 226 scoped_refptr<WebRtcAudioDeviceImpl> webrtc_audio_device( | 226 scoped_refptr<WebRtcAudioDeviceImpl> webrtc_audio_device( |
| 227 new WebRtcAudioDeviceImpl()); | 227 new WebRtcAudioDeviceImpl()); |
| 228 | 228 |
| 229 webrtc_audio_device->SetSessionId(1); | 229 webrtc_audio_device->SetSessionId(1); |
| 230 | 230 |
| 231 WebRTCAutoDelete<webrtc::VoiceEngine> engine(webrtc::VoiceEngine::Create()); | 231 WebRTCAutoDelete<webrtc::VoiceEngine> engine(webrtc::VoiceEngine::Create()); |
| 232 ASSERT_TRUE(engine.valid()); | 232 ASSERT_TRUE(engine.valid()); |
| 233 | 233 |
| 234 ScopedWebRTCPtr<webrtc::VoEBase> base(engine.get()); | 234 ScopedWebRTCPtr<webrtc::VoEBase> base(engine.get()); |
| (...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 511 MessageLoop::QuitClosure(), | 511 MessageLoop::QuitClosure(), |
| 512 base::TimeDelta::FromSeconds(2)); | 512 base::TimeDelta::FromSeconds(2)); |
| 513 message_loop_.Run(); | 513 message_loop_.Run(); |
| 514 | 514 |
| 515 EXPECT_EQ(0, base->StopSend(ch)); | 515 EXPECT_EQ(0, base->StopSend(ch)); |
| 516 EXPECT_EQ(0, base->StopPlayout(ch)); | 516 EXPECT_EQ(0, base->StopPlayout(ch)); |
| 517 | 517 |
| 518 EXPECT_EQ(0, base->DeleteChannel(ch)); | 518 EXPECT_EQ(0, base->DeleteChannel(ch)); |
| 519 EXPECT_EQ(0, base->Terminate()); | 519 EXPECT_EQ(0, base->Terminate()); |
| 520 } | 520 } |
| OLD | NEW |