X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2FCECProcessor.cpp;h=a3c22df3169ad9f3851b3b34a30fd38c22cd96c7;hb=e107f073245c22d58a99d6efc7d2e70a13c82d38;hp=463e04448ab15aeb03f88e77c28a73bb23d77b05;hpb=1e7afacd7132da69e5ab985a726ad10aaf3e2ca4;p=deb_libcec.git diff --git a/src/lib/CECProcessor.cpp b/src/lib/CECProcessor.cpp index 463e044..a3c22df 100644 --- a/src/lib/CECProcessor.cpp +++ b/src/lib/CECProcessor.cpp @@ -717,6 +717,13 @@ bool CCECProcessor::Transmit(const cec_command &data) LogOutput(data); CCECAdapterMessage *output = new CCECAdapterMessage(data); + + /* set the number of retries */ + if (data.opcode == CEC_OPCODE_NONE) + output->maxTries = 1; + else if (data.initiator != CECDEVICE_BROADCAST) + output->maxTries = m_busDevices[data.initiator]->GetHandler()->GetTransmitRetries() + 1; + bReturn = Transmit(output); /* set to "not present" on failed ack */ @@ -1335,7 +1342,7 @@ void *CCECBusScan::Process(void) while (!IsStopped()) { - if (++iCounter < 30) + if (++iCounter < 10) { Sleep(1000); continue; @@ -1365,11 +1372,11 @@ void CCECBusScan::WaitUntilIdle(void) if (IsStopped()) return; - int64_t iWaitTime = 3000 - (GetTimeMs() - m_processor->GetLastTransmission()); + int32_t iWaitTime = 3000 - (int32_t)(GetTimeMs() - m_processor->GetLastTransmission()); while (iWaitTime > 0) { Sleep(iWaitTime); - iWaitTime = 3000 - (GetTimeMs() - m_processor->GetLastTransmission()); + iWaitTime = 3000 - (int32_t)(GetTimeMs() - m_processor->GetLastTransmission()); } }