X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fdevices%2FCECBusDevice.cpp;h=2998a622021786c7e3e9ba162870f1b92aa45373;hb=5c57af4817a04e92fbfd60d5d99d8782194a45a7;hp=5b3e2cb42626fc1566bd215ea407236e76c11492;hpb=f8edb2973d37f3ebfd08291f28be5435d0cf8f64;p=deb_libcec.git diff --git a/src/lib/devices/CECBusDevice.cpp b/src/lib/devices/CECBusDevice.cpp index 5b3e2cb..2998a62 100644 --- a/src/lib/devices/CECBusDevice.cpp +++ b/src/lib/devices/CECBusDevice.cpp @@ -95,6 +95,9 @@ CCECBusDevice::~CCECBusDevice(void) bool CCECBusDevice::ReplaceHandler(bool bActivateSource /* = true */) { + if (m_iLogicalAddress == CECDEVICE_BROADCAST) + return false; + bool bInitHandler(false); { CLockObject lock(m_mutex); @@ -1084,6 +1087,10 @@ void CCECBusDevice::SetStreamPath(uint16_t iNewAddress, uint16_t iOldAddress /* { // if a device is found with the new physical address, mark it as active, which will automatically mark all other devices as inactive device->MarkAsActiveSource(); + + // respond with an active source message if this device is handled by libCEC + if (device->IsHandledByLibCEC()) + device->TransmitActiveSource(true); } else {