diff options
Diffstat (limited to 'chrome/browser/extensions/api/audio/audio_service_chromeos.cc')
-rw-r--r-- | chrome/browser/extensions/api/audio/audio_service_chromeos.cc | 101 |
1 files changed, 6 insertions, 95 deletions
diff --git a/chrome/browser/extensions/api/audio/audio_service_chromeos.cc b/chrome/browser/extensions/api/audio/audio_service_chromeos.cc index e408fa6..40aad49d 100644 --- a/chrome/browser/extensions/api/audio/audio_service_chromeos.cc +++ b/chrome/browser/extensions/api/audio/audio_service_chromeos.cc @@ -6,9 +6,6 @@ #include "base/callback.h" #include "base/memory/weak_ptr.h" -#include "base/strings/string_number_conversions.h" -#include "chromeos/audio/audio_device.h" -#include "chromeos/audio/cras_audio_handler.h" #include "chromeos/dbus/audio_node.h" #include "chromeos/dbus/cras_audio_client.h" #include "chromeos/dbus/dbus_thread_manager.h" @@ -22,22 +19,17 @@ using api::audio::OutputDeviceInfo; using api::audio::InputDeviceInfo; class AudioServiceImpl : public AudioService, - public chromeos::CrasAudioHandler::Observer { + public chromeos::CrasAudioClient::Observer { public: AudioServiceImpl(); virtual ~AudioServiceImpl(); // Called by listeners to this service to add/remove themselves as observers. - virtual void AddObserver(AudioService::Observer* observer) OVERRIDE; - virtual void RemoveObserver(AudioService::Observer* observer) OVERRIDE; + virtual void AddObserver(AudioService::Observer* observer); + virtual void RemoveObserver(AudioService::Observer* observer); // Start to query audio device information. - virtual void StartGetInfo(const GetInfoCallback& callback) OVERRIDE; - virtual void SetActiveDevices(const DeviceIdList& device_list) OVERRIDE; - virtual bool SetDeviceProperties(const std::string& device_id, - bool muted, - int volume, - int gain) OVERRIDE; + virtual void StartGetInfo(const GetInfoCallback& callback); protected: // chromeos::CrasAudioClient::Observer overrides. @@ -57,14 +49,10 @@ class AudioServiceImpl : public AudioService, const chromeos::AudioNodeList& audio_nodes, bool success); - bool FindDevice(uint64 id, chromeos::AudioDevice* device); - uint64 GetIdFromStr(const std::string& id_str); - // List of observers. ObserverList<AudioService::Observer> observer_list_; chromeos::CrasAudioClient* cras_audio_client_; - chromeos::CrasAudioHandler* cras_audio_handler_; // Note: This should remain the last member so it'll be destroyed and // invalidate the weak pointers before any other members are destroyed. @@ -75,7 +63,6 @@ class AudioServiceImpl : public AudioService, AudioServiceImpl::AudioServiceImpl() : cras_audio_client_(NULL), - cras_audio_handler_(NULL), weak_ptr_factory_(this) { if (chromeos::DBusThreadManager::IsInitialized() && chromeos::DBusThreadManager::Get()) { @@ -83,8 +70,6 @@ AudioServiceImpl::AudioServiceImpl() chromeos::DBusThreadManager::Get()->GetCrasAudioClient(); if (cras_audio_client_) cras_audio_client_->AddObserver(this); - if (chromeos::CrasAudioHandler::IsInitialized()) - cras_audio_handler_ = chromeos::CrasAudioHandler::Get(); } } @@ -110,55 +95,6 @@ void AudioServiceImpl::StartGetInfo(const GetInfoCallback& callback) { callback)); } -void AudioServiceImpl::SetActiveDevices(const DeviceIdList& device_list) { - DCHECK(cras_audio_handler_); - if (!cras_audio_handler_) - return; - - bool input_device_set = false; - bool output_device_set = false; - - for (size_t i = 0; i < device_list.size(); ++i) { - chromeos::AudioDevice device; - bool found = FindDevice(GetIdFromStr(device_list[i]), &device); - if (found) { - if (device.is_input && !input_device_set) { - cras_audio_handler_->SetActiveInputNode(device.id); - input_device_set = true; - } else if (!device.is_input && !output_device_set) { - cras_audio_handler_->SetActiveOutputNode(device.id); - output_device_set = true; - } - } - } -} - -bool AudioServiceImpl::SetDeviceProperties(const std::string& device_id, - bool muted, - int volume, - int gain) { - DCHECK(cras_audio_handler_); - if (!cras_audio_handler_) - return false; - - chromeos::AudioDevice device; - bool found = FindDevice(GetIdFromStr(device_id), &device); - if (!found) - return false; - - if (!device.is_input && volume != -1) { - cras_audio_handler_->SetVolumeGainPercentForDevice(GetIdFromStr(device_id), - volume); - return true; - } else if (device.is_input && gain != -1) { - cras_audio_handler_->SetVolumeGainPercentForDevice(GetIdFromStr(device_id), - gain); - return true; - } - - return false; -} - void AudioServiceImpl::OnGetNodes(const GetInfoCallback& callback, const chromeos::AudioNodeList& audio_nodes, bool success) { @@ -169,19 +105,15 @@ void AudioServiceImpl::OnGetNodes(const GetInfoCallback& callback, iter != audio_nodes.end(); ++iter) { if (!iter->is_input) { linked_ptr<OutputDeviceInfo> info(new OutputDeviceInfo()); - info->id = base::Uint64ToString(iter->id); + info->id = iter->id; info->name = iter->name; info->is_active = iter->active; - info->volume = cras_audio_handler_->GetOutputVolumePercentForDevice( - iter->id); output_info.push_back(info); } else { linked_ptr<InputDeviceInfo> info(new InputDeviceInfo()); - info->id = base::Uint64ToString(iter->id); + info->id = iter->id; info->name = iter->name; info->is_active = iter->active; - info->gain = cras_audio_handler_->GetInputGainPercentForDevice( - iter->id); input_info.push_back(info); } } @@ -192,27 +124,6 @@ void AudioServiceImpl::OnGetNodes(const GetInfoCallback& callback, callback.Run(output_info, input_info, success); } -bool AudioServiceImpl::FindDevice(uint64 id, chromeos::AudioDevice* device) { - chromeos::AudioDeviceList devices; - cras_audio_handler_->GetAudioDevices(&devices); - - for (size_t i = 0; i < devices.size(); ++i) { - if (devices[i].id == id) { - *device = devices[i]; - return true; - } - } - return false; -} - -uint64 AudioServiceImpl::GetIdFromStr(const std::string& id_str) { - uint64 device_id; - if (!base::StringToUint64(id_str, &device_id)) - return 0; - else - return device_id; -} - void AudioServiceImpl::OutputVolumeChanged(int volume) { NotifyDeviceChanged(); } |