diff options
| author | 2023-03-09 03:08:46 +0000 | |
|---|---|---|
| committer | 2023-06-08 09:27:24 +0000 | |
| commit | 82e0f752964aef3bc0504fb58aa8c1edf17d42f1 (patch) | |
| tree | eb716c4bae6135da362fd501956d7c4d3d413a4e | |
| parent | fceaa70d93b0bfabd5ea3c23a722707cadf16c30 (diff) | |
cec: Reset system audio mode status carefully [2/2]
PD#OTT-40245
BUG=266766058
Problem:
When there is a transmission error with <GIVE SYSTEM
AUDIO MODE STATUS> caused by cec busyness, playback
could reset the audio mode status and does not send
volume keyevents to the audio system then.
Solution:
Reset system audio mode status only with error NACK,
which means the target device is not connected.
Verify:
Walmart
Test: presubmits
Change-Id: Ife26b2251f40ee11cdbc86fe0797d29a74fb9be5
Signed-off-by: an.xi <an.xi@amlogic.com>
| -rw-r--r-- | services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java index 576a5ff4305e..72895e338de6 100644 --- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java +++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java @@ -110,7 +110,8 @@ public class HdmiCecLocalDevicePlayback extends HdmiCecLocalDeviceSource { new SendMessageCallback() { @Override public void onSendCompleted(int error) { - if (error != SendMessageResult.SUCCESS) { + // In consideration of occasional transmission failures. + if (error == SendMessageResult.NACK) { HdmiLogger.debug( "AVR did not respond to <Give System Audio Mode Status>"); mService.setSystemAudioActivated(false); |