{
libcec_configuration config;
m_processor->GetPrimaryClient()->GetCurrentConfiguration(config);
- if (config.iDoubleTapTimeoutMs == 0)
+ if (config.iDoubleTapTimeout50Ms == 0)
{
- config.iDoubleTapTimeoutMs = CEC_DOUBLE_TAP_TIMEOUT_MS;
+ config.iDoubleTapTimeout50Ms = config.clientVersion >= CEC_CLIENT_VERSION_2_2_0 ? CEC_DOUBLE_TAP_TIMEOUT_50_MS : CEC_DOUBLE_TAP_TIMEOUT_MS_OLD;
m_processor->GetPrimaryClient()->SetConfiguration(config);
}
// XXX i've seen 0x05 and 0x03 as third param. these probably indicate different types of TVs/capabilities
// when we feature abort this, then the TV will try the same thing with a vendor command with id
SendVendorCommandCapabilities(m_processor->GetLogicalAddress(), command.initiator);
+
+ CCECBusDevice* dev = m_processor->GetDevice(command.destination);
+ if (dev && dev->IsActiveSource())
+ dev->ActivateSource(500);
return COMMAND_HANDLED;
}