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