{
CLockObject lock(&m_mutex);
- CCECAdapterMessagePtr msgPtr;
- if (m_frameBuffer.Pop(msgPtr))
- bParseFrame = ParseMessage(*msgPtr.get());
- else if (m_communication->IsOpen() && m_communication->Read(msg, 50))
- bParseFrame = ParseMessage(msg);
+ if (m_communication->IsOpen() && m_communication->Read(msg, 50))
+ bParseFrame = ParseMessage(msg) && !IsStopped();
- bParseFrame &= !IsStopped();
if (bParseFrame)
command = m_currentframe;
}
*bError = true;
break;
default:
- CCECAdapterMessagePtr msgPtr = CCECAdapterMessagePtr(new CCECAdapterMessage(msg));
- m_frameBuffer.Push(msgPtr);
+ CStdString strLog;
+ strLog.Format("received unexpected reply '%2x'", msg.message());
+ m_controller->AddLog(CEC_LOG_WARNING, strLog);
+ *bError = true;
break;
}