| 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..09c8625f293435895db39d2a05007054c5d0d653 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/logging.h"
|
| +#include "base/nix/xdg_util.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();
|
|
|