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..340f88f9b197795ddcd95dbb95061bce7b41660f 100644 |
--- a/media/audio/pulse/audio_manager_pulse.cc |
+++ b/media/audio/pulse/audio_manager_pulse.cc |
@@ -174,6 +174,29 @@ AudioInputStream* AudioManagerPulse::MakeLowLatencyInputStream( |
return MakeInputStream(params, device_id); |
} |
+std::string AudioManagerPulse::GetDefaultOutputDeviceID() { |
+ return pulse::GetRealDefaultDeviceId(input_mainloop_, input_context_, |
+ pulse::RequestType::OUTPUT); |
+} |
+ |
+std::string AudioManagerPulse::GetAssociatedOutputDeviceID( |
+ const std::string& input_device_id) { |
+ DCHECK(AudioManager::Get()->GetTaskRunner()->BelongsToCurrentThread()); |
+ DCHECK(input_mainloop_); |
+ DCHECK(input_context_); |
+ std::string input = |
+ (input_device_id == AudioDeviceDescription::kDefaultDeviceId) |
+ ? pulse::GetRealDefaultDeviceId(input_mainloop_, input_context_, |
+ pulse::RequestType::INPUT) |
+ : input_device_id; |
+ |
+ std::string input_bus = |
+ pulse::GetBusOfInput(input_mainloop_, input_context_, input); |
+ return input_bus.empty() ? "" |
+ : pulse::GetOutputCorrespondingTo( |
+ input_mainloop_, input_context_, input_bus); |
+} |
+ |
AudioParameters AudioManagerPulse::GetPreferredOutputStreamParameters( |
const std::string& output_device_id, |
const AudioParameters& input_params) { |