cec_command command;
cec_command::format(command, GetMyLogicalAddress(), GetLogicalAddress(), CEC_OPCODE_GIVE_DEVICE_VENDOR_ID);
- m_processor->Transmit(command);
+ if (m_processor->Transmit(command))
+ m_condition.Wait(&m_mutex, 1000);
}
}
break;
case CEC_OPCODE_SET_MENU_LANGUAGE:
HandleSetMenuLanguage(command);
+ m_busDevice->GetProcessor()->AddCommand(command);
break;
case CEC_OPCODE_GIVE_PHYSICAL_ADDRESS:
HandleGivePhysicalAddress(command);
break;
default:
UnhandledCommand(command);
+ m_busDevice->GetProcessor()->AddCommand(command);
bHandled = false;
break;
}
-
- m_busDevice->GetProcessor()->AddCommand(command);
}
else if (command.destination == CECDEVICE_BROADCAST)
{
{
case CEC_OPCODE_SET_MENU_LANGUAGE:
HandleSetMenuLanguage(command);
+ m_busDevice->GetProcessor()->AddCommand(command);
break;
case CEC_OPCODE_REQUEST_ACTIVE_SOURCE:
HandleRequestActiveSource(command);
break;
case CEC_OPCODE_SET_STREAM_PATH:
HandleSetStreamPath(command);
+ m_busDevice->GetProcessor()->AddCommand(command);
break;
case CEC_OPCODE_ROUTING_CHANGE:
HandleRoutingChange(command);
+ m_busDevice->GetProcessor()->AddCommand(command);
break;
case CEC_OPCODE_DEVICE_VENDOR_ID:
HandleDeviceVendorId(command);
break;
default:
UnhandledCommand(command);
+ m_busDevice->GetProcessor()->AddCommand(command);
bHandled = false;
break;
}
-
- m_busDevice->GetProcessor()->AddCommand(command);
}
else
{
bool HandleUserControlRelease(const cec_command &command);
void UnhandledCommand(const cec_command &command);
+ void SendToCommandBuffer(const cec_command &command);
+
CCECBusDevice *GetDevice(cec_logical_address iLogicalAddress) const;
CCECBusDevice *GetThisDevice(void) const;
CCECBusDevice *m_busDevice;