| Index: media/audio/mac/audio_manager_mac.cc
|
| diff --git a/media/audio/mac/audio_manager_mac.cc b/media/audio/mac/audio_manager_mac.cc
|
| index 3671317ba67ab2b8a1fa3a10611b062170fd145c..33dcff08d129dc163a87da2d8a0adf99a5868f3e 100644
|
| --- a/media/audio/mac/audio_manager_mac.cc
|
| +++ b/media/audio/mac/audio_manager_mac.cc
|
| @@ -421,11 +421,11 @@ AudioParameters AudioManagerMac::GetInputStreamParameters(
|
|
|
| AudioOutputStream* AudioManagerMac::MakeLinearOutputStream(
|
| const AudioParameters& params) {
|
| - return MakeLowLatencyOutputStream(params);
|
| + return MakeLowLatencyOutputStream(params, std::string());
|
| }
|
|
|
| AudioOutputStream* AudioManagerMac::MakeLowLatencyOutputStream(
|
| - const AudioParameters& params) {
|
| + const AudioParameters& params, const std::string& input_device_id) {
|
| // Handle basic output with no input channels.
|
| if (params.input_channels() == 0) {
|
| AudioDeviceID device = kAudioObjectUnknown;
|
| @@ -462,7 +462,8 @@ AudioOutputStream* AudioManagerMac::MakeLowLatencyOutputStream(
|
| LOG(INFO) << "Using AGGREGATE audio device";
|
| }
|
|
|
| - if (device != kAudioObjectUnknown)
|
| + if (device != kAudioObjectUnknown &&
|
| + input_device_id == AudioManagerBase::kDefaultDeviceId)
|
| return new AUHALStream(this, params, device);
|
|
|
| // Fallback to AudioSynchronizedStream which will handle completely
|
| @@ -471,9 +472,13 @@ AudioOutputStream* AudioManagerMac::MakeLowLatencyOutputStream(
|
| // kAudioDeviceUnknown translates to "use default" here.
|
| // TODO(crogers): consider tracking UMA stats on AUHALStream
|
| // versus AudioSynchronizedStream.
|
| + AudioDeviceID audio_device_id = GetAudioDeviceIdByUId(true, input_device_id);
|
| + if (audio_device_id == kAudioObjectUnknown)
|
| + return NULL;
|
| +
|
| return new AudioSynchronizedStream(this,
|
| params,
|
| - kAudioDeviceUnknown,
|
| + audio_device_id,
|
| kAudioDeviceUnknown);
|
| }
|
|
|
|
|