summaryrefslogtreecommitdiffstats
path: root/media/base
diff options
context:
space:
mode:
authorwjia@chromium.org <wjia@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-15 23:16:56 +0000
committerwjia@chromium.org <wjia@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-15 23:16:56 +0000
commit0eafc096894e1f219a8f71572bf0e5b85fabf17b (patch)
tree4eab46e5ee2e48f36b76d61880ec57a38a9a71ca /media/base
parent0afe3240f4b340de8d888774c90956c2384b3f06 (diff)
downloadchromium_src-0eafc096894e1f219a8f71572bf0e5b85fabf17b.zip
chromium_src-0eafc096894e1f219a8f71572bf0e5b85fabf17b.tar.gz
chromium_src-0eafc096894e1f219a8f71572bf0e5b85fabf17b.tar.bz2
Fix audio routing on Android.
We are listening to the intent ACTION_HEADSET_PLUG to decide whether to turn on speakerphone or not. As long as a wired headset has been plugged before, the listener will receive an ACTION_HEADSET_PLUG intent regardless of a headset being plugged or not. The current code can handle this case correctly. However, if no wired headset has been ever plugged after boot up, the device will not broadcast an ACTION_HEADSET_PLUG intent after the listener is registered. This will result in audio being routed to earpiece, instead of speakerphone. To achieve consistent behavior, it's needed to turn on speakerphone when the listener is registered. In case a wired headset is plugged, the listener will receive an intent which results in speakerphone turned off. BUG=319010 R=henrika@chromium.org, qinmin@chromium.org Review URL: https://codereview.chromium.org/59973011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@235466 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/base')
-rw-r--r--media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java3
1 files changed, 3 insertions, 0 deletions
diff --git a/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java b/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java
index 3bb7f9e..0f0cfb6 100644
--- a/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java
+++ b/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java
@@ -64,6 +64,9 @@ class AudioManagerAndroid {
}
mOriginalSpeakerStatus = mAudioManager.isSpeakerphoneOn();
+ if (!mOriginalSpeakerStatus) {
+ mAudioManager.setSpeakerphoneOn(true);
+ }
IntentFilter filter = new IntentFilter(Intent.ACTION_HEADSET_PLUG);
mReceiver = new BroadcastReceiver() {