+ case VC_CEC_LOGICAL_ADDR_LOST:
+ {
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "logical %s (%x) address lost", LIB_CEC->ToString(m_logicalAddress), m_logicalAddress);
+ // the logical address was taken by another device
+ cec_logical_address previousAddress = m_logicalAddress == CECDEVICE_FREEUSE ? m_previousLogicalAddress : m_logicalAddress;
+ m_logicalAddress = CECDEVICE_UNKNOWN;
+
+ // notify libCEC that we lost our LA when the connection was initialised
+ bool bNotify(false);
+ {
+ CLockObject lock(m_mutex);
+ bNotify = m_bInitialised && m_bLogicalAddressRegistered;
+ }
+ if (bNotify)
+ m_callback->HandleLogicalAddressLost(previousAddress);
+ }
+ break;