/*
* 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.
return true;
m_bHandlerInited = true;
+ if (m_busDevice->GetLogicalAddress() != CECDEVICE_TV)
+ return true;
+
CCECBusDevice *primary = m_processor->GetPrimaryDevice();
if (primary && primary->GetLogicalAddress() != CECDEVICE_UNREGISTERED)
{
{
m_processor->GetPrimaryDevice()->SetPowerStatus(CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON);
TransmitVendorCommand0205(command.destination, command.initiator);
+
+ CCECBusDevice* dev = m_processor->GetDevice(command.destination);
+ if (dev && dev->IsHandledByLibCEC() && dev->IsActiveSource())
+ dev->TransmitActiveSource(false);
}
void CSLCommandHandler::TransmitVendorCommand0205(const cec_logical_address iSource, const cec_logical_address iDestination)
response.PushBack(SL_COMMAND_TYPE_HDDRECORDER);
Transmit(response, false, true);
+ SetSLInitialised();
}
void CSLCommandHandler::HandleVendorCommandPowerOn(const cec_command &command)
cec_command command;
if (!m_bSLEnabled)
- TransmitVendorID(CECDEVICE_TV, CEC_VENDOR_LG, false);
+ TransmitVendorID(CECDEVICE_TV, iDestination, CEC_VENDOR_LG, false);
cec_command::Format(command, CECDEVICE_TV, iDestination, CEC_OPCODE_VENDOR_COMMAND);
command.PushBack(SL_COMMAND_POWER_ON);