Change checking rule in startArcAction(false) for HDMI CTS

[Description]
For HDMI CTS Certification:
    HEACT 5-15: IEC 60958-1 Stream Verification

Before sending <Request ARC initiation> or <Request ARC termination>
CEC frameworks checks whether the port connected AVR is valid
 - if it's connected to ARC port
 - if it's adjacent to TV

If AVR changes its PA from valid to non-adjacent
(E.g. ARC port : 1.0.0.0 is valid, it changes to 1.1.0.0)
With the current framework design, <Request ARC Termination>
won't be sent.

However, <Request ARC Termination> should still be sent
to pass this test item.

We should not consider whether the port is direct connected
or not when startArcAction(false)
We should always send <Request ARC termination> for this case.

Test: Pass HEACT 5-15: IEC 60958-1 Stream Verification
Change-Id: I94f4be9fbffbf3e81c35ef81b36a81de3265dd66
This commit is contained in:
daren.liao
2019-12-19 22:35:02 +08:00
committed by Daren Liao
parent e716ff86af
commit 5cc9ac99e8

View File

@@ -1092,10 +1092,11 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
HdmiDeviceInfo avr = getAvrDeviceInfo();
if (avr != null
&& (avrAddress == avr.getLogicalAddress())
&& isConnectedToArcPort(avr.getPhysicalAddress())
&& isDirectConnectAddress(avr.getPhysicalAddress())) {
&& isConnectedToArcPort(avr.getPhysicalAddress())) {
if (enabled) {
return isConnected(avr.getPortId()) && isArcFeatureEnabled(avr.getPortId());
return isConnected(avr.getPortId())
&& isArcFeatureEnabled(avr.getPortId())
&& isDirectConnectAddress(avr.getPhysicalAddress());
} else {
return true;
}