| 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 42728f7f42079b2f1341ed34b3457f1f000909c1..6b5bdf394f9bc9fdeee4f0cfdbedc1edd40ec8eb 100644
|
| --- a/content/browser/renderer_host/media/audio_input_device_manager.cc
|
| +++ b/content/browser/renderer_host/media/audio_input_device_manager.cc
|
| @@ -8,6 +8,7 @@
|
| #include "base/memory/scoped_ptr.h"
|
| #include "content/browser/renderer_host/media/audio_input_device_manager_event_handler.h"
|
| #include "content/public/browser/browser_thread.h"
|
| +#include "content/public/common/media_stream_request.h"
|
| #include "media/audio/audio_input_ipc.h"
|
| #include "media/audio/audio_manager_base.h"
|
|
|
| @@ -21,10 +22,13 @@ const int AudioInputDeviceManager::kFakeOpenSessionId = 1;
|
| const int kFirstSessionId = AudioInputDeviceManager::kFakeOpenSessionId + 1;
|
|
|
| AudioInputDeviceManager::AudioInputDeviceManager(
|
| - media::AudioManager* audio_manager)
|
| + media::AudioManager* audio_manager,
|
| + media_stream::MediaStreamType device_type)
|
| : listener_(NULL),
|
| next_capture_session_id_(kFirstSessionId),
|
| - audio_manager_(audio_manager) {
|
| + audio_manager_(audio_manager),
|
| + device_type_(device_type) {
|
| + DCHECK(content::IsAudioMediaType(device_type_));
|
| }
|
|
|
| AudioInputDeviceManager::~AudioInputDeviceManager() {
|
| @@ -84,18 +88,27 @@ void AudioInputDeviceManager::Close(int session_id) {
|
|
|
| void AudioInputDeviceManager::EnumerateOnDeviceThread() {
|
| DCHECK(IsOnDeviceThread());
|
| - // AudioManager is guaranteed to outlive MediaStreamManager in
|
| - // BrowserMainloop.
|
| - media::AudioDeviceNames device_names;
|
| - audio_manager_->GetAudioInputDeviceNames(&device_names);
|
|
|
| StreamDeviceInfoArray* devices = new StreamDeviceInfoArray;
|
| - for (media::AudioDeviceNames::iterator it = device_names.begin();
|
| - it != device_names.end();
|
| - ++it) {
|
| - devices->push_back(StreamDeviceInfo(
|
| - content::MEDIA_STREAM_DEVICE_TYPE_AUDIO_CAPTURE, it->device_name,
|
| - it->unique_id, false));
|
| + switch (device_type_) {
|
| + case content::MEDIA_DEVICE_AUDIO_CAPTURE: {
|
| + // AudioManager is guaranteed to outlive MediaStreamManager in
|
| + // BrowserMainloop.
|
| + media::AudioDeviceNames device_names;
|
| + audio_manager_->GetAudioInputDeviceNames(&device_names);
|
| + for (media::AudioDeviceNames::iterator it = device_names.begin();
|
| + it != device_names.end(); ++it) {
|
| + devices->push_back(StreamDeviceInfo(
|
| + device_type_, it->device_name, it->unique_id, false));
|
| + }
|
| + break;
|
| + }
|
| + case content::MEDIA_TAB_AUDIO_CAPTURE:
|
| + NOTREACHED() << "enumeration of tab audio devices";
|
| + break;
|
| + default:
|
| + NOTIMPLEMENTED();
|
| + break;
|
| }
|
|
|
| // Returns the device list through the listener by posting a task on
|
| @@ -185,24 +198,20 @@ void AudioInputDeviceManager::DevicesEnumeratedOnIOThread(
|
| // Ensures that |devices| gets deleted on exit.
|
| scoped_ptr<StreamDeviceInfoArray> devices_array(devices);
|
| if (listener_) {
|
| - listener_->DevicesEnumerated(
|
| - content::MEDIA_STREAM_DEVICE_TYPE_AUDIO_CAPTURE,
|
| - *devices_array);
|
| + listener_->DevicesEnumerated(device_type_, *devices_array);
|
| }
|
| }
|
|
|
| void AudioInputDeviceManager::OpenedOnIOThread(int session_id) {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| if (listener_)
|
| - listener_->Opened(content::MEDIA_STREAM_DEVICE_TYPE_AUDIO_CAPTURE,
|
| - session_id);
|
| + listener_->Opened(device_type_, session_id);
|
| }
|
|
|
| void AudioInputDeviceManager::ClosedOnIOThread(int session_id) {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| if (listener_)
|
| - listener_->Closed(content::MEDIA_STREAM_DEVICE_TYPE_AUDIO_CAPTURE,
|
| - session_id);
|
| + listener_->Closed(device_type_, session_id);
|
| }
|
|
|
| bool AudioInputDeviceManager::IsOnDeviceThread() const {
|
|
|