X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fimplementations%2FSLCommandHandler.cpp;h=dbf9d0957921b21f6cfd5e77a5be2ecca1230a6a;hb=1c38352afd9a1a10de4fb4f751ef08b613f6f958;hp=7771b20b662b7d4a42552831f38a5983cc26071b;hpb=871934d36a072fbb36fea8949b09158697ceb41a;p=deb_libcec.git diff --git a/src/lib/implementations/SLCommandHandler.cpp b/src/lib/implementations/SLCommandHandler.cpp index 7771b20..dbf9d09 100644 --- a/src/lib/implementations/SLCommandHandler.cpp +++ b/src/lib/implementations/SLCommandHandler.cpp @@ -51,7 +51,8 @@ CSLCommandHandler::CSLCommandHandler(CCECBusDevice *busDevice) : CCECCommandHandler(busDevice), m_bSLEnabled(false), m_bPowerStateReset(false), - m_bActiveSourceSent(false) + m_bActiveSourceSent(false), + m_bVendorIdSent(false) { m_vendorId = CEC_VENDOR_LG; CCECBusDevice *primary = m_processor->GetPrimaryDevice(); @@ -83,9 +84,6 @@ bool CSLCommandHandler::InitHandler(void) /* start as 'in transition standby->on' */ primary->SetPowerStatus(CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON); primary->TransmitPowerState(CECDEVICE_TV); - - /* reply with LGs vendor id */ - primary->TransmitVendorID(CECDEVICE_BROADCAST, false); } return true; @@ -93,6 +91,13 @@ bool CSLCommandHandler::InitHandler(void) bool CSLCommandHandler::ActivateSource(void) { + /* reply with LGs vendor id */ + if (!m_bVendorIdSent) + { + m_bVendorIdSent = true; + m_processor->GetPrimaryDevice()->TransmitVendorID(CECDEVICE_BROADCAST, false); + } + if (!m_bSLEnabled) return true;