| 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 4e413941d3b7f2d407922bb974422c017d47392c..c999f61209d66a137e00a1e315b2eaa5d153c607 100644
|
| --- a/media/audio/win/audio_manager_win.cc
|
| +++ b/media/audio/win/audio_manager_win.cc
|
| @@ -148,8 +148,9 @@ AudioOutputStream* AudioManagerWin::MakeAudioOutputStream(
|
|
|
| // Factory for the implementations of AudioInputStream.
|
| AudioInputStream* AudioManagerWin::MakeAudioInputStream(
|
| - const AudioParameters& params) {
|
| - if (!params.IsValid() || (params.channels > kWinMaxInputChannels))
|
| + const AudioParameters& params, const std::string& device_id) {
|
| + if (!params.IsValid() || (params.channels > kWinMaxInputChannels) ||
|
| + device_id.empty())
|
| return NULL;
|
|
|
| if (params.format == AudioParameters::AUDIO_MOCK) {
|
| @@ -161,12 +162,16 @@ AudioInputStream* AudioManagerWin::MakeAudioInputStream(
|
| if (base::win::GetVersion() <= base::win::VERSION_XP) {
|
| // 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,
|
| - WAVE_MAPPER);
|
| + // TODO(xians): Handle the non-default device.
|
| + if (device_id == AudioManagerBase::kDefaultDeviceId)
|
| + return new PCMWaveInAudioInputStream(this, params, kNumInputBuffers,
|
| + WAVE_MAPPER);
|
| } else {
|
| // TODO(henrika): improve possibility to specify audio endpoint.
|
| // Use the default device (same as for Wave) for now to be compatible.
|
| - return new WASAPIAudioInputStream(this, params, eConsole);
|
| + // TODO(xians): Handle the non-default device.
|
| + if (device_id == AudioManagerBase::kDefaultDeviceId)
|
| + return new WASAPIAudioInputStream(this, params, eConsole);
|
| }
|
| }
|
| return NULL;
|
| @@ -282,7 +287,7 @@ void AudioManagerWin::GetAudioInputDeviceNames(
|
| // default devices.
|
| media::AudioDeviceName name;
|
| name.device_name = AudioManagerBase::kDefaultDeviceName;
|
| - name.unique_id = "0";
|
| + name.unique_id = AudioManagerBase::kDefaultDeviceId;
|
| device_names->push_back(name);
|
| }
|
| }
|
|
|