From: Lars Op den Kamp Date: Mon, 3 Sep 2012 15:26:04 +0000 (+0200) Subject: rpi: handle VC_CEC_LOGICAL_ADDR_LOST. re-register the client when this happens, so... X-Git-Tag: upstream/2.2.0~1^2~18^2^2~14 X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=7d27bafc81161bf5d86e4d5bf2e833ca72d1d130;p=deb_libcec.git rpi: handle VC_CEC_LOGICAL_ADDR_LOST. re-register the client when this happens, so a new LA is assigned --- diff --git a/src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp b/src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp index 5e1efd4..9e7f604 100644 --- a/src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp +++ b/src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp @@ -180,6 +180,14 @@ void CRPiCECAdapterCommunication::OnDataReceived(uint32_t header, uint32_t p0, u m_logicalAddressCondition.Signal(); } break; + case VC_CEC_LOGICAL_ADDR_LOST: + { + // the logical address was taken by another device + cec_logical_address previousAddress = m_logicalAddress; + m_logicalAddress = CECDEVICE_UNKNOWN; + m_callback->HandleLogicalAddressLost(previousAddress); + } + break; case VC_CEC_TOPOLOGY: case VC_CEC_REMOTE_PRESSED: case VC_CEC_REMOTE_RELEASE: