From 99c61c6bd1b45cf8b8e12f4abea9c2cae1f118cb Mon Sep 17 00:00:00 2001 From: Eric Laurent Date: Tue, 8 Feb 2022 14:59:52 +0100 Subject: [PATCH] Audio: SpatializerHelper: fix native audio server death handling Make sure that the native spatializer interface reference if cleared when the native audio server dies so that is is properly re-created by SpatializerHelper.init(). Bug: 224701940 Test: enable spatial audio and kill native audio server Change-Id: Ib409e35f6aee9c149d6a998878f53209d74c54ad --- .../core/java/com/android/server/audio/SpatializerHelper.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/audio/SpatializerHelper.java b/services/core/java/com/android/server/audio/SpatializerHelper.java index b47ea4f7a4b87..399ca03263134 100644 --- a/services/core/java/com/android/server/audio/SpatializerHelper.java +++ b/services/core/java/com/android/server/audio/SpatializerHelper.java @@ -176,6 +176,7 @@ public class SpatializerHelper { */ synchronized void reset(boolean featureEnabled) { Log.i(TAG, "Resetting"); + releaseSpat(); mState = STATE_UNINITIALIZED; mSpatLevel = Spatializer.SPATIALIZER_IMMERSIVE_LEVEL_NONE; mCapableSpatLevel = Spatializer.SPATIALIZER_IMMERSIVE_LEVEL_NONE; @@ -517,10 +518,10 @@ public class SpatializerHelper { try { mSpat.registerHeadTrackingCallback(null); mSpat.release(); - mSpat = null; } catch (RemoteException e) { Log.e(TAG, "Can't set release spatializer cleanly", e); } + mSpat = null; } }