summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Yuncheol Heo <ycheo@google.com> 2014-11-06 10:21:09 +0000
committer android-build-merger <android-build-merger@google.com> 2014-11-06 10:21:09 +0000
commit9188df6ef00a05fc15f2acf290e40c389ec7c847 (patch)
tree470233403d62a25e7d1e9033cb8a007142e65083
parent8fafe7b454c27e1ba2850c04e8ef4e16795e13fb (diff)
parent03611473bc1d13f8e55ac92e37a9716c2fd8e412 (diff)
CEC: Allow no parameters with <System Audio Mode Request>.
automerge: 0361147 * commit '03611473bc1d13f8e55ac92e37a9716c2fd8e412': CEC: Allow no parameters with <System Audio Mode Request>.
-rw-r--r--services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java b/services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java
index f1529a73ddd9..53740fef38c0 100644
--- a/services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java
+++ b/services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java
@@ -79,7 +79,7 @@ public final class HdmiCecMessageValidator {
addValidationInfo(Constants.MESSAGE_SET_STREAM_PATH,
physicalAddressValidator, DEST_BROADCAST);
addValidationInfo(Constants.MESSAGE_SYSTEM_AUDIO_MODE_REQUEST,
- physicalAddressValidator, DEST_DIRECT);
+ new SystemAudioModeRequestValidator(), DEST_DIRECT);
// Messages have no parameter.
FixedLengthValidator noneValidator = new FixedLengthValidator(0);
@@ -303,6 +303,17 @@ public final class HdmiCecMessageValidator {
}
}
+ private class SystemAudioModeRequestValidator extends PhysicalAddressValidator {
+ @Override
+ public int isValid(byte[] params) {
+ // TV can send <System Audio Mode Request> with no parameters to terminate system audio.
+ if (params.length == 0) {
+ return OK;
+ }
+ return super.isValid(params);
+ }
+ }
+
private class ReportPhysicalAddressValidator implements ParameterValidator {
@Override
public int isValid(byte[] params) {