Revert "cec: fix timeout"
authorLars Op den Kamp <lars@opdenkamp.eu>
Sat, 8 Oct 2011 18:29:36 +0000 (20:29 +0200)
committerLars Op den Kamp <lars@opdenkamp.eu>
Sat, 8 Oct 2011 18:29:36 +0000 (20:29 +0200)
This reverts commit 48787f390d45671622aa74a05a9235a08577345d.

src/lib/AdapterCommunication.cpp
src/lib/CECProcessor.cpp
src/lib/platform/threads.cpp

index a281ecde17d1c0c49de4642320591ed64076cd46..cc83320aae0084e55b7499b360a3e5883f8225e2 100644 (file)
@@ -188,7 +188,6 @@ bool CAdapterCommunication::Write(const cec_frame &data)
     }
 
     m_controller->AddLog(CEC_LOG_DEBUG, "command sent");
-    CCondition::Sleep((uint32_t) data.size * (uint32_t)24 /*data*/ + (uint32_t)5 /*start bit (4.5 ms)*/ + (uint32_t)50);
   }
 
   return true;
index 997de65a9f0a0bb0a5d455c67c55a9bc17a7adab..964f359bce3d11f875f9ea1d1863290d2c292451 100644 (file)
@@ -241,6 +241,8 @@ bool CCECProcessor::TransmitFormatted(const cec_frame &data, bool bWaitForAck /*
   if (!m_communication || !m_communication->Write(data))
     return false;
 
+  CCondition::Sleep((uint32_t) data.size * (uint32_t)24 /*data*/ + (uint32_t)5 /*start bit (4.5 ms)*/);
+
   if (bWaitForAck)
   {
     uint64_t now = GetTimeMs();
index d8ac5a7b0428df70a810eed5357c117ee100f0cf..8ba391920feb2695326b52ca6e7467f033771dd1 100644 (file)
@@ -122,7 +122,7 @@ bool CCondition::Wait(CMutex *mutex, uint32_t iTimeout /* = 0 */)
       gettimeofday(&now, NULL);
       iTimeout       += now.tv_usec / 1000;
       abstime.tv_sec  = now.tv_sec + (time_t)(iTimeout / 1000);
-      abstime.tv_nsec = (time_t) ( (iTimeout % (uint32_t)1000) * (uint32_t)1000);
+      abstime.tv_nsec = (int32_t)((iTimeout % (uint32_t)1000) * (uint32_t)1000000);
       bReturn         = (pthread_cond_timedwait(&m_cond, &mutex->m_mutex, &abstime) == 0);
     }
     else