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 d6704fe386f2864b24dd07680132e2d7a1afa5fb..01e177b16d01254a2158f79d9144bc0ad7907e7d 100644 |
| --- a/media/audio/linux/audio_manager_linux.cc |
| +++ b/media/audio/linux/audio_manager_linux.cc |
| @@ -36,7 +36,6 @@ static const char* kInvalidAudioInputDevices[] = { |
| "null", |
| "pulse", |
| "dmix", |
| - "surround", |
|
henrika (OOO until Aug 14)
2011/11/17 11:26:15
Related to this CL?
no longer working on chromium
2011/11/17 14:15:26
Yes, I have already explained offline.
|
| }; |
| // Implementation of AudioManager. |
| @@ -87,7 +86,7 @@ AudioOutputStream* AudioManagerLinux::MakeAudioOutputStream( |
| } |
| AudioInputStream* AudioManagerLinux::MakeAudioInputStream( |
| - const AudioParameters& params) { |
| + const AudioParameters& params, const std::string& device_id) { |
| if (!params.IsValid() || params.channels > kMaxInputChannels) |
| return NULL; |
| @@ -100,8 +99,11 @@ AudioInputStream* AudioManagerLinux::MakeAudioInputStream( |
| if (!initialized()) |
| return NULL; |
| - // TODO(xians): Pass the device name From AudioInputController instead. |
| - std::string device_name = AlsaPcmOutputStream::kAutoSelectDevice; |
| + std::string device_name; |
| + if (device_id == AudioManagerBase::kDefaultDeviceId) |
|
tommi (sloooow) - chröme
2011/11/17 10:24:16
When checking the device id, in some places, we us
no longer working on chromium
2011/11/17 14:15:26
Done.
|
| + device_name = AlsaPcmInputStream::kAutoSelectDevice; |
| + else |
| + device_name = device_id; |
| if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAlsaInputDevice)) { |
| device_name = CommandLine::ForCurrentProcess()->GetSwitchValueASCII( |
| switches::kAlsaInputDevice); |
| @@ -183,7 +185,8 @@ void AudioManagerLinux::GetAudioInputDeviceNames( |
| // counting here since the default device has been abstracted out before. |
| // We use index 0 to make up the unique_id to identify the default device. |
| device_names->push_front(media::AudioDeviceName( |
| - AudioManagerBase::kDefaultDeviceName, "0")); |
| + AudioManagerBase::kDefaultDeviceName, |
| + AudioManagerBase::kDefaultDeviceId)); |
| } |
| } |
| @@ -256,13 +259,16 @@ void AudioManagerLinux::GetAlsaDevicesInfo( |
| } |
| bool AudioManagerLinux::IsAlsaDeviceAvailable(const char* device_name) { |
| + static const char kNotWantedSurroundDevices[] = "surround"; |
| + |
| if (!device_name) |
| return false; |
| // Check if the device is in the list of invalid devices. |
| for (size_t i = 0; i < arraysize(kInvalidAudioInputDevices); ++i) { |
| - if (!strncmp(kInvalidAudioInputDevices[i], device_name, |
| - strlen(kInvalidAudioInputDevices[i]))) |
| + if (!strcmp(kInvalidAudioInputDevices[i], device_name) || |
|
tommi (sloooow) - chröme
2011/11/17 10:24:16
nit: prefer strcmp() == 0 rather than !strcmp() fo
no longer working on chromium
2011/11/17 14:15:26
Done.
|
| + !strncmp(kNotWantedSurroundDevices, device_name, |
| + arraysize(kNotWantedSurroundDevices) - 1)) |
| return false; |
| } |