Chromium Code Reviews| Index: media/audio/pulse/audio_manager_pulse.cc |
| diff --git a/media/audio/pulse/audio_manager_pulse.cc b/media/audio/pulse/audio_manager_pulse.cc |
| index 398826ae1c360a03dcaebfcfea59e8be8e592adb..ac40a299ab75464501800e423b915bc1430d7c8d 100644 |
| --- a/media/audio/pulse/audio_manager_pulse.cc |
| +++ b/media/audio/pulse/audio_manager_pulse.cc |
| @@ -174,6 +174,25 @@ AudioInputStream* AudioManagerPulse::MakeLowLatencyInputStream( |
| return MakeInputStream(params, device_id); |
| } |
| +std::string AudioManagerPulse::GetAssociatedOutputDeviceID( |
| + const std::string& input_device_id) { |
| + DCHECK(AudioManager::Get()->GetTaskRunner()->BelongsToCurrentThread()); |
| + DCHECK(input_mainloop_); |
| + DCHECK(input_context_); |
| + if (input_device_id == AudioDeviceDescription::kDefaultDeviceId) { |
|
Guido Urdaneta
2016/08/19 14:26:18
This check is wrong. The default output device is
|
| + return AudioDeviceDescription::kDefaultDeviceId; |
| + } |
| + |
| + std::string input_bus = |
| + pulse::GetBusOfInput(input_device_id, input_mainloop_, input_context_); |
| + if (input_bus.empty()) { |
| + return ""; |
| + } |
| + std::string s = pulse::GetOutputCorrespondingTo(input_bus, input_mainloop_, |
| + input_context_); |
| + return s; |
| +} |
| + |
| AudioParameters AudioManagerPulse::GetPreferredOutputStreamParameters( |
| const std::string& output_device_id, |
| const AudioParameters& input_params) { |