Chromium Code Reviews| Index: media/audio/linux/audio_manager_linux.cc |
| diff --git a/media/audio/linux/audio_manager_linux.cc b/media/audio/linux/audio_manager_linux.cc |
| index 4c92a6fdcdfd915fd8b11a1f399d0ade5d903cd8..dd56324e075e3eeeb705b62ec31b4d26e1c167b1 100644 |
| --- a/media/audio/linux/audio_manager_linux.cc |
| +++ b/media/audio/linux/audio_manager_linux.cc |
| @@ -5,7 +5,10 @@ |
| #include "media/audio/linux/audio_manager_linux.h" |
| #include "base/command_line.h" |
| +#include "base/environment.h" |
| +#include "base/nix/xdg_util.h" |
|
scherkus (not reviewing)
2011/02/28 21:18:13
alphabetize includes
|
| #include "base/logging.h" |
| +#include "base/process_util.h" |
| #include "media/audio/audio_output_dispatcher.h" |
| #include "media/audio/fake_audio_input_stream.h" |
| #include "media/audio/fake_audio_output_stream.h" |
| @@ -130,6 +133,24 @@ void AudioManagerLinux::ReleaseOutputStream(AlsaPcmOutputStream* stream) { |
| } |
| } |
| +bool AudioManagerLinux::CanShowAudioInputSettings() { |
| + scoped_ptr<base::Environment> env(base::Environment::Create()); |
| + base::nix::DesktopEnvironment desktop = base::nix::GetDesktopEnvironment( |
| + env.get()); |
| + return (desktop == base::nix::DESKTOP_ENVIRONMENT_GNOME || |
| + desktop == base::nix::DESKTOP_ENVIRONMENT_KDE3 || |
| + desktop == base::nix::DESKTOP_ENVIRONMENT_KDE4); |
| +} |
| + |
| +void AudioManagerLinux::ShowAudioInputSettings() { |
| + scoped_ptr<base::Environment> env(base::Environment::Create()); |
| + base::nix::DesktopEnvironment desktop = base::nix::GetDesktopEnvironment( |
| + env.get()); |
| + std::string command((desktop == base::nix::DESKTOP_ENVIRONMENT_GNOME) ? |
| + "gnome-volume-control" : "kmix"); |
| + base::LaunchApp(CommandLine(FilePath(command)), false, false, NULL); |
| +} |
| + |
| // static |
| AudioManager* AudioManager::CreateAudioManager() { |
| return new AudioManagerLinux(); |