summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Amy Zhang <amyjojo@google.com> 2019-02-25 22:19:25 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2019-02-25 22:19:25 +0000
commit92f69a067c25062f55856af10623ddcfe1a3f866 (patch)
treef730c011dd60f5a321f375b96c3d686a0a8b011f
parentbe0a0c14d6d477cbe3c838c36d480a537c7e2eda (diff)
parent00a122a863e2d1149e17d77a9103c0d61c4f484e (diff)
Merge "Operation with TVs that do not support the System Audio Mode"
-rw-r--r--services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java
index eeeb9b048769..6a4ccf2f5327 100644
--- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java
+++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java
@@ -992,6 +992,17 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource {
}
// Wake up device
mService.wakeUp();
+ // If Audio device is the active source or is on the active path,
+ // enable system audio mode without querying TV's support on sam.
+ // This is per HDMI spec 1.4b CEC 13.15.4.2.
+ if (mService.pathToPortId(getActiveSource().physicalAddress)
+ != Constants.INVALID_PORT_ID) {
+ setSystemAudioMode(true);
+ mService.sendCecCommand(
+ HdmiCecMessageBuilder.buildSetSystemAudioMode(
+ mAddress, Constants.ADDR_BROADCAST, true));
+ return;
+ }
// Check if TV supports System Audio Control.
// Handle broadcasting setSystemAudioMode on or aborting message on callback.
queryTvSystemAudioModeSupport(new TvSystemAudioModeSupportedCallback() {