X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2FCECProcessor.cpp;h=230f2ab0388f4e937b97a27f10a33f92991ee16b;hb=5abb18f38e146cebabd9ec1b7538459f41249a58;hp=6eeb38df53a6d4fc25cecf3a554b61de7e04f0f1;hpb=caca2d81263ae8fd7400298329a4a2e95bdb99e1;p=deb_libcec.git diff --git a/src/lib/CECProcessor.cpp b/src/lib/CECProcessor.cpp index 6eeb38d..230f2ab 100644 --- a/src/lib/CECProcessor.cpp +++ b/src/lib/CECProcessor.cpp @@ -461,7 +461,8 @@ bool CCECProcessor::SetActiveSource(cec_device_type type /* = CEC_DEVICE_TYPE_RE m_busDevices[addr]->SetActiveSource(); if (m_busDevices[addr]->GetPhysicalAddress(false) != 0xFFFF) { - bReturn = m_busDevices[addr]->TransmitActiveSource(); + bReturn = m_busDevices[addr]->TransmitImageViewOn() && + m_busDevices[addr]->TransmitActiveSource(); if (bReturn) { @@ -1369,3 +1370,23 @@ bool CCECProcessor::SetStreamPath(uint16_t iPhysicalAddress) // stream path changes are sent by the TV return m_busDevices[CECDEVICE_TV]->GetHandler()->TransmitSetStreamPath(iPhysicalAddress); } + +bool CCECProcessor::GetCurrentConfiguration(libcec_configuration *configuration) +{ + configuration->iPhysicalAddress = m_iPhysicalAddress; + configuration->iHDMIPort = m_iHDMIPort; + configuration->baseDevice = m_iBaseDevice; + snprintf(configuration->strDeviceName, 13, "%s", m_strDeviceName.c_str()); + configuration->deviceTypes = m_types; + return true; +} + +bool CCECProcessor::CanPersistConfiguration(void) +{ + return m_communication->GetFirmwareVersion() >= 2; +} + +bool CCECProcessor::PersistConfiguration(libcec_configuration *configuration) +{ + return m_communication->PersistConfiguration(configuration); +}