| Index: content/browser/renderer_host/media/audio_input_device_manager.cc
|
| diff --git a/content/browser/renderer_host/media/audio_input_device_manager.cc b/content/browser/renderer_host/media/audio_input_device_manager.cc
|
| index 8d0377d859d63edd85d6da7fb5eae98370c143be..17b4d7d251de15ec4b75faeff667c48ca9158e91 100644
|
| --- a/content/browser/renderer_host/media/audio_input_device_manager.cc
|
| +++ b/content/browser/renderer_host/media/audio_input_device_manager.cc
|
| @@ -8,7 +8,6 @@
|
| #include "base/memory/scoped_ptr.h"
|
| #include "content/public/browser/browser_thread.h"
|
| #include "content/public/common/media_stream_request.h"
|
| -#include "media/audio/audio_device_name.h"
|
| #include "media/audio/audio_input_ipc.h"
|
| #include "media/audio/audio_manager_base.h"
|
| #include "media/audio/audio_parameters.h"
|
| @@ -30,14 +29,6 @@ AudioInputDeviceManager::AudioInputDeviceManager(
|
| next_capture_session_id_(kFirstSessionId),
|
| use_fake_device_(false),
|
| audio_manager_(audio_manager) {
|
| - // TODO(xians): Remove this fake_device after the unittests do not need it.
|
| - StreamDeviceInfo fake_device(MEDIA_DEVICE_AUDIO_CAPTURE,
|
| - media::AudioManagerBase::kDefaultDeviceName,
|
| - media::AudioManagerBase::kDefaultDeviceId,
|
| - 44100, media::CHANNEL_LAYOUT_STEREO,
|
| - 0);
|
| - fake_device.session_id = kFakeOpenSessionId;
|
| - devices_.push_back(fake_device);
|
| }
|
|
|
| AudioInputDeviceManager::~AudioInputDeviceManager() {
|
| @@ -123,19 +114,17 @@ void AudioInputDeviceManager::EnumerateOnDeviceThread(
|
| SCOPED_UMA_HISTOGRAM_TIMER(
|
| "Media.AudioInputDeviceManager.EnumerateOnDeviceThreadTime");
|
| DCHECK(IsOnDeviceThread());
|
| + DCHECK_EQ(MEDIA_DEVICE_AUDIO_CAPTURE, stream_type);
|
|
|
| media::AudioDeviceNames device_names;
|
| -
|
| - switch (stream_type) {
|
| - case MEDIA_DEVICE_AUDIO_CAPTURE:
|
| - // AudioManager is guaranteed to outlive MediaStreamManager in
|
| - // BrowserMainloop.
|
| - audio_manager_->GetAudioInputDeviceNames(&device_names);
|
| - break;
|
| -
|
| - default:
|
| - NOTREACHED();
|
| - break;
|
| + if (use_fake_device_) {
|
| + // Use the fake devices.
|
| + GetFakeDeviceNames(&device_names);
|
| + } else {
|
| + // Enumerate the devices on the OS.
|
| + // AudioManager is guaranteed to outlive MediaStreamManager in
|
| + // BrowserMainloop.
|
| + audio_manager_->GetAudioInputDeviceNames(&device_names);
|
| }
|
|
|
| scoped_ptr<StreamDeviceInfoArray> devices(new StreamDeviceInfoArray());
|
| @@ -146,14 +135,6 @@ void AudioInputDeviceManager::EnumerateOnDeviceThread(
|
| stream_type, it->device_name, it->unique_id));
|
| }
|
|
|
| - // If the |use_fake_device_| flag is on, inject the fake device if there is
|
| - // no available device on the OS.
|
| - if (use_fake_device_ && devices->empty()) {
|
| - devices->push_back(StreamDeviceInfo(
|
| - stream_type, media::AudioManagerBase::kDefaultDeviceName,
|
| - media::AudioManagerBase::kDefaultDeviceId));
|
| - }
|
| -
|
| // Return the device list through the listener by posting a task on
|
| // IO thread since MediaStreamManager handles the callback asynchronously.
|
| BrowserThread::PostTask(
|
| @@ -255,4 +236,18 @@ AudioInputDeviceManager::GetDevice(int session_id) {
|
| return devices_.end();
|
| }
|
|
|
| +void AudioInputDeviceManager::GetFakeDeviceNames(
|
| + media::AudioDeviceNames* device_names) {
|
| + static const char kFakeDeviceName1[] = "Fake Audio 1";
|
| + static const char kFakeDeviceId1[] = "fake_audio_1";
|
| + static const char kFakeDeviceName2[] = "Fake Audio 2";
|
| + static const char kFakeDeviceId2[] = "fake_audio_2";
|
| + DCHECK(device_names->empty());
|
| + DCHECK(use_fake_device_);
|
| + device_names->push_back(media::AudioDeviceName(kFakeDeviceName1,
|
| + kFakeDeviceId1));
|
| + device_names->push_back(media::AudioDeviceName(kFakeDeviceName2,
|
| + kFakeDeviceId2));
|
| +}
|
| +
|
| } // namespace content
|
|
|