bool CSLCommandHandler::InitHandler(void) { if (m_bHandlerInited) return true; m_bHandlerInited = true; if (m_busDevice->GetLogicalAddress() != CECDEVICE_TV) return true; CCECBusDevice *primary = m_processor->GetPrimaryDevice(); if (primary && primary->GetLogicalAddress() != CECDEVICE_UNREGISTERED) { /* imitate LG devices */ if (m_busDevice->GetLogicalAddress() != primary->GetLogicalAddress()) { primary->SetVendorId(CEC_VENDOR_LG); primary->ReplaceHandler(false); } if (m_busDevice->GetLogicalAddress() == CECDEVICE_TV) { /* start as 'in transition standby->on' */ primary->SetPowerStatus(CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON); primary->TransmitPowerState(CECDEVICE_TV, false); /* send the vendor id */ primary->TransmitVendorID(CECDEVICE_BROADCAST, false, false); } } return true; }
bool CRLCommandHandler::InitHandler(void) { if (m_bHandlerInited) return true; m_bHandlerInited = true; if (m_busDevice->GetLogicalAddress() != CECDEVICE_TV) return true; CCECBusDevice *primary = m_processor->GetPrimaryDevice(); if (primary && primary->GetLogicalAddress() != CECDEVICE_UNREGISTERED) { /* imitate Toshiba devices */ if (m_busDevice->GetLogicalAddress() != primary->GetLogicalAddress()) { primary->SetVendorId(CEC_VENDOR_TOSHIBA); primary->ReplaceHandler(false); } if (m_busDevice->GetLogicalAddress() == CECDEVICE_TV) { /* send the vendor id */ primary->TransmitVendorID(CECDEVICE_BROADCAST, false, false); } } return true; }
bool CSLCommandHandler::InitHandler(void) { if (m_bHandlerInited) return true; m_bHandlerInited = true; /* reply with LGs vendor id */ CCECBusDevice *primary = m_processor->GetPrimaryDevice(); if (m_busDevice->GetLogicalAddress() != primary->GetLogicalAddress()) primary->TransmitVendorID(CECDEVICE_TV, false); primary->SetPowerStatus(CEC_POWER_STATUS_STANDBY); return true; }