summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Lukasz Merta <lukasz@haleytek.com> 2024-11-21 11:17:18 +0100
committer Lukasz Merta <lukasz@haleytek.com> 2025-01-27 08:32:47 -0800
commitc3c81f39fde3db7f58aca84daca920dabe29a771 (patch)
tree70bd399c838d2c3809a0c6eee8888615c14835bf
parent43b304a20091b5f4970fc8148c283883116a7fea (diff)
Deregistering mixes before register mixes in connectMixes
When AudioFlinger binder dies and AudioService receives onError/onAudioServerDied callback but AudioPolicy service is alive, we get INVALID_OPERATION error because mixes was already registered. This causes calling release on AudioPolicyProxy. Test: Manual Bug: 380092408 Change-Id: I4e5c6e3d3aace03f02f312fda26e5696ac090d04
-rw-r--r--services/core/java/com/android/server/audio/AudioService.java1
1 files changed, 1 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java
index b09a192990c8..ca8dadde3bea 100644
--- a/services/core/java/com/android/server/audio/AudioService.java
+++ b/services/core/java/com/android/server/audio/AudioService.java
@@ -14153,6 +14153,7 @@ public class AudioService extends IAudioService.Stub
for (AudioMix mix : mMixes) {
mix.setVirtualDeviceId(mAttributionSource.getDeviceId());
}
+ mAudioSystem.registerPolicyMixes(mMixes, false);
return mAudioSystem.registerPolicyMixes(mMixes, true);
} finally {
Binder.restoreCallingIdentity(identity);