cec: signal waiting threads when receiving a feature abort too
[deb_libcec.git] / src / lib / implementations / CECCommandHandler.cpp
index 37e3ddae785c366fcd4694538b90f152b7b3ea5f..2d3fbe0af29376e5ad5500b09f29d87583f9bbac 100644 (file)
@@ -1011,7 +1011,7 @@ bool CCECCommandHandler::Transmit(cec_command &command, bool bExpectResponse /*
 
   {
     uint8_t iTries(0), iMaxTries(!command.opcode_set ? 1 : m_iTransmitRetries + 1);
-    while (!bReturn && ++iTries <= iMaxTries)
+    while (!bReturn && ++iTries <= iMaxTries && !m_busDevice->IsUnsupportedFeature(command.opcode))
     {
       if ((bReturn = m_processor->Transmit(command)) == true)
       {
@@ -1047,3 +1047,8 @@ bool CCECCommandHandler::ActivateSource(void)
   }
   return true;
 }
+
+void CCECCommandHandler::SignalOpcode(cec_opcode opcode)
+{
+  m_waitForResponse->Received(opcode);
+}