diff options
author | jennyz@chromium.org <jennyz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-29 13:24:19 +0000 |
---|---|---|
committer | jennyz@chromium.org <jennyz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-29 13:24:19 +0000 |
commit | 6d84e25c26ee33424552e36fe05b7724cbe0a676 (patch) | |
tree | 042e8cb57e7d0ae9425f274d0f0942752e51ee1f | |
parent | 2a1eb8883ca7e9d89a34029448db3345844a4547 (diff) | |
download | chromium_src-6d84e25c26ee33424552e36fe05b7724cbe0a676.zip chromium_src-6d84e25c26ee33424552e36fe05b7724cbe0a676.tar.gz chromium_src-6d84e25c26ee33424552e36fe05b7724cbe0a676.tar.bz2 |
Integrate cras audio dbus api changes for transiting from SetOyutputMute to SetOutputUserMute into chrome.
BUG=244597
Review URL: https://chromiumcodereview.appspot.com/18224003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@209294 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chromeos/audio/cras_audio_handler.cc | 2 | ||||
-rw-r--r-- | chromeos/dbus/cras_audio_client.cc | 23 | ||||
-rw-r--r-- | chromeos/dbus/cras_audio_client.h | 4 | ||||
-rw-r--r-- | chromeos/dbus/volume_state.cc | 16 | ||||
-rw-r--r-- | chromeos/dbus/volume_state.h | 3 |
5 files changed, 26 insertions, 22 deletions
diff --git a/chromeos/audio/cras_audio_handler.cc b/chromeos/audio/cras_audio_handler.cc index 9e1a892..b94c1c5 100644 --- a/chromeos/audio/cras_audio_handler.cc +++ b/chromeos/audio/cras_audio_handler.cc @@ -458,7 +458,7 @@ bool CrasAudioHandler::SetOutputMuteInternal(bool mute_on) { return false; chromeos::DBusThreadManager::Get()->GetCrasAudioClient()-> - SetOutputMute(mute_on); + SetOutputUserMute(mute_on); return true; } diff --git a/chromeos/dbus/cras_audio_client.cc b/chromeos/dbus/cras_audio_client.cc index ec20ea7..15aa5e4 100644 --- a/chromeos/dbus/cras_audio_client.cc +++ b/chromeos/dbus/cras_audio_client.cc @@ -139,9 +139,9 @@ class CrasAudioClientImpl : public CrasAudioClient { dbus::ObjectProxy::EmptyResponseCallback()); } - virtual void SetOutputMute(bool mute_on) OVERRIDE { + virtual void SetOutputUserMute(bool mute_on) OVERRIDE { dbus::MethodCall method_call(cras::kCrasControlInterface, - cras::kSetOutputMute); + cras::kSetOutputUserMute); dbus::MessageWriter writer(&method_call); writer.AppendBool(mute_on); cras_proxy_->CallMethod( @@ -220,13 +220,15 @@ class CrasAudioClientImpl : public CrasAudioClient { // Called when a OutputMuteChanged signal is received. void OutputMuteChangedReceived(dbus::Signal* signal) { + // Chrome should always call SetOutputUserMute api to set the output + // mute state and monitor user_mute state from OutputMuteChanged signal. dbus::MessageReader reader(signal); - bool mute; - if (!reader.PopBool(&mute)) { + bool system_mute, user_mute; + if (!reader.PopBool(&system_mute) || !reader.PopBool(&user_mute)) { LOG(ERROR) << "Error reading signal from cras:" << signal->ToString(); } - FOR_EACH_OBSERVER(Observer, observers_, OutputMuteChanged(mute)); + FOR_EACH_OBSERVER(Observer, observers_, OutputMuteChanged(user_mute)); } // Called when a InputGainChanged signal is received. @@ -282,9 +284,10 @@ class CrasAudioClientImpl : public CrasAudioClient { if (response) { dbus::MessageReader reader(response); if (!reader.PopInt32(&volume_state.output_volume) || - !reader.PopBool(&volume_state.output_mute) || + !reader.PopBool(&volume_state.output_system_mute) || !reader.PopInt32(&volume_state.input_gain) || - !reader.PopBool(&volume_state.input_mute)) { + !reader.PopBool(&volume_state.input_mute) || + !reader.PopBool(&volume_state.output_user_mute)) { success = false; LOG(ERROR) << "Error reading response from cras: " << response->ToString(); @@ -469,11 +472,11 @@ class CrasAudioClientStubImpl : public CrasAudioClient { OutputVolumeChanged(volume_state_.output_volume)); } - virtual void SetOutputMute(bool mute_on) OVERRIDE { - volume_state_.output_mute = mute_on; + virtual void SetOutputUserMute(bool mute_on) OVERRIDE { + volume_state_.output_user_mute = mute_on; FOR_EACH_OBSERVER(Observer, observers_, - OutputMuteChanged(volume_state_.output_mute)); + OutputMuteChanged(volume_state_.output_user_mute)); } virtual void SetInputGain(int32 input_gain) OVERRIDE { diff --git a/chromeos/dbus/cras_audio_client.h b/chromeos/dbus/cras_audio_client.h index 4ca0fea..20d3e86 100644 --- a/chromeos/dbus/cras_audio_client.h +++ b/chromeos/dbus/cras_audio_client.h @@ -81,8 +81,8 @@ class CHROMEOS_EXPORT CrasAudioClient { // Sets output volume to |volume|, in the range of [0, 100]. virtual void SetOutputVolume(int32 volume) = 0; - // Sets output mute state to |mute_on| value. - virtual void SetOutputMute(bool mute_on) = 0; + // Sets output mute from user action. + virtual void SetOutputUserMute(bool mute_on) = 0; // Sets input gain to |input_gain|. |input_gain| is specified in dBFS * 100. virtual void SetInputGain(int32 input_gain) = 0; diff --git a/chromeos/dbus/volume_state.cc b/chromeos/dbus/volume_state.cc index 7961520..9f105c4 100644 --- a/chromeos/dbus/volume_state.cc +++ b/chromeos/dbus/volume_state.cc @@ -11,9 +11,10 @@ namespace chromeos { VolumeState::VolumeState() : output_volume(0), - output_mute(false), + output_system_mute(false), input_gain(0), - input_mute(false) { + input_mute(false), + output_user_mute(false) { } std::string VolumeState::ToString() const { @@ -22,18 +23,17 @@ std::string VolumeState::ToString() const { "output_volume = %d ", output_volume); base::StringAppendF(&result, - "output_mute = %s ", - output_mute ? "true" : "false"); - base::StringAppendF(&result, - "output_mute = %s ", - output_mute ? "true" : "false"); + "output_system_mute = %s ", + output_system_mute ? "true" : "false"); base::StringAppendF(&result, "input_gain = %d ", input_gain); base::StringAppendF(&result, "input_mute = %s ", input_mute ? "true" : "false"); - + base::StringAppendF(&result, + "output_user_mute = %s ", + output_user_mute ? "true" : "false"); return result; } diff --git a/chromeos/dbus/volume_state.h b/chromeos/dbus/volume_state.h index 7fafd6e..0d0a305 100644 --- a/chromeos/dbus/volume_state.h +++ b/chromeos/dbus/volume_state.h @@ -14,9 +14,10 @@ namespace chromeos { struct CHROMEOS_EXPORT VolumeState { int32 output_volume; - bool output_mute; + bool output_system_mute; int32 input_gain; bool input_mute; + bool output_user_mute; VolumeState(); std::string ToString() const; |