summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2010-06-21 20:46:26 -0700
committerEric Laurent <elaurent@google.com>2010-06-22 16:53:47 -0700
commit3c652ca5a546e7227a5f4bdbf0f81552b2c91383 (patch)
tree67bafd7a663d48316e68beefc58cbb0e7780ab0b /media
parent875500b47ac74a164f7792ce89a16d600ea72695 (diff)
downloadframeworks_base-3c652ca5a546e7227a5f4bdbf0f81552b2c91383.zip
frameworks_base-3c652ca5a546e7227a5f4bdbf0f81552b2c91383.tar.gz
frameworks_base-3c652ca5a546e7227a5f4bdbf0f81552b2c91383.tar.bz2
Fix issue 2301630: Mismatch of state occurs when media server is killed while in-call.
Use setParameters() API to indicate to audio HAL that we are restarting the media server after a crash. The use made by audio HAL implementation of this indication is platform specific. Change-Id: I085b174fa1474575da0e4d295921079b6b68efb8
Diffstat (limited to 'media')
-rw-r--r--media/java/android/media/AudioService.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/media/java/android/media/AudioService.java b/media/java/android/media/AudioService.java
index bd78f93..50f0674 100644
--- a/media/java/android/media/AudioService.java
+++ b/media/java/android/media/AudioService.java
@@ -1627,6 +1627,12 @@ public class AudioService extends IAudioService.Stub {
case MSG_MEDIA_SERVER_STARTED:
Log.e(TAG, "Media server started.");
+ // indicate to audio HAL that we start the reconfiguration phase after a media
+ // server crash
+ // Note that MSG_MEDIA_SERVER_STARTED message is only received when the media server
+ // process restarts after a crash, not the first time it is started.
+ AudioSystem.setParameters("restarting=true");
+
// Restore device connection states
Set set = mConnectedDevices.entrySet();
Iterator i = set.iterator();
@@ -1660,6 +1666,9 @@ public class AudioService extends IAudioService.Stub {
// Restore ringer mode
setRingerModeInt(getRingerMode(), false);
+
+ // indicate the end of reconfiguration phase to audio HAL
+ AudioSystem.setParameters("restarting=false");
break;
case MSG_PLAY_SOUND_EFFECT: