/*
* This file is part of the libCEC(R) library.
*
- * libCEC(R) is Copyright (C) 2011-2012 Pulse-Eight Limited. All rights reserved.
+ * libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited. All rights reserved.
* libCEC(R) is an original work, containing original code.
*
* libCEC(R) is a trademark of Pulse-Eight Limited.
return bReturn;
}
+void CCECProcessor::SetActiveSource(bool bSetTo, bool bClientUnregistered)
+{
+ if (m_communication)
+ m_communication->SetActiveSource(bSetTo, bClientUnregistered);
+}
+
void CCECProcessor::SetStandardLineTimeout(uint8_t iTimeout)
{
CLockObject lock(m_mutex);
CCECBusDevice *primary = GetPrimaryDevice();
// poll the destination, with the primary as source
if (primary)
- return primary->TransmitPoll(iAddress, false);
+ return primary->TransmitPoll(iAddress, true);
CCECBusDevice *device = m_busDevices->At(CECDEVICE_UNREGISTERED);
if (device)
- return device->TransmitPoll(iAddress, false);
+ return device->TransmitPoll(iAddress, true);
return false;
}
config->iFirmwareBuildDate = m_communication->GetFirmwareBuildDate();
config->adapterType = m_communication->GetAdapterType();
+ Close();
+
return true;
}
// ensure that controlled mode is enabled
m_communication->SetControlledMode(true);
+ m_bMonitor = false;
// source logical address for requests
cec_logical_address sourceAddress(CECDEVICE_UNREGISTERED);
GetTV()->MarkHandlerReady();
}
+ // report our OSD name to the TV, since some TVs don't request it
+ client->GetPrimaryDevice()->TransmitOSDName(CECDEVICE_TV, false);
+
// request the power status of the TV
tv->RequestPowerStatus(sourceAddress, true);
m_clients.erase(entry);
// reset the device status
- (*it)->ResetDeviceStatus();
+ (*it)->ResetDeviceStatus(true);
}
}
}
}
+void CCECProcessor::HandlePhysicalAddressChanged(uint16_t iNewAddress)
+{
+ m_libcec->AddLog(CEC_LOG_NOTICE, "physical address changed to %04x", iNewAddress);
+ CCECClient* client = GetPrimaryClient();
+ if (client)
+ client->SetPhysicalAddress(iNewAddress);
+}
+
uint16_t CCECProcessor::GetAdapterVendorId(void) const
{
return m_communication ? m_communication->GetAdapterVendorId() : 0;