X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Flib%2FCECClient.cpp;h=c9525af15ace48fd132a3c78771d65873fdf79ee;hb=41b12347891d698c650cbc6fcfc40759d5e1db11;hp=b6c0812d2cbb1de4c37ab17b44fc2be7b44db83e;hpb=2b44051cbfa70deafc30d9767323214debbc1a75;p=deb_libcec.git diff --git a/src/lib/CECClient.cpp b/src/lib/CECClient.cpp index b6c0812..c9525af 100644 --- a/src/lib/CECClient.cpp +++ b/src/lib/CECClient.cpp @@ -802,6 +802,14 @@ bool CCECClient::GetCurrentConfiguration(libcec_configuration &configuration) configuration.bMonitorOnly = m_configuration.bMonitorOnly; } + // client version 1.8.0 + if (configuration.clientVersion >= CEC_CLIENT_VERSION_1_8_0) + configuration.cecVersion = m_configuration.cecVersion; + + // client version 1.8.2 + if (configuration.clientVersion >= CEC_CLIENT_VERSION_1_8_2) + configuration.adapterType = m_configuration.adapterType; + return true; } @@ -859,6 +867,14 @@ bool CCECClient::SetConfiguration(const libcec_configuration &configuration) m_configuration.bMonitorOnly = configuration.bMonitorOnly; } + // client version 1.8.0 + if (configuration.clientVersion >= CEC_CLIENT_VERSION_1_8_0) + m_configuration.cecVersion = configuration.cecVersion; + + // client version 1.8.2 + if (configuration.clientVersion >= CEC_CLIENT_VERSION_1_8_2) + m_configuration.adapterType = configuration.adapterType; + // ensure that there is at least 1 device type set if (m_configuration.deviceTypes.IsEmpty()) m_configuration.deviceTypes.Add(CEC_DEVICE_TYPE_RECORDING_DEVICE); @@ -1249,13 +1265,9 @@ bool CCECClient::SwitchMonitoring(bool bEnable) if (m_processor) { - if (bEnable) - return m_processor->UnregisterClient(this); - else - { - m_configuration.bMonitorOnly = false; - return m_processor->RegisterClient(this); - } + m_processor->SwitchMonitoring(bEnable); + m_configuration.bMonitorOnly = bEnable; + return bEnable ? true: m_processor->RegisterClient(this); } return false;