respond to vendor command 89:10:01:03 for panasonic and send the same response as...
[deb_libcec.git] / src / lib / implementations / VLCommandHandler.cpp
index 907de02dda786e69892d4419613bb619cbc00e6e..329eab2f930cff5b547417bd75057ecd526bde7c 100644 (file)
@@ -249,9 +249,10 @@ int CVLCommandHandler::HandleVendorCommand(const cec_command &command)
   if (command.parameters.size == 3 &&
       command.parameters[0] == 0x10 &&
       command.parameters[1] == 0x01 &&
-      command.parameters[2] == 0x05 &&
       m_processor->IsHandledByLibCEC(command.destination))
   {
+    // XXX i've seen 0x05 and 0x03 as third param. these probably indicate different types of TVs/capabilities
+    // when we feature abort this, then the TV will try the same thing with a vendor command with id
     SendVendorCommandCapabilities(m_processor->GetLogicalAddress(), command.initiator);
     return COMMAND_HANDLED;
   }
@@ -262,7 +263,7 @@ int CVLCommandHandler::HandleVendorCommand(const cec_command &command)
 bool CVLCommandHandler::SourceSwitchAllowed(void)
 {
   if (!PowerUpEventReceived())
-    TransmitRequestPowerStatus(m_processor->GetPrimaryDevice()->GetLogicalAddress(), CECDEVICE_TV, false);
+    TransmitRequestPowerStatus(m_processor->GetPrimaryDevice()->GetLogicalAddress(), CECDEVICE_TV, false, false);
 
   return PowerUpEventReceived();
 }