summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com>2024-05-03 22:24:41 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2024-05-03 22:24:41 +0000
commit0bc77fbaf0819a692163af36250ef1fc59eeecf0 (patch)
tree5937cb63ddf1e309942e1230412a17850cb851d0
parentc0a1ab764ea70a6f11f04a8e8330c8cdbbe06b8b (diff)
parentccc1963ec43731a9ef9ea2333fb09d34bc6e87a8 (diff)
downloadav-0bc77fbaf0819a692163af36250ef1fc59eeecf0.tar.gz
Merge "audio policy: clean up initial spatializer audio patch" into main
-rw-r--r--services/audiopolicy/managerdefault/AudioPolicyManager.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
index d427de45a4..5c4ab7b1d9 100644
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
@@ -6397,6 +6397,15 @@ void AudioPolicyManager::onNewAudioModulesAvailableInt(DeviceVector *newDevices)
if ((desc->mFlags & AUDIO_OUTPUT_FLAG_SPATIALIZER) != 0
&& !isOutputOnlyAvailableRouteToSomeDevice(desc)) {
outputsClosed.push_back(desc->mIoHandle);
+ nextAudioPortGeneration();
+ ssize_t index = mAudioPatches.indexOfKey(desc->getPatchHandle());
+ if (index >= 0) {
+ sp<AudioPatch> patchDesc = mAudioPatches.valueAt(index);
+ (void) /*status_t status*/ mpClientInterface->releaseAudioPatch(
+ patchDesc->getAfHandle(), 0);
+ mAudioPatches.removeItemsAt(index);
+ mpClientInterface->onAudioPatchListUpdate();
+ }
desc->close();
}
}