repositories
/
deb_libcec.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
4a01fcd
)
cec: also reset the device status itself in CCECBusDevice::ResetDeviceStatus()
author
Lars Op den Kamp
<lars@opdenkamp.eu>
Mon, 14 May 2012 09:13:47 +0000
(11:13 +0200)
committer
Lars Op den Kamp
<lars@opdenkamp.eu>
Mon, 14 May 2012 09:17:39 +0000
(11:17 +0200)
src/lib/devices/CECBusDevice.cpp
patch
|
blob
|
blame
|
history
diff --git
a/src/lib/devices/CECBusDevice.cpp
b/src/lib/devices/CECBusDevice.cpp
index d68aa1f38d3ab0fa5ed21843901aea80b72ed7e4..b192391906607f0da79ea1cb377aa3aa375256b5 100644
(file)
--- a/
src/lib/devices/CECBusDevice.cpp
+++ b/
src/lib/devices/CECBusDevice.cpp
@@
-741,15
+741,9
@@
void CCECBusDevice::SetDeviceStatus(const cec_bus_device_status newStatus)
CLockObject lock(m_mutex);
switch (newStatus)
{
CLockObject lock(m_mutex);
switch (newStatus)
{
- case CEC_DEVICE_STATUS_UNKNOWN:
- if (m_deviceStatus != newStatus)
- LIB_CEC->AddLog(CEC_LOG_DEBUG, "device status of %s changed into 'unknown'", ToString(m_iLogicalAddress));
- ResetDeviceStatus();
- m_deviceStatus = newStatus;
- break;
case CEC_DEVICE_STATUS_HANDLED_BY_LIBCEC:
if (m_deviceStatus != newStatus)
case CEC_DEVICE_STATUS_HANDLED_BY_LIBCEC:
if (m_deviceStatus != newStatus)
- LIB_CEC->AddLog(CEC_LOG_DEBUG, "
device status of %s changed into 'handled by libCEC'", ToString(m_iLogicalAddress)
);
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "
%s (%X): device status changed into 'handled by libCEC'", GetLogicalAddressName(), m_iLogicalAddress
);
SetPowerStatus (CEC_POWER_STATUS_ON);
SetVendorId (CEC_VENDOR_UNKNOWN);
SetMenuState (CEC_MENU_STATE_ACTIVATED);
SetPowerStatus (CEC_POWER_STATUS_ON);
SetVendorId (CEC_VENDOR_UNKNOWN);
SetMenuState (CEC_MENU_STATE_ACTIVATED);
@@
-761,17
+755,20
@@
void CCECBusDevice::SetDeviceStatus(const cec_bus_device_status newStatus)
break;
case CEC_DEVICE_STATUS_PRESENT:
if (m_deviceStatus != newStatus)
break;
case CEC_DEVICE_STATUS_PRESENT:
if (m_deviceStatus != newStatus)
- LIB_CEC->AddLog(CEC_LOG_DEBUG, "
device status of %s changed into 'present'", ToString(m_iLogicalAddress)
);
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "
%s (%X): device status changed into 'present'", GetLogicalAddressName(), m_iLogicalAddress
);
m_deviceStatus = newStatus;
break;
case CEC_DEVICE_STATUS_NOT_PRESENT:
if (m_deviceStatus != newStatus)
{
m_deviceStatus = newStatus;
break;
case CEC_DEVICE_STATUS_NOT_PRESENT:
if (m_deviceStatus != newStatus)
{
- LIB_CEC->AddLog(CEC_LOG_DEBUG, "
device status of %s changed into 'not present'", ToString(m_iLogicalAddress)
);
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "
%s (%X): device status changed into 'not present'", GetLogicalAddressName(), m_iLogicalAddress
);
ResetDeviceStatus();
m_deviceStatus = newStatus;
}
break;
ResetDeviceStatus();
m_deviceStatus = newStatus;
}
break;
+ default:
+ ResetDeviceStatus();
+ break;
}
}
}
}
}
}
@@
-786,9
+783,14
@@
void CCECBusDevice::ResetDeviceStatus(void)
SetStreamPath (CEC_INVALID_PHYSICAL_ADDRESS);
SetOSDName (ToString(m_iLogicalAddress));
MarkAsInactiveSource();
SetStreamPath (CEC_INVALID_PHYSICAL_ADDRESS);
SetOSDName (ToString(m_iLogicalAddress));
MarkAsInactiveSource();
+
m_iLastActive = 0;
m_bVendorIdRequested = false;
m_unsupportedFeatures.clear();
m_iLastActive = 0;
m_bVendorIdRequested = false;
m_unsupportedFeatures.clear();
+
+ if (m_deviceStatus != CEC_DEVICE_STATUS_UNKNOWN)
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "%s (%X): device status changed into 'unknown'", GetLogicalAddressName(), m_iLogicalAddress);
+ m_deviceStatus = CEC_DEVICE_STATUS_UNKNOWN;
}
bool CCECBusDevice::TransmitPoll(const cec_logical_address dest)
}
bool CCECBusDevice::TransmitPoll(const cec_logical_address dest)