repositories
/
deb_libcec.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
cec: don't try to match a device with PA 0xFFFF. don't change the power status of...
[deb_libcec.git]
/
src
/
lib
/
CECProcessor.cpp
diff --git
a/src/lib/CECProcessor.cpp
b/src/lib/CECProcessor.cpp
index 07e7d8f0dc4003b3d4ee280e88a9cd306a282318..8217e4edf93c340a4da94d7aa54d9947901cac03 100644
(file)
--- a/
src/lib/CECProcessor.cpp
+++ b/
src/lib/CECProcessor.cpp
@@
-409,7
+409,7
@@
bool CCECProcessor::ChangeDeviceType(cec_device_type from, cec_device_type to)
newDevice->SetOSDName(previousDevice->GetOSDName(false));
previousDevice->SetOSDName(ToString(previousDevice->GetLogicalAddress()));
newDevice->SetOSDName(previousDevice->GetOSDName(false));
previousDevice->SetOSDName(ToString(previousDevice->GetLogicalAddress()));
- newDevice->SetPhysicalAddress(previousDevice->GetPhysicalAddress(
false
));
+ newDevice->SetPhysicalAddress(previousDevice->GetPhysicalAddress());
previousDevice->SetPhysicalAddress(0xFFFF);
newDevice->SetPowerStatus(previousDevice->GetPowerStatus(false));
previousDevice->SetPhysicalAddress(0xFFFF);
newDevice->SetPowerStatus(previousDevice->GetPowerStatus(false));
@@
-525,7
+525,7
@@
bool CCECProcessor::SetActiveSource(cec_device_type type /* = CEC_DEVICE_TYPE_RE
}
m_busDevices[addr]->SetActiveSource();
}
m_busDevices[addr]->SetActiveSource();
- if (m_busDevices[addr]->GetPhysicalAddress(
false
) != 0xFFFF)
+ if (m_busDevices[addr]->GetPhysicalAddress() != 0xFFFF)
bReturn = m_busDevices[addr]->ActivateSource();
return bReturn;
bReturn = m_busDevices[addr]->ActivateSource();
return bReturn;
@@
-536,12
+536,16
@@
bool CCECProcessor::SetActiveSource(uint16_t iStreamPath)
bool bReturn(false);
// suppress polls when searching for a device
bool bReturn(false);
// suppress polls when searching for a device
- CCECBusDevice *device = GetDeviceByPhysicalAddress(iStreamPath
, false, true
);
+ CCECBusDevice *device = GetDeviceByPhysicalAddress(iStreamPath);
if (device)
{
device->SetActiveSource();
bReturn = true;
}
if (device)
{
device->SetActiveSource();
bReturn = true;
}
+ else
+ {
+ CLibCEC::AddLog(CEC_LOG_DEBUG, "device with PA '%04x' not found", iStreamPath);
+ }
return bReturn;
}
return bReturn;
}
@@
-649,7
+653,7
@@
bool CCECProcessor::PhysicalAddressInUse(uint16_t iPhysicalAddress)
{
for (unsigned int iPtr = 0; iPtr < 15; iPtr++)
{
{
for (unsigned int iPtr = 0; iPtr < 15; iPtr++)
{
- if (m_busDevices[iPtr]->GetPhysicalAddress(
false
) == iPhysicalAddress)
+ if (m_busDevices[iPtr]->GetPhysicalAddress() == iPhysicalAddress)
return true;
}
return false;
return true;
}
return false;
@@
-810,19
+814,19
@@
uint8_t CCECProcessor::MuteAudio(bool bSendRelease /* = true */)
return status;
}
return status;
}
-CCECBusDevice *CCECProcessor::GetDeviceByPhysicalAddress(uint16_t iPhysicalAddress, bool b
Refresh /* = false */, bool bSuppressPoll /* = false */) const
+CCECBusDevice *CCECProcessor::GetDeviceByPhysicalAddress(uint16_t iPhysicalAddress, bool b
SuppressUpdate /* = true */)
{
{
- if (m_busDevices[m_configuration.logicalAddresses.primary]->GetPhysicalAddress(false) == iPhysicalAddress)
- return m_busDevices[m_configuration.logicalAddresses.primary];
+ CCECBusDevice *device(NULL);
- CCECBusDevice *device = NULL;
- for (unsigned int iPtr = 0; iPtr < 16; iPtr++)
+ // invalid PA
+ if (iPhysicalAddress == 0xFFFF)
+ return device;
+
+ // check each device until we found a match
+ for (unsigned int iPtr = 0; !device && iPtr < 16; iPtr++)
{
{
- if (m_busDevices[iPtr]->GetPhysicalAddress(bRefresh, bSuppressPoll) == iPhysicalAddress)
- {
+ if (m_busDevices[iPtr]->GetPhysicalAddress(bSuppressUpdate) == iPhysicalAddress)
device = m_busDevices[iPtr];
device = m_busDevices[iPtr];
- break;
- }
}
return device;
}
return device;
@@
-896,7
+900,7
@@
uint64_t CCECProcessor::GetDeviceVendorId(cec_logical_address iAddress)
uint16_t CCECProcessor::GetDevicePhysicalAddress(cec_logical_address iAddress)
{
if (m_busDevices[iAddress])
uint16_t CCECProcessor::GetDevicePhysicalAddress(cec_logical_address iAddress)
{
if (m_busDevices[iAddress])
- return m_busDevices[iAddress]->GetPhysicalAddress(
false
);
+ return m_busDevices[iAddress]->GetPhysicalAddress();
return false;
}
return false;
}
@@
-1023,7
+1027,7
@@
bool CCECProcessor::IsPresentDeviceType(cec_device_type type)
uint16_t CCECProcessor::GetPhysicalAddress(void) const
{
if (!m_configuration.logicalAddresses.IsEmpty() && m_busDevices[m_configuration.logicalAddresses.primary])
uint16_t CCECProcessor::GetPhysicalAddress(void) const
{
if (!m_configuration.logicalAddresses.IsEmpty() && m_busDevices[m_configuration.logicalAddresses.primary])
- return m_busDevices[m_configuration.logicalAddresses.primary]->GetPhysicalAddress(
false
);
+ return m_busDevices[m_configuration.logicalAddresses.primary]->GetPhysicalAddress();
return false;
}
return false;
}