- CCECBusDevice *device = GetDevice(command.destination);
- if (device && (device->GetType() == CEC_DEVICE_TYPE_PLAYBACK_DEVICE || device->GetType() == CEC_DEVICE_TYPE_RECORDING_DEVICE))
- {
- if (command.parameters.size > 0)
- {
- ((CCECPlaybackDevice *) device)->SetDeckStatus(!device->IsActiveSource() ? CEC_DECK_INFO_OTHER_STATUS : CEC_DECK_INFO_OTHER_STATUS_LG);
- if (command.parameters[0] == CEC_STATUS_REQUEST_ON)
- {
- bool bReturn = ((CCECPlaybackDevice *) device)->TransmitDeckStatus(command.initiator);
- if (!ActiveSourceSent())
- ActivateSource();
- return bReturn;
- }
- else if (command.parameters[0] == CEC_STATUS_REQUEST_ONCE)
- {
- return ((CCECPlaybackDevice *) device)->TransmitDeckStatus(command.initiator);
- }
- }
- }
- return CCECCommandHandler::HandleGiveDeckStatus(command);
+ device->TransmitDeckStatus(command.initiator, true);
+ if (!ActiveSourceSent())
+ ActivateSource();
+ return COMMAND_HANDLED;
+ }
+ else if (command.parameters[0] == CEC_STATUS_REQUEST_ONCE)
+ {
+ device->TransmitDeckStatus(command.initiator, true);
+ return COMMAND_HANDLED;