return bReturn;
}
-bool CCECProcessor::SetLineTimeout(uint8_t iTimeout)
-{
- bool bReturn(false);
- CCECAdapterMessage *output = new CCECAdapterMessage;
-
- output->push_back(MSGSTART);
- output->push_escaped(MSGCODE_TRANSMIT_IDLETIME);
- output->push_escaped(iTimeout);
- output->push_back(MSGEND);
-
- if ((bReturn = Transmit(output)) == false)
- m_controller->AddLog(CEC_LOG_ERROR, "could not set the idletime");
- delete output;
- return bReturn;
-}
-
void *CCECProcessor::Process(void)
{
bool bParseFrame(false);
bool bReturn(false);
CLockObject lock(&m_mutex);
{
+ m_communication->SetLineTimeout(3);
+
do
{
+ if (output->tries > 0)
+ m_communication->SetLineTimeout(5);
+
CLockObject msgLock(&output->mutex);
if (!m_communication || !m_communication->Write(output))
return bReturn;
}while (output->transmit_timeout > 0 && output->needs_retry() && ++output->tries <= output->maxTries);
}
+ m_communication->SetLineTimeout(3);
+
return bReturn;
}