fixed - only respond to vendor commands for panasonic if we are the destination
authorLars Op den Kamp <lars@opdenkamp.eu>
Mon, 8 Oct 2012 12:19:31 +0000 (14:19 +0200)
committerLars Op den Kamp <lars@opdenkamp.eu>
Mon, 8 Oct 2012 12:21:03 +0000 (14:21 +0200)
src/lib/implementations/VLCommandHandler.cpp

index 072d71182ec2c92ca7c780ab68b41ecb0330c249..a60f897f105ff61c4832d72a94950341a2846d6b 100644 (file)
@@ -90,6 +90,9 @@ bool CVLCommandHandler::InitHandler(void)
 
 int CVLCommandHandler::HandleDeviceVendorCommandWithId(const cec_command &command)
 {
+  if (!m_processor->IsHandledByLibCEC(command.destination))
+    return CEC_ABORT_REASON_INVALID_OPERAND;
+
   if (command.parameters[0] != 0x00 ||
       command.parameters[1] != 0x80 ||
       command.parameters[2] != 0x45)
@@ -233,7 +236,8 @@ int CVLCommandHandler::HandleVendorCommand(const cec_command &command)
   if (command.parameters.size == 3 &&
       command.parameters[0] == 0x10 &&
       command.parameters[1] == 0x01 &&
-      command.parameters[2] == 0x05)
+      command.parameters[2] == 0x05 &&
+      m_processor->IsHandledByLibCEC(command.destination))
   {
     SendVendorCommandCapabilities(m_processor->GetLogicalAddress(), command.initiator);
     return COMMAND_HANDLED;