X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2FLibCEC.cpp;h=9b200a6556316a31aa803bc712dc22cacf44b90b;hb=e1804a4e359f5e188a02705c85e7e666d1d1482e;hp=20c670d3a6c028f020f80d055804076f8f4c1d3e;hpb=3ef1760662ea7d157c97fa4a3d26f8ce7138747f;p=deb_libcec.git diff --git a/src/lib/LibCEC.cpp b/src/lib/LibCEC.cpp index 20c670d..9b200a6 100644 --- a/src/lib/LibCEC.cpp +++ b/src/lib/LibCEC.cpp @@ -456,6 +456,28 @@ void CLibCEC::CheckKeypressTimeout(void) } } +int CLibCEC::MenuStateChanged(const cec_menu_state newState) +{ + int iReturn(0); + + CLibCEC *instance = CLibCEC::GetInstance(); + if (!instance) + return iReturn; + CLockObject lock(instance->m_mutex); + + AddLog(CEC_LOG_NOTICE, ">> %s: %s", instance->m_cec->ToString(CEC_OPCODE_MENU_REQUEST), instance->m_cec->ToString(newState)); + + libcec_configuration config; + instance->GetCurrentConfiguration(&config); + + if (instance->m_callbacks && + config.clientVersion >= CEC_CLIENT_VERSION_1_6_2 && + instance->m_callbacks->CBMenuStatusChanged) + iReturn = instance->m_callbacks->CBMenuStatusChanged(instance->m_cbParam, newState); + + return iReturn; +} + bool CLibCEC::SetStreamPath(cec_logical_address iAddress) { uint16_t iPhysicalAddress = GetDevicePhysicalAddress(iAddress);