#include "lib/implementations/SLCommandHandler.h"
#include "lib/implementations/VLCommandHandler.h"
#include "lib/implementations/PHCommandHandler.h"
+#include "lib/implementations/RLCommandHandler.h"
+#include "lib/implementations/RHCommandHandler.h"
#include "lib/LibCEC.h"
#include "lib/CECTypeUtils.h"
#include "lib/platform/util/timeutils.h"
case CEC_VENDOR_PHILIPS:
m_handler = new CPHCommandHandler(this, iTransmitTimeout, iTransmitWait, iTransmitRetries, iActiveSourcePending);
break;
+ case CEC_VENDOR_TOSHIBA:
+ case CEC_VENDOR_TOSHIBA2:
+ m_handler = new CRLCommandHandler(this, iTransmitTimeout, iTransmitWait, iTransmitRetries, iActiveSourcePending);
+ break;
+ case CEC_VENDOR_ONKYO:
+ m_handler = new CRHCommandHandler(this, iTransmitTimeout, iTransmitWait, iTransmitRetries, iActiveSourcePending);
+ break;
default:
m_handler = new CCECCommandHandler(this, iTransmitTimeout, iTransmitWait, iTransmitRetries, iActiveSourcePending);
break;
if (bNeedsPoll)
{
bool bPollAcked(false);
- if (bNeedsPoll && NeedsPoll())
+ if (bNeedsPoll)
bPollAcked = m_processor->PollDevice(m_iLogicalAddress);
status = bPollAcked ? CEC_DEVICE_STATUS_PRESENT : CEC_DEVICE_STATUS_NOT_PRESENT;
else
newRoute->MarkAsActiveSource();
}
- else
- {
- // get the current active source and it's physical address
- CCECBusDevice *device = m_processor->GetDevices()->GetActiveSource();
- uint16_t iPhysicalAddress(device ? device->GetCurrentPhysicalAddress() : CEC_INVALID_PHYSICAL_ADDRESS);
-
- // check whether the route below the device changed
- if (CLibCEC::IsValidPhysicalAddress(iPhysicalAddress) &&
- !CCECTypeUtils::PhysicalAddressIsIncluded(iPhysicalAddress, iRoute))
- device->MarkAsInactiveSource();
- }
}
void CCECBusDevice::SetStreamPath(uint16_t iNewAddress, uint16_t iOldAddress /* = CEC_INVALID_PHYSICAL_ADDRESS */)