summaryrefslogtreecommitdiffstats
path: root/chromeos/dbus/cras_audio_client.cc
diff options
context:
space:
mode:
authorjennyz@chromium.org <jennyz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-29 13:24:19 +0000
committerjennyz@chromium.org <jennyz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-29 13:24:19 +0000
commit6d84e25c26ee33424552e36fe05b7724cbe0a676 (patch)
tree042e8cb57e7d0ae9425f274d0f0942752e51ee1f /chromeos/dbus/cras_audio_client.cc
parent2a1eb8883ca7e9d89a34029448db3345844a4547 (diff)
downloadchromium_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
Diffstat (limited to 'chromeos/dbus/cras_audio_client.cc')
-rw-r--r--chromeos/dbus/cras_audio_client.cc23
1 files changed, 13 insertions, 10 deletions
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 {