/*
* This file is part of the libCEC(R) library.
*
- * libCEC(R) is Copyright (C) 2011-2012 Pulse-Eight Limited. All rights reserved.
+ * libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited. All rights reserved.
* libCEC(R) is an original work, containing original code.
*
* libCEC(R) is a trademark of Pulse-Eight Limited.
{
m_imageViewOnCheck = new CImageViewOnCheck(this);
m_vendorId = CEC_VENDOR_PHILIPS;
+ m_bOPTSendDeckStatusUpdateOnActiveSource = false;
}
CPHCommandHandler::~CPHCommandHandler(void)
{
// tv sometimes ignores image view on. check the power status of the tv in 5 seconds, and retry when it failed to power up
if (m_imageViewOnCheck && !m_imageViewOnCheck->IsRunning())
- m_imageViewOnCheck->CreateThread(false);
+ return m_imageViewOnCheck->CreateThread(false);
}
return CCECCommandHandler::ActivateSource(bTransmitDelayedCommandsOnly);
int CPHCommandHandler::HandleUserControlPressed(const cec_command& command)
{
- // tv keeps sending these until a button is pressed
- if (command.parameters[0] == CEC_USER_CONTROL_CODE_DISPLAY_INFORMATION &&
- m_iLastKeyCode == CEC_USER_CONTROL_CODE_DISPLAY_INFORMATION)
+ // TV sometimes keeps sending key presses without releases
+ if (m_iLastKeyCode == command.parameters[0])
return COMMAND_HANDLED;
m_iLastKeyCode = command.parameters[0];
return CCECCommandHandler::HandleDeviceVendorId(command);
}
-int CPHCommandHandler::HandleGiveDeviceVendorId(const cec_command& command)
+bool CPHCommandHandler::TransmitVendorID(const cec_logical_address iInitiator, const cec_logical_address iDestination, uint64_t UNUSED(iVendorId), bool bIsReply)
{
- LIB_CEC->AddLog(CEC_LOG_DEBUG, "<< %s (%X) -> %s (%X): vendor id feature abort", ToString(command.destination), command.destination, ToString(command.initiator), command.initiator);
- m_processor->TransmitAbort(command.destination, command.initiator, CEC_OPCODE_GIVE_DEVICE_VENDOR_ID);
- return COMMAND_HANDLED;
+ // XXX hack around the hack in CPHCommandHandler::InitHandler
+ return CCECCommandHandler::TransmitVendorID(iInitiator, iDestination, CEC_VENDOR_PULSE_EIGHT, bIsReply);
}