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) { |