X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2FCECProcessor.cpp;h=7e8af29c0a88abce63037bb29e2e614f5e5133f5;hb=0677510792d7ad89652ea636d0f3dbf868ead04f;hp=b5cd540fb9135d26a1685a47f3c20406e87a41d8;hpb=b9abf9202e8d5971805dd63600990673227034a3;p=deb_libcec.git diff --git a/src/lib/CECProcessor.cpp b/src/lib/CECProcessor.cpp index b5cd540..7e8af29 100644 --- a/src/lib/CECProcessor.cpp +++ b/src/lib/CECProcessor.cpp @@ -149,12 +149,17 @@ void CCECProcessor::LogOutput(const cec_command &data) bool CCECProcessor::SetLogicalAddress(cec_logical_address iLogicalAddress) { - CStdString strLog; - strLog.Format("<< setting logical address to %1x", iLogicalAddress); - m_controller->AddLog(CEC_LOG_NOTICE, strLog.c_str()); + if (m_iLogicalAddress != iLogicalAddress) + { + CStdString strLog; + strLog.Format("<< setting logical address to %1x", iLogicalAddress); + m_controller->AddLog(CEC_LOG_NOTICE, strLog.c_str()); + + m_iLogicalAddress = iLogicalAddress; + return m_communication && m_communication->SetAckMask(0x1 << (uint8_t)m_iLogicalAddress); + } - m_iLogicalAddress = iLogicalAddress; - return m_communication && m_communication->SetAckMask(0x1 << (uint8_t)m_iLogicalAddress); + return true; } bool CCECProcessor::SetPhysicalAddress(uint16_t iPhysicalAddress)