X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fdevices%2FCECBusDevice.cpp;h=b304cb9c3e1a902b9a0ae2c0652fa93857bbb8ac;hb=e75e09bfc2b9799a6a57f9c4ca8cff4984e8fc99;hp=d50045af89eebe2ad5e3aaefbd5d29755d8a95ea;hpb=ecc633c51b6c69bebaff4932e90245665ca06373;p=deb_libcec.git diff --git a/src/lib/devices/CECBusDevice.cpp b/src/lib/devices/CECBusDevice.cpp index d50045a..b304cb9 100644 --- a/src/lib/devices/CECBusDevice.cpp +++ b/src/lib/devices/CECBusDevice.cpp @@ -537,9 +537,6 @@ bool CCECBusDevice::SetPhysicalAddress(uint16_t iNewAddress) { LIB_CEC->AddLog(CEC_LOG_DEBUG, "%s (%X): physical address changed from %04x to %04x", GetLogicalAddressName(), m_iLogicalAddress, m_iPhysicalAddress, iNewAddress); m_iPhysicalAddress = iNewAddress; - - if (m_processor->GetDevices()->GetActiveSourceAddress() == iNewAddress) - MarkAsActiveSource(); } return true; } @@ -1125,6 +1122,8 @@ bool CCECBusDevice::TransmitPendingActiveSourceCommands(void) void CCECBusDevice::SetActiveRoute(uint16_t iRoute) { + SetPowerStatus(CEC_POWER_STATUS_ON); + CCECDeviceMap* map = m_processor->GetDevices(); if (!map) return; @@ -1145,6 +1144,8 @@ void CCECBusDevice::SetActiveRoute(uint16_t iRoute) void CCECBusDevice::SetStreamPath(uint16_t iNewAddress, uint16_t iOldAddress /* = CEC_INVALID_PHYSICAL_ADDRESS */) { + SetPowerStatus(CEC_POWER_STATUS_ON); + CLockObject lock(m_mutex); if (iNewAddress != m_iStreamPath) {