{
uint16_t iAddress = ((uint16_t)command.parameters[0] << 8) | ((uint16_t)command.parameters[1]);
CCECBusDevice *primary = m_processor->GetPrimaryDevice();
- bool bSendPowerOffState(iAddress != primary->GetPhysicalAddress(false) && primary->IsActiveSource());
+ bool bSendPowerOffState(iAddress != primary->GetPhysicalAddress() && primary->IsActiveSource());
m_processor->SetActiveSource(iAddress);
if (bSendPowerOffState)
{
cec_command response;
cec_command::Format(response, m_processor->GetLogicalAddress(), command.initiator, CEC_OPCODE_FEATURE_ABORT);
- return Transmit(response);
+ return Transmit(response, false);
}
return true;
}
-bool CSLCommandHandler::HandleGivePhysicalAddress(const cec_command &command)
-{
- if (m_processor->IsRunning() && m_busDevice->MyLogicalAddressContains(command.destination))
- {
- CCECBusDevice *device = GetDevice(command.destination);
- if (device)
- return device->TransmitPhysicalAddress(); // only the physical address, don't send image view on
- }
-
- return false;
-}
-
bool CSLCommandHandler::HandleVendorCommand(const cec_command &command)
{
if (!m_busDevice->MyLogicalAddressContains(command.destination))
{
if (command.parameters.size > 0)
{
- ((CCECPlaybackDevice *) device)->SetDeckStatus(!device->IsActiveSource() || !ActiveSourceSent() ? CEC_DECK_INFO_OTHER_STATUS : CEC_DECK_INFO_OTHER_STATUS_LG);
+ ((CCECPlaybackDevice *) device)->SetDeckStatus(!device->IsActiveSource() ? CEC_DECK_INFO_OTHER_STATUS : CEC_DECK_INFO_OTHER_STATUS_LG);
if (command.parameters[0] == CEC_STATUS_REQUEST_ON)
{
bool bReturn = ((CCECPlaybackDevice *) device)->TransmitDeckStatus(command.initiator);
{
/* LG devices only allow themselves to be woken up by the TV with a vendor command */
cec_command command;
+
+ if (!m_bSLEnabled)
+ TransmitVendorID(CECDEVICE_TV, CEC_VENDOR_LG);
+
cec_command::Format(command, CECDEVICE_TV, iDestination, CEC_OPCODE_VENDOR_COMMAND);
command.PushBack(SL_COMMAND_POWER_ON);
command.PushBack(0);
- return Transmit(command);
+ return Transmit(command, false);
}
return CCECCommandHandler::PowerOn(iInitiator, iDestination);