repositories
/
deb_libcec.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert "rpi: don't try to release the logical address (and fail). fix verified by...
[deb_libcec.git]
/
src
/
lib
/
adapter
/
RPi
/
RPiCECAdapterCommunication.cpp
diff --git
a/src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp
b/src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp
index f15b1c0baad3b1dd9f8404182f229992c064d122..145e42ba34b96f57229a1bc38b40791a6e562b44 100644
(file)
--- a/
src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp
+++ b/
src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp
@@
-293,7
+293,7
@@
int CRPiCECAdapterCommunication::InitHostCEC(void)
return VCHIQ_SUCCESS;
}
return VCHIQ_SUCCESS;
}
-bool CRPiCECAdapterCommunication::Open(uint32_t
UNUSED(iTimeoutMs)
/* = CEC_DEFAULT_CONNECT_TIMEOUT */, bool UNUSED(bSkipChecks) /* = false */, bool bStartListening)
+bool CRPiCECAdapterCommunication::Open(uint32_t
iTimeoutMs
/* = CEC_DEFAULT_CONNECT_TIMEOUT */, bool UNUSED(bSkipChecks) /* = false */, bool bStartListening)
{
Close();
{
Close();
@@
-309,6
+309,14
@@
bool CRPiCECAdapterCommunication::Open(uint32_t UNUSED(iTimeoutMs) /* = CEC_DEFA
vc_cec_register_callback(rpi_cec_callback, (void*)this);
vc_tv_register_callback(rpi_tv_callback, (void*)this);
vc_cec_register_callback(rpi_cec_callback, (void*)this);
vc_tv_register_callback(rpi_tv_callback, (void*)this);
+ // release previous LA
+ vc_cec_release_logical_address();
+ if (!m_logicalAddressCondition.Wait(m_mutex, m_bLogicalAddressChanged, iTimeoutMs))
+ {
+ LIB_CEC->AddLog(CEC_LOG_ERROR, "failed to release the previous LA");
+ return false;
+ }
+
// register LA "freeuse"
if (RegisterLogicalAddress(CECDEVICE_FREEUSE))
{
// register LA "freeuse"
if (RegisterLogicalAddress(CECDEVICE_FREEUSE))
{