X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2FLibCEC.cpp;h=7fd3e6c5da3c62948564c04a7d87175da1aa40e0;hb=28089abcc287456abfa31081b7978eced6e4a660;hp=aff5776727b895272060c66d6beb7ce1e852cc19;hpb=57f45e6c93ae094071e8a2f3f3786d4f26265a1d;p=deb_libcec.git diff --git a/src/lib/LibCEC.cpp b/src/lib/LibCEC.cpp index aff5776..7fd3e6c 100644 --- a/src/lib/LibCEC.cpp +++ b/src/lib/LibCEC.cpp @@ -42,6 +42,15 @@ using namespace std; using namespace CEC; +CLibCEC::CLibCEC(const char *strDeviceName, cec_device_type_list types) : + m_iStartTime(GetTimeMs()), + m_iCurrentButton(CEC_USER_CONTROL_CODE_UNKNOWN), + m_buttontime(0) +{ + m_comm = new CAdapterCommunication(this); + m_cec = new CCECProcessor(this, m_comm, strDeviceName, types); +} + CLibCEC::CLibCEC(const char *strDeviceName, cec_logical_address iLogicalAddress /* = CECDEVICE_PLAYBACKDEVICE1 */, uint16_t iPhysicalAddress /* = CEC_DEFAULT_PHYSICAL_ADDRESS */) : m_iStartTime(GetTimeMs()), m_iCurrentButton(CEC_USER_CONTROL_CODE_UNKNOWN), @@ -179,7 +188,9 @@ bool CLibCEC::SetInactiveView(void) bool CLibCEC::SetOSDString(cec_logical_address iLogicalAddress, cec_display_control duration, const char *strMessage) { - return m_cec && iLogicalAddress >= CECDEVICE_TV && iLogicalAddress <= CECDEVICE_BROADCAST ? m_cec->m_busDevices[(uint8_t)iLogicalAddress]->SetOSDString(duration, strMessage) : false; + return m_cec && iLogicalAddress >= CECDEVICE_TV && iLogicalAddress <= CECDEVICE_BROADCAST ? + m_cec->m_busDevices[m_cec->GetLogicalAddress()]->TransmitOSDString(iLogicalAddress, duration, strMessage) : + false; } bool CLibCEC::SwitchMonitoring(bool bEnable) @@ -296,6 +307,11 @@ void * CECCreate(const char *strDeviceName, CEC::cec_logical_address iLogicalAdd return static_cast< void* > (new CLibCEC(strDeviceName, iLogicalAddress, iPhysicalAddress)); } +void * CECInit(const char *strDeviceName, CEC::cec_device_type_list types) +{ + return static_cast< void* > (new CLibCEC(strDeviceName, types)); +} + void CECDestroy(CEC::ICECAdapter *instance) { CLibCEC *lib = static_cast< CLibCEC* > (instance);