diff options
| author | 2014-11-06 10:21:09 +0000 | |
|---|---|---|
| committer | 2014-11-06 10:21:09 +0000 | |
| commit | 9188df6ef00a05fc15f2acf290e40c389ec7c847 (patch) | |
| tree | 470233403d62a25e7d1e9033cb8a007142e65083 | |
| parent | 8fafe7b454c27e1ba2850c04e8ef4e16795e13fb (diff) | |
| parent | 03611473bc1d13f8e55ac92e37a9716c2fd8e412 (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.java | 13 |
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) { |