diff options
| -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 }, |