X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2FCECProcessor.cpp;h=df04a237edba78ba755928757ed72c6f0590a1bb;hb=5f2f3609d7ee857ac7e5d03600fbd735e99c892f;hp=e90d5cb59038a62f8917bbb8cab61f52e24bc43e;hpb=0b8c7eab61e750b7dd6370e7d75e2c6a0cf0da12;p=deb_libcec.git diff --git a/src/lib/CECProcessor.cpp b/src/lib/CECProcessor.cpp index e90d5cb..df04a23 100644 --- a/src/lib/CECProcessor.cpp +++ b/src/lib/CECProcessor.cpp @@ -615,7 +615,15 @@ CCECTuner *CCECProcessor::GetTuner(cec_logical_address address) const bool CCECProcessor::RegisterClient(CCECClient *client) { - if (!client || !CECInitialised()) + if (!client) + return false; + + libcec_configuration &configuration = *client->GetConfiguration(); + + if (configuration.clientVersion >= CEC_CLIENT_VERSION_1_6_3 && configuration.bMonitorOnly == 1) + return true; + + if (!CECInitialised()) { m_libcec->AddLog(CEC_LOG_ERROR, "failed to register a new CEC client: CEC processor is not initialised"); return false; @@ -626,7 +634,6 @@ bool CCECProcessor::RegisterClient(CCECClient *client) UnregisterClient(client); // get the configuration from the client - libcec_configuration &configuration = *client->GetConfiguration(); m_libcec->AddLog(CEC_LOG_NOTICE, "registering new CEC client - v%s", ToString((cec_client_version)configuration.clientVersion)); // mark as uninitialised and unregistered