CEC: Allow no parameters with <System Audio Mode Request>.

Bug: 18266992
Change-Id: I4399e34d1178f3d4b17b4749ca543c2bb14c0765
This commit is contained in:
Yuncheol Heo
2014-11-06 17:21:04 +09:00
parent db66e1d2b9
commit 03611473bc

View File

@@ -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) {