X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2FCECProcessor.cpp;h=0add41b67ca42cb3763ee54fffff890a151b528c;hb=99aeafb929fa132a096c236c4ae1eb78c2a595ec;hp=435177b6e3bceaeb18119fac58e9d6794c2840b4;hpb=004b83822a351e1fb6e982a9183a12a430b0b769;p=deb_libcec.git diff --git a/src/lib/CECProcessor.cpp b/src/lib/CECProcessor.cpp index 435177b..0add41b 100644 --- a/src/lib/CECProcessor.cpp +++ b/src/lib/CECProcessor.cpp @@ -104,6 +104,13 @@ void CCECProcessor::Close(void) delete m_communication; m_communication = NULL; } + + m_bMonitor = false; + m_iPreviousAckMask = 0; + m_iStandardLineTimeout = 3; + m_iRetryLineTimeout = 3; + m_iLastTransmission = 0; + m_busDevices->ResetDeviceStatus(); } bool CCECProcessor::OpenConnection(const char *strPort, uint16_t iBaudRate, uint32_t iTimeoutMs, bool bStartListening /* = true */) @@ -617,7 +624,8 @@ bool CCECProcessor::RegisterClient(CCECClient *client) client->Initialise(); // set the firmware version and build date - configuration.iFirmwareVersion = m_communication->GetFirmwareVersion(); + configuration.serverVersion = LIBCEC_VERSION_CURRENT; + configuration.iFirmwareVersion = m_communication->GetFirmwareVersion(); configuration.iFirmwareBuildDate = m_communication->GetFirmwareBuildDate(); CStdString strLog; @@ -670,9 +678,8 @@ bool CCECProcessor::RegisterClient(CCECClient *client) void CCECProcessor::UnregisterClient(CCECClient *client) { CLockObject lock(m_mutex); - libcec_configuration &configuration = *client->GetConfiguration(); CECDEVICEVEC devices; - m_busDevices->GetByLogicalAddresses(devices, configuration.logicalAddresses); + m_busDevices->GetByLogicalAddresses(devices, client->GetConfiguration()->logicalAddresses); for (CECDEVICEVEC::const_iterator it = devices.begin(); it != devices.end(); it++) { map::iterator entry = m_clients.find((*it)->GetLogicalAddress());