summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jae Seo <jaeseo@google.com> 2016-05-31 10:31:15 -0700
committer Jae Seo <jaeseo@google.com> 2016-05-31 10:33:08 -0700
commitee32ede54063415fd6c48742ff6a2bf407adf971 (patch)
tree035914786cc6d45e0fda8929ae603681cc00f731
parentce289e937ee6b001cd14824e5dec3c6010b51e61 (diff)
TIF: Release an existing audio patch before creating a new one
Bug: 28115694, Bug: 28954262 Change-Id: I04e2e9176a008b72468592db7dc3c7ce376b94f2
-rw-r--r--services/core/java/com/android/server/tv/TvInputHardwareManager.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/tv/TvInputHardwareManager.java b/services/core/java/com/android/server/tv/TvInputHardwareManager.java
index 5c6a69682b61..8043c651751c 100644
--- a/services/core/java/com/android/server/tv/TvInputHardwareManager.java
+++ b/services/core/java/com/android/server/tv/TvInputHardwareManager.java
@@ -742,7 +742,10 @@ class TvInputHardwareManager implements TvInputHal.Callback {
synchronized (mImplLock) {
mAudioSource = null;
mAudioSink.clear();
- mAudioPatch = null;
+ if (mAudioPatch != null) {
+ mAudioManager.releaseAudioPatch(mAudioPatch);
+ mAudioPatch = null;
+ }
}
}
};
@@ -980,6 +983,9 @@ class TvInputHardwareManager implements TvInputHal.Callback {
}
if (shouldRecreateAudioPatch) {
mCommittedVolume = volume;
+ if (mAudioPatch != null) {
+ mAudioManager.releaseAudioPatch(mAudioPatch);
+ }
mAudioManager.createAudioPatch(
audioPatchArray,
new AudioPortConfig[] { sourceConfig },