Chromium Code Reviews| Index: media/audio/win/audio_manager_win.cc |
| diff --git a/media/audio/win/audio_manager_win.cc b/media/audio/win/audio_manager_win.cc |
| index 7ee2a769f169fe4545c3e3ca922852df50a12009..58d994898940aa55b116df729d291dc29608e8d4 100644 |
| --- a/media/audio/win/audio_manager_win.cc |
| +++ b/media/audio/win/audio_manager_win.cc |
| @@ -1,4 +1,4 @@ |
| -// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| @@ -166,14 +166,12 @@ AudioInputStream* AudioManagerWin::MakeAudioInputStream( |
| if (params.format == AudioParameters::AUDIO_MOCK) { |
| return FakeAudioInputStream::MakeFakeStream(params); |
| } else if (params.format == AudioParameters::AUDIO_PCM_LINEAR) { |
| - return new PCMWaveInAudioInputStream(this, params, kNumInputBuffers, |
| - AudioManagerBase::kDefaultDeviceId); |
| + return CreatePCMWaveInAudioInputStream(params, device_id); |
| } else if (params.format == AudioParameters::AUDIO_PCM_LOW_LATENCY) { |
| if (!media::IsWASAPISupported()) { |
| // Fall back to Windows Wave implementation on Windows XP or lower. |
| DLOG(INFO) << "Using WaveIn since WASAPI requires at least Vista."; |
| - return new PCMWaveInAudioInputStream(this, params, kNumInputBuffers, |
| - device_id); |
| + return CreatePCMWaveInAudioInputStream(params, device_id); |
| } else { |
| return new WASAPIAudioInputStream(this, params, device_id); |
| } |
| @@ -305,6 +303,24 @@ void AudioManagerWin::GetAudioInputDeviceNames( |
| } |
| } |
| +AudioInputStream* AudioManagerWin::CreatePCMWaveInAudioInputStream( |
| + const AudioParameters& params, |
| + const std::string& device_id) { |
| + if (device_id != AudioManagerBase::kDefaultDeviceId && |
| + enumeration_type_ == kMMDeviceEnumeration) { |
| + std::string xp_device_id = ConvertToWinXPDeviceId(device_id); |
| + if (!xp_device_id.empty()) { |
| + return new PCMWaveInAudioInputStream(this, params, kNumInputBuffers, |
| + xp_device_id); |
| + } else { |
| + return NULL; |
|
no longer working on chromium
2012/03/05 09:58:39
It looks like an unexpected error to me, adding a
yzshen1
2012/03/13 21:09:23
Done.
|
| + } |
| + } |
| + |
| + return new PCMWaveInAudioInputStream(this, params, kNumInputBuffers, |
| + device_id); |
|
no longer working on chromium
2012/03/05 09:58:39
Just a personal preference, feel free to ignore if
yzshen1
2012/03/13 21:09:23
Done.
|
| +} |
| + |
| /// static |
| AudioManager* CreateAudioManager() { |
| return new AudioManagerWin(); |