repositories
/
deb_libcec.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed windows compilation after b3972c3eb3de18cc9380b1419a923557ce4e96dc
[deb_libcec.git]
/
src
/
lib
/
implementations
/
CECCommandHandler.cpp
diff --git
a/src/lib/implementations/CECCommandHandler.cpp
b/src/lib/implementations/CECCommandHandler.cpp
index 46edf983c39e0ef71a6a1ac88a9c599c8fda9b04..d23340fed66aa32e21b551d40f9914397ee712cf 100644
(file)
--- a/
src/lib/implementations/CECCommandHandler.cpp
+++ b/
src/lib/implementations/CECCommandHandler.cpp
@@
-673,9
+673,6
@@
int CCECCommandHandler::HandleUserControlPressed(const cec_command &command)
CCECClient *client = device->GetClient();
if (client)
CCECClient *client = device->GetClient();
if (client)
- client->AddKey();
-
- if (command.parameters[0] <= CEC_USER_CONTROL_CODE_MAX)
client->SetCurrentButton((cec_user_control_code) command.parameters[0]);
if (command.parameters[0] == CEC_USER_CONTROL_CODE_POWER ||
client->SetCurrentButton((cec_user_control_code) command.parameters[0]);
if (command.parameters[0] == CEC_USER_CONTROL_CODE_POWER ||
@@
-1114,17
+1111,19
@@
bool CCECCommandHandler::ActivateSource(bool bTransmitDelayedCommandsOnly /* = f
LIB_CEC->AddLog(CEC_LOG_DEBUG, "transmitting delayed activate source command");
}
LIB_CEC->AddLog(CEC_LOG_DEBUG, "transmitting delayed activate source command");
}
-
- // clear previous pending active source command
- m_iActiveSourcePending = 0;
}
// update the power state and menu state
m_busDevice->SetPowerStatus(CEC_POWER_STATUS_ON);
}
// update the power state and menu state
m_busDevice->SetPowerStatus(CEC_POWER_STATUS_ON);
- m_busDevice->SetMenuState(CEC_MENU_STATE_ACTIVATED); // TODO: LG
+ m_busDevice->SetMenuState(CEC_MENU_STATE_ACTIVATED);
+
+ // vendor specific hook
+ VendorPreActivateSourceHook();
// power on the TV
// power on the TV
- bool bActiveSourceFailed = !m_busDevice->TransmitImageViewOn();
+ bool bActiveSourceFailed(false);
+ if (m_processor->GetDevice(CECDEVICE_TV)->GetPowerStatus(m_busDevice->GetLogicalAddress()) != CEC_POWER_STATUS_ON)
+ bActiveSourceFailed = !m_busDevice->TransmitImageViewOn();
// check if we're allowed to switch sources
bool bSourceSwitchAllowed = SourceSwitchAllowed();
// check if we're allowed to switch sources
bool bSourceSwitchAllowed = SourceSwitchAllowed();
@@
-1151,9
+1150,16
@@
bool CCECCommandHandler::ActivateSource(bool bTransmitDelayedCommandsOnly /* = f
{
LIB_CEC->AddLog(CEC_LOG_DEBUG, "failed to make '%s' the active source. will retry later", m_busDevice->GetLogicalAddressName());
CLockObject lock(m_mutex);
{
LIB_CEC->AddLog(CEC_LOG_DEBUG, "failed to make '%s' the active source. will retry later", m_busDevice->GetLogicalAddressName());
CLockObject lock(m_mutex);
- m_iActiveSourcePending = GetTimeMs() + (int64_t)CEC_ACTIVE_SOURCE_SWITCH_RETRY_TIME_MS;
+ if (m_iActiveSourcePending == 0)
+ m_iActiveSourcePending = GetTimeMs() + (int64_t)CEC_ACTIVE_SOURCE_SWITCH_RETRY_TIME_MS;
return false;
}
return false;
}
+ else
+ {
+ CLockObject lock(m_mutex);
+ // clear previous pending active source command
+ m_iActiveSourcePending = 0;
+ }
// mark the handler as initialised
CLockObject lock(m_mutex);
// mark the handler as initialised
CLockObject lock(m_mutex);