Merge "Fix Tv source audio device adjust volume, and audio is breaks up intermittently." am: 67dccd5e64 am: 9b17bea1e0 am: 812ab29002 am: 2a1e12794b

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1008694

Change-Id: I8480845ec952f22f0951377f4925801c8bbc8ea8
This commit is contained in:
Treehugger Robot
2021-10-26 08:22:00 +00:00
committed by Automerger Merge Worker

View File

@@ -1075,17 +1075,22 @@ class TvInputHardwareManager implements TvInputHal.Callback {
} }
if (shouldRecreateAudioPatch) { if (shouldRecreateAudioPatch) {
mCommittedVolume = volume; mCommittedVolume = volume;
if (mAudioPatch != null) { // only recreate if something was updated or audioPath is null
mAudioManager.releaseAudioPatch(mAudioPatch); if (mAudioPatch == null || sinkUpdated ||sourceUpdated ) {
} if (mAudioPatch != null) {
mAudioManager.createAudioPatch( mAudioManager.releaseAudioPatch(mAudioPatch);
audioPatchArray[0] = null;
}
mAudioManager.createAudioPatch(
audioPatchArray, audioPatchArray,
new AudioPortConfig[] { sourceConfig }, new AudioPortConfig[] { sourceConfig },
sinkConfigs.toArray(new AudioPortConfig[sinkConfigs.size()])); sinkConfigs.toArray(new AudioPortConfig[sinkConfigs.size()]));
mAudioPatch = audioPatchArray[0]; mAudioPatch = audioPatchArray[0];
if (sourceGainConfig != null) {
mAudioManager.setAudioPortGain(mAudioSource, sourceGainConfig);
} }
}
if (sourceGainConfig != null) {
mAudioManager.setAudioPortGain(mAudioSource, sourceGainConfig);
} }
} }