diff options
| author | 2016-05-31 10:31:15 -0700 | |
|---|---|---|
| committer | 2016-05-31 10:33:08 -0700 | |
| commit | ee32ede54063415fd6c48742ff6a2bf407adf971 (patch) | |
| tree | 035914786cc6d45e0fda8929ae603681cc00f731 | |
| parent | ce289e937ee6b001cd14824e5dec3c6010b51e61 (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.java | 8 |
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 }, |