+ uint8_t iTries(0), iMaxTries(command.opcode == CEC_OPCODE_NONE ? 1 : m_iTransmitRetries + 1);
+ CLockObject writeLock(m_processor->m_transmitMutex);
+ CLockObject receiveLock(m_receiveMutex);
+ ++m_iUseCounter;
+ while (!bReturn && ++iTries <= iMaxTries)
+ {
+ m_expectedResponse = expectedResponse;
+ if ((bReturn = m_processor->Transmit(command)) == true)
+ {
+ CLibCEC::AddLog(CEC_LOG_DEBUG, "command transmitted");
+ if (bExpectResponse)
+ bReturn = m_condition.Wait(m_receiveMutex, m_iTransmitWait);
+ }
+ }
+ --m_iUseCounter;