summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrkc@chromium.org <rkc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-07 00:04:57 +0000
committerrkc@chromium.org <rkc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-07 00:04:57 +0000
commit8e48da24b7a33f32f74158f631f9820f9834a243 (patch)
tree4ee862b6e4fa6296eb77c1d26fce6746d54e4617
parent628c56b57bbc8749d695c8093cb44c9477f8a791 (diff)
downloadchromium_src-8e48da24b7a33f32f74158f631f9820f9834a243.zip
chromium_src-8e48da24b7a33f32f74158f631f9820f9834a243.tar.gz
chromium_src-8e48da24b7a33f32f74158f631f9820f9834a243.tar.bz2
Revert 198556 "Implement the rest of the audio API."
> Implement the rest of the audio API. > Picking up where https://codereview.chromium.org/13486004/ left off, implemented the setProperties and setActiveDevices calls; also fixed GetNodes to also return the volume of the devices. > > R=hshi@chromium.org, jennyz@chromium.org, mpcomplete@chromium.org > BUG=175798 > TEST=Wrote a test extension to set the volume on the active and inactive devices, to verify they were set correctly. Also wrote code to switch active devices to verify that the devices did switch. > > Review URL: https://codereview.chromium.org/14652027 TBR=rkc@chromium.org Review URL: https://codereview.chromium.org/14655010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198568 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--ash/system/chromeos/audio/tray_audio.cc6
-rw-r--r--ash/system/chromeos/audio/tray_audio.h2
-rw-r--r--chrome/browser/chromeos/audio/audio_devices_pref_handler_impl.cc71
-rw-r--r--chrome/browser/chromeos/audio/audio_devices_pref_handler_impl.h11
-rw-r--r--chrome/browser/extensions/api/audio/audio_api.cc37
-rw-r--r--chrome/browser/extensions/api/audio/audio_api.h4
-rw-r--r--chrome/browser/extensions/api/audio/audio_service.cc15
-rw-r--r--chrome/browser/extensions/api/audio/audio_service.h11
-rw-r--r--chrome/browser/extensions/api/audio/audio_service_chromeos.cc101
-rw-r--r--chrome/common/extensions/api/_permission_features.json18
-rw-r--r--chromeos/audio/audio_devices_pref_handler.h20
-rw-r--r--chromeos/audio/cras_audio_handler.cc102
-rw-r--r--chromeos/audio/cras_audio_handler.h40
-rw-r--r--chromeos/audio/cras_audio_switch_handler.cc4
-rw-r--r--chromeos/audio/cras_audio_switch_handler.h2
15 files changed, 80 insertions, 364 deletions
diff --git a/ash/system/chromeos/audio/tray_audio.cc b/ash/system/chromeos/audio/tray_audio.cc
index 02daa87..246b082 100644
--- a/ash/system/chromeos/audio/tray_audio.cc
+++ b/ash/system/chromeos/audio/tray_audio.cc
@@ -596,12 +596,6 @@ void TrayAudio::OnOutputMuteChanged() {
}
}
-void TrayAudio::OnInputGainChanged() {
-}
-
-void TrayAudio::OnInputMuteChanged() {
-}
-
void TrayAudio::OnAudioNodesChanged() {
Update();
}
diff --git a/ash/system/chromeos/audio/tray_audio.h b/ash/system/chromeos/audio/tray_audio.h
index da08219..af8f7a9 100644
--- a/ash/system/chromeos/audio/tray_audio.h
+++ b/ash/system/chromeos/audio/tray_audio.h
@@ -43,8 +43,6 @@ class TrayAudio : public TrayImageItem,
// Overridden from chromeos::CrasAudioHandler::AudioObserver.
virtual void OnOutputVolumeChanged() OVERRIDE;
virtual void OnOutputMuteChanged() OVERRIDE;
- virtual void OnInputGainChanged() OVERRIDE;
- virtual void OnInputMuteChanged() OVERRIDE;
virtual void OnAudioNodesChanged() OVERRIDE;
virtual void OnActiveOutputNodeChanged() OVERRIDE;
virtual void OnActiveInputNodeChanged() OVERRIDE;
diff --git a/chrome/browser/chromeos/audio/audio_devices_pref_handler_impl.cc b/chrome/browser/chromeos/audio/audio_devices_pref_handler_impl.cc
index a3aa88d..c8d5b03 100644
--- a/chrome/browser/chromeos/audio/audio_devices_pref_handler_impl.cc
+++ b/chrome/browser/chromeos/audio/audio_devices_pref_handler_impl.cc
@@ -4,8 +4,6 @@
#include "chrome/browser/chromeos/audio/audio_devices_pref_handler_impl.h"
-#include <algorithm>
-
#include "base/bind.h"
#include "base/bind_helpers.h"
#include "base/logging.h"
@@ -19,49 +17,64 @@
namespace chromeos {
-double AudioDevicesPrefHandlerImpl::GetVolumeGainValue(
- uint64 device_id) {
- UpdateDevicesVolumePref();
+namespace {
+
+// Default value for the volume pref, as a percent in the range [0.0, 100.0].
+const double kDefaultVolumePercent = 75.0;
- std::string device_id_str = base::Uint64ToString(device_id);
- if (!device_volume_settings_->HasKey(device_id_str))
- MigrateDeviceVolumeSettings(device_id_str);
+// Values used for muted preference.
+const int kPrefMuteOff = 0;
+const int kPrefMuteOn = 1;
- double volume = kDefaultVolumeGainPercent;
- device_volume_settings_->GetDouble(device_id_str, &volume);
+} // namespace
+double AudioDevicesPrefHandlerImpl::GetOutputVolumeValue() {
+ if (!CrasAudioHandler::IsInitialized())
+ return kDefaultVolumePercent;
+
+ UpdateDevicesVolumePref();
+ std::string active_device_id = base::Uint64ToString(
+ CrasAudioHandler::Get()->GetActiveOutputNode());
+ if (!device_volume_settings_->HasKey(active_device_id))
+ MigrateDeviceVolumeSettings(active_device_id);
+ double volume = kDefaultVolumePercent;
+ device_volume_settings_->GetDouble(active_device_id, &volume);
return volume;
}
-void AudioDevicesPrefHandlerImpl::SetVolumeGainValue(
- uint64 device_id, double value) {
- value = std::min(std::max(value, 0.0), 100.0);
- device_volume_settings_->SetDouble(base::Uint64ToString(device_id), value);
-
+void AudioDevicesPrefHandlerImpl::SetOutputVolumeValue(double volume_percent) {
+ std::string active_device_id = base::Uint64ToString(
+ CrasAudioHandler::Get()->GetActiveOutputNode());
+ if (volume_percent > 100.0)
+ volume_percent = 100.0;
+ if (volume_percent < 0.0)
+ volume_percent = 0.0;
+ device_volume_settings_->SetDouble(active_device_id, volume_percent);
SaveDevicesVolumePref();
}
-bool AudioDevicesPrefHandlerImpl::GetMuteValue(uint64 device_id) {
- UpdateDevicesVolumePref();
-
- std::string device_id_str = base::Uint64ToString(device_id);
- if (!device_mute_settings_->HasKey(device_id_str))
- MigrateDeviceMuteSettings(device_id_str);
+bool AudioDevicesPrefHandlerImpl::GetOutputMuteValue() {
+ if (!CrasAudioHandler::IsInitialized())
+ return false;
+ UpdateDevicesVolumePref();
+ std::string active_device_id = base::Uint64ToString(
+ CrasAudioHandler::Get()->GetActiveOutputNode());
+ if (!device_mute_settings_->HasKey(active_device_id))
+ MigrateDeviceMuteSettings(active_device_id);
int mute = kPrefMuteOff;
- device_mute_settings_->GetInteger(device_id_str, &mute);
-
+ device_mute_settings_->GetInteger(active_device_id, &mute);
return (mute == kPrefMuteOn);
}
-void AudioDevicesPrefHandlerImpl::SetMuteValue(uint64 device_id,
- bool mute) {
- device_mute_settings_->SetBoolean(base::Uint64ToString(device_id),
- mute ? kPrefMuteOn : kPrefMuteOff);
+void AudioDevicesPrefHandlerImpl::SetOutputMuteValue(bool mute) {
+ std::string active_device_id = base::Uint64ToString(
+ CrasAudioHandler::Get()->GetActiveOutputNode());
+ device_mute_settings_->SetBoolean(active_device_id,
+ mute ? kPrefMuteOn : kPrefMuteOff);
SaveDevicesVolumePref();
}
-
bool AudioDevicesPrefHandlerImpl::GetAudioCaptureAllowedValue() {
return local_state_->GetBoolean(prefs::kAudioCaptureAllowed);
}
@@ -133,7 +146,7 @@ void AudioDevicesPrefHandlerImpl::SaveDevicesVolumePref() {
prefs::kAudioDevicesVolumePercent);
base::DictionaryValue::Iterator it(*device_volume_settings_);
while (!it.IsAtEnd()) {
- double volume = kDefaultVolumeGainPercent;
+ double volume = kDefaultVolumePercent;
it.value().GetAsDouble(&volume);
dict_update->Set(it.key(), new base::FundamentalValue(volume));
it.Advance();
diff --git a/chrome/browser/chromeos/audio/audio_devices_pref_handler_impl.h b/chrome/browser/chromeos/audio/audio_devices_pref_handler_impl.h
index e596a1f..44dafe5 100644
--- a/chrome/browser/chromeos/audio/audio_devices_pref_handler_impl.h
+++ b/chrome/browser/chromeos/audio/audio_devices_pref_handler_impl.h
@@ -22,15 +22,12 @@ class AudioDevicesPrefHandlerImpl : public AudioDevicesPrefHandler {
explicit AudioDevicesPrefHandlerImpl(PrefService* local_state);
// Overridden from AudioDevicesPrefHandler.
- virtual double GetVolumeGainValue(uint64 device_id) OVERRIDE;
- virtual void SetVolumeGainValue(uint64 device_id, double value) OVERRIDE;
-
- virtual bool GetMuteValue(uint64 device_id) OVERRIDE;
- virtual void SetMuteValue(uint64 device_id, bool mute_on) OVERRIDE;
-
+ virtual double GetOutputVolumeValue() OVERRIDE;
+ virtual bool GetOutputMuteValue() OVERRIDE;
+ virtual void SetOutputVolumeValue(double volume_percent) OVERRIDE;
+ virtual void SetOutputMuteValue(bool mute_on) OVERRIDE;
virtual bool GetAudioCaptureAllowedValue() OVERRIDE;
virtual bool GetAudioOutputAllowedValue() OVERRIDE;
-
virtual void AddAudioPrefObserver(AudioPrefObserver* observer) OVERRIDE;
virtual void RemoveAudioPrefObserver(AudioPrefObserver* observer) OVERRIDE;
diff --git a/chrome/browser/extensions/api/audio/audio_api.cc b/chrome/browser/extensions/api/audio/audio_api.cc
index 0c717b1..aacf14f 100644
--- a/chrome/browser/extensions/api/audio/audio_api.cc
+++ b/chrome/browser/extensions/api/audio/audio_api.cc
@@ -60,45 +60,18 @@ void AudioGetInfoFunction::OnGetInfoCompleted(const OutputInfo& output_info,
if (success)
results_ = api::audio::GetInfo::Results::Create(output_info, input_info);
else
- SetError("Error occurred when querying audio device information.");
+ SetError("Error occured when querying audio device information.");
SendResponse(success);
}
bool AudioSetActiveDevicesFunction::RunImpl() {
- scoped_ptr<api::audio::SetActiveDevices::Params> params(
- api::audio::SetActiveDevices::Params::Create(*args_));
- EXTENSION_FUNCTION_VALIDATE(params.get());
-
- AudioService* service =
- AudioAPI::GetFactoryInstance()->GetForProfile(profile())->GetService();
- DCHECK(service);
-
- service->SetActiveDevices(params->ids);
- return true;
+ // TODO: implement this.
+ return false;
}
bool AudioSetPropertiesFunction::RunImpl() {
- scoped_ptr<api::audio::SetProperties::Params> params(
- api::audio::SetProperties::Params::Create(*args_));
- EXTENSION_FUNCTION_VALIDATE(params.get());
-
- AudioService* service =
- AudioAPI::GetFactoryInstance()->GetForProfile(profile())->GetService();
- DCHECK(service);
-
- int volume_value = params->properties.volume.get() ?
- *params->properties.volume : -1;
-
- int gain_value = params->properties.gain.get() ?
- *params->properties.gain : -1;
-
- if (!service->SetDeviceProperties(params->id,
- params->properties.is_muted,
- volume_value,
- gain_value))
- return false;
- else
- return true;
+ // TODO: implement this.
+ return false;
}
} // namespace extensions
diff --git a/chrome/browser/extensions/api/audio/audio_api.h b/chrome/browser/extensions/api/audio/audio_api.h
index ae9398a..c8530f6 100644
--- a/chrome/browser/extensions/api/audio/audio_api.h
+++ b/chrome/browser/extensions/api/audio/audio_api.h
@@ -54,7 +54,7 @@ class AudioGetInfoFunction : public AsyncExtensionFunction {
bool success);
};
-class AudioSetActiveDevicesFunction : public SyncExtensionFunction {
+class AudioSetActiveDevicesFunction : public AsyncExtensionFunction {
public:
DECLARE_EXTENSION_FUNCTION("audio.setActiveDevices",
AUDIO_SETACTIVEDEVICES);
@@ -64,7 +64,7 @@ class AudioSetActiveDevicesFunction : public SyncExtensionFunction {
virtual bool RunImpl() OVERRIDE;
};
-class AudioSetPropertiesFunction : public SyncExtensionFunction {
+class AudioSetPropertiesFunction : public AsyncExtensionFunction {
public:
DECLARE_EXTENSION_FUNCTION("audio.setProperties",
AUDIO_SETPROPERTIES);
diff --git a/chrome/browser/extensions/api/audio/audio_service.cc b/chrome/browser/extensions/api/audio/audio_service.cc
index e165de2..e5fa3db 100644
--- a/chrome/browser/extensions/api/audio/audio_service.cc
+++ b/chrome/browser/extensions/api/audio/audio_service.cc
@@ -17,11 +17,6 @@ class AudioServiceImpl : public AudioService {
// 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;
};
void AudioServiceImpl::AddObserver(Observer* observer) {
@@ -42,14 +37,4 @@ void AudioServiceImpl::StartGetInfo(const GetInfoCallback& callback) {
callback.Run(OutputInfo(), InputInfo(), false);
}
-void AudioServiceImpl::SetActiveDevices(const DeviceIdList& device_list) {
-}
-
-bool AudioServiceImpl::SetDeviceProperties(const std::string& device_id,
- bool muted,
- int volume,
- int gain) {
- return false;
-}
-
} // namespace extensions
diff --git a/chrome/browser/extensions/api/audio/audio_service.h b/chrome/browser/extensions/api/audio/audio_service.h
index dd6c59f..9d3883e 100644
--- a/chrome/browser/extensions/api/audio/audio_service.h
+++ b/chrome/browser/extensions/api/audio/audio_service.h
@@ -13,7 +13,6 @@ namespace extensions {
typedef std::vector<linked_ptr<api::audio::OutputDeviceInfo> > OutputInfo;
typedef std::vector<linked_ptr<api::audio::InputDeviceInfo> > InputInfo;
-typedef std::vector<std::string> DeviceIdList;
class AudioService {
public:
@@ -43,16 +42,6 @@ class AudioService {
// The |callback| will be invoked once the query is completed.
virtual void StartGetInfo(const GetInfoCallback& callback) = 0;
- // Set the devices in the following list as active. This will only pick
- // the first input and first active devices to set to active.
- virtual void SetActiveDevices(const DeviceIdList& device_list) = 0;
-
- // Set the muted and volume/gain properties of a device.
- virtual bool SetDeviceProperties(const std::string& device_id,
- bool muted,
- int volume,
- int gain) = 0;
-
protected:
AudioService() {}
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();
}
diff --git a/chrome/common/extensions/api/_permission_features.json b/chrome/common/extensions/api/_permission_features.json
index 1180223..6931efa 100644
--- a/chrome/common/extensions/api/_permission_features.json
+++ b/chrome/common/extensions/api/_permission_features.json
@@ -25,20 +25,10 @@
"channel": "stable",
"extension_types": ["platform_app"]
},
- "audio": [
- {
- "channel": "dev",
- "extension_types": ["platform_app"]
- },
- {
- "channel": "stable",
- "extension_types": ["platform_app"],
- "whitelist": [
- "8C3741E3AF0B93B6E8E0DDD499BB0B74839EA578",
- "E703483CEF33DEC18B4B6DD84B5C776FB9182BDB"
- ]
- }
- ],
+ "audio": {
+ "channel": "stable",
+ "extension_types": ["platform_app"]
+ },
"autotestPrivate": {
"channel": "stable",
"extension_types": ["extension", "packaged_app"],
diff --git a/chromeos/audio/audio_devices_pref_handler.h b/chromeos/audio/audio_devices_pref_handler.h
index f528d25..63e3ed7 100644
--- a/chromeos/audio/audio_devices_pref_handler.h
+++ b/chromeos/audio/audio_devices_pref_handler.h
@@ -20,17 +20,15 @@ namespace chromeos {
class CHROMEOS_EXPORT AudioDevicesPrefHandler
: public base::RefCountedThreadSafe<AudioDevicesPrefHandler> {
public:
- // Gets the audio output volume value from prefs for a device. Since we can
- // only have either a gain or a volume for a device (depending on whether it
- // is input or output), we don't really care which value it is.
- virtual double GetVolumeGainValue(uint64 device_id) = 0;
- // Sets the audio volume or gain value to prefs for a device.
- virtual void SetVolumeGainValue(uint64 device_id, double value) = 0;
-
- // Reads the audio mute value from prefs for a device.
- virtual bool GetMuteValue(uint64 device_id) = 0;
- // Sets the audio mute value to prefs for a device.
- virtual void SetMuteValue(uint64 device_id, bool mute_on) = 0;
+ // Gets the audio output volume value from prefs for the active device.
+ virtual double GetOutputVolumeValue() = 0;
+ // Reads the audio output mute value from prefs for the active device.
+ virtual bool GetOutputMuteValue() = 0;
+
+ // Sets the output audio volume value to prefs for the active device.
+ virtual void SetOutputVolumeValue(double volume_percent) = 0;
+ // Sets the audio output mute value to prefs for the active device.
+ virtual void SetOutputMuteValue(bool mute_on) = 0;
// Reads the audio capture allowed value from prefs.
virtual bool GetAudioCaptureAllowedValue() = 0;
diff --git a/chromeos/audio/cras_audio_handler.cc b/chromeos/audio/cras_audio_handler.cc
index cfe5361..733fac9 100644
--- a/chromeos/audio/cras_audio_handler.cc
+++ b/chromeos/audio/cras_audio_handler.cc
@@ -11,7 +11,6 @@
#include "base/bind_helpers.h"
#include "base/logging.h"
#include "chromeos/audio/audio_devices_pref_handler.h"
-#include "chromeos/audio/cras_audio_switch_handler.h"
#include "chromeos/audio/mock_cras_audio_handler.h"
#include "chromeos/dbus/dbus_thread_manager.h"
@@ -42,9 +41,6 @@ CrasAudioHandler::AudioObserver::~AudioObserver() {
void CrasAudioHandler::AudioObserver::OnOutputVolumeChanged() {
}
-void CrasAudioHandler::AudioObserver::OnInputGainChanged() {
-}
-
void CrasAudioHandler::AudioObserver::OnOutputMuteChanged() {
}
@@ -112,24 +108,6 @@ int CrasAudioHandler::GetOutputVolumePercent() {
return output_volume_;
}
-int CrasAudioHandler::GetOutputVolumePercentForDevice(uint64 device_id) {
- if (device_id == active_output_node_id_)
- return output_volume_;
- else
- return (int) audio_pref_handler_->GetVolumeGainValue(device_id);
-}
-
-int CrasAudioHandler::GetInputGainPercent() {
- return input_gain_;
-}
-
-int CrasAudioHandler::GetInputGainPercentForDevice(uint64 device_id) {
- if (device_id == active_input_node_id_)
- return input_gain_;
- else
- return (int) audio_pref_handler_->GetVolumeGainValue(device_id);
-}
-
uint64 CrasAudioHandler::GetActiveOutputNode() const {
return active_output_node_id_;
}
@@ -172,17 +150,6 @@ void CrasAudioHandler::SetOutputVolumePercent(int volume_percent) {
SetOutputMute(true);
}
-void CrasAudioHandler::SetInputGainPercent(int gain_percent) {
- gain_percent = min(max(gain_percent, 0), 100);
- if (gain_percent <= kMuteThresholdPercent)
- gain_percent = 0;
- SetInputGainInternal(gain_percent);
- if (IsInputMuted() && gain_percent > 0)
- SetInputMute(false);
- if (!IsInputMuted() && gain_percent == 0)
- SetInputMute(true);
-}
-
void CrasAudioHandler::AdjustOutputVolumeByPercent(int adjust_by_percent) {
SetOutputVolumePercent(output_volume_ + adjust_by_percent);
}
@@ -221,23 +188,6 @@ void CrasAudioHandler::SetActiveInputNode(uint64 node_id) {
SetActiveInputNode(node_id);
}
-void CrasAudioHandler::SetVolumeGainPercentForDevice(uint64 device_id,
- int value) {
- if (device_id == active_output_node_id_) {
- SetOutputVolumePercent(value);
- return;
- } else if (device_id == active_input_node_id_) {
- SetInputGainPercent(value);
- return;
- }
-
- value = min(max(value, 0), 100);
- if (value <= kMuteThresholdPercent)
- value = 0;
-
- audio_pref_handler_->SetVolumeGainValue(device_id, value);
-}
-
CrasAudioHandler::CrasAudioHandler(
scoped_refptr<AudioDevicesPrefHandler> audio_pref_handler)
: audio_pref_handler_(audio_pref_handler),
@@ -245,7 +195,6 @@ CrasAudioHandler::CrasAudioHandler(
output_mute_on_(false),
input_mute_on_(false),
output_volume_(0),
- input_gain_(0),
active_output_node_id_(0),
active_input_node_id_(0),
has_alternative_input_(false),
@@ -286,27 +235,16 @@ void CrasAudioHandler::OutputVolumeChanged(int volume) {
return;
output_volume_ = volume;
- audio_pref_handler_->SetVolumeGainValue(active_output_node_id_,
- output_volume_);
+ audio_pref_handler_->SetOutputVolumeValue(output_volume_);
FOR_EACH_OBSERVER(AudioObserver, observers_, OnOutputVolumeChanged());
}
-void CrasAudioHandler::InputGainChanged(int gain) {
- if (input_gain_ == gain)
- return;
-
- input_gain_ = gain;
- audio_pref_handler_->SetVolumeGainValue(active_input_node_id_, input_gain_);
- FOR_EACH_OBSERVER(AudioObserver, observers_, OnInputGainChanged());
-}
-
void CrasAudioHandler::OutputMuteChanged(bool mute_on) {
if (output_mute_on_ == mute_on)
return;
output_mute_on_ = mute_on;
- audio_pref_handler_->SetMuteValue(active_output_node_id_,
- mute_on);
+ audio_pref_handler_->SetOutputMuteValue(mute_on);
FOR_EACH_OBSERVER(AudioObserver, observers_, OnOutputMuteChanged());
}
@@ -315,8 +253,6 @@ void CrasAudioHandler::InputMuteChanged(bool mute_on) {
return;
input_mute_on_ = mute_on;
- audio_pref_handler_->SetMuteValue(active_input_node_id_,
- mute_on);
FOR_EACH_OBSERVER(AudioObserver, observers_, OnInputMuteChanged());
}
@@ -339,7 +275,6 @@ void CrasAudioHandler::ActiveInputNodeChanged(uint64 node_id) {
return;
active_input_node_id_ = node_id;
- SetupAudioState();
FOR_EACH_OBSERVER(AudioObserver, observers_, OnActiveInputNodeChanged());
}
@@ -351,30 +286,10 @@ void CrasAudioHandler::SetupAudioState() {
ApplyAudioPolicy();
// Set the initial audio state to the ones read from audio prefs.
- if (active_input_node_id_) {
- input_mute_on_ = audio_pref_handler_->GetMuteValue(active_input_node_id_);
- input_gain_ = audio_pref_handler_->GetVolumeGainValue(
- active_input_node_id_);
- SetInputMute(input_mute_on_);
- SetInputGainInternal(input_gain_);
- } else {
- SetInputMute(kPrefMuteOff);
- SetInputGainInternal(kDefaultVolumeGainPercent);
- }
-
- if (active_output_node_id_) {
- output_mute_on_ = audio_pref_handler_->GetMuteValue(active_output_node_id_);
- output_volume_ = audio_pref_handler_->GetVolumeGainValue(
- active_output_node_id_);
- SetOutputMute(output_mute_on_);
- SetOutputVolumeInternal(output_volume_);
- } else {
- SetOutputMute(kPrefMuteOff);
- SetOutputVolumeInternal(kDefaultVolumeGainPercent);
- }
-
- if (!active_output_node_id_ || !active_input_node_id_)
- CrasAudioSwitchHandler::Get()->UpdateActiveDevice();
+ output_mute_on_ = audio_pref_handler_->GetOutputMuteValue();
+ output_volume_ = audio_pref_handler_->GetOutputVolumeValue();
+ SetOutputVolumeInternal(output_volume_);
+ SetOutputMute(output_mute_on_);
}
void CrasAudioHandler::ApplyAudioPolicy() {
@@ -398,11 +313,6 @@ void CrasAudioHandler::SetOutputVolumeInternal(int volume) {
SetOutputVolume(volume);
}
-void CrasAudioHandler::SetInputGainInternal(int gain) {
- chromeos::DBusThreadManager::Get()->GetCrasAudioClient()->
- SetInputGain(gain);
-}
-
void CrasAudioHandler::GetNodes() {
chromeos::DBusThreadManager::Get()->GetCrasAudioClient()->GetNodes(
base::Bind(&CrasAudioHandler::HandleGetNodes,
diff --git a/chromeos/audio/cras_audio_handler.h b/chromeos/audio/cras_audio_handler.h
index da45268..fd9ac03 100644
--- a/chromeos/audio/cras_audio_handler.h
+++ b/chromeos/audio/cras_audio_handler.h
@@ -18,17 +18,6 @@
class PrefRegistrySimple;
class PrefService;
-namespace {
-
-// Default value for the volume pref, as a percent in the range [0.0, 100.0].
-const double kDefaultVolumeGainPercent = 75.0;
-
-// Values used for muted preference.
-const int kPrefMuteOff = 0;
-const int kPrefMuteOn = 1;
-
-} // namespace
-
namespace chromeos {
class AudioDevicesPrefHandler;
@@ -45,9 +34,6 @@ class CHROMEOS_EXPORT CrasAudioHandler : public CrasAudioClient::Observer,
virtual void OnOutputMuteChanged();
// Called when input mute state changed.
- virtual void OnInputGainChanged();
-
- // Called when input mute state changed.
virtual void OnInputMuteChanged();
// Called when audio nodes changed.
@@ -93,20 +79,9 @@ class CHROMEOS_EXPORT CrasAudioHandler : public CrasAudioClient::Observer,
// Returns true if audio input is muted.
virtual bool IsInputMuted();
- // Gets volume level in 0-100% range (0 being pure silence) for the current
- // active node.
+ // Gets volume level in 0-100% range, 0 being pure silence.
virtual int GetOutputVolumePercent();
- // Gets volume level in 0-100% range (0 being pure silence) for a device.
- virtual int GetOutputVolumePercentForDevice(uint64 device_id);
-
- // Gets gain level in 0-100% range (0 being pure silence) for the current
- // active node.
- virtual int GetInputGainPercent();
-
- // Gets volume level in 0-100% range (0 being pure silence) for a device.
- virtual int GetInputGainPercentForDevice(uint64 device_id);
-
// Returns node_id of the active output node.
virtual uint64 GetActiveOutputNode() const;
@@ -127,9 +102,6 @@ class CHROMEOS_EXPORT CrasAudioHandler : public CrasAudioClient::Observer,
// the threshold, then the sound is unmuted.
virtual void SetOutputVolumePercent(int volume_percent);
- // Sets gain level from 0-100%.
- virtual void SetInputGainPercent(int gain_percent);
-
// Adjusts volume up (positive percentage) or down (negative percentage).
virtual void AdjustOutputVolumeByPercent(int adjust_by_percent);
@@ -145,20 +117,16 @@ class CHROMEOS_EXPORT CrasAudioHandler : public CrasAudioClient::Observer,
// Sets the active audio input node to the node with |node_id|.
virtual void SetActiveInputNode(uint64 node_id);
- // Sets volume/gain level from a device.
- virtual void SetVolumeGainPercentForDevice(uint64 device_id, int value);
-
protected:
explicit CrasAudioHandler(
scoped_refptr<AudioDevicesPrefHandler> audio_pref_handler);
virtual ~CrasAudioHandler();
private:
- // Overriden from CrasAudioClient::Observer.
+ // Overriden from CrasAudioHandler::Observer.
virtual void AudioClientRestarted() OVERRIDE;
virtual void OutputVolumeChanged(int volume) OVERRIDE;
virtual void OutputMuteChanged(bool mute_on) OVERRIDE;
- virtual void InputGainChanged(int gain) OVERRIDE;
virtual void InputMuteChanged(bool mute_on) OVERRIDE;
virtual void NodesChanged() OVERRIDE;
virtual void ActiveOutputNodeChanged(uint64 node_id) OVERRIDE;
@@ -178,9 +146,6 @@ class CHROMEOS_EXPORT CrasAudioHandler : public CrasAudioClient::Observer,
// Sets output volume to specified value and notifies observers.
void SetOutputVolumeInternal(int volume);
- // Sets output volume to specified value and notifies observers.
- void SetInputGainInternal(int gain);
-
// Calling dbus to get nodes data.
void GetNodes();
@@ -197,7 +162,6 @@ class CHROMEOS_EXPORT CrasAudioHandler : public CrasAudioClient::Observer,
bool output_mute_on_;
bool input_mute_on_;
int output_volume_;
- int input_gain_;
uint64 active_output_node_id_;
uint64 active_input_node_id_;
bool has_alternative_input_;
diff --git a/chromeos/audio/cras_audio_switch_handler.cc b/chromeos/audio/cras_audio_switch_handler.cc
index 2255cc4..4efb3a8 100644
--- a/chromeos/audio/cras_audio_switch_handler.cc
+++ b/chromeos/audio/cras_audio_switch_handler.cc
@@ -41,10 +41,6 @@ CrasAudioSwitchHandler* CrasAudioSwitchHandler::Get() {
return g_cras_audio_handler;
}
-void CrasAudioSwitchHandler::UpdateActiveDevice() {
- GetNodes();
-}
-
CrasAudioSwitchHandler::CrasAudioSwitchHandler()
: muted_device_id_(0),
weak_ptr_factory_(this) {
diff --git a/chromeos/audio/cras_audio_switch_handler.h b/chromeos/audio/cras_audio_switch_handler.h
index eb66f52..a31ddf3d 100644
--- a/chromeos/audio/cras_audio_switch_handler.h
+++ b/chromeos/audio/cras_audio_switch_handler.h
@@ -40,8 +40,6 @@ class CHROMEOS_EXPORT CrasAudioSwitchHandler
// Gets the global instance. Initialize must be called first.
static CrasAudioSwitchHandler* Get();
- void UpdateActiveDevice();
-
private:
explicit CrasAudioSwitchHandler();
virtual ~CrasAudioSwitchHandler();