diff options
| author | 2021-10-26 08:12:44 +0000 | |
|---|---|---|
| committer | 2021-10-26 08:12:44 +0000 | |
| commit | 2a1e12794b14b3e219b10d0b3d922134b5150e00 (patch) | |
| tree | 529ae236b9c3a9adcda02d950b8e55f226379dc7 | |
| parent | d5fe948f2361345bd28c9aadcbfd33ba6bd6f461 (diff) | |
| parent | 812ab290026ac6cf5d7b9d67ab4e2b05e235c233 (diff) | |
Merge "Fix Tv source audio device adjust volume, and audio is breaks up intermittently." am: 67dccd5e64 am: 9b17bea1e0 am: 812ab29002
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1008694
Change-Id: I6b284e6912cd2e712a50210c17c93a3455a656c6
| -rwxr-xr-x | services/core/java/com/android/server/tv/TvInputHardwareManager.java | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/services/core/java/com/android/server/tv/TvInputHardwareManager.java b/services/core/java/com/android/server/tv/TvInputHardwareManager.java index 92e0845012de..f57a852fe8c5 100755 --- a/services/core/java/com/android/server/tv/TvInputHardwareManager.java +++ b/services/core/java/com/android/server/tv/TvInputHardwareManager.java @@ -1075,17 +1075,22 @@ class TvInputHardwareManager implements TvInputHal.Callback { } if (shouldRecreateAudioPatch) { mCommittedVolume = volume; - if (mAudioPatch != null) { - mAudioManager.releaseAudioPatch(mAudioPatch); - } - mAudioManager.createAudioPatch( + // only recreate if something was updated or audioPath is null + if (mAudioPatch == null || sinkUpdated ||sourceUpdated ) { + if (mAudioPatch != null) { + mAudioManager.releaseAudioPatch(mAudioPatch); + audioPatchArray[0] = null; + } + mAudioManager.createAudioPatch( audioPatchArray, new AudioPortConfig[] { sourceConfig }, sinkConfigs.toArray(new AudioPortConfig[sinkConfigs.size()])); - mAudioPatch = audioPatchArray[0]; - if (sourceGainConfig != null) { - mAudioManager.setAudioPortGain(mAudioSource, sourceGainConfig); + mAudioPatch = audioPatchArray[0]; } + } + + if (sourceGainConfig != null) { + mAudioManager.setAudioPortGain(mAudioSource, sourceGainConfig); } } |