Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(105)

Unified Diff: media/audio/linux/audio_manager_linux.cc

Issue 10952024: Adding pulseaudio input support to chrome (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebased and addressed Dale's final comments. Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/audio/linux/audio_manager_linux.h ('k') | media/audio/pulse/audio_manager_pulse.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 90543d7ab8e232731cf0d19b2f2f282c4e98c3f9..fa8612573fe95397f905062cfd531aa20af5684b 100644
--- a/media/audio/linux/audio_manager_linux.cc
+++ b/media/audio/linux/audio_manager_linux.cc
@@ -19,7 +19,7 @@
#include "media/audio/linux/alsa_output.h"
#include "media/audio/linux/alsa_wrapper.h"
#if defined(USE_PULSEAUDIO)
-#include "media/audio/pulse/pulse_output.h"
+#include "media/audio/pulse/audio_manager_pulse.h"
#endif
#include "media/base/limits.h"
#include "media/base/media_switches.h"
@@ -41,25 +41,8 @@ static const char* kInvalidAudioInputDevices[] = {
"surround",
};
-// Implementation of AudioManager.
-bool AudioManagerLinux::HasAudioOutputDevices() {
- return HasAnyAlsaAudioDevice(kStreamPlayback);
-}
-
-bool AudioManagerLinux::HasAudioInputDevices() {
- return HasAnyAlsaAudioDevice(kStreamCapture);
-}
-
-AudioManagerLinux::AudioManagerLinux()
- : wrapper_(new AlsaWrapper()) {
- SetMaxOutputStreamsAllowed(kMaxOutputStreams);
-}
-
-AudioManagerLinux::~AudioManagerLinux() {
- Shutdown();
-}
-
-void AudioManagerLinux::ShowAudioInputSettings() {
+// static
+void AudioManagerLinux::ShowLinuxAudioInputSettings() {
scoped_ptr<base::Environment> env(base::Environment::Create());
CommandLine command_line(CommandLine::NO_PROGRAM);
switch (base::nix::GetDesktopEnvironment(env.get())) {
@@ -83,6 +66,28 @@ void AudioManagerLinux::ShowAudioInputSettings() {
base::LaunchProcess(command_line, base::LaunchOptions(), NULL);
}
+// Implementation of AudioManager.
+bool AudioManagerLinux::HasAudioOutputDevices() {
+ return HasAnyAlsaAudioDevice(kStreamPlayback);
+}
+
+bool AudioManagerLinux::HasAudioInputDevices() {
+ return HasAnyAlsaAudioDevice(kStreamCapture);
+}
+
+AudioManagerLinux::AudioManagerLinux()
+ : wrapper_(new AlsaWrapper()) {
+ SetMaxOutputStreamsAllowed(kMaxOutputStreams);
+}
+
+AudioManagerLinux::~AudioManagerLinux() {
+ Shutdown();
+}
+
+void AudioManagerLinux::ShowAudioInputSettings() {
+ ShowLinuxAudioInputSettings();
+}
+
void AudioManagerLinux::GetAudioInputDeviceNames(
media::AudioDeviceNames* device_names) {
DCHECK(device_names->empty());
@@ -248,12 +253,6 @@ AudioInputStream* AudioManagerLinux::MakeLowLatencyInputStream(
AudioOutputStream* AudioManagerLinux::MakeOutputStream(
const AudioParameters& params) {
-#if defined(USE_PULSEAUDIO)
- if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kUsePulseAudio)) {
- return new PulseAudioOutputStream(params, this);
- }
-#endif
-
std::string device_name = AlsaPcmOutputStream::kAutoSelectDevice;
if (CommandLine::ForCurrentProcess()->HasSwitch(
switches::kAlsaOutputDevice)) {
@@ -282,6 +281,14 @@ AudioManager* CreateAudioManager() {
}
#endif
+#if defined(USE_PULSEAUDIO)
+ if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kUsePulseAudio)) {
+ AudioManager* manager = AudioManagerPulse::Create();
+ if (manager)
+ return manager;
+ }
+#endif
+
return new AudioManagerLinux();
}
« no previous file with comments | « media/audio/linux/audio_manager_linux.h ('k') | media/audio/pulse/audio_manager_pulse.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698